Jump to content

Emistry

Forum Moderator
  • Posts

    9,746
  • Joined

  • Days Won

    305

Everything posted by Emistry

  1. https://github.com/rathena/rathena/blob/master/db/re/item_db_usable.yml#L1154 remove the delay
  2. https://github.com/rathena/rathena/blob/master/src/map/clif.cpp#L2161 WFIFOL(fd,10+c*10) = 100;
  3. 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.
  4. 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.
  5. 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.
  6. 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
  7. 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
  8. 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([email protected]$)+"' WHERE account_id = "+ getcharid(3)); query_sql("UPDATE login SET cpf = '"+escape_sql([email protected]$)+"' WHERE account_id = "+ getcharid(3)); query_sql("UPDATE login SET chave= '"+escape_sql([email protected]$)+"' WHERE account_id = "+ getcharid(3)); and all string that insert into SQL database should use escape_sql(...) to escape any special characters
  9. 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,{ [email protected]$ ="[^FF0000Converter^000000]"; mes [email protected]$; 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 [email protected]$; mes "How many pass(s) do you want?"; input [email protected]; next; mes [email protected]$; mes "This will cost ^FF0000" [email protected]+ " cashpoints^000000."; next; if( select("Proceed:Nevermind") -1 ) { mes [email protected]$; mes "Goodbye!"; close; } if( [email protected] <= 0 || #CASHPOINTS < [email protected] ) { mes [email protected]$; mes "Sorry, you don't have enough cashpoints!"; close; } set #CASHPOINTS, #CASHPOINTS - [email protected]; dispbottom "Lost: " [email protected]+ " cashpoints. Total: " +#CASHPOINTS+" cashpoints."; getitem 7350, [email protected]; break; case 2: mes [email protected]$; mes "How many Pass(s) will you give? Multiple of 10"; input [email protected]; next; [email protected] = (([email protected] / 10) * 10); mes [email protected]$; mes "I can give you ^FF0000" +(([email protected] * 8) / 10)+ " cashpoints^000000 for this."; next; if( select("Proceed:Nevermind") -1 ) { mes [email protected]$; mes "Goodbye!"; close; } if( [email protected] < 10 || countitem(7350) < [email protected]) { mes [email protected]$; mes "Sorry, you don't have enough Pass ! Minimum of 10 "+getitemname(7350)+" are required."; close; } delitem 7350, [email protected]; [email protected] = (([email protected] * 8) / 10); set #CASHPOINTS, #CASHPOINTS + (([email protected] * 8) / 10); dispbottom "Gained: " [email protected]+ " cashpoints. Total: " +#CASHPOINTS+" cashpoints."; break; } close; }
  10. 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
  11. Emistry

    MVPRespown

    [email protected]$ = "prontera"; ex: always spawn on prontera.
  12. actually can, using the unitwarp(...) script command, but it create unnecessary error when you do reloadscript back to the topics, this NPC script cant be done without the create/duplicate/clone NPC. The NPC need to be allow to support concurrent triggered by users. There could be more than one players use the item to generate the NPC which only they can see it. If you use only one or specific few NPC, it cant support the demand. it need to clone the NPC then do cloakon to display the NPC, then delete the NPC upon done.
  13. your questinfo file has invalid file format, probably a missing or extra comma.
  14. addrid(2, 0, getcharid(1)); unittalk getcharid(3), "Hey!";
  15. the server info has nothing to do with your issue which unable to connect to the server. that meant both of you have configured the server wrongly.
  16. - script sample -1,{ OnInit: .map$ = "prontera"; setmapflag(.map$, mf_loadevent); end; OnPCLoadMapEvent: if (strcharinfo(3) == .map$) { deltimer strnpcinfo(3)+"::OnExpire"; addtimer (3 * 60 * 60000), strnpcinfo(3)+"::OnExpire"; } end; OnExpire: warp "prontera", 155, 181; end; }
  17. when player try to donate, add this validation if (#motd_daily_limit == gettime(DT_YYYYMMDD)) { mes "[Monster Of The Day]"; mes "You have already donated today. Come back again tomorrow."; close; } when they success donate, add this mes "[Monster Of The Day]"; mes "Zeny has succesfully transfered."; Zeny -= [email protected]_zeny; $motd_zeny += [email protected]_zeny; $motd_diff -= [email protected]_zeny; #motd_daily_limit = gettime(DT_YYYYMMDD); // <----- THIS LINE
  18. just update your KRO, and you automatically got it from the GRF.
  19. https://rathena.org/board/files/file/3304-act-editor/
  20. he is trying to recreate the iRO Ragial or the RagnaStats website probably for private servers. but yeah, this should be the correct approach. and also, if you cant find someone thru PM, its pointless to post in forum. Stop notifying other just to notify the person you trying to reach.
  21. conf/battle/misc.conf#L64-L75 // Choose if server begin with night (yes) or day (no) night_at_start: no // Define duration in msec of the day (default: 7200000 = 2 hours) // Set to 0 to disable day cycle (but not @day GM command). // Except 0, minimum is 60000 (1 minute) day_duration: 0 // Define duration in msec of the night (default: 1800000 = 30 min) // Set to 0 to disable night cycle (but not @night GM command). // Except 0, minimum is 60000 (1 minute) night_duration: 0
  22. NPC no longer exists, example: happen commonly when you talking to a NPC but someone do a reloadscript before you finish talk with the NPC.
  23. src\map\clif.cpp /* * Request to Open the banking system * 09B6 <aid>L ??? (dunno just wild guess checkme) */ void clif_parse_BankOpen(int fd, struct map_session_data* sd) { //TODO check if preventing trade or stuff like that //also mark something in case char ain't available for saving, should we check now ? nullpo_retv(sd); if( !battle_config.feature_banking ) { clif_messagecolor(&sd->bl,color_table[COLOR_RED],msg_txt(sd,1496),false,SELF); //Banking is disabled return; } + else if (sd->bank_vault <= 0) { + clif_messagecolor(&sd->bl, color_table[COLOR_RED], "You haven't open a bank account yet.", false, SELF); // Banking is disabled + } else { struct s_packet_db* info = &packet_db[RFIFOW(fd,0)]; int aid = RFIFOL(fd,info->pos[0]); //unused should we check vs fd ? if(sd->status.account_id == aid){ sd->state.banking = 1; //request save ? //chrif_bankdata_request(sd->status.account_id, sd->status.char_id); //on succes open bank ? clif_bank_open(sd); } } } add a condition to block the Bank Button access if bank vault have no Zeny. use the NPC script below to deposit Zeny into the vault. prontera,155,181,5 script Bank 757,{ if (#BANKVAULT > 0) { mes "Enjoy using your Bank Account."; } else { mes "Would you like to open a Bank Account?"; mes "How much Zeny you gonna deposit?"; input [email protected], 0, Zeny; mes "You deposited "+F_InsertComma([email protected])+" Zeny."; Zeny -= [email protected]; #BANKVAULT += [email protected]; } close; }
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.