Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/09/12 in all areas

  1. Hello rAthena Board, I saw that a lot of People were requesting iRO Daily Quest Scripts,so I started making them. I already finished 3 of them and I'm going to script the other 3 ,too if the rAthena users want me to. ALL CREDITS FOR THE QUEST IDEAS ARE GOING TO iRO! CREDITS FOR SCRIPTING THEM'RE GOING TO ME. DO NOT STEAL THIS WORK AND CLAIM IT AS YOURS!! Thank you for a really nice Server for testing the Scripts The Server Owner,knows that I mean him. Thank you for testing them! All the iRO Daily Quests here in 1 txt document Information about the Quests : http://www.ragnarok-guide.com/ragnarok-daily-quest/#.T4I_Qftzpz5 View the Script : // = ALL iRO DAILY QUESTS in this file,100 % Working // = MADE BY RIKIMARU on rAthena.org // = Profile Link : // = http://rathena.org/board/user/434-rikimaru/ // = ENJOY THIS SCRIPT! //=================================================================================== // //=====// /==/ /==/ /==/ // // // /==/ /==/ /=/ /==/ // //=====// /==/ /=/ /==============/ /========/ /==//===/ /==/ /==/ // //=////// /==/ /==//=/ /==/ /==/==/==/==/==/ / / / /==/ /==/ /==/ // // == /==/ /==//=/ /==/ /==/ /==/ /==/ ======/ / /==/ /==/ /==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ / /===/ / /==/ /==/ /==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ / /===/ / /==/ /==/=====/==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ /========/ /==/ /==///////==/ // ================ rAthena Script ================================================== // ============== Information ======================================================= // = iRO Daily Quest : Alberta Cargo // = Made by : // = Rikimaru //===== Current Version: =============================================== //= 1.1 //===== Compatible With: =============================================== //= any rAthena SVN //===== Description: =================================================== //= The iRO Daily Quest : Alberta Cargo //= Usefull for having fun in a Server with a Mini Quest //= Has a counter of 24 Hours until the Players can do the Quest agian. //===== Additional Comments: =========================================== //= 1.0 Finished Scripting the Quest [Rikimaru] //= 1.1 Fixed a little Bug [Rikimaru] //====================================================================== //============== DO NOT REMOVE MY CREDITS AND CLAIM MY WORK AS YOURS === alberta,105,52,3 script [Quest] Port Manager 855,{ set .@npcname$,"^0000FF[ [Quest] Port Manager ]^000000"; if(gettimetick(2) - carfingor < (60 * 60 * 24)) { mes .@npcname$; mes "I'm sorry but you have to wait"; mes "24 Hours until you can do the Quest again!"; close; } if(qcargo6==1) { mes .@npcname$; mes "Congrats!"; getitem 501,20; getitem 502,5; getitem 503,10; getitem 504,10; getitem 505,10; getitem 608,1; set BaseExp,+1046821; set cquest,0; set carfingor,gettimetick(2); set qcargo6,0; close; } if(qcargo5==1) { mes .@npcname$; mes "Congrats!"; getitem 501,20; getitem 502,5; getitem 503,10; getitem 504,10; getitem 505,10; set BaseExp,+565471; set cquest,0; set carfingor,gettimetick(2); set qcargo5,0; close; } if(qcargo4==1) { mes .@npcname$; mes "Congrats!"; getitem 501,20; getitem 502,5; getitem 503,10; getitem 504,10; set BaseExp,+178601; set cquest,0; set carfingor,gettimetick(2); set qcargo4,0; close; } if(qcargo3==1) { mes .@npcname$; mes "Congrats!"; getitem 501,20; getitem 502,5; getitem 503,10; set BaseExp,+18293; set cquest,0; set carfingor,gettimetick(2); set qcargo3,0; close; } if(qcargo2==1) { mes .@npcname$; mes "Congrats!"; getitem 501,20; getitem 502,5; set BaseExp,+1642; set cquest,0; set carfingor,gettimetick(2); set qcargo2,0; close; } if(qcargo1==1) { mes .@npcname$; mes "Congrats!"; getitem 501,20; set BaseExp,+142; set cquest,0; set carfingor,gettimetick(2); set qcargo1,0; close; } if(BaseLevel >= 98) { mes .@npcname$; mes "Hello "+strcharinfo(0)+","; mes "do you want to accept the Job?"; next; switch(select("Yes,sure:No,sorry:Cancel")) { case 1: mes .@npcname$; mes "Awesome,find the Deadly Cargo [6]"; mes "and bring it to me,and you'll"; mes "get a reward."; next; mes .@npcname$; mes "The Deadly Cargo [6] is somewhere"; set cquest,1; mes "here in Alberta!"; close; case 2: mes .@npcname$; mes "Okay goodbye!"; close; case 3: close; } } if(BaseLevel >= 81 && BaseLevel <=97) { mes .@npcname$; mes "Hello "+strcharinfo(0)+","; mes "do you want to accept the Job?"; next; switch(select("Yes,sure:No,sorry:Cancel")) { case 1: mes .@npcname$; mes "Awesome,find the Deadly Cargo [5]"; mes "and bring it to me,and you'll"; mes "get a reward."; next; mes .@npcname$; mes "The Deadly Cargo [5] is somewhere"; set cquest,1; mes "here in Alberta!"; close; case 2: mes .@npcname$; mes "Okay goodbye!"; close; case 3: close; } } if(BaseLevel >= 61 && BaseLevel <=80) { mes .@npcname$; mes "Hello "+strcharinfo(0)+","; mes "do you want to accept the Job?"; next; switch(select("Yes,sure:No,sorry:Cancel")) { case 1: mes .@npcname$; mes "Awesome,find the Deadly Cargo [4]"; mes "and bring it to me,and you'll"; mes "get a reward."; next; mes .@npcname$; mes "The Deadly Cargo [4] is somewhere"; set cquest,1; mes "here in Alberta!"; close; case 2: mes .@npcname$; mes "Okay goodbye!"; close; case 3: close; } } if(BaseLevel >= 41 && BaseLevel <=60) { mes .@npcname$; mes "Hello "+strcharinfo(0)+","; mes "do you want to accept the Job?"; next; switch(select("Yes,sure:No,sorry:Cancel")) { case 1: mes .@npcname$; mes "Awesome,find the Deadly Cargo [3]"; mes "and bring it to me,and you'll"; mes "get a reward."; next; mes .@npcname$; mes "The Deadly Cargo [3] is somewhere"; set cquest,1; mes "here in Alberta!"; close; case 2: mes .@npcname$; mes "Okay goodbye!"; close; case 3: close; } } if(BaseLevel >= 21 && BaseLevel <=40) { mes .@npcname$; mes "Hello "+strcharinfo(0)+","; mes "do you want to accept the Job?"; next; switch(select("Yes,sure:No,sorry:Cancel")) { case 1: mes .@npcname$; mes "Awesome,find the Deadly Cargo [2]"; mes "and bring it to me,and you'll"; mes "get a reward."; next; mes .@npcname$; mes "The Deadly Cargo [2] is somewhere"; set cquest,1; mes "here in Alberta!"; close; case 2: mes .@npcname$; mes "Okay goodbye!"; close; case 3: close; } } if(BaseLevel >= 1 && BaseLevel <=20) { mes .@npcname$; mes "Hello "+strcharinfo(0)+","; mes "do you want to accept the Job?"; next; switch(select("Yes,sure:No,sorry:Cancel")) { case 1: mes .@npcname$; mes "Awesome,find the Deadly Cargo [1]"; mes "and bring it to me,and you'll"; mes "get a reward."; next; mes .@npcname$; mes "The Deadly Cargo [1] is somewhere"; set cquest,1; mes "here in Alberta!"; close; case 2: mes .@npcname$; mes "Okay goodbye!"; close; case 3: close; } } mes .@npcname$; mes "........"; close; } // ========================= End of the first NPC ================================================= alberta,186,174,3 script Deadly Cargo [1] 1191,{ set .@npcname$,"^FF0000[ Deadly Cargo [1] ]^000000"; if(cquest==1) { mes .@npcname$; mes "Go back to the Port Manager!"; set qcargo1,1; close; } mes .@npcname$; mes "........"; close; } alberta,232,103,3 script Deadly Cargo [2] 1191,{ set .@npcname$,"^FF0000[ Deadly Cargo [2] ]^000000"; if(cquest==1) { mes .@npcname$; mes "Go back to the Port Manager!"; set qcargo2,1; close; } mes .@npcname$; mes "........"; close; } alberta,247,90,3 script Deadly Cargo [3] 1191,{ set .@npcname$,"^FF0000[ Deadly Cargo [3] ]^000000"; if(cquest==1) { mes .@npcname$; mes "Go back to the Port Manager!"; set qcargo3,1; close; } mes .@npcname$; mes "........"; close; } alberta,247,67,3 script Deadly Cargo [4] 1191,{ set .@npcname$,"^FF0000[ Deadly Cargo [4] ]^000000"; if(cquest==1) { mes .@npcname$; mes "Go back to the Port Manager!"; set qcargo4,1; close; } mes .@npcname$; mes "........"; close; } alberta,245,43,3 script Deadly Cargo [5] 1191,{ set .@npcname$,"^FF0000[ Deadly Cargo [5] ]^000000"; if(cquest==1) { mes .@npcname$; mes "Go back to the Port Manager!"; set qcargo5,1; close; } mes .@npcname$; mes "........"; close; } alberta,123,227,3 script Deadly Cargo [6] 1191,{ set .@npcname$,"^FF0000[ Deadly Cargo [6] ]^000000"; if(cquest==1) { mes .@npcname$; mes "Go back to the Port Manager!"; set qcargo6,1; close; } mes .@npcname$; mes "........"; close; } // =============================== End of all the NPC's ========================================= // ====================== Have fun with this Script. Yours ~ Rikimaru =========================== // //=====// /==/ /==/ /==/ // // // /==/ /==/ /=/ /==/ // //=====// /==/ /=/ /==============/ /========/ /==//===/ /==/ /==/ // //=////// /==/ /==//=/ /==/ /==/==/==/==/==/ / / / /==/ /==/ /==/ // // == /==/ /==//=/ /==/ /==/ /==/ /==/ ======/ / /==/ /==/ /==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ / /===/ / /==/ /==/ /==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ / /===/ / /==/ /==/=====/==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ /========/ /==/ /==///////==/ // ================ rAthena Script ================================================== // ============== Information ======================================================= // = iRO Daily Quest : Army Supply // = Made by : // = Rikimaru //===== Current Version: =============================================== //= 2.4 //===== Compatible With: =============================================== //= any rAthena SVN //===== Description: =================================================== //= The iRO Daily Quest : Army Supply //= Usefull for having fun in a Server with a Mini Quest //= Has a counter of 20 Hours until the Players can do the Quest agian. //===== Additional Comments: =========================================== //= 1.9 Fixed the Injured Recruit NPC [Rikimaru] //= 2.0 Added the NPC Display from Injured to Revived [Rikimaru] //= 2.1 Added the 2nd and 3rd Army Soldiers [Rikimaru] //= 2.2 Fixed a few Bugs in the NPC's [Rikimaru] //= 2.3 Added the 20 Hours Timer and fixed the Script Description [Rikimaru] //= 2.4 Fixed the 20 Hours Timer [Rikimaru] //====================================================================== //============== DO NOT REMOVE MY CREDITS AND CLAIM MY WORK AS YOURS === prontera,146,187,5 script [Quest] Army Officer 105,{ set .@npcname$,"^0000FF[ [Quest] Army Officer]^000000"; if(armyquest==1) { mes .@npcname$; mes "There are a few"; mes "Soldiers,waiting for"; mes "help in Morocc!"; next; mes .@npcname$; mes "From Baselevel 61-80 you"; mes "have to help the"; mes "Injured Recruit."; next; mes .@npcname$; mes "From Baselevel 81-97 you"; mes "have to help the"; mes "Injured Veteran"; next; mes .@npcname$; mes "From Baselevel 98 or higher"; mes "you'll have to help the Injured Elite"; next; mes .@npcname$; mes "Bring them White Potions"; mes "or bring them Yggdrasil"; mes "Berries. Thank you for"; mes "your Help!"; close; } if(BaseLevel >= 61) { mes .@npcname$; mes "Hello "+strcharinfo(0)+",I'm"; mes "the Army Officer!"; next; mes .@npcname$; mes "There are a few"; mes "Soldiers,waiting for"; mes "help in Morocc!"; next; mes .@npcname$; mes "From Baselevel 61-80 you"; mes "have to help the"; mes "Injured Recruit."; next; mes .@npcname$; mes "From Baselevel 81-97 you"; mes "have to help the"; mes "Injured Veteran"; next; mes .@npcname$; mes "From Baselevel 98 or higher"; mes "you'll have to help the Injured Elite"; next; mes .@npcname$; mes "Bring them White Potions"; mes "or bring them Yggdrasil"; mes "Berries. Thank you for"; mes "your Help!"; set armyquest,1; close; } mes .@npcname$; mes "Hello "+strcharinfo(0)+",get"; mes "a Higher Baselevel please."; mes "You have to be Baselevel"; mes "61 or Higher!"; close; } // ======================= End of 1st NPC ====================================== // ===================== other NPC's coming now ================================ morocc,172,68,5 script Injured Recruit 849,{ set .@npcname$,"^0000FF[ Injured Recruit ]^000000"; if(gettimetick(2) - helped1 < (60 * 60 * 20)) { mes .@npcname$; mes "Sorry but you have to wait"; mes "Until 20 Hours are over!"; close; } if(armyquest==1 && BaseLevel <= 80 && BaseLevel >= 61) { mes .@npcname$; mes "... Uggh ..."; mes "Help me ...."; mes "with some...."; mes "healing stuff. Please..."; next; switch(select("-Yggdrasil Berries:-White Potion:-Cancel")) { case 1: if(countitem(607) <1) goto l_noitem; delitem 607,1; next; mes .@npcname$; mes "Wooooow..."; setnpcdisplay("Injured Recruit","Revived Recruit",813); sleep2 5000; next; mes .@npcname$; mes "Thank you for the Help."; set BaseExp,+160000; set JobExp,+100000; set helped1,gettimetick(2); setnpcdisplay("Revived Recruit","Injured Recruit",849); close; case 2: if(countitem(504) <1) goto l_noitem; delitem 504,1; next; mes .@npcname$; mes "Wooooow..."; setnpcdisplay("Injured Recruit","Revived Recruit",813); sleep2 5000; next; mes .@npcname$; mes "Thank you for the Help."; set BaseExp,+80000; set JobExp,+50000; set helped1,gettimetick(2); setnpcdisplay("Revived Recruit","Injured Recruit",849); close; case 3: close; } l_noitem: mes .@npcname$; mes "You don't have the item...Get it fast please."; close; } mes .@npcname$; mes "... Uggh..."; close; } // ====================== End of 2nd NPC ====================================== // =================== Beginning of 3rd NPC =================================== morocc,174,68,5 script Injured Veteran 849,{ set .@npcname$,"^0000FF[ Injured Veteran ]^000000"; if(gettimetick(2) - helped2 < (60 * 60 * 20)) { mes .@npcname$; mes "Sorry but you have to wait"; mes "Until 20 Hours are over!"; close; } if(armyquest==1 && BaseLevel <= 97 && BaseLevel >= 81) { mes .@npcname$; mes "... Uggh ..."; mes "Help me ...."; mes "with some...."; mes "healing stuff. Please..."; next; switch(select("-Yggdrasil Berries:-White Potion:-Cancel")) { case 1: if(countitem(607) <1) goto l_noitem; delitem 607,1; next; mes .@npcname$; mes "Wooooow..."; setnpcdisplay("Injured Veteran","Revived Veteran",813); sleep2 5000; next; mes .@npcname$; mes "Thank you for the Help."; set BaseExp,+500000; set JobExp,+150000; set helped2,gettimetick(2); setnpcdisplay("Revived Veteran","Injured Veteran",849); close; case 2: if(countitem(504) <1) goto l_noitem; delitem 504,1; next; mes .@npcname$; mes "Wooooow..."; setnpcdisplay("Injured Veteran","Revived Veteran",813); sleep2 5000; next; mes .@npcname$; mes "Thank you for the Help."; set BaseExp,+200000; set JobExp,+80000; set helped2,gettimetick(2); setnpcdisplay("Revived Veteran","Injured Veteran",849); close; case 3: close; } l_noitem: mes .@npcname$; mes "You don't have the item...Get it fast please."; close; } mes .@npcname$; mes "... Uggh..."; close; } // ====================== End of 3rd NPC ====================================== // =================== Beginning of 4th NPC =================================== morocc,176,68,5 script Injured Elite 849,{ set .@npcname$,"^0000FF[ Injured Elite ]^000000"; if(gettimetick(2) - helped3 < (60 * 60 * 20)) { mes .@npcname$; mes "Sorry but you have to wait"; mes "Until 20 Hours are over!"; close; } if(armyquest==1 && BaseLevel <= 98) { mes .@npcname$; mes "... Uggh ..."; mes "Help me ...."; mes "with some...."; mes "healing stuff. Please..."; next; switch(select("-Yggdrasil Berries:-White Potion:-Cancel")) { case 1: if(countitem(607) <1) goto l_noitem; delitem 607,1; next; mes .@npcname$; mes "Wooooow..."; setnpcdisplay("Injured Elite","Revived Elite",813); sleep2 5000; next; mes .@npcname$; mes "Thank you for the Help."; set BaseExp,+1046821; set JobExp,+300000; set helped3,gettimetick(2); setnpcdisplay("Revived Elite","Injured Elite",849); close; case 2: if(countitem(504) <1) goto l_noitem; delitem 504,1; next; mes .@npcname$; mes "Wooooow..."; setnpcdisplay("Injured Elite","Revived Elite",813); sleep2 5000; next; mes .@npcname$; mes "Thank you for the Help."; set BaseExp,+200000; set JobExp,+80000; set helped3,gettimetick(2); setnpcdisplay("Revived Elite","Injured Elite",849); close; case 3: close; } l_noitem: mes .@npcname$; mes "You don't have the item...Get it fast please."; close; } mes .@npcname$; mes "... Uggh..."; close; } // =========================== End of 4th NPC Script ================================ // ====================== End of the whole Daily Quest ============================== // ================= Have fun with this Script. Yours Rikimaru ====================== // //=====// /==/ /==/ /==/ // // // /==/ /==/ /=/ /==/ // //=====// /==/ /=/ /==============/ /========/ /==//===/ /==/ /==/ // //=////// /==/ /==//=/ /==/ /==/==/==/==/==/ / / / /==/ /==/ /==/ // // == /==/ /==//=/ /==/ /==/ /==/ /==/ ======/ / /==/ /==/ /==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ / /===/ / /==/ /==/ /==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ / /===/ / /==/ /==/=====/==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ /========/ /==/ /==///////==/ // ================ rAthena Script ================================================== // ============== Information ======================================================= // = iRO Daily Quest : Church Donation // = Made by : // = Rikimaru //===== Current Version: =============================================== //= 1.2 //===== Compatible With: =============================================== //= any rAthena SVN //===== Description: =================================================== //= The iRO Daily Quest : Church Donation //= Usefull for having fun in a Server with a Mini Quest //= Has a counter of 24 Hours until the Players can do the Quest agian. //===== Additional Comments: =========================================== //= 1.1 Finished adding the stats food effects. [Rikimaru] //= 1.2 Fixed a few Bugs in the Script [Rikimaru] //====================================================================== //============== DO NOT REMOVE MY CREDITS AND CLAIM MY WORK AS YOURS === prontera,165,191,3 script [Quest] Church Worker 790,{ set .@npcname$,"^0000FF[ [Quest] Church Worker ]^000000"; if(gettimetick(2) - donatedalready < (60 * 60 * 24)) { mes .@npcname$; mes "Sorry,but you have to wait 24 Hours,before you"; mes "can do the Quest again!"; close; } if(BaseLevel >= 60 && BaseLevel <= 80) { mes .@npcname$; mes "Hello "+strcharinfo(0)+",do"; mes "you want to get special"; mes "Buffs for 40.000 Zenny?"; next; switch(select("Yes,sure:No,bye:Cancel")) { case 1: mes .@npcname$; mes "Let me check everything."; if(Zeny < 40000) goto L_nozeny; set Zeny,Zeny - 40000; set BaseExp,+80000; set JobExp,+50000; sc_start SC_STRFood,180000,5; sc_start SC_AGIFood,180000,5; sc_start SC_VITFood,180000,5; sc_start SC_INTFood,180000,5; sc_start SC_DEXFood,180000,5; sc_start SC_LUKFood,180000,5; set donatedalready,gettimetick(2); next; mes .@npcname$; mes "Okay,thank you and have fun!"; close; } } if(BaseLevel >=81 && BaseLevel <=96) { mes .@npcname$; mes "Hello "+strcharinfo(0)+",do"; mes "you want to get special"; mes "Buffs for 80.000 Zenny?"; next; switch(select("Yes,sure:No,bye:Cancel")) { case 1: mes .@npcname$; mes "Let me check everything."; if(Zeny < 80000) goto L_nozeny; set Zeny,Zeny - 80000; set BaseExp,+200000; set JobExp,+60000; sc_start SC_STRFood,180000,6; sc_start SC_AGIFood,180000,6; sc_start SC_VITFood,180000,6; sc_start SC_INTFood,180000,6; sc_start SC_DEXFood,180000,6; sc_start SC_LUKFood,180000,6; set donatedalready,gettimetick(2); next; mes .@npcname$; mes "Okay,thank you and have fun!"; close; } } if(BaseLevel >=97 && BaseLevel <=99) { mes .@npcname$; mes "Hello "+strcharinfo(0)+",do"; mes "you want to get special"; mes "Buffs for 200.000 Zenny?"; next; switch(select("Yes,sure:No,bye:Cancel")) { case 1: mes .@npcname$; mes "Let me check everything."; if(Zeny < 200000) goto L_nozeny; set Zeny,Zeny - 200000; set BaseExp,+400000; set JobExp,+100000; sc_start SC_STRFood,180000,7; sc_start SC_AGIFood,180000,7; sc_start SC_VITFood,180000,7; sc_start SC_INTFood,180000,7; sc_start SC_DEXFood,180000,7; sc_start SC_LUKFood,180000,7; set donatedalready,gettimetick(2); next; mes .@npcname$; mes "Okay,thank you and have fun!"; close; } } mes .@npcname$; mes "Hello,you can use my Service,"; mes "when you're at least Baselevel 60"; close; L_nozeny: mes .@npcname$; mes "Sorry,but you need more Zeny!"; close; } // ==================================== End of the Scripts ======================================= // ============================= Have fun with the Scripts. Yours,Rikimaru ======================= // //=====// /==/ /==/ /==/ // // // /==/ /==/ /=/ /==/ // //=====// /==/ /=/ /==============/ /========/ /==//===/ /==/ /==/ // //=////// /==/ /==//=/ /==/ /==/==/==/==/==/ / / / /==/ /==/ /==/ // // == /==/ /==//=/ /==/ /==/ /==/ /==/ ======/ / /==/ /==/ /==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ / /===/ / /==/ /==/ /==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ / /===/ / /==/ /==/=====/==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ /========/ /==/ /==///////==/ // ================ rAthena Script ================================================== // ============== Information ======================================================= // = iRO Daily Quest : No more Lonley Knights Delivery // = Made by : // = Rikimaru //===== Current Version: =============================================== //= 1.7 //===== Compatible With: =============================================== //= any rAthena SVN //===== Description: =================================================== //= The iRO Daily Quest : No more Lonley Knights Delivery //= Usefull for having fun in a Server with a Mini Quest //= Has a counter of 20 Hours until the Players can do the Quest agian. //===== Additional Comments: =========================================== //= 1.6 Finished Scripting all NPC's [Rikimaru] //= 1.7 Fixed a few mistakes in the Script [Rikimaru] //====================================================================== //============== DO NOT REMOVE MY CREDITS AND CLAIM MY WORK AS YOURS === alberta,122,55,5 script [Quest] Messenger Girl 862,{ set .@npcname$,"^0000FF[ [Quest] Messenger Girl ]^000000"; if(BaseLevel >= 81) { mes .@npcname$; mes "Hello "+strcharinfo(0)+",I"; mes "need your help."; next; mes .@npcname$; mes "Could you please send a "; mes "Message to Sir Grevious?"; mes "He's somewhere in"; mes "the Turtle Island"; next; switch(select("Yes:No:Cancel")) { case 1: mes .@npcname$; mes "Okay thank you!"; mes "go and find him."; set message5,1; close; case 2: mes .@npcname$; mes "Okay bye!"; close; case 3: close; } } if(BaseLevel <= 80 && BaseLevel >= 61) { mes .@npcname$; mes "Hello "+strcharinfo(0)+",I"; mes "need your help."; next; mes .@npcname$; mes "Could you please send a "; mes "Message to Sir Midetz?"; mes "He's somewhere in"; mes "Izlude."; next; switch(select("Yes:No:Cancel")) { case 1: mes .@npcname$; mes "Okay thank you!"; mes "go and find him."; set message4,1; close; case 2: mes .@npcname$; mes "Okay bye!"; close; case 3: close; } } if(BaseLevel <= 60 && BaseLevel >= 41) { mes .@npcname$; mes "Hello "+strcharinfo(0)+",I"; mes "need your help."; next; mes .@npcname$; mes "Could you please send a "; mes "Message to Sir Lion?"; mes "He's somewhere in"; mes "Prontera"; next; switch(select("Yes:No:Cancel")) { case 1: mes .@npcname$; mes "Okay thank you!"; mes "go and find him."; set message3,1; close; case 2: mes .@npcname$; mes "Okay bye!"; close; case 3: close; } } if(BaseLevel <= 40 && BaseLevel >= 21) { mes .@npcname$; mes "Hello "+strcharinfo(0)+",I"; mes "need your help."; next; mes .@npcname$; mes "Could you please send a "; mes "Message to Sir Richard?"; mes "He's somewhere in"; mes "the Treasure Land."; next; switch(select("Yes:No:Cancel")) { case 1: mes .@npcname$; mes "Okay thank you!"; mes "go and find him."; set message2,1; close; case 2: mes .@npcname$; mes "Okay bye!"; close; case 3: close; } } mes .@npcname$; mes "Hello "+strcharinfo(0)+",I"; mes "need your help."; next; mes .@npcname$; mes "Could you please send a "; mes "Message to Sir Donovan?"; mes "He's somewhere here"; mes "in Alberta."; next; switch(select("Yes:No:Cancel")) { case 1: mes .@npcname$; mes "Okay thank you!"; mes "go and find him."; set message1,1; close; case 2: mes .@npcname$; mes "Okay bye!"; close; case 3: close; } } // ======================== End of 1st NPC ============================================== // ==================== Other NPC's coming now ========================================== alberta,56,80,5 script Sir Donovan 65,{ set .@npcname$,"^0000FF[sir Donovan]^000000"; if(gettimetick(2) - sendm1 < (60 * 60 * 20)) { mes .@npcname$; mes "Sorry but you have to wait"; mes "Until 20 Hours are over!"; close; } if(message1==1) { mes .@npcname$; mes "You got a Message for me?"; mes "Thank you. Take the Exp!"; set BaseExp,+141; set JobExp,+100; set sendm1,gettimetick(2); close; } mes .@npcname$; mes "Hello..."; close; } // ================== End of the NPC ==================================================== alb2trea,62,69,5 script Sir Richard 65,{ set .@npcname$,"^0000FF[sir Richard]^000000"; if(gettimetick(2) - sendm2 < (60 * 60 * 20)) { mes .@npcname$; mes "Sorry but you have to wait"; mes "Until 20 Hours are over!"; close; } if(message2==1) { mes .@npcname$; mes "You got a Message for me?"; mes "Thank you. Take the Exp!"; set BaseExp,+1500; set JobExp,+1000; set sendm2,gettimetick(2); close; } mes .@npcname$; mes "Hello..."; close; } // ================== End of the NPC ==================================================== prontera,109,116,5 script Sir Lion 65,{ set .@npcname$,"^0000FF[sir Lion]^000000"; if(gettimetick(2) - sendm3 < (60 * 60 * 20)) { mes .@npcname$; mes "Sorry but you have to wait"; mes "Until 20 Hours are over!"; close; } if(message3==1) { mes .@npcname$; mes "You got a Message for me?"; mes "Thank you. Take the Exp!"; set BaseExp,+16509; set JobExp,+10000; set sendm3,gettimetick(2); close; } mes .@npcname$; mes "Hello..."; close; } // ================== End of the NPC ==================================================== izlude,123,173,5 script Sir Midetz 65,{ set .@npcname$,"^0000FF[sir Midetz]^000000"; if(gettimetick(2) - sendm4 < (60 * 60 * 20)) { mes .@npcname$; mes "Sorry but you have to wait"; mes "Until 20 Hours are over!"; close; } if(message4==1) { mes .@npcname$; mes "You got a Message for me?"; mes "Thank you. Take the Exp!"; set BaseExp,+160308; set JobExp,+100000; set sendm4,gettimetick(2); close; } mes .@npcname$; mes "Hello..."; close; } // ================== End of the NPC ==================================================== tur_dun01,188,118,5 script Sir Grevious 65,{ set .@npcname$,"^0000FF[sir Grevious]^000000"; if(gettimetick(2) - sendm5 < (60 * 60 * 20)) { mes .@npcname$; mes "Sorry but you have to wait"; mes "Until 20 Hours are over!"; close; } if(message5==1) { mes .@npcname$; mes "You got a Message for me?"; mes "Thank you. Take the Exp!"; set BaseExp,+500000; set JobExp,+150000; set sendm5,gettimetick(2); close; } mes .@npcname$; mes "Hello..."; close; } // ================== End of the NPC ==================================================== // =============== Have fun with this Script. Yours,Rikimaru ============================ // //=====// /==/ /==/ /==/ // // // /==/ /==/ /=/ /==/ // //=====// /==/ /=/ /==============/ /========/ /==//===/ /==/ /==/ // //=////// /==/ /==//=/ /==/ /==/==/==/==/==/ / / / /==/ /==/ /==/ // // == /==/ /==//=/ /==/ /==/ /==/ /==/ ======/ / /==/ /==/ /==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ / /===/ / /==/ /==/ /==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ / /===/ / /==/ /==/=====/==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ /========/ /==/ /==///////==/ // ================ rAthena Script ================================================== // ============== Information ======================================================= // = iRO Daily Quest : Find my Lost Dogs // = Made by : // = Rikimaru //===== Current Version: =============================================== //= 1.4 //===== Compatible With: =============================================== //= any rAthena SVN //===== Description: =================================================== //= The iRO Daily Quest : Find my Lost Dogs //= Usefull for having fun in a Server with a Mini Quest //= Has a counter of 24 Hours until the Players can do the Quest agian. //===== Additional Comments: =========================================== //= 1.3 Finished Scripting all NPC's [Rikimaru] //= 1.4 Fixed a saved Variable Typo [Rikimaru] //====================================================================== //============== DO NOT REMOVE MY CREDITS AND CLAIM MY WORK AS YOURS === brasilis,298,307,3 script [Quest] Angelo 50,{ set .@npcname$,"^0000FF[ [Quest] Angelo ]^000000"; if(gettimetick(2) - puppyfound < (60 * 60 * 24)) { mes .@npcname$; mes "I'm sorry but you have to wait"; mes "24 Hours until you can do the Quest again!"; close; } if(Puppy1==1 && Puppy2==1 && Puppy3==1) { mes .@npcname$; mes "Awesome you found them!"; mes "Take some Exp as a reward."; set BaseExp,+50000; set JobExp,+50000; set puppyfound,gettimetick(2); set gofindpuppy,0; set Puppy1,0; set Puppy2,0; set Puppy3,0; next; mes .@npcname$; mes "Goodbye!"; close; } if(BaseLevel >= 70) { mes .@npcname$; mes "Oh God thank you!"; mes "Hello "+strcharinfo(0)+","; mes "I really need your help!"; next; mes .@npcname$; mes "My Puppies ran away."; mes "They're somewhere in"; mes "the field up here."; next; mes .@npcname$; mes "Could you please find"; mes "them for me?"; next; switch(select("Yes,sure:No,sorry:Cancel")) { case 1: mes .@npcname$; mes "Okay come back when you found them!"; set gofindpuppy,1; close; case 2: mes .@npcname$; mes "Okay bye!"; close; case 3: close; } } mes .@npcname$; mes "Get to Baselevel 70 to"; mes "Start my Quest!"; close; } // ====================== Now the Puppies are coming ================================== bra_fild01,110,135,5 script Puppy 1 81,{ set .@npcname$,"^0000FF[ Puppy 1 ]^000000"; if(gofindpuppy==1) { mes .@npcname$; mes "Woof... Woof..."; set Puppy1,1; mes "["+strcharinfo(0)+"]"; mes "Found one. Going back"; mes "to Angelo later "; next; mes "If you found the three"; mes "Puppies,then go"; mes "back to Angelo!"; close; } mes .@npcname$; mes "Woof...Woof..."; close; } bra_fild01,39,204,5 script Puppy 2 81,{ set .@npcname$,"^0000FF[ Puppy 2 ]^000000"; if(gofindpuppy==1) { mes .@npcname$; mes "Woof... Woof..."; set Puppy2,1; mes "["+strcharinfo(0)+"]"; mes "Found one. Going back"; mes "to Angelo later "; next; mes "If you found the three"; mes "Puppies,then go"; mes "back to Angelo!"; close; } mes .@npcname$; mes "Woof...Woof..."; close; } bra_fild01,307,147,3 script Puppy 3 81,{ set .@npcname$,"^0000FF[ Puppy 3 ]^000000"; if(gofindpuppy==1) { mes .@npcname$; mes "Woof... Woof..."; set Puppy3,1; mes "["+strcharinfo(0)+"]"; mes "Found one. Going back"; mes "to Angelo later "; next; mes "If you found the three"; mes "Puppies,then go"; mes "back to Angelo!"; close; } mes .@npcname$; mes "Woof...Woof..."; close; } // ========================== End of all the Scripts ========================================== // ===================== Have fun with the Scripts. Yours,Rikimaru ============================ // //=====// /==/ /==/ /==/ // // // /==/ /==/ /=/ /==/ // //=====// /==/ /=/ /==============/ /========/ /==//===/ /==/ /==/ // //=////// /==/ /==//=/ /==/ /==/==/==/==/==/ / / / /==/ /==/ /==/ // // == /==/ /==//=/ /==/ /==/ /==/ /==/ ======/ / /==/ /==/ /==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ / /===/ / /==/ /==/ /==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ / /===/ / /==/ /==/=====/==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ /========/ /==/ /==///////==/ // ================ rAthena Script ================================================== // ============== Information ======================================================= // = iRO Daily Quest : Swab the Deck // = Made by : // = Rikimaru //===== Current Version: =============================================== //= 1.4 //===== Compatible With: =============================================== //= any rAthena SVN //===== Description: =================================================== //= The iRO Daily Quest : Swab the Deck //= Usefull for having fun in a Server with a Mini Quest //= Has a counter of 20 Hours until the Players can do the Quest agian. //===== Additional Comments: =========================================== //= 1.3 Finished Scripting all NPC's [Rikimaru] //= 1.4 Fixed a saved Variable Typo [Rikimaru] //====================================================================== //============== DO NOT REMOVE MY CREDITS AND CLAIM MY WORK AS YOURS === alberta,104,60,5 script [Quest] First Mate 748,{ //============================= Settings ========================== set .@npcname$,"[ [Quest] First Mate ]"; set .BeadID,6222; //======================= End ===================================== if(countitem(6221) > 0 && gettimetick(2) - exchangedalready > (60 * 60 * 20)) { mes .@npcname$; mes "Hey,how many Mystic Leaf Cat Balls"; mes "do you want to exchange to Shiny Beads?"; next; mes .@npcname$; mes "Input the Amount of the Mystic Leaf Cat Balls,which you want to exchange."; mes "If you input 0 , you're going to cancel the deal."; next; input @beadamount; if (@beadamount == 0) { close; } mes .@npcname$; mes "Do you really want to exchange"; mes ":"+ @beadamount +" Mystic Leaf Cat Balls"; mes "for "+ @beadamount +" Shiny Beads?"; next; switch(select("Yes!:No!")) { case 1: mes .@npcname$; mes "Okay converting... ... ..."; if(countitem(6221) < @beadamount) goto l_noitem; delitem 6221,@beadamount; getitem .BeadID,@beadamount; set BaseExp,+50000000;// CHANGE THE EXP AMOUNT!! set JobExp,+40000000;// CHANGE THE EXP AMOUNT!! set exchangedalready,gettimetick(2); next; mes .@npcname$; mes "Okay you can exchange the Shiny Beads at the Second Mate."; close; case 2: mes .@npcname$; mes "Okay goodbye!"; close; } l_noitem: mes .@npcname$; mes "I'm sorry,but you're missing some items!"; close; } mes .@npcname$; mes "Hey , do you want to do the Daily Quest?"; next; switch(select("Yes,sure!:No,bye!:Cancel")) { case 1: mes .@npcname$; mes "Okay you have to go to the alberta Ship"; mes "and enter one of the Portals and Catch A rat!"; next; mes .@npcname$; mes "If you catch it,you'll get a Mystic Cat Ball,"; mes "if you got it,come back to me,if you failed,"; mes "come back to me and get a new Cat Ball,to"; mes "catch the rats!"; next; mes .@npcname$; mes "So,here take this,"; mes "and come back when you finished."; getitem 12408,1; close; case 2: mes .@npcname$; mes "Okay,goodbye!"; close; case 3: close; } } // ============================ End of the First Mate Script =================================== alberta,107,59,5 script [Quest] Second Mate 100,{ set .@npcname$,"^0000FF[ [Quest] Second Mate ]^000000"; set .BeadID,6222; setarray @ItemID[0],5170,5773,5691,505,5578,5692; setarray @Cost[0],50,50,50,1,30,50; setarray @itemcount[0],1,1,1,2,1,1; mes .@npcname$; mes "Hello ["+strcharinfo(0)+"],do"; mes "you want to buy some items?"; mes "You'll have to give me Shiny"; mes "Beads for the Items!"; next; if (select("Yes,sure","No,nevermind!") == 2) close; next; mes .@npcname$; mes "Item = Cost"; for( set .@i, 0; .@i < getarraysize(@ItemID); set .@i, .@i + 1 ) { mes "^0000ff"+@itemcount[.@i]+"x "+getitemname(@ItemID[.@i])+"^000000 = ^00aa00"+@Cost[.@i]+"^000000"; if( .@i < 1 ) set .@menu$, getitemname(@ItemID[.@i]); else set .@menu$, .@menu$+":"+getitemname(@ItemID[.@i]); } next; select(.@menu$); set @choice, @menu - 1; mes @npcname$; if(countitem(.BeadID) <@Cost[@choice]) { mes "You need more Shiny Beads for "+@itemcount[@choice]+"x '"+getitemname(@ItemID[@choice])+"'"; close; } mes "Are u realy sure to trade "+@itemcount[@choice]+"x '^ff0000"+getitemname(@ItemID[@choice])+"^000000' for ^00aa00"+@Cost[@choice]+"^000000 Shiny Beads?"; if(select("No! Cancel!:Yes, Trade me!") == 1 ) { mes "Canceled the Trade"; close; } set .@new, .BeadID - @Cost[@choice]; if( .@new < 0 ) set .@new, 0; delitem .BeadID,@Cost[@choice]; getitem @ItemID[@choice], @itemcount[@choice]; mes "The Trade was succesfull. Have fun with the Item!"; close; } Download to all Quests : http://www.mediafire.com/?zwisgfnj0xx0yap I hope that a lot of people stop making topics now,where they request theese Quests. and remember to say thanks!
    2 points
  2. Borf (the author of BrowEdit Mapping Software) is in need of developers for his new BrowEdit 2.0 project. He is looking for skilled developers who are comfortable working in environments of C++, Open GL & User Interfaces to help him with his new BrowEdit 2.0 project. Please submit an application via a message to my rAthena forum name Syouji if you are interested in being a part of his team. This is a volunteered based project. BrowEdit 2.0 SVN Log: http://svnlog.borf.info/browedit.log New Feature Possibilities for BrowEdit 2.0 Real-Time Rendering of Changes Made Multi-User Share Mapping (Multiple users working on the same map in real-time) Proper Lightmap Calculations Across Models Faster & More Efficient Under a Java Build Re-Designed Edit Modes Quick Easy Copy/Paste Everything (E.g - Models/Lightbulbs/Effects/Sounds/Terrain) External Tool - Lightmaps Exporting to Other Tools for Easy Editing (E.g - Blender) Application Details - Name - Age - Time Zone - Programming Languages you're skilled with - Any portfolio work you've made (optional) - Contact Email BrowEdit 2.0 Preview
    2 points
  3. kRO MVP Tomb System.... Changelog: 1.0 First version 2.0 Added Feature showTimeRespawn and showTimerRespawn. 2.1 Fixed map crashing when MVP arena is use or summoning MVP using 'monster' script. 3.0 Fixed duplicate issue and max gap. TODO: incorporate with the convex mirror. (need info in official behavior) @battle.h // rAthena int max_third_parameter; int atcommand_max_stat_bypass; +// Tomb System [malufett] +int show_mvp_tomb; @battle.c **/ { "max_third_parameter", &battle_config.max_third_parameter, 20, 0, INT_MAX, }, { "atcommand_max_stat_bypass", &battle_config.atcommand_max_stat_bypass, 0, 0, 100, }, +{ "skill_amotion_leniency", &battle_config.skill_amotion_leniency, 90, 0, 100, }, +// Tomb System [malufett] +{ "show_mvp_tomb", &battle_config.show_mvp_tomb, 1, 0, 1 }, // Should MVP slaves retain their target when summoned back to their master? mob_slave_keep_target: yes +// Show Tomb when MVP got killed? +show_mvp_tomb: yes @mob.c md->spawn_timer = add_timer(gettick()+spawntime, mob_delayspawn, md->bl.id, 0); +if( md->status.mode&MD_BOSS && + battle_config.show_mvp_tomb){//Tomb System [malufett] + struct map_session_data *sd = map_id2sd(md->target_id); + md->target_id = npc_mvp_tomb(md, sd ); +} int mob_spawn (struct mob_data *md) { int i=0; unsigned int tick = gettick(); int c =0; +if(md->status.mode&MD_BOSS && + battle_config.show_mvp_tomb){//Tomb System [malufett] + npc_mvp_tomb(md, NULL); +} clif_clearunit_delayed(&md->bl, CLR_DEAD, tick+250); if(!md->spawn) //Tell status_damage to remove it from memory. return 5; // Note: Actually, it's 4. Oh well... +if( mvp_sd && md->status.mode&MD_BOSS && battle_config.show_mvp_tomb)//Tomb System [malufett] + md->target_id = mvp_sd->bl.id; @npc.c npc_debug_warps_sub(map[m].npc[i]); } +/** MVP Tomb System. [malufett] +**/ +int npc_mvp_tomb(struct mob_data *md, struct map_session_data *sd){ + char w1[256], w2[256], w3[256]; + struct npc_data *nd = NULL; + + nullpo_ret(md); + + if(sd){ + struct mob_data *boss_md = map_getmob_boss(sd->bl.m); // Search for Boss on this Map and ignore summoned Boss + + if( boss_md != NULL && + boss_md->bl.prev != NULL && + md->bl.id == boss_md->bl.id ) + { + int x = boss_md->bl.x, y = boss_md->bl.y; + const struct TimerData * timer_data = get_timer(md->spawn_timer); + + if(md->spawn_timer == INVALID_TIMER) + return 1; + + sprintf(w2, "Tomb#%d|%d", boss_md->class_, (DIFF_TICK(timer_data->tick, gettick()) + 60)); + sprintf(w1, "%s, %d, %d, 1", map[boss_md->bl.m].name, x , y); + sprintf(w3, "%s@%s", sd->status.name, map[boss_md->bl.m].name); + sprintf(w2, "%s::%s", w2, w3); + sprintf(w3, "%s::OnMyMobDead", w3); + + safestrncpy(md->npc_event, w3, sizeof(md->npc_event)); + npc_parse_duplicate(w1,"duplicate(tomb_stone)",w2,"565", "-", "-", "MVP_TOMB"+boss_md->class_); + + npc_event(sd,md->npc_event,0); + safestrncpy(md->npc_event, "", sizeof(md->npc_event)); + return sd->bl.id; + } + }else{ + struct map_session_data *msd = map_id2sd(md->target_id); + + if(msd != NULL){ + sprintf(w1, "%s@%s", msd->status.name, map[md->bl.m].name); + nd = npc_name2id(w1); + if (nd != NULL){ + npc_unload(nd); + md->target_id = 0; + } + } + } + return 0; +} @npc.h int npc_duplicate4instance(struct npc_data *snd, int m); int npc_cashshop_buy(struct map_session_data *sd, int nameid, int amount, int points); +int npc_mvp_tomb(struct mob_data *md, struct map_session_data *sd); How to configure? 1. Add this script on your npc/custom folder. tomb_stone.txt - v1.0 tomb_stone.txt - v2.0 tomb_stone.txt - v3.0 2. Add this line scripts_custom.conf npc: npc/custom/tomb_stone.txt 3. And lastly the adding of tomb to MVP monster *for this nothing to configure in your mob folder, just make/add to your liking ex. anthell02,0,0,0,0 boss_monster Maya 1147,1,7200000,0,1 4. Open tomb_stone.txt and edit the settings for your likings. //+-- -- -- -- -- -- -- + //| Settings | //+-- -- -- -- -- -- -- + set .showTimeRespawn, 1; // Display the time when the MVP will respawn set .showTimerRespawn, 1; // Display countdown timer Patch for rA MVP Tomb Version. Download: MVP_Tomb_added_features.patch Download:MVP_Tomb_Added_Features_15981_v1.1.PATCH *must update rA rev to 15908+ Patch for eA with rA MVP Tomb Version. Download: rA_MVP_Tomb_Added_Features_For_eA15090.PATCH Note: Add on your own risk...=P Enjoy!! ^^, Comments and suggestions are highly accepted....
    2 points
  4. Hey Guys! Last 2 Days, i Released my Repository full of RagexeRE Clients in my Repository. This will make easier for People to find where the Latest kRO RagexeRE Clients can be Find. Temporary Repository: http://xp-dev.com/svn/kei-clientside/ Repository: Not Available Log/Timeline: Not Available Also, I added Some old RagexeRE Clients from 2010 and Sakexe Client with Diffs. The Old RagexeRE Clients that required Diffs like 2011 08 17b and older will be added later.. since 2011 08 17b+ can be diff using shin's weediffgen. Also, Thanks to, DiffTeam = Old Archives of 2010 Waeyan = Permission to get the old Archives and for some New Clients Wildcard = Tip me for Missing 2011 and 2012 Clients Ghost = For the Repo and other Main stuffs and to the Respective Owners of the Software i use..
    1 point
  5. After joining rAthena's project, I quickly decided it was time to start releasing the horde of things I'd made over the years. As such, I started uploading my content to the rA forum, but after the downloads section was taken down for upgrades (and my original uploads erased..), I decided it best to simply host everything locally on my own site. A few examples of things you can find on my site: Rucksacks by jTynne: My first ever attempt at spriting! Many thanks to NekoV/Saki for helping me figure out the .acts for them! Eden Release: Contains numerous monster sprites for three field maps and three dungeon maps, along with all their coding, spawns, warp portals, and more. This was originally released for UtopiaRO v2.0, but is now publicly available as that server is no longer online. Helheim Release: Contains a town, three field maps, 2 event field maps (used for PK PVM), 1 dead branch arena map, numerous monsters (with full data), warps, spawns, and more. This was originally released for UtopiaRO v1.0 as an extension of Niflheim for Halloween in 2010. It expanded from just a town and two field maps, to all that is in this package. Among other things, such as my 100 mob sprite recolors, scripts, and more coming soon! And the best part? It's all free! To visit my website, head on over to http://www.jtynne.com - Or, click the Nyan'd High Priest at the top of this post.
    1 point
  6. As posted on eA. Freshly made website designs. All names used are fiction. Any resemblance to another server is merely coincidence and unintended. PM me for information. (1) DoodleRO (2) JuiceRO (3) CherryRO (4) DiorRO (5) SyndromeRO (8) KraashRO (9) NumbRO (10) AmberRO (11) StrikeRO new: (12) Va Va VoomRO - credits to KeyWorld
    1 point
  7. This is my first source mod, it allows you to disable multiple items/skills on maps. <mapa> [TAB] mapflag [TAB] <mapflag> [TAB] <param>,<param>,... NOITEM: param: item id = Only disables item id 1 = Disables all consumable items 2 = Disables and takes off all equipments 4 = Disables all card effects Example: prontera mapflag noitem 1222,501,503,505,4001,4033 // Damascus, red, yellow and blue potions disabled, Poring and Poporing cards won't work geffen mapflag noitem 4,1 // All consumable items are disabled, no card effects. izlude mapflag noitem 5 // The same as above (4+1) NOSKILL2: param: skill id = Disables the specified skill. Example: prontera mapflag noskill2 243,8016 // Can't use "Call Homunculus" and Vanilmirth's "Bio Explosion" skills geffen mapflag noskill2 83,89,85 // Can't use "Storm Gust", "Meteor Storm" and "Lord of Vermillion" Mirror: http://paste.pocoo.org/raw/557974/ noitemnoskill.patch
    1 point
  8. Right now, our development modell, and the way how the repo is organized, we can't utilize the advantages that git offers. However Gepard is working on a new development modell. If it works well, it is possible we will switch to git eventually,
    1 point
  9. use this http://pyro-ro.com/codes/Mapflag_noitem+noskill2_rathena15836.patch
    1 point
  10. @Joseph yes it should be but Rikimaru doesnt have any info about it, he just get the idea in some site so please respect and appreciate his work. if you have any info or knowledge about the dialogue you can share it here so he can help and fix. @all we can also edit the dialogue at our own will just wont remove the credit. we should thank him for his effort guys, help him if we want to make the daily quest works like it should be if we want to.
    1 point
  11. Zodiac Headgear Pack http://rathena.org/board/files/file/1640-zodiac-headgear-pack/
    1 point
  12. Nice Release! I created a patch for people who wants to patch it and it has a mirror too Updated: mvp_tomb_rathena15907_v4.patch Mirror: http://pyro-ro.com/codes/mvp_tomb_rathena15907_v4.patch Archives: mvp_tomb_rathena15869_v3.patch mvp_tomb_rathena15857_v2_fixed.patch mvp_tomb_rathena15836.patch Index: trunk/conf/battle/monster.conf =================================================================== --- trunk/conf/battle/monster.conf (revision 15907) +++ trunk/conf/battle/monster.conf (working copy) @@ -197,3 +197,6 @@ // Should MVP slaves retain their target when summoned back to their master? mob_slave_keep_target: yes + +// Show Tomb when MVP got killed? +show_mvp_tomb: yes \ No newline at end of file Index: trunk/src/map/battle.c =================================================================== --- trunk/src/map/battle.c (revision 15907) +++ trunk/src/map/battle.c (working copy) @@ -5209,6 +5209,12 @@ { "max_baby_third_parameter", &battle_config.max_baby_third_parameter, 108, 10, 10000, }, { "atcommand_max_stat_bypass", &battle_config.atcommand_max_stat_bypass, 0, 0, 100, }, { "skill_amotion_leniency", &battle_config.skill_amotion_leniency, 90, 0, 100 }, + /** + * Tomb System [malufett] + + **/ + { "show_mvp_tomb", &battle_config.show_mvp_tomb, 1, 0, 1 }, + }; Index: trunk/src/map/battle.h =================================================================== --- trunk/src/map/battle.h (revision 15907) +++ trunk/src/map/battle.h (working copy) @@ -472,6 +472,11 @@ int max_third_parameter; int max_baby_third_parameter; int atcommand_max_stat_bypass; + + // Tomb System [malufett] + int show_mvp_tomb; + + } battle_config; void do_init_battle(void); Index: trunk/src/map/mob.c =================================================================== --- trunk/src/map/mob.c (revision 15907) +++ trunk/src/map/mob.c (working copy) @@ -829,6 +829,13 @@ if( md->spawn_timer != INVALID_TIMER ) delete_timer(md->spawn_timer, mob_delayspawn); md->spawn_timer = add_timer(gettick()+spawntime, mob_delayspawn, md->bl.id, 0); + + if( md->status.mode&MD_BOSS && + battle_config.show_mvp_tomb){//Tomb System [malufett] + + struct map_session_data *sd = map_id2sd(md->target_id); + md->target_id = npc_mvp_tomb(md, sd ); + } return 0; } @@ -846,6 +853,11 @@ unsigned int tick = gettick(); int c =0; + if(md->status.mode&MD_BOSS && + battle_config.show_mvp_tomb){ //Tomb System [malufett] + npc_mvp_tomb(md, NULL); + } + md->last_thinktime = tick; if (md->bl.prev != NULL) unit_remove_map(&md->bl,CLR_RESPAWN); @@ -2505,6 +2517,9 @@ if(!md->spawn) //Tell status_damage to remove it from memory. return 5; // Note: Actually, it's 4. Oh well... + if( mvp_sd && md->status.mode&MD_BOSS && battle_config.show_mvp_tomb)//Tomb System [malufett] + md->target_id = mvp_sd->bl.id; + if( !rebirth ) mob_setdelayspawn(md); //Set respawning. return 3; //Remove from map. Index: trunk/src/map/npc.c =================================================================== --- trunk/src/map/npc.c (revision 15907) +++ trunk/src/map/npc.c (working copy) @@ -3549,6 +3549,58 @@ npc_debug_warps_sub(map[m].npc[i]); } +/** + * MVP Tomb System. [malufett] + **/ + +int npc_mvp_tomb(struct mob_data *md, struct map_session_data *sd) +{ + char w1[256], w2[256], w3[256]; + struct npc_data *nd = NULL; + + nullpo_ret(md); + + if(sd) + { + struct mob_data *boss_md = map_getmob_boss(sd->bl.m); // Search for Boss on this Map and ignore summoned Boss + if( boss_md != NULL && + boss_md->bl.prev != NULL && + md->bl.id == boss_md->bl.id ) + { + int x = boss_md->bl.x, y = boss_md->bl.y; + const struct TimerData * timer_data = get_timer(md->spawn_timer); + if(md->spawn_timer == INVALID_TIMER) + return 1; + + sprintf(w2, "Tomb#%d|%d", boss_md->class_, (DIFF_TICK(timer_data->tick, gettick()) + 60)); + sprintf(w1, "%s, %d, %d, 1", map[boss_md->bl.m].name, x , y); + sprintf(w3, "%s@%s", sd->status.name, map[boss_md->bl.m].name); + sprintf(w2, "%s::%s", w2, w3); + sprintf(w3, "%s::OnMyMobDead", w3); + + safestrncpy(md->npc_event, w3, sizeof(md->npc_event)); + npc_parse_duplicate(w1,"duplicate(tomb_stone)",w2,"565", "-", "-", "MVP_TOMB"+boss_md->class_); + + npc_event(sd,md->npc_event,0); + safestrncpy(md->npc_event, "", sizeof(md->npc_event)); + return sd->bl.id; + } + } else { + + struct map_session_data *msd = map_id2sd(md->target_id); + + if(msd != NULL) { + sprintf(w1, "%s@%s", msd->status.name, map[md->bl.m].name); + nd = npc_name2id(w1); + if (nd != NULL) { + npc_unload(nd); + md->target_id = 0; + } + } + } + return 0; +} + /*========================================== * npc initialization *------------------------------------------*/ Index: trunk/src/map/npc.h =================================================================== --- trunk/src/map/npc.h (revision 15907) +++ trunk/src/map/npc.h (working copy) @@ -154,6 +154,7 @@ int npc_duplicate4instance(struct npc_data *snd, int m); int npc_cashshop_buy(struct map_session_data *sd, int nameid, int amount, int points); +int npc_mvp_tomb(struct mob_data *md, struct map_session_data *sd); extern struct npc_data* fake_nd; Fixes: v4 * Patched with malufett's 3.0 release * Clean his crappy Coding in the patch above and diff patch v3 * Clean v2_fixed file v2_Fixed * Fixed Compiling Issue after patching the Code due to missing and crappy code by Malufett - Special Thanks to Lighta for the script.c to script.h (decision) * Updated Malufett's code from "SCRIPT_MAX_ARRAYSIZE"
    1 point
  13. It's not drop penalty, it's drop modifier. ._.; src/map/config/Renewal.h /** * Renewal Drop Rate Modifier * @values: 1 (enabled) or 0 (disabled) * - When enabled a modifier based on difference between the player and the monster level is applied, * - based on the http://irowiki.org/wiki/Drop_System#Level_Factor table **/ #define RE_DROP_MOD 0 Set it to 0. Credits to Ind!
    1 point
  14. Can someone give a guide on connecting RCX to the server. I don't know how to connect it
    1 point
  15. request delete character > wait 24hrs. > click delete button again > character will delete
    1 point
  16. This is the config /trunk/conf/char_athena.conf // Amount of time in seconds by which the character deletion is delayed. // Default: 86400 (24 hours) // NOTE: Requires client 2010-08-03aragexeRE or newer. char_del_delay: 86400 but I'm not sure how it works. You click Delete, then 24 hours later the char is actually deleted?
    1 point
  17. It's skill_tree.txt not skill_db. http://pastebin.com/NQqnKeFU
    1 point
  18. Hope rAthena can add this feature. It was very useful automatically @autotrade, players save on @autotrade mode when Map server crash
    1 point
  19. Complete 3rd Class Support
    1 point
  20. Suggesting: -whoip -ipinfo -refresh Would be an GM only command of course whoip would display the ip of a given character if the character name or id is input. Or display all players on the same ip range if ip is given. ipinfo would display all players on the given ip range, allowing wildcard usage so for instance 127.127.127.* something like that? if you got any better idea to the structure that could of course be applied it's just a general idea I'd like to see implemented and while I'm at it, a refresh that's not bugged/exploitable? I don't know if this is true or not but I saw posts in the past on eA where it mentioned that the usage of refresh could allow for potential exploits, so would it be possible to prevent these by updating the command?
    1 point
  21. Mine, I'll be waiting for the new Ceres CP so I can code it since I dont know also what will be the new features of the control panel. Hope you like it,
    1 point
  22. Just a little design I made this evening. @Ind Since we have no informations about what should figure in this design, I just created it with basics infos and hope the structure will be fine. If you want more, or another page, just ask. I don't integrated it because the design can change in future and I don't want to waste time to recode it each time. I prefer focus on the design and IF the design is chose, integrate it. The only thing I don't love is the buttons in the right (server info, download, ...), I will maybe change them later. Cya.
    1 point
  23. I found several sites that supply custom textures where most are 512x512 and are seamlessly tileable. These can be useful for all sorts of map themes. Source - 1 Source - 2 Source - 3 Source - 4 Source - 5
    1 point
×
×
  • Create New...