Jump to content

Emistry

Forum Moderator
  • Posts

    10015
  • Joined

  • Days Won

    396

Everything posted by Emistry

  1. your packetver value aren't configured correctly according to your hexed client, or vice versa https://github.com/rathena/rathena/blob/master/src/config/packets.hpp#L16
  2. just configure your GM group properly with the necessary atcommands. https://github.com/rathena/rathena/blob/master/conf/groups.conf
  3. since its just one item as currency/requirement. just use itemshop instead. https://rathena.org/board/topic/90173-item-and-point-shop/
  4. if (pc_readaccountreg(sd, add_str("#bank_eligible")) <= 0) { clif_messagecolor(&sd->bl, color_table[COLOR_RED], "You haven't open a bank account yet.", false, SELF); // Banking is disabled }
  5. instead of using the atcommand, might as well just consider enable the config to auto loot all drops from mob kill ? https://github.com/rathena/rathena/blob/master/conf/battle/drops.conf#L10-L11
  6. bindatcmd "shower",strnpcinfo(3)+"::OnShower", 99;
  7. data\texture\effect\servant_demolition\data\texture\effect\servant_demolition\servant_demolition_rightdown\sav_helix_04.bmp based on this path, i dont think you added the file based on the structure correctly. perhaps it should be data\texture\effect\servant_demolition\servant_demolition_rightdown\sav_helix_04.bmp
  8. Emistry

    classic

    you can easily found it by searching the forum
  9. may try this //--- Bitmasks ---- // 1 - Accessory 1 // 2 - Accessory 2 // 4 - Footgear(shoes, boots) // 8 - Garment(mufflers, hoods, manteaux) // 16 - Lower Headgear(beards, some masks) // 32 - Middle Headgear(masks, glasses) // 64 - Upper Headgear // 128 - Armor(jackets, robes) // 256 - Left hand(weapons, shields) // 512 - Right hand(weapons) function script RefineFunc { for (set .@i,EQI_ACC_L; .@i <= EQI_HAND_R; set .@i,.@i + 1) set .@Menu$,.@Menu$ +((getarg(2) & pow(2,(.@i-1)) && getequiprefinerycnt(.@i) >= getarg(3) && getequiprefinerycnt(.@i) < getarg(4) && getequipisequiped(.@i))?"^FF0000+"+getequiprefinerycnt(.@i)+" ^0000FF"+getequipname(.@i)+" "+(getitemslots(getequipid(.@i))?"["+getitemslots(getequipid(.@i))+"]":"")+"^000000":"")+":"; set .@Refine,select(.@Menu$); mes "Required ^FF0000"+getarg(1)+" x "+getitemname(getarg(0))+"^000000"; if (getarg(5) == 1 && !getequipisenableref(.@Refine)) mes "I cant refine this items. Because it is ^FF0000Un-Refineable^000000."; else{ if (select("^FF0000Refine^000000:Cancel") == 2) close; if (countitem(getarg(0)) < getarg(1)) close; delitem getarg(0),getarg(1); if (rand(100) < getarg(7)){ if (getarg(6)) while(getequiprefinerycnt(.@Refine) < getarg(4)) successrefitem (.@Refine); else successrefitem (.@Refine); mes "You have refined : "; mes "^FF0000+"+getequiprefinerycnt(.@Refine)+" ^0000FF"+getequipname(.@Refine)+"^000000"; } else { failedrefitem (.@Refine); mes "Sorry, Failed in Refine and Equipment...Destroyed."; } } close; }
  10. may try something like this prontera,155,181,5 script Sample 757,{ for (.@stat = bStr; .@stat <= bLuk; .@stat++) .@param[.@stat - bStr] = readparam(.@stat); mes "Select the stats to reset to 1."; do { .@menu$ += "Str - "+ .@param[0] + ":"; .@menu$ += "Vit - "+ .@param[1] + ":"; .@menu$ += "Int - "+ .@param[2] + ":"; .@menu$ += "Agi - "+ .@param[3] + ":"; .@menu$ += "Dex - "+ .@param[4] + ":"; .@menu$ += "Luk - "+ .@param[5] + ":"; .@menu$ += "Reset"; .@i = select(.@menu$); .@param[.@i] = 1; } while (.@i <= 6); resetstatus; for (.@stat = bStr; .@stat <= bLuk; .@stat++) { while (readparam(.@stat) < .@param[.@stat - bStr]) statusup .@stat; } end; }
  11. change if(Hunter) { mes "You have killed ^880000"+HuntCount+"^000000/^0000FF"+Amt+"^000000 "+getmonsterinfo(Hunt,0)+"s, keep it up!"; close; } into if(Hunter && gettimetick(2) < HuntDelay) { mes "You have killed ^880000"+HuntCount+"^000000/^0000FF"+Amt+"^000000 "+getmonsterinfo(Hunt,0)+"s, keep it up!"; close; }
  12. 1000% = 10 times of your current item drop rate so 0.05% * 10 = 0.50% 3000% = 30 times of your current item drop rate so 0.03% * 30 = 0.90%
  13. prontera,164,173,3 script Refiner 826,{ mes "^3355FF[%100 Refiner]^000000"; mes "This Lets you refine your item to the max"; mes " You Need "+.amount+"x "+getitemname(.item_id)+" to use my Service"; next; mes "Choose the item to refine"; mes "Choose Wisely"; mes "Dont Ask For refine"; mes "On GameMasters"; mes "Think Before you refine an item"; next; for (.@i = 0; .@i < .eqi_size; .@i++) { if (getequipid(.eqi[.@i]) != -1) .@menu$ = .@menu$ + F_getpositionname(.eqi[.@i]) + " - " +getitemname(getequipid(.eqi[.@i])); .@menu$ += ":"; } .@i = select(.@menu$) - 1; .@refine = getequiprefinerycnt(.eqi[.@i]); if (countitem(.item_id) < .amount) { mes "You didnt have enough "+.amount+"x "+getitemname(.item_id); } else if (.@refine >= 20) { mes "Your item already reached max refine."; } else { delitem .item_id, .amount; if (.@refine < 10) { successrefitem .eqi[.@i], (10 - .@refine); } else { successrefitem .eqi[.@i]; } announce "["+strcharinfo(0)+"], Thanks for using my great service :)).", bc_self; } close; OnInit: .item_id = 7179; .amount = 10; setarray .eqi, EQI_HEAD_TOP, EQI_HEAD_MID, EQI_HEAD_LOW, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R; .eqi_size = getarraysize(.eqi); end; }
  14. https://github.com/rathena/rathena/blob/master/db/re/item_db_usable.yml#L1154 remove the delay
  15. https://github.com/rathena/rathena/blob/master/src/map/clif.cpp#L2161 WFIFOL(fd,10+c*10) = 100;
  16. these are default value. https://github.com/rathena/rathena/blob/master/sql-files/main.sql#L767 https://github.com/rathena/rathena/blob/master/sql-files/main.sql#L270 or you can manually adjust it ALTER TABLE `login` AUTO_INCREMENT=1001; ALTER TABLE `char` AUTO_INCREMENT=1001; if you export the ID, then re-import it to a new database, it should stay the same.
  17. shutdown the server, and run the following SQL query in your database. UPDATE `auction` SET `refine` = 0; UPDATE `cart_inventory` SET `refine` = 0; UPDATE `guild_storage` SET `refine` = 0; UPDATE `guild_storage_log` SET `refine` = 0; UPDATE `inventory` SET `refine` = 0; UPDATE `mail_attachments` SET `refine` = 0; UPDATE `storage` SET `refine` = 0; do a backup in case any unwanted result occured.
  18. you only configured the buying price, not the selling price. if selling price aren't configured, but default it will be half of buying price value.
  19. some of the skill condition are coded here, you will need to adjust the code to remove the restriction. https://github.com/rathena/rathena/blob/master/src/map/skill.cpp#L15381
  20. are you using pre-re ? if yes, then remove the renewal check https://github.com/rathena/rathena/blob/master/src/map/skill.cpp#L7635-L7637
  21. use apostrophe to envelope the string, else the SQL engine treat it as column name instead of text. query_sql("UPDATE login SET nome = '"+escape_sql(.@nome$)+"' WHERE account_id = "+ getcharid(3)); query_sql("UPDATE login SET cpf = '"+escape_sql(.@cpf$)+"' WHERE account_id = "+ getcharid(3)); query_sql("UPDATE login SET chave= '"+escape_sql(.@chave$)+"' WHERE account_id = "+ getcharid(3)); and all string that insert into SQL database should use escape_sql(...) to escape any special characters
  22. the NPC script doesn't support decimal. the script need to be changed to accept stacks of items instead of 1 by 1 exchange to support the tax on conversion. prontera,155,155,4 script Converter 83,{ .@name$ ="[^FF0000Converter^000000]"; mes .@name$; mes "Hello, 1 cashpoints is equals to 1 Pass."; mes "What would you like to do?"; next; switch( select("Cash to Pass","Pass to Cash") ) { case 1: mes .@name$; mes "How many pass(s) do you want?"; input .@num; next; mes .@name$; mes "This will cost ^FF0000" +.@num+ " cashpoints^000000."; next; if( select("Proceed:Nevermind") -1 ) { mes .@name$; mes "Goodbye!"; close; } if( .@num <= 0 || #CASHPOINTS < .@num ) { mes .@name$; mes "Sorry, you don't have enough cashpoints!"; close; } set #CASHPOINTS, #CASHPOINTS - .@num; dispbottom "Lost: " +.@num+ " cashpoints. Total: " +#CASHPOINTS+" cashpoints."; getitem 7350, .@num; break; case 2: mes .@name$; mes "How many Pass(s) will you give? Multiple of 10"; input .@num; next; .@num = ((.@num / 10) * 10); mes .@name$; mes "I can give you ^FF0000" +((.@num * 8) / 10)+ " cashpoints^000000 for this."; next; if( select("Proceed:Nevermind") -1 ) { mes .@name$; mes "Goodbye!"; close; } if( .@num < 10 || countitem(7350) < .@num) { mes .@name$; mes "Sorry, you don't have enough Pass ! Minimum of 10 "+getitemname(7350)+" are required."; close; } delitem 7350, .@num; .@num = ((.@num * 8) / 10); set #CASHPOINTS, #CASHPOINTS + ((.@num * 8) / 10); dispbottom "Gained: " +.@num+ " cashpoints. Total: " +#CASHPOINTS+" cashpoints."; break; } close; }
  23. use the updated version which allow non-equip to bulk purchase depend on your max stack setting. https://github.com/rathena/rathena/blob/master/npc/custom/quests/quest_shop.txt
  24. Emistry

    MVPRespown

    .@map$ = "prontera"; ex: always spawn on prontera.
×
×
  • Create New...