Leaderboard
Popular Content
Showing content with the highest reputation on 04/12/12 in Posts
-
File Name: FluxCP Registration Addon via Facebook File Submitter: JayPee File Submitted: 11 Apr 2012 File Updated: 11 Apr 2012 File Category: Web Resources This is a an alternative solution for those who cant make there Email Verification feature to work in there Registration System. It uses Facebook to identify if the user has a valid Email Address. Guides: 1.) Making your Facebook Application within Facebook As you may know in order for this Addon to work you must create an application in facebook. 1.1: Login to your facebook account at http://www.facebook.com 1.2: After you login to your facebook account kindly goto https://developers.facebook.com 1.3: In developers homepage yoo will see a link name App, click it 1.4: When your already in the apps facebook you will see the Create New App button, now click it 1.5: A dialog box will appear, just fill up the necessary fields. 1.6: After you finished filling up the on the dialog box you will be redirected to your newly created Application Settings 1.7 The default page whenever you want to edit your application is the Basic Settings page. 2.) Basic Settings Application Configuration 2.1: In the Basic Settings page the most important field you need to edit is the App domain ( You will put here the Address where you want to run the Application ex: http://www.mydefaultro.com if you do not specify the App domain the Addon might not work properly), now click also the Website you will enter there also the Address where you will run the Application. 2.2: Now Save it. It might take several minutes for the settings to take effect. 3.) Auth Dialog Settings Application Configuration 3.1: In the Auth Dialog Settings Page just scroll at the very bottom and you will see Authenticated Referrals, now click it. 3.2: In Authenticated Referrals, in User & Friends Permission kindly enter the value "email" without the doubles quotesbecause the application must ask first a permission to know about the user's email. 3.3: Now click Save Changes. 4.) FluxCP Addon Configuration 4.1: We are now in the FluxCP Addon. Put the addon in the addons folder of your FluxCP. 4.2: Now edit the config/addon.php and fillup the following: * For "FB_API_KEY" enter the Api Id that facebook provided to you, this can be seen in the basic settings of your Facebook Application. This key will be your public api id. * For "FB_API_SECRET_KEY enter the Api Secret that facebook provided to you, this can be seen in the basic setting of your Facebook Application. This key will be your private apli id. Kindly do not share this to others. Other Configuration's are: * 'NoCase' - set to true if you dont want a case sensitive comparison * 'UseMD5' - set to true if you want to use MD5 password * 'level' - set this to what will be the default level/group_id of the user after registration. 5.) The Database 5.1: In schemas folder you will find a .sql file named cp_fb_register, kindly import in your database. This will use for the Facebook Login Addon that I will develop in the future. Now run the Addon, Hope it works and Hope you understand my English Sorry I cant provide the Screenshot version of the guide because Im having a hard time making the screenshot due to make broken touchpad. Updated version of this addon can be found at: https://github.com/m...-Facebook-Addon Future Updates: Login Feature - you can use your facebook account to login to the Control Panel Auto Login after Registration Click here to download this file3 points
-
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!1 point
-
E - Script Collection Last Update : September 10, 2013 Refine Function SQL Mission Board Monster Marching Vendor Control Advanced Stylist Coin Exchanger Doppelganger Race Of The Day Limited Items Multi Currency Shop Random News GM Online List Link Broken E-Inquiry DotA Runes Flower Counting Game Class Restriction Chain Quest Build Manager Misc Scripts : Freebies Script Card Trader Gold Room [ Pick Gold ] Gold Room [ Guild Tax ] Map Restriction [ GM Based ] Daily Reward Monthly Reward Monster Spawner Monster Summoner with Last Summoned Display Players Stats & Equipments 3rd Job Item Giver Exchanger [ Cashpoint to Coins ] Exchanger [ Poring Coin - Zeny ] Exchanger [ Points to Tickets ] Exchanger [ Item to Item ] Exchanger [ Item to Item ] Exchanger [ Multi Item to 1 Item ] Party Match Auto Ban Over Stats Users Soul Link Buff Kill Players gain Cash Points Party Members All Get Items [ Snippet ] Message Board Stalker Class Skill Reproduce NPC Multiple Selection Quest [ Template ] In-Game Item Rewarder In-Game Points Rewarder Invasion Event Custom Item Rate Status Point Seller [ Snippet ] Anti Bot Security Script Anti Bot Script [ Code / Question ] Item Combo Restriction [ LHZ Card ] Drop Item Upon Death PVP Switcher + Announcer [ Guild Master ] Rotating Waitingroom Messages +10 Refiner [ Specific Items ] Random Rate Item Exchanger MVP Invasion Premium Users [ Boost Rates ] Display Cutin Image upon Login Custom Randomed Box Items Kick GM during WOE Custom Crafting NPC Restrict Same IP [ Certain Map ] Coloured Items Exchanger Guild Master Changer Party Team PK Match Gambling Game IRC Channel Crafting NPC Guild Storage Restriction Stage Game [ Version 4 ] Monster Wiki Event [ Version 3 ] Special Thank you for my Tutor : Notes : I am a bit lazy to write all those Script Descriptions, i do believe that all of you able to get how this script works. Anyway, i will still doing my best to write the Updated Changelog or informations about the script as detail as possible. All the Scripts above are uploaded to Pastebin . Abide the Following Rule : Scripts Error / Not Working , you have to Explain it in Details. ( Add in Images / Modified Scripts ) Do not SPAM / BUMP in my Topic. Do not ask for Support stuffs for other Scripts in this Topic. Link Down , then drop [ @Emistry ] a message. I Reserved the Right for NOT Answering your Posts if you did not abide my Topic's Rules. Keep This In Your Mind : All the Scripts i distribute here are NOT FOR COMMERCIAL USES . DO NOT remove my Credits if you are using part of the scripts to modify your own. DO NOT re-release the scripts in any form / way. If you ♥ these Scripts , Click on to Vote this Topic up. Or you may also click on at above the Topic1 point
-
Toasty's WoE Controller So...once upon a time when I did have a server to run and one of the few questions that would always come up was..."What time was WoE and what region was it?" (WoE on this server was broken up into regions). Usually I didn't know the answer and so I had to go through the awful task of trying to find it in the forums and eventually I just directed everyone to it. And then there's the issue with people not understanding timezones or knowing how to substract. Soo...one day i got off my lazy ass and wrote this little thingymabob that would tell people exactly how long left it is till WoE, where it was and other random tiddy-bits of info. Worked pretty well. Anyways...just recently I was pretty bored and decided to clean it up abit and thought...well...since it's already keeping time..why not just let it do all the agit_controller stuff too. So I added that and presto!....this came out." Features: WoE 2.0 ready Novice WoE ready Real-time updated time display of how much longer till WoE starts/ends WoE configurable on a Castle level basis Useful castle owner listing feature Even more useful region map warper feature Some random skip/start/end WoE functions for GMs Auto-Restart WoE after server crash Now with a mildly easy to use online generator script. Though tested on trunk, will very much likely work on stable (provided you tick the correct box while generating the script) Description: Basically what you get is a little banner NPC with a chatroom on it who's title updates with the amount of time left till WoE starts or ends. (Little idea stolen from one of annie's scripts =P...some mvp arena i think) Clicking on the NPC (the npc not the chatroom) opens up a menu with a couple useful options which are self-explanatory. Note: Castle Owner listing is only for castles of the current/upcoming WoE session. Too much spam to print all Scripts: ver 1.22 - 26-05-2011 (r14829 trunk) (Mirror) (Mirror) ver 1.21 - 21-12-2010 (r14413 trunk) ver 1.20 - 18-10-2010 (r14413 trunk) ver 1.11 - 25-01-2009 (r13435 trunk) ver 1.10 - 03-01-2009 (r13405 trunk) ver 1.02 - 09-10-2008 (r13271 trunk) ver 1.01 - 21-09-2008 (r13091 trunk) ver 1.00 - 10-09-2008 (r13091 trunk) Backup ver1.22 Installation: Generate the script by inputting the times you require and any options you may want in the generator form Install the script as you would for any NPC. Depending if you want to use this to replace agit_controller.txt or not you can replace the contains of ./npc/guild/agit_controller.txt with this script. IF you use this script to manage your WoE timings (which you prob would..). Remove any existing WoE timing management scripts. By default... ./npc/guild/agit_controller.txt -if you didn't replace it with this script ./npc/guild2/agit_start_se.txt -for woe2 controller If you want to use any of the Novice castles make sure you enable them in ./npc/scripts_athena.conf npc: npc/events/nguild/nguild_dunsw.txt npc: npc/events/nguild/nguild_treas.txt npc: npc/events/nguild/nguild_guardians.txt npc: npc/events/nguild/nguild_warper.txt npc: npc/events/nguild/nguild_ev_agit.txt npc: npc/events/nguild/nguild_flags.txt npc: npc/events/nguild/nguild_managers.txt npc: npc/events/nguild/nguild_kafras.txt Restart/Startup server...enjoy =D Limitations: Since WoE can be run in pretty much any format, it's kinda impossible for this script to accommodate for all types of WoE. Anyways...here are the limitations of this script. WoE sessions have to start and end on the same day (usually the case but good to state) Only one WoE session is available at a time. In order to start another one, you must end the current one. The generator will complain if you try to overlap sessions. Standard array/variable limits. 128 for number of WoE sessions and separate regions. 31 different castles per region(Not that anyone is gonna use all that...unless they're planning like an all world WoE extravaganza). Time is actually updated using an infinite loop. Depending on the refresh rate setting timing can be off sync with the time WoE actually starts/end (default 500ms/half a second. This isn't a problem if you are using the built in controller) Due to the way in which the original WoE scripts were coded and how I implemented the castle based controller (calls OnAgitEnd/2 events) castles MAY remain open if they do not have an owner. Notes: Yup...idea for timer based waitingroom was stolen from annie's Mvp Ladder script This script is semi-protected against @reloadscript/@loadnpc commands. Though not recommended that you load the script using this manner, if you must after loading the scripts, to restart the script click each NPC (one NPC only needs to start to initialise the floating main script that controls the WoE timing, but each banner NPC needs to be clicked to start the waitingroom) When doing the timings, it is VERY IMPORTANT that you have the times in order from sunday to saturday and starting time. If you don't do this it'll skip over them till the next week. WoE happens in the order that the timings are specified. Sometimes it may be desirable to have them out of order so it can do one region this week and another one a different week...But this is only a side-effect to the timing design and weird things might happen..so do it at your own risk. (This is no longer a problem in ver 1.10 provided you didn't mess with the config after generating the script) You can change the rate at which the banner is updated by modifying the ".banner_refresh_rate" value in the CONFIG section. The banner will update every '.banner_refresh_rate' seconds. This script is rather dynamic and so adding additional castles just involves modifying and adding arrays. Adding castles to existing regions should be self-explanatory. But setting up a new region...maybe not.. Steps to setup a new region are as follows: Make up a prefix for the region you are adding (in this example I am using "test" Put all the maps for the castles in an array named ".castles_***" (eg. .castles_test$) Put all the put all the woe ending function addresses into an array named "woe_kill_***" (eg. .woe_kill_test$) Go to the constants section in the script (search for CONSTANTS START) Add the castles and portals in the corresponding sections Add the prefix to the end of the array .regions$, the name of the region in .region_names$ and the map that contains all the castle entrances in the array .region_maps$ Tah da!! you have now added a new region. Feel free to test the hell out of this and report bugs/suggestions/criticism. This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License1 point
-
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....1 point
-
Emperium arena 20sec - 1 TCG Card sorry for my English thx for Agasper SRC: goto ea/src/map/battle.c find int battle_check_target( struct block_list *src, struct block_list *target,int flag) turn below and find case BL_MOB: а там уже { struct mob_data *md = BL_CAST(BL_MOB, t_bl); after add : struct map_session_data *sd; sd = BL_CAST(BL_PC, s_bl); if(t_bl->type==BL_MOB && ((TBL_MOB*)target)->class_== 1288 && pc_readregistry((TBL_PC*)s_bl,"emp_own",3)==1) return 0; in 1 line down we will see: if( !((agit_flag || agit2_flag) && map[m].flag.gvg_castle) && md->guardian_data && md->guardian_data->guild_id ) change it for this: if( !((agit_flag || agit2_flag || map[m].flag.gvg ) && map[m].flag.gvg_castle) && md->guardian_data && md->guardian_data->guild_id ) turn below and find case BL_MOB: Again, too,are doingwhat is writtenabove. DB : goto ea/db/castle_db.txt and add 34,prt_fild08,Pront,OnBreak,1 // Crystal RO : Pront NPC : // = Emperium // = for Crystal RO // = by Ocelote - script EmpInitOo -1,{ OnInit: donpcevent "EmpSpawnIn::OnSpawn"; end; } - script EmpSpawnIn -1,{ OnSpawn: killmonsterall "prt_fild08"; set $OwneR$, "Emperium"; announce "[Emperium] : Emperium arena in prt_fild08!",bc_all; // = spawn : monster "prt_fild08",169,348,"Crystal emp: ["+$OwneR$+"]",1288,1,"BreakEmperium::OnBreak"; end; } prt_fild08,0,0,0 script BreakEmperium -1,{ OnBreak: set $OwneR$,strcharinfo(0); set emp_own,1; monster "prt_fild08",169,348,"Crystal emp: ["+$OwneR$+"]",1288,1,"BreakEmperium::OnBreak"; announce "[Emperium] : ["+$OwneR$+"] own location [prt_fild08]",bc_all; initnpctimer; end; OnTimer20000: if($OwneR$ == "") { donpcevent "EmpSpawnIn::OnSpawn"; end; } if(!getcharid(0,$OwneR$)) { set emp_own,0; stopnpctimer; donpcevent "EmpSpawnIn::OnSpawn"; } else { attachrid(getcharid(3,$OwneR$)); getmapxy $emperium$,.@x,.@y,0; if($emperium$ == "prt_fild08") { getitem 7227,1; initnpctimer; end; } } OnInit: } - script EmperiumBreakerOo -1,{ OnPCLogoutEvent: if(strcharinfo(0) == $OwneR$) { set emp_own,0; announce "[Emperium] : "+strcharinfo(0)+" logout game, Emperium spawn again!",bc_all; donpcevent "EmpSpawnIn::OnSpawn"; stopnpctimer; end; } end; } - script EmperiumDieOo -1,{ OnPCDieEvent: if(emp_own > 0) set emp_own,0; end; } prt_fild08 mapflag gvg_castle prt_fild08 mapflag gvg empbreak.txt1 point
-
PvP Master Ultimate [v1.3.0] http://www.youtube.com/watch?v=j59HMVT5Ov4 (Sorry for header in portuguese, english version here) Name: PvP Master Ultimate (old topic here) Author: Mooka Description: PvP Master can stand until 10 arenas, has 8 types of rankings and two ways to show the score. Has many commands for whisper, Sounds from Unreal Tournalment, many options of announce, classifies a leader for the arena (who has more points), and also has 3 options of arenas (PvP, GvG, PvP Baby). The arenas can be added directly on the list or by the command !map (that will instantaneously add the arena to the list). Download: PvP Master Ultimate.txt | Tables | Tables [Lang] | Unreal Tournament Sounds (MediaFire) | Unreal Tournament Sounds (SVN Link) | Alternative Download [scripts] PvP Master Functions Ways to organize the scores of the ranking. The PvP Master has two ways to organize the scores of the players. The Ranking Ratio is the standard one, uses the equation Kills - Deaths = Score. The other option of organization of the ranking is the normal one, by the ones with more Kills. Types of Ranking. The PvP Master has 8 ways to show the rankings, being possible to access them by npc or by Whisper. The command to show the ranking is !Ranking. The ranking to be showed should be defined by adding it after "!Ranking": #pvp ou #gvg. In case you wish to see the ranking of death, add "#die" at the end. The npc has a list informing all of its commands, just type "!help". It's also possible to define the limit of showing of the ranking, the standard is until 25. Ways of Announce & System of Sounds. - When a player kills the other (scoring 1 point), some functions of the script can be activate. The first, the npc has a function of sending for each 100 kills an announce for all the server with the sound Monster Kill. Inside the arena, if the function of Sounds from Unreal Tournament is on, will be messages and sounds of the game. There's a list on the script where it's defined how many points you have to score for the sound to be sent. It's already set to your best pleasure. When dying, the player loses these points of sound. In case you wish to change or add another sound, it's really simple, note: --> set $@SoundList$[3],"Triple Kill"; When the player gets 3 points without dying, the sound Triple Kill will be sent along with an announce (Exemple: "Mooka | Triple Kill! (3 Points)") only to the arena that he's in. The name of the sound should be exactly the same of the one that's in the file data/wav and will be the same name showed at the announce, so don't use underlines or any things like that. It's also not necessary to add ".wav" at the end of the name. - There are also the Leaders of the Arenas (Those are PvP and GvG, in case of GvG one Guild), being those the first ones of the ranking, when the second one overcomes the first an announce is sent informing the new leader of the arena. Mode War of Emperium The PvP Master has a function to activate some of his functions on the maps of WoE. This function being activate will permit the counting of points in the maps of WoE. It's possible to activate the counting of points only for PvP or GvG, or both. The standard is Both. Mode PK (Player Killer - PvP In all of the Maps) Some servers are PK's, thinking of them I created this function. With it, it's possible to activate all the functions of PvP Master in any map. It's set to activate automatically, if your server is a PK and you don't wish to have this option, replace "getbattleflag("pk_mode")" for 0. Mode Of Experience The PvP Master also has a function to up on PvP! Yes, the player kills in the arena and gets experience. The mode of experience has two configurations, the standard being to use an equation to amount of experience that the player will get, the other a defined amount. The equation is this: $@getEXP*KilledLVL/KillerLVL So, standard Experience times the level of whom you killed divided by your level. If you have a smaller level than the one that you've killed, you'll get more EXP, if not, you'll get less. It's also possible to activate the lost of experience by dying at the arena. Commands for Whisper There are some other commands for Whisper from npc. All of them should be sent as Personal Message to "npc:cmd". - !warp#id - Will teleport the player to the defined arena. The ID is the number of the arena. (Doesn't work inside the arena) - !exit - Gets the player away from the arena in 5 seconds, teleporting him to his SavePoint. (Doesn't work outside the arena) - !ranking#type(#die) - Shows the player the Ranking. - !pvplider | !gvglider - Shows the leader. (1st at the Ranking) - !help#!command - Shows information of the commands, syntax, and how to use them.. Commands for GM's. - !map - Adds or removes maps from the menu, refreshing instantaneously. -- !map#add#NomeDoMapa#TipoDeArena - TipoDeArena => 0: PvP; 1: GvG; 2: PvP Baby; -- !map#del#name - Delets the map. -- !map#list - Lists the maps of the list with your ID and name. -!ban#nome#tempo#tipo - This command will ban a Player or Guild of entering any arena. -- #name - Name of the Player or Guild. -- #time - The time of punishment, the counting is in minutes, so, instead of putting 2 (for hours), put 120. -- #type - The Type, is simply 0 for player and 2 for guild. - !truncate(#pvp|#gvg) - Command to clean the ranking. Multi-language System. This function is avaliable from the v1.3.0 of the PvP Master, allows the player to choose the language to be used on NPC. For those who are not gonna use this function I recommend the v1.2.8. Notes Functional in servers SQL. How can I use it on my server? - In case of v1.3.0, you should install the list of languages, avaliable at the begining of the topic as "tables#lang". - In other versions, just follow the comments on the SQL archive. / How to Install Tables / Open your PhpMyAdmin and select the database of your server, click the button SQL: If a window is opened, copy the content of the list of PvP Master and paste it in this window, then click "Send". That's it, you've installed the lists of the PvP Master. Frequent Problems: - I click the arena but it shows the Ranking! What's that? -- An error have occured to the list pvpm_map. It may not have been insert, or got unpropertly changed. - [v1.3.0] The npc has no messages! Why? -- You didn't insert the list pvpm_lang OR insert THE LIST of LANGUAGES more than once, for exemple: insert the list pvpm_table#PT 2X! Liked the PvP Master? Show gratitude at the topic! This way I can change my mind and add new functions to it. 2006~2011@Mooka PvP Master Ultimate.rar1 point
-
// War of Emperium for Transcendent Only // Created by Jezu of rAthena.org // v1.0 - First Release // Please do visit us on rAthena.org/board Introduction: This script is use if you have third-class server. The script will kick out all non-transcendent class or any 3rd jobs. Description: Allows you to start War of Emperium using Toasty's WOE Controller by setting up a map you want to use for your Transcendent Class only. How to use: 1. Download the attachment below 2. Copy the text file on your npc/custom/ 3. Go back to npc folder and find script_custom.conf 4. To activate the script, Add this line.. npc: npc/custom/transwoe.txt 5. Then restart your server or use @reloadscript Remember: • Any WOE Controller works on this script 100% • The script is using OnPcLoadMapEvent so MAP that you setup will kick all non-transcendent jobs. • You can add more maps just by following like this: set .maps$[0],"aldeg_cas01"; set .maps$[1],"payg_cas01"; set .maps$[2],"gefg_cas02"; • Follow this format set .maps$[3],"guildmap_name"; • Don't forget to find the lines on last part which is this line because this will load the event to kick non-transcendent jobs: aldeg_cas01<tab>mapflag<tab>loadevent payg_cas01<tab>mapflag<tab> loadevent gefg_cas02<tab>mapflag<tab>loadevent * This script will also kick and back to their SavePoint the players that has been warp by the use of Emergency Call with 3rd Class on their guild members. * Even @warp with 3rd-Jobs cannot enter the set map, even by summon of Game Masters (Corruption). Hope this will help you for your 3rd-class server. Thanks and More powers to RAthena! Helpers: Emistry wakoko321 Jezu (me) transwoe.txt1 point
-
This war event for those server no play WoE SE This woe follow like First edition woe. Inside feel like battlefield 2 > Conquest War battling at schg_cas01 Beside This script Not tested at many player, i not has my server Now Test it if you dont know What is this... Best for Mid and high rate server. Feel the modern war like in ragnarok (My English is Bad, sorry) Event: Play as Like WOE Inside got Emperium, Mid flag, Attacksive, Defensive, Opposite. Emperium : Same as WoE first version Mid flag : If> Castle member catched - His guild Member will got Defensive special Thing Non Castle member catched - His guild Member can got opposite special Thing Features Event: i no use char variable, So It can run at high popular server Highing Bugless I has experience make script 3 year I use 2 week to build this script other Will be Introduce later How to configuration: Open npc/WoE_ME/WoE_ME_Config.txt Watch Inside description How to start: Installation: Rathena Requirement : version r15098 or later Other athena(I not have test on it yet) make sure your script command got <strcharinfo(3)>, <setd> ,<getd>, <killmonsterall>, <areamobuseskill> Note: 1.Download the script(Thank To Who test my script) WoE_ME.zip 2.Extract the contents of the Zip/Rar in this folder: > npc/ 3. Edit "npc/scripts_main.conf" then add this lines in the header: import: npc/scripts_woe_me.conf 4. Save the file and start your server Request: I need One video show up over 30 vs over 30 between 2 guild fighting at this WoE ME For how fun is it.. sorry my bad english Make Reason: I has play many games Follow My gaming many year, I found this idea, I build for test it how fun is it? Other Note: Dont ask me to make new idea for special npc, Please make yourself Please Post Any warning or bug form script to me, Thank1 point
-
I just made this website....free It's my first try at Ragnarok Based HTML coding, buut I hope you all like it Ignore the white line, it was a messup when I took the screenshot. One thing I'm not totally sure of is the dimensions in other screens...so, if it's all wierd with other dimensions (apart from 1024x768), please contact me! There are comments in the actual script, to sort of help out. I also put a few hover effects. Improvements? Changes in code? Ahh, and btw, this is PURE css and html (except for one image i believe, just one). Rate the website, and comment on it please More coming soon (i guess) <3 Website.zip1 point
-
Simply use GRF Factory, add the directory data provided in this .7zip file and save as a GRF (x200). Old Izlude Data Ready.7z1 point
-
hi did you question the "other server" your talking about what emu are they using? it can be 3CeAM not rAthena1 point
-
As of Rev15857 rAthena haven't implement Genetics and Professor. since Bug tracker is still full of skill report about some 3rd jobs that are implemented1 point
-
It would be appreciated in the future if you searched the forums for the Izlude Map Fix first before starting up another thread regarding the same topic. This is probably the 4th topic addressing the same thing and we dont want topic duplicates asking about the same thing. Feel free to go to any of the topics below for your resolution. Option 1 Option 2 Option 31 point
-
Here's a really well written bible http://supportmii.co.../JudasBible.pdf If you need see something visually, try this video http://www.youtube.com/watch?v=sLZ3YtLOi3g Keep posting if you need help!1 point
-
try these sec_pri mapflag nowarpto sec_pri mapflag nogoto sec_pri mapflag nogo1 point
-
Okay I will explain. This topic was made automatically by the -download module- of the rAthena download section. I uploaded this map, as a test of the "Nexus" paid module for the download resources in rAthena more info here --> http://rathena.org/b...ow-operational/ What happened? seems like there was an error or whatever with that module. They fixed it, but the nexus or paid downloads in that module doesnt work (or it works now, dunno exactly,) To be honest, I dont have in mind to post another map on that module, at least not the paid ones, and not for now, since I don't know certainly how many people got this one, after the vulnerability, or error, or bug, or by moderators apart of the administrators, that had access to it whatever it was happening on the nexus at that time. So, I prefer better, to keep my files locally from that day. To all: you can seek for my free releases here --> http://rathena.org/board/files/ For the paid ones, or for custom map request, you can take a peak here --> http://rathena.org/b...s-now-revamped/ I really appreciate all the nice words of my work. Sorry for the misunderstanding, I understand that you might though that this one was for free, but, as I explained, this topic is an error by itself. Thanks.1 point