Jump to content

Yudax

Members
  • Posts

    248
  • Joined

  • Last visited

Everything posted by Yudax

  1. Check your sprites and try to add or remove the ' _ ' lets see if it works.
  2. Yudax

    3rd quest NPC

    Like what Euphy said, We have the official script here, you dont need that one.
  3. I think this is nice We hope someone has this kind of NPC and will share this to us.
  4. what file that i should edit?.. sorry newbie here.. post your script
  5. Thanks emistry and Capuche! solved now,
  6. I've changed it to gettimetick(2) and I guess it works now. 2 * 86400 -> 2 days so at the last i will change it to: set quest_step, gettimetick(2) + 2 * 86400; - Is it possible to set an array after the last quest to randomly give #itemid 607 , 608 , 609?
  7. quest_step = attached to character #quest_step = attached to player account You can find more informations in your doc/script_commands.txt folder http://svn.rathena.org/svn/rathena/trunk/doc/script_commands.txt (this link is for rAthena user~) It all worked! thank you sir I edited the NPC to make another step and i guess i've done it correctly, here is my script: ----edited I've seen some kind of bug, every time i clicked the NPC for 5x or 4x. The hour for the ( 1 day , 23hours ) just kept on reducing and reducing. Other than that, everything is fine I guess // ~~~~~ show time left in days, hours, minutes and seconds ~~~~~ function script timeleft__ { if ( ( .@left = getarg(0) ) <= 0 ) return getarg(0); .@day = .@left / 86400; .@hour = .@left % 86400 / 3600; .@min = .@left % 3600 / 60; .@sec = .@left % 60; if ( .@day ) return .@day +" day "+ .@hour +" hour"; else if ( .@hour ) return .@hour +" hour "+ .@min +" min"; else if ( .@min ) return .@min +" min "+ .@sec +" sec"; else return .@sec +" sec"; } crystilia,73,73,4 script try 100,{ if( quest_step == 3 ) goto L_yes3; else if( quest_step == 2 ) goto L_yes2; else if( quest_step == 1 ) goto L_yes1; else if( quest_step > 3 && quest_step > gettimetick(3) ) { mes "You must wait for "+ callfunc( "timeleft__", ( quest_step - gettimetick(3) ) ) +"."; close; } // FIRST STEP mes "You want to start this quest?"; mes "You need to have this Items:"; mes "10 Jellopies"; mes "10 zRo Coins"; next; mes "Let me check"; next; if( countitem(909) < 10 || countitem(20103) < 10 ) goto L_wala; announce ""+strcharinfo(0)+" has started the Godly quest!",0; delitem 909,10; delitem 20103,10; set quest_step, 1; close; // second step L_yes1: mes "This is the second step, get me these items"; mes "10 TCG"; mes "10 zRo Coins"; next; mes "Let me check it again."; next; if( countitem(20103) < 10 || countitem(7227) < 10 ) goto L_wala; delitem 7227,10; delitem 20103,10; mes "You receive 1 Emblem of the sun gold!"; getitem 1009,1; set quest_step, 2; close; // 3rd step L_yes2: mes "This is the last step"; mes "Bring me these items"; mes "1 Emblem of the Sun Gold"; mes "1 Yggdrasil Berry"; next; mes "Check!"; next; if( countitem(607) < 1 || countitem(1009) < 1 ) goto L_wala; delitem 607,1; delitem 1009,1; mes "Congratulations! you receive Godly item!"; getitem 20107,1; set quest_step, 3; close; //final L_yes3: mes "This is the last and final step"; mes "Bring me these items"; mes "10 TCG"; mes "10 Yggdrasil Berry"; mes "10 zRO Coins"; next; mes "Check!"; next; if( countitem(607) < 10 || countitem(20103) < 10 || countitem(7227) < 10 ) goto L_wala; delitem 607,10; delitem 20103,10; delitem 7227,10; mes "Congratulations! you receive Godly item!"; getitem 20108,1; announce ""+strcharinfo(0)+" has finished the Godly quest!",0; set quest_step, gettimetick(3) + 4 * 86400; close; L_wala: mes "Sorry, please bring those items to me"; close; }
  8. Just replace ALL variable quest_step to #quest_step Okay sir let me try that one. Anyway whats the difference between the two? Sorry for asking buy I really want to understand each variable sir. Thank you
  9. It's a bit paradoxical but I think you mean after 3 days that the player finish the quest, he could do the same quest. Also do you mean player or account ? Player Sorry, Instead of players, i want to set it to account to avoid any abuses. Thank you let me try your script. ---- edit. Your script works well without a problem. Thank you sir. And yea about ( instead of player -> account ) how do we set it to that?
  10. Hello goodevening, I just coded this simple NPC and wanted to modify / change to the following: ( 1 ) Whenever a person already done the first quest then the NPC wont let him do it again. instead it skips to the next. ( 2 ) They are only able to take this quest every 3 Days. ( 3 ) After they select Yes, I want to remove this message "Want to proceed to the next step?" crystilia,73,73,4 script try 100,{ // FIRST STEP mes "You want to start this quest?"; mes "You need to have this Items:"; mes "10 Jellopies"; mes "10 zRo Coins"; next; mes "Let me check"; next; if(countitem(909) < 10 || countitem(20103) < 10) goto L_wala; announce ""+strcharinfo(0)+" has started the Godly quest!",0; delitem 909,10; delitem 20103,10; next; mes "Want to proceed to the next step?"; menu "Yes",L_yes1,"No",L_no; // second step L_yes1: mes "This is the second step, get me these items"; mes "10 TCG"; mes "10 zRo Coins"; next; mes "Let me check it again."; next; if(countitem(20103) < 10 || countitem(7227) < 10) goto L_wala2; delitem 7227,10; delitem 20103,10; mes "You receive 1 Emblem of the sun gold!"; getitem 1009,1; next; next; mes "Want to proceed to the next step?"; menu "Yes",L_yes2,"No",L_no; //last step L_yes2: mes "This is the last step"; mes "Bring me these items"; mes "1 Emblem of the Sun Gold"; mes "1 Yggdrasil Berry"; next; mes "Check!"; next; if(countitem(607) < 1 || countitem(1009) < 1) goto L_wala2; delitem 607,1; delitem 1009,1; mes "Congratulations! you receive Godly item!"; getitem 20107,1; announce ""+strcharinfo(0)+" has finished the Godly quest!",0; close; L_wala: mes "Sorry, please bring those items to me"; close; L_wala2: mes "Sorry, please bring those items to me"; close; L_no: close; } Thank you moderators.
  11. whats ea14808? try to recompile the server
  12. yes sir im using VPS. but thanks for the help anyways. I already solved this!
  13. Yes, you can use this OnClock so that when the servertime gets at 0600,1200. Then it triggers to start the event. hmm so OnClock find actual server hrs instead milliseconds? If you set the number of rounds to 10. Then it will end at 10. edit: is something i messed up or the script wont stop the disguise sequence until the number of wins match w/ the number rounds? Maybe you should post your script here so Script Moderators could find and help you with the problem.
  14. Hi sir, I've already editted those using weemapcache. I've tested it in my testserver(windows) then tried to transfer those edited files in my SVN. then recompile and i got error. Client directly crash when I type @warp crystilia/Crystilia. your grf should be only your custom map file.. not all the data.grf & rdata.grf This is in my SVN server. What should i put then? --- EDIT I've uploaded my crystilia.grf into my SVN and what i put grf-files.txt is this: //----------------------------------------- // GRF Files // Add as many as needed. //----------------------------------------- //grf: C:\Program Files\Gravity\RO\rdata.grf //grf: C:\Program Files\Gravity\RO\data.grf //grf: D:\Ragnarok\ZileROO\rdata.grf //grf: D:\Ragnarok\ZileROO\data.grf grf: /root/Desktop/crystilia.grf //----------------------------------------- // Data Directory // Use the base folder, not the data\ path. //----------------------------------------- //data_dir: C:\Program Files\Gravity\RO\
  15. I've edited everything map_index.txt: Crystilia 1251 maps_athena: map: Crystilia grf-filex.txt grf: D:\Ragnarok\Ragnarok\rdata.grf grf: D:\Ragnarok\Ragnarok\data.grf patched the files to my client and typed: then typed at the terminal: ( 1 ) cd /root/Desktop/trunk/src/tool ( 2 ) make mapcache ( 3 ) cd root/Desktop/trunk ( 4 )./mapcache ( 5 ) recompile the server when i typed @warp it lets me go to they map but the loading screen does not reach to 100% and gives me error and closes the client.
  16. There's a disguise npc in \npc\custom\events I guess this is it: OnClock0000: OnClock0600: OnClock1200: OnClock1800:
  17. Yudax

    GoldRoom

    Thank you Capuche, It all solved my problem.
  18. I've tested everything you told me to do ma'am into my test server, but still wont work. Thank you for keep supporting on the topic. yes change delitem .item_id, .item_req[ .@enchance ]; into delitem .item_id, 3; while keep the rest intact AnnieRuru, I solved the TCG problem with this: delitem .item_id, .item_req[ .@enchant ]; While the one you put is delitem .item_id, .item_req[ .@enchance ]; Thank you, havn't thought that this was the problem.
  19. So if I add rate, 40,30,20,10, that means they can have +4 enchant? What if I only put 50,30,20. Then that will limit to only +3? setarray .rate, 40,30,20,10; // rate of getting +1 is 40%, +2 is 30%, +3 is 20%, +4 is 10% .item_id = 7227; // item ID requirement use to enchant setarray .item_req, 3,5,7; // require 3 items to make 1st enchant, 5 items to make 2nd enchant ... while ( .@i < 4 ) { .totalchance = .totalchance + .rate[.@i]; .@i++; } end; Sorry if im not correct, You are not allowed to enchant if your TCG is below 5 or 7. But the deduction is still 3 even though you got 5 TCGs already did it .item_id = 7227; // item ID requirement use to enchant setarray .item_req, 3,5,7; // require 3 items to make 1st enchant, 5 items to make 2nd enchant ... I've also tested this, But i even though theres a 97% chance of getting +4. I still cant get it. I've tested 5 Armors already. setarray .rate, 1,1,1,97; Sorry ma'am
  20. try the <tab> or the coordinates. If not then check your mapserver. All the errors are there
  21. Wow, Thankyou sir! How do you edit the enchant item? the one that has +1 +2 +3? If example I would like to add up until +4, but still the number of times you can enchant your armor is still 3? - Is it possible to make the first enchant costs 3 TCG, the second one is 5TCG and the third one is 7TCG? I really need to know how to edit this, sorry for the too much question.
  22. When patching Itembound.diff I got an error, And after I recompile the server it says 2 success, and 2 failed. I want to remove the patch but I dont know how. Im using Windows though: from: http://rathena.org/wiki/Diff This is how I add the file: go place the folder in the index folder richt click the *.diff file and go to TortoiseSVN menu click patch My question is how to remove .patch / .diff when it failes to patch. I want to redo everything and remove those .patch files
  23. Yudax

    GoldRoom

    Thank you sir, it works. How will I set this that there would be 50% chance to double the amount of Gold / Coins they will receive? Enable Using of Yggdrasil Berry is restricted inside. How to put NPC waiting room that when this NPC appears, the timer will start its count down from 60 seconds until 0. Then the NPC with the count down. //-- Trigger auto event OnMinute16: announce "Gold Room : I will open my door in One ( 1 ) minute! Head your way to Crystilia 85 , 90.",0; sleep 1000 * .willopenin; //-- Gold room open hideoffnpc "Gold Room"; announce "Gold Room : It is now open ! You have one minute to enter, Only 8 players are allowed to join !",0; sleep 1000 * .timeenter; //-- Gold room closed hideonnpc "Gold Room"; announce "Gold Room is now closed !",0; //-- 10 minutes before players will be warp initnpctimer; while( getmapusers( .Map$ ) ) { delwaitingroom; waitingroom "Countdown "+( 60 - ( getnpctimer(0) / 100 ) )+" Seconds",0; sleep 100; } delwaitingroom; end; OnTimer60: mapannounce .Map$,"Time's Up !! You will be warped out right now..",0; mapwarp .Map$,"Crystilia",70,71; stopnpctimer; end; OnMobKill: getitem 969,1; monster .Map$,0,0,"Gold",1369,1,strnpcinfo(0)+"::OnMobKill"; end; OnMobKill2: getitem 20103,1; monster .Map$,0,0,"Coin",1369,1,strnpcinfo(0)+"::OnMobKill2"; end; OnMobKill3: getitem 20103,0; monster .Map$,0,0,"Gold",1369,1,strnpcinfo(0)+"::OnMobKill3"; end; OnMobKill4: getitem 20103,0; monster .Map$,0,0,"Coin",1369,1,strnpcinfo(0)+"::OnMobKill4"; end; OnInit: //-- Gold Room will open his door in XX - in seconds -- 60 seconds = 1 minute x.x .willopenin = 60; //-- Time to enter (secondes) before hide the NPC .timeenter = 60; //-- hideonnpc "Gold Room"; set .Map$,"guild_vs5"; monster .Map$,0,0,"Gold",1369,10,strnpcinfo(0)+"::OnMobKill"; monster .Map$,0,0,"Coin",1369,20,strnpcinfo(0)+"::OnMobKill2"; monster .Map$,0,0,"Gold",1369,25,strnpcinfo(0)+"::OnMobKill3"; monster .Map$,0,0,"Coin",1369,25,strnpcinfo(0)+"::OnMobKill4"; end; }
×
×
  • Create New...