Jump to content

sader1992

Content Moderator
  • Posts

    1691
  • Joined

  • Last visited

  • Days Won

    77

Everything posted by sader1992

  1. there is too many guides on how to make client files little installer is all the client files except data.grf rdata.grf and BGM folder. those are somewhat out-dated however you can follow the client side guide part in other topic like the main thing is , you create exe < than get kro client , add your exe to it , remove the data.grf /rdata.grf / BGM folder , compress it to zip and upload it. there is some files that you could remove too from the client folder , however you need to be more experienced to move to that topic
  2. Need more information , I don't think anyone can help you unless someone had this problem and fixed it. You should add more information about the problem if you want the help of the others who did not encounter this problem (most of the forum members). (server setup , client setup)
  3. Do not input map id and put it in the text in the import not in re/pre-re , put your gat into the import map cache, read the console errors if there is any.
  4. View File Customize your iteminfo with import this an example and template on how you Customize your iteminfo read the ReadMe!! file before you ask anything this work as the import folders in rathena (if you don't know what i mean than i suggest you use rathena search or google) All the files must be LUA! the way it work: you add your custom and edited items in the import iteminfo file you add kro iteminfo file you add the server url in the function file the client will read the iteminfo import first than the kro iteminfo than you can update your kro iteminfo at anytime you need without any edit to it without the need to re-add your custom and edited items to a new kro iteminfo the kro_iteminfo included is from https://github.com/zackdreaver/ROenglishRE this file is added for example on how you use it i suggest you get the last iteminfo after you make sure there is no error! i would highly suggest you check out his great project every time you want to update your iteminfo! Please report any error in the forum post not in the PM , Thanks. Submitter sader1992 Submitted 02/21/2019 Category Client Resources Video Content Author sader1992 , zackdreaver
  5. conf/import/char_conf.txt login_ip: 127.0.0.1 char_ip: public_ip conf/import/map_conf.txt char_ip: 127.0.0.1 map_ip: public_ip
  6. if it's an instance , you should give the function the map name in the instance , check instance_mapname command
  7. If you are an Anime Fan/Manga Fan/ or Japanese Games with Anime Style Join Us at The Anime Club!
  8. Kono Subarashii Sekai ni Shukufuku wo!: Kurenai Densetsu Or KONOSUBA -God's blessing on this wonderful world!- Legend of Crimson Website MyAnimeList has been released in (not long ago). this is a reminder so if you want to watch it , you can now. It's Free on CrunchyRoll ! (ofc don't if you didn't watch the anime , it's recommended to watch the anime first , which is also free on crunchyroll!)
  9. Show us your Anime list . you can use any Anime Database , the most popular is MyAnimeList . My Anime List : sader1992
  10. try this ACMD_FUNC(petstats) { struct pet_data* pd; std::shared_ptr<s_pet_db> pet_db_ptr; nullpo_retr(-1, sd); char output[CHAT_SIZE_MAX]; char petname[100]; char mobname[100]; char infostring1[100]; char infostring2[100]; int i; struct { const char* format; int value; } output_table[] = { { NULL, 0 }, { NULL, 0 }, { "Pet ID - %d", 0 }, { "Pet Level - %d", 0 }, { "Pet Loyalty - %d", 0 }, { "Pet equip - %d", 0 }, { "Pet Hungry - %d", 0 }, { NULL, 0 }, { NULL, 0 }, { "Mob ID - %d", 0 }, { "Egg ID - %d", 0 }, { "Food ID - %d", 0 }, { "Equip ID - %d", 0 }, }; pd = sd->pd; if (!pd) { clif_displaymessage(fd, msg_txt(sd, 184)); // Sorry, but you have no pet. return -1; } pet_db_ptr = pd->get_pet_db(); memset(infostring1, '\0', sizeof(infostring1)); memset(output, '\0', sizeof(output)); memset(petname, '\0', sizeof(petname)); memset(infostring2, '\0', sizeof(infostring2)); memset(mobname, '\0', sizeof(mobname)); sprintf(infostring2, "- Pet Information -"); output_table[0].format = infostring2; sprintf(petname, "Pet Name - %s", pd->pet.name); output_table[1].format = petname; output_table[2].value = pd->pet.pet_id; output_table[3].value = pd->pet.level; output_table[4].value = pd->pet.intimate; output_table[5].value = pd->pet.equip; output_table[6].value = pd->pet.hungry; sprintf(infostring1, "- Database Information -"); output_table[7].format = infostring1; sprintf(mobname, "Mob Name - %s", mob_db(pet_db_ptr->class_)->jname); output_table[8].format = mobname; output_table[9].value = pet_db_ptr->class_; output_table[10].value = pet_db_ptr->EggID; output_table[11].value = pet_db_ptr->FoodID; output_table[12].value = pet_db_ptr->AcceID; for (i = 0; i < 13; i++) { sprintf(output, output_table[i].format, output_table[i].value); clif_displaymessage(fd, output); } return 0; }
  11. --------------------------------------- *recalculatestat; This command will force a stat recalculation for the attached player. --------------------------------------- OnPCStatCalcEvent: This special label triggers when a player's stats are recalculated, such as when changing stats, equipment, or maps, as well as when logging in, leveling up, and mounting a job mount. This can be used to grant additional item bonuses to certain player groups, for instance. technically , you are asking for loop I would suggest to not use OnPCStatCalcEvent unless you are forced too also I don't understand why disable/enable a npc like that , let's say the script works , the npc would be always disabled depending on the number of players in the server , also I am not sure that you know what you are doing.
  12. https://github.com/rathena/rathena/blob/master/npc/mapflag/town.txt https://github.com/rathena/rathena/blob/master/npc/mapflag/restricted.txt
  13. make sure the connection info to your log database in your server config is right , make sure you have sader_variables_log table in your log database , if it's there , try to delete it and recreate it
  14. most of what i told you is to test xD you did it all , but what the results ? public or private network ? and where the ports is closed ?
  15. after you open the port in your system , you need to run the programs that uses the port also if you want access from outside your network you need to open the ports in your router too if you have another machine in the network , it might be good idea to scan from it using nmap , if via your public ip , you can use canyouseeme.org use this command to check the ports in your system "netstat -a"
  16. try to directly run the command into your sql , in the log database CREATE TABLE IF NOT EXISTS `sader_variables_log` (`unique_id` INT( 11 ) UNSIGNED NOT NULL DEFAULT '0',`ip` VARCHAR(100) NOT NULL,`variable` VARCHAR(32) NOT NULL, `index` INT NOT NULL, `value` INT NOT NULL,`account_id` INT NOT NULL,`char_id` INT NOT NULL,`char_name` VARCHAR(30) NOT NULL) ENGINE=MyISAM
  17. it should work also you can do this #CASHPOINTS += 100;
  18. prontera,0,0,0 script npc_name 444,{ if($MAX_LEVEL_REWARDS_50 < 50){ if(!#MAX_LEVEL_REWARDS_50){ if(BaseLevel == 99){ mes "you can redeem the reward once per account!"; if(select("redeem with this char:close") == 2) end; #MAX_LEVEL_REWARDS_50 = true; $MAX_LEVEL_REWARDS_50++; mes "you got the reward!"; announce "Player '" + strcharinfo(0) + "' has redeemed his max level reward!",0; //=========================== getitem 502,1;//add what you want to give like this. //=========================== close; }else{ mes "you are not at the max level!"; close; } }else{ mes "you alewady redeemed the reward with another char!"; close; } }else{ mes "All the rewards has been redeemed!"; close; } }
  19. replace MAX_LEVEL with a number , the max level you have for example if 99 prontera,0,0,0 script npc_name 444,{ if($MAX_LEVEL_REWARDS_50 < 50){ if(!#MAX_LEVEL_REWARDS_50){ if(BaseLevel == 99){ mes "you can redeem the reward once per account!"; if(select("redeem with this char:close") == 2) end; #MAX_LEVEL_REWARDS_50 = true; $MAX_LEVEL_REWARDS_50++; mes "you got the reward!"; announce "Player '" + strcharinfo(0) + "' has redeemed his max level reward!",0; //=========================== getitem 502,1;//add what you want to give like this. //=========================== }else{ mes "you are not at the max level!"; close; } }else{ mes "you alewady redeemed the reward with another char!"; close; } }else{ mes "All the rewards has been redeemed!"; close; } }
  20. if you really want to make Zeny high value , limit the amount of Zeny that the players can obtain per time (like limit per day or week[BTW no one like limits]), and make players have to use the Zeny with Npcs/system or anything , if your implementation is right good for you , you just saved your self a lot if your implementation was wrong or the players didn't like it , you will end up with an empty server The easier way is to create your own coin and balance it in a way to replace Zeny, in my opinion you can't balance Zeny without 180 degree changes from the start of the server (for example if you decide that no npc can by items they just sell items ,and you make Zeny obtainable in a more balanced and limited way) , ofc big ideas need too muck thinking before implementing!
  21. prontera,0,0,0 script npc_name 444,{ if($MAX_LEVEL_REWARDS_50 < 50){ if(!#MAX_LEVEL_REWARDS_50){ if(BaseLevel == MAX_LEVEL){ mes "you can redeem the reward once per account!"; if(select("redeem with this char:close") == 2) end; #MAX_LEVEL_REWARDS_50 = true; $MAX_LEVEL_REWARDS_50++; mes "you got the reward!"; announce "Player '" + strcharinfo(0) + "' has redeemed his max level reward!",0; //=========================== getitem 502,1;//add what you want to give like this. //=========================== }else{ mes "you are not at the max level!"; close; } }else{ mes "you alewady redeemed the reward with another char!"; close; } }else{ mes "All the rewards has been redeemed!"; close; } }
  22. try to add in in data\luafiles514\lua files\transparentItem\transparentItem.lub too { 51, 255, 255, 25500 }, the tool was built before this file
  23. F_Rand returns a random number not a random item nor a random count and float is not valid for rathena script language so ifyou want to use the function , it's like this .@id = callfunc ("F_Rand", 603,617,503,502); getitem .@id,1; so it would be random from these set of numbers ////////////////////////////////////////////////////////////////////////////////// // Returns a random argument. // -- callfunc "F_Rand",arg0,arg1,... // Example: // // You can use it to pick a random number from a list: // set @itemIDfromList, callfunc("F_Rand",1129,1222,1163,1357,1360,1522,1811,1410); ////////////////////////////////////////////////////////////////////////////////// function script F_Rand { return getarg(rand(getargcount())); }
  24. it has nothing to do with the database "getitemname( @s_Item_id[.@i] ) == "null"" mean if the item has no name than it's invalid item
×
×
  • Create New...