Jump to content

pointro

Members
  • Posts

    11
  • Joined

  • Last visited

1 Follower

Profile Information

  • Gender
    Male
  • Location
    Payon

Recent Profile Visitors

1354 profile views

pointro's Achievements

Poring

Poring (1/15)

0

Reputation

  1. yes, it is like your script but the prizes will be random that can be set by admin.. like this: setarray .@Items[0],607,608,512; setarray .@Amounts[0],1,2,3; promo Codes can only be used once, and if already used, it will disappear.. Hope you can help me )
  2. What script does??.. Admin will add a promo codes inside mySQL DB or by a PHP script (example promo code: pr100812a001). and when the player talk to the NPC and put the promo codes they will have a chance to get a random item.. if player already used the promo codes, the npc will say that the code is already used and the status of promo code inside the DB will update to "0" or "used".. If the player gets a rare item, the NPC will announce "Congratulations to "+PlayerName+" For getting "+RareItemName+" at Promo Girl NPC!" -Rewards are not in chance but only in random.. -Admin can set the validity of promo codes if validity is met, promo codes status will be used... -Validity is set to minutes.. NPC Name: Promo Girl DB Name: promo_girl My SQL Tables: -promocode -status -validity (Optional) PHP Script: -Login to prevent abuse and hacking..(Password is set by me) -Show all promo codes status. -Add Promo Codes -Delete Promo Codes -Edit Promo Codes I am also trying to modify this script simillar to what i want(http://rathena.org/board/topic/63282-promotional-code-npc/) Well, my idea is like releasing Promo Codes every week so it will be easy for me to add codes. which players need to race for the promo codes! if you have other ideas or suggestions to help me, i will highly appreciate it. hope you can help me with this script Thank you! Edit: is it possible to separate rare items to normal items array but still they can be claimed in the NPC?? setarray .@NormalItems[0],607,608,512; setarray .@NormalAmounts[0],1,2,3; setarray .@RareItems[0],607,608,512; setarray .@RareAmounts[0],1,2,3; Is it possible?? I think this NPC is the best to edit this, but i don't know where to start XD http://rathena.org/board/topic/63332-coupon-npc-112/
  3. Thanks jezu, I'll look for it Found the configuration at conf/battle/misc.conf // Allow autrade only in map with autotrade flag? // Set this to "no" will allow autotrade where no "autotrade" mapflag is set // Set this to "yes" to only allow autotrade on maps with "autotrade" mapflag at_mapflag: no // Set this to the amount of minutes autotrade chars will be kicked from the server. at_timeout: 0
  4. after some google searching i found this... http://www.eathena.ws/board/index.php?showtopic=267221 thank you for the answers.. also planning to have that, and also for @autotrade which will leave your character in vend for 2 days.. do you have a script for that timer??
  5. so, will this affect the servers connection?? will it cause lag in the server when too much people are using autotrade or afk command? thank you
  6. i love it, i would want to have this as my main town. but it cost some zeny. hehe Good job!
  7. I am planning to implement this @afk on my server but I have a concern, does this make my server lag? And also the @autotrade command. (As said that it is similar with @afk) thank you, hope you can help me rathena
  8. I will try this, thank you emistry sir error at line 9 here is the modified script... prontera,137,171,4 script Daily Rewards 76,{ set(@now,gettimetick(2)); query_sql("SELECT REPLACE(`last_ip`,'.','_') FROM `login` WHERE `account_id` = "+getcharid(3),@lastIP$); if((getd("$G_LIP_"+@lastIP$)+(60*60*24)) <= @now) { setd("$G_LIP_"+@lastIP$,@now); //Prize setarray .@items[0],675,607,13607,12013; setarray .@amounts[0],5,50,1,1; set .@i,rand( getarraysize( .@items ); getitem .@items[.@i],.@amounts[.@i]; //set(#pvppoints,#pvppoints+10); mes "[Daily Rewards NPC]"; mes("Here's your Daily Event Reward! Thanks for playing Point RO!"); dispbottom "[ Daily Attendance ] : You have received your daily award, thank you for playing point ro!"; close2(); } else{ mes "[Daily Rewards NPC]"; mes ("You have already recieved your daily reward. Please come back again tomorrow."); close2(); } end(); } Error: Loading NPC file: ########################### script error on ################## line 9 parse_callfunc: expected ')' to close argument list 4 : if((getd("$G_LIP_"+@lastIP$)+(60*60*24)) <= @now) { 5 : setd("$G_LIP_"+@lastIP$,@now); 6 : //Prize 7 : setarray .@items[0],675,607,13607,12013; 8 : setarray .@amounts[0],5,50,1,1; * 9 : set .@i,rand( getarraysize( .@items )';' 10 : getitem .@items[.@i],.@amounts[.@i]; 11 : //set(#pvppoints,#pvppoints+10); 12 : mes "[Daily Rewards NPC]"; 13 : mes("Here's your Daily Event Reward! Thanks for playing Point RO!"); 14 : dispbottom "[ Daily Attendance ] : You have received your daily award, thank you for playing point ro!";
  9. I need help in modifying the reward. In the code below the user will recieve 1 TCG card but I want it to be random item.. like they have a chance to get 10 Silver Coins, 1 Yggdrasil box, 10 Link Scrolls.. etc etc... Can you help me with that?? thank you very much! prontera,131,171,4 script Daily Giveaway 76,{ set(@now,gettimetick(2)); query_sql("SELECT REPLACE(`last_ip`,'.','_') FROM `login` WHERE `account_id` = "+getcharid(3),@lastIP$); if((getd("$G_LIP_"+@lastIP$)+(60*60*24)) <= @now) { setd("$G_LIP_"+@lastIP$,@now); getitem 7227,1; //set(#pvppoints,#pvppoints+10); mes "[Daily Rewards NPC]"; mes("Here's your Daily Event Reward! Thanks for playing Point RO!"); dispbottom "[ Daily Attendance ] : You have received 1 Event Ticket!"; close2(); } else{ mes "[Daily Rewards NPC]"; mes ("You have already recieved your daily reward."); close2(); } end(); }
  10. Please help me fix this gold room script that I am trying to customize. The problem is I cannot enter the gold room when the security check is correct and other menu is not working. And 1 more thing I want to customize, the security check will be entering their names. example: a player wants to enter the gold room NPC Gold room will ask his name. if Name != to Char name, Kick from the server, if Correct Check if zeny has 1,000,000 if zeny is < 1,000,000 Failed to enter, else continue to gold room.. Thanks hope you can help me ) //===== eAthena Script ====================================================================== //= Gold Room //===== By: ================================================================================= //= Shaddap //===== Current Version: ==================================================================== //= 1.0 //===== Compatible With: ==================================================================== //= Any eAthena Version //===== Description: ======================================================================== //= You can get golds here. pvp_y_1-5,159,94,5 script Exit 813,{ warp "prontera.gat" ,155,180; } prontera,147,164,6 script Gold Room Warper 861,{ mes "[Gold Room Warperer]"; mes "Do you want to go to the gold room??"; mes "Hmm.."; mes "It cost 1,000,000z"; mes "Would you like to go?"; switch(select("Yes", "No", "Info", "Exit")) { case 1: next; if(Zeny < 1000000) goto nomoney; set .@A,rand(50); set .@B,rand(50); mes "[Gold Room]"; mes "Before you enter, you need to answer the question "; mes "for security check."; mes "If A = "+.@A+" B = "+.@B; switch( rand(1) ){ set .@Answer,.@A + .@B; mes "How many is A + B ?"; next; input .@Input; next; if( .@Input != .@Answer ) atcommand "@kick " + strcharinfo(0); close; break; else if (.@Inpunt == .@Answer) warp "pvp_y_1-5", 0, 0; close; end; break; case 2: next; mes "[Gold Room Warperer]"; mes "Ok, talk to me if you want"; mes "to go to the Gold Room."; close; end; break; case 3: next; mes "[Gold Room Warperer]"; mes "In the Gold Room there are"; mes "Dokebis that Drops "; mes "Gold that can be sold for "; mes "100,000z but be careful not "; mes "to be killed by the Guardians "; close; break; default: break; } nomoney: mes "[Gold Room Warperer]"; mes "Sorry you need 1,000,000z to enter"; close; OnNPCKillEvent: if (strcharinfo(3) != "pvp_y_1-5") end; if (killedrid != 1491) end; getitem 969,1; } //=========================================== //==========Settings===================== pvp_y_1-5.gat mapflag noskill pvp_y_1-5.gat mapflag nosave SavePoint pvp_y_1-5.gat mapflag nomemo pvp_y_1-5.gat mapflag nobranch pvp_y_1-5.gat mapflag noexp pvp_y_1-5.gat mapflag nodrop pvp_y_1-5.gat mapflag nochat pvp_y_1-5.gat mapflag novending // Gold Dropper a.k.a Dokebi pvp_y_1-5,0,0,0,0 monster Dokebi 1491,120,0,0,0 //Guardians a.k.a Wanderer pvp_y_1-5,0,0,0,0 monster Guardians 1490,50,0,0,0
  11. I am trying this rebirth system on my Server but it seems that it doesn't work properly. I try to rebirth then when I change my job, the job master tells me if I want to change in to UNKOWN CLASS. We'll this script is from eAthena I think and I need to use for my server and It uses rAthena. Anyways, my new Idea is when I rebirth my character, only the level will rebirth and character job will not be high class again. here is the script: //===== eAthena Script ================================================================== //= eAthena Rebirth Master AKA Reborn Master //===== By: ============================================================================= //= eAthena Dev Team [LunatikBunnie] (Edited by Amada`) //===== Edited by: (DO NOT REMOVE) ====================================================== //= Terces (for Vincent7778) //= ~Lecks/LecksmaTT (For the reborning of 2nd high class and others that doesnt working) //===== Current Version: ================================================================ //= 1.9.1 (based on official version 1.4) //===== Compatible With: ================================================================ //= Any Athena Version //===== Credits: (DO NOT REMOVE) ======================================================== //= in chronological order (I guess ^^) //= Vincent7778 ~ for the initial idea //= Nataku ~ for bug reports and ideas //= B~Trash ~ for bug reports and ideas //= Devil2018 ~ for bug reports and ideas //= Script ~ for ideas //= deng17 ~ for ideas //= ~Lecks/Lecksmatt ~ For editing this script to work... ^^ //===== Special thanks: ================================================================= //= I'd like to thank Nataku for her enormous help with //= this NPC. She reported many bugs and gave many ideas. //===== Notes: ========================================================================== //= Note 1: //= Rebirthbonus works like this: //= 1st rebirth -> 100+0 statuspoints extra //= 2nd rebirth -> 100+100 statuspoints extra //= 3rd rebirth -> 100+100+100 statuspoints extra //= Amount of extra statuspoints can be changed //= //= Note 2: //= Requirements and rewards work like this: //= The first array holds the items. //= The second array holds the amount for the items. //= The names of the array also show when the requirements //= or rewards are applied: "@itemreqs + rebirthcount" //= ~> @itemreqs0 for the first rebirth. //= Zeny Rewards/Requirements have one array each. Every //= Rebirth has it's own position in these arrays. //= ~> @zenyreqs: first number = amount of zeny for the //= first rebirth. Second number for second rebirth etc... //= //= Note 3: //= If you enable the statreseter here you HAVE to DISABLE //= the other statreset. To do so, open the //= "scripts_custom.conf" in your "eAthena\npc\" folder //= and find the line "npc: npc/custom/jobs/reset.txt". //= Change it to: "//npc: npc/custom/jobs/reset.txt", //= If it already has the "//" leave it the way it is... //======================================================================================= // ------------------------- Reseter Options ------------------------ // The Resetter itself can be found at the bottom of this file. // Just scroll down to see it - script DisableReset -1,{ end; OnInit: disablenpc "Reset Girl"; set $@enableresets, 1; //Enable/Disable any resets *IMPORTANT* !NOTE3! set $@enablestatreset, 1; //Enable/Disable stat resets *IMPORTANT* !NOTE3! set $@enableskillreset, 1; //Enable/Disable skill resets *IMPORTANT* !NOTE3! set $@enablebothreset, 1; //Enable/Disable stat and skillreset together *IMPORTANT* !NOTE3! setarray $@resetfees[0],5000,5000,9000; //set the fees for resets: stat,skill,both if ($@enableresets == 0) enablenpc "Reset Girl"; end; } // ---------------------------- Jobmaster ---------------------------- prontera.gat,148,194,5 script Rebirth Master 123,{ // Variable Setup set @minjadvsec, 40; //Minimum job level to change from High First Class to High Second Class (eg. Acolyte High -> High Priest) set @minbadvsec, 0; //Minimum base level to change from High First Class to High Second Class (eg. Acolyte High -> High Priest) set @minjadv, 10; //Minimum job level to change to High First Class (eg. Novice High -> Acolyte High) [better do NOT change this] set @minbadv, 0; //Minimum base level to change to High First Class (eg. Novice High -> Acolyte High) set @minjsec, 40; //Minimum job level to change from First Class to Second Class (eg. Acolyte -> Priest) set @minbsec, 0; //Minimum base level to change from First Class to Second Class (eg. Acolyte -> Priest) set @minj, 40; //Minimum job level to change to First Class (eg. Novice -> Acolyte) set @minb, 0; //Minimum base level to change to First Class (eg. Novice -> Acolyte) set @GivePlat, 1; //Give Platinum skills on Jobchange (Default : 1-yes) set @SupNovM, 45; //Base Level to change into Super Novice (Default : 45) set @rebirthlevel, 255; //Base Level for rebirth (Default: 99) set @rebirthlevelgsnin, 255; //Base Level for rebirth for Gunslinger and Ninja class (Default: 99) set @enablerebirths, 1; //Enable/Disable multiple rebirths set $@enablebonus, 1; //Enable/Disable bonus system (*Note1) set @enableinfomes, 1; //Enable/Disable Informationscreen (Rebirthcounter, Stats on next rebirth, maximum rebirths with bonus) set @enablereqs, 0; //Enable/Disable requirements for a rebirth set @enablerewards, 0; //Enable/Disable rewards for each rebirth set @enablegsnin, 1; //Enable/Disable jobchange to gunslinger/ninja set @enablerebgsnin, 1; //Enable/Disable rebirth as Gunslinger/Ninja set @enableTaekwon, 1; //Enable/Disable the jobchange to Taekwon and it's further classes (Soul Linker, Star Gladiator) set @enablereblimit, 10; //Enable/Disable the limitations for rebirths (if set to 0 you can be reborn as often as you want) set @enablezenyreqs, 0; //Enable/Disable Zeny Requirements (*Note2) set @enablezenyrew, 0; //Enable/Disable Zeny Rewards (*Note2) set @rebirthbonuses, 10; //Until which rebirth the bonus is applied set @rebirthlimit, 5; //Maximum number of rebirths set @rebirthbonus, 1000; //Amount of statuspoints you get extra (*Note1) //Check if you still get Rewards from last rebirth if (itemsleft > 0){ mes "^ff0000[Rebirth Master]^000000"; mes "Oh...as I see you still get some items from me...wait...what was it?"; next; mes "Ah..right..."; for (set @x,1; @x <= itemsleft; set @x,@x+1){ mes getd("rebirthawardsamount"+@x) +" "+ getitemname(getd("rebirthawardsitems"+@x)); } next; menu "Get the items now",-,"Get them later",L_getlater; mes "^ff0000[Rebirth Master]^000000"; set @itempos,0; for (set @y,1; @y <= itemsleft; set @y,@y+1){ if(checkweight(getd("rebirthawardsitems"+@y),getd("rebirthawardsamount"+@y)) == 0){ set @itempos,@itempos+1; set @item,getd("rebirthawardsitems"+@y); set @amount,getd("rebirthawardsamount"+@y); set getd("rebirthawardsitems"+@y),0; set getd("rebirthawardsamount"+@y),0; set getd("rebirthawardsitems"+@itempos),@item; set getd("rebirthawardsamount"+@itempos),@amount; mes "You don't feel strong enough to carry the "+@amount+" "+getitemname(@item)+"."; } else { getitem getd("rebirthawardsitems"+@y),getd("rebirthawardsamount"+@y); } } set itemsleft,@itempos; if (itemsleft != 0){ next; mes "^ff0000[Rebirth Master]^000000"; mes "Sorry but you couldn't carry them all...please come back soon to get the rest."; if (itemsleft == 1){ mes "There is still "+itemsleft+" item left."; } else { mes "There are still "+itemsleft+" items left."; } close; } mes "Alright...that was everything"; close; } //Callfunction to get the next possible job set @num,callfunc("getposjob"); if (@num == -3) goto L_remove; if (@num == -2) goto L_skillUsed; if (@num == -1) goto L_cantCh; if (@num == 1) goto L_novice; if (@num == 2) goto L_changejob; if (@num == 3) goto L_rebirth; close; // Change to first Class L_novice: skill 142,1,0; skill 143,1,0; if(JobLevel<10) goto L_notEn; mes "^ff0000[Rebirth Master]^000000"; mes "Welcome, please select the job you wish to change into."; cleararray @jobsarray$[0],"",getarraysize(@jobsarray$); cleararray @jobchangearray[0],0,getarraysize(@jobchangearray); setarray @jobsarray$[0],"Swordsman","Mage","Archer","Acolyte","Merchant","Thief","Super Novice"; setarray @jobchangearray[0],Job_Swordman,Job_mage,Job_Archer,Job_Acolyte,Job_Merchant,Job_Thief,Job_SuperNovice; if(@enableTaekwon == 1){ set @jobsarray$[getarraysize(@jobsarray$)],"Taekwon"; set @jobchangearray[getarraysize(@jobchangearray)],Job_Taekwon; } if (@enablegsnin == 1){ setarray @jobsarray$[getarraysize(@jobsarray$)],"Gunslinger","Ninja"; setarray @jobchangearray[getarraysize(@jobchangearray)],Job_Gunslinger,Job_Ninja; } //making the menu set @tempmenu$,""; for (set @x,0; @x < getarraysize(@jobsarray$); set @x,@x+1) { if(@x > 0) set @tempmenu$,@tempmenu$+":"; set @tempmenu$,@tempmenu$+@jobsarray$[@x]; } if (select(@tempmenu$,"Cancel") > getarraysize(@jobsarray$)) close; mes "Are you sure you want to be a "+@jobsarray$[(@menu-1)]+"?"; set @job,@menu; //there comes a new menu so I have to transfer it some other way... menu "No",L_quit,"Yes",-; mes "Congratulations! You are now officially a "+@jobsarray$[(@job-1)]+"."; jobchange @jobchangearray[(@job-1)]; if(@GivePlat) goto L_GivePlat; close; //Change the class L_changejob: if(JobLevel<@minjoblvl) goto L_notEn; if(BaseLevel<@minbaselvl) goto L_notEn; //making the menu set @tempmenu$,""; for (set @x,0; @x < getarraysize(@jobnames$); set @x,@x+1) { if(@x > 0) set @tempmenu$,@tempmenu$+":"; set @tempmenu$,@tempmenu$+@jobnames$[@x]; } mes "^ff0000[Rebirth Master]^000000"; mes "Please select to what you want to change:"; mes "Lastjob: "+lastjob; next; if (select(@tempmenu$,"Cancel") > getarraysize(@jobnames$)) close; mes "Are you SURE you want to change to "+@jobnames$[@menu-1]+"?"; menu "Yes",-,"No...",L_quit; jobchange @jobnums[(@menu-1)]; if(@GivePlat) goto L_GivePlat; mes "^ff0000[Rebirth Master]^000000"; mes "Thank you, please come again soon!"; close; // Rebirth L_rebirth: //Infoscreen if (($@enablebonus==1) && (@enableinfomes==1)){ mes "^ff0000[Rebirth Master]^000000"; mes "Times reborn: "+rebirthcount; mes "Statuspoints on next rebirth: "+(100+(rebirthcount*@rebirthbonus)); mes "Maximum rebirths with bonus: "+(@rebirthbonuses); next; } if (@enablereqs==1 && ((getarraysize(getd("@itemreqs" +rebirthcount )) > 0) || (@zenyreqs[rebirthcount] > 0))){ mes "^ff0000[Rebirth Master]^000000"; mes "To be reborn you'll need following items:"; if (getarraysize(getd("@itemreqs" +rebirthcount )) > 0){ for (set @count, 0; @count < getarraysize(getd("@itemreqs" +rebirthcount )); set @count, @count + 1){ mes getd("@reqamount" +rebirthcount +"["+@count+"]") + " " +getitemname(getd("@itemreqs" +rebirthcount +"["+@count+"]")); } } if (@zenyreqs[rebirthcount] > 0){ mes @zenyreqs[rebirthcount]+" Zeny"; } next; } if ((@enablerewards==1) && (((getarraysize(getd("@rebirthaward" +rebirthcount ))) > 0) || (@zenyrew[rebirthcount] > 0))){ mes "^ff0000[Rebirth Master]^000000"; mes "On the next rebirth you'll get following items as reward:"; if ((getarraysize(getd("@rebirthaward" +rebirthcount ))) > 0){ for (set @count, 0; @count < getarraysize(getd("@rebirthaward" +rebirthcount )); set @count, @count + 1){ mes getd("@awardamount" +rebirthcount +"["+@count+"]") + " " +getitemname(getd("@rebirthaward" +rebirthcount +"["+@count+"]")); } } if (@zenyrew[rebirthcount] > 0){ mes @zenyrew[rebirthcount]+" Zeny"; } next; } if ((@enablerebgsnin==1) && (BaseLevel >= @rebirthlevelgsnin)) goto L_sure; if ((BaseLevel < @rebirthlevel) || (JobLevel < 120)) goto L_cantCh; if (@enablereblimit==1){ if (rebirthcount == @rebirthlimit) goto L_Chtoooften; } L_sure: //Requirements check if (@enablereqs==1){ for (set @count, 0; @count < getarraysize(getd("@itemreqs" +rebirthcount )); set @count, @count + 1){ if (countitem(getd("@itemreqs" +rebirthcount +"["+@count+"]")) < getd("@reqamount" +rebirthcount +"["+@count+"]")){ goto L_noitems; } } } //Zeny requirements if (@enablezenyreqs == 1){ if (Zeny < @zenyreqs[rebirthcount]) goto L_noitems; } mes "^ff0000[Rebirth Master]^000000"; mes "Do you want to be reborn?"; next; mes "Are you SURE that you want to become a High Novice?"; menu "No",L_quit,"Yes",-; L_jchange: if (@enablereqs==1){ for (set @count, 0; @count < getarraysize(getd("@itemreqs" +rebirthcount )); set @count, @count + 1){ set @item,getd("@itemreqs" +rebirthcount +"["+@count+"]"); set @amount,getd("@reqamount" +rebirthcount +"["+@count+"]"); delitem @item,@amount; } set @item, 0; set @amount, 0; } //Zeny requirements if (@enablezenyreqs == 1){ set Zeny,Zeny-@zenyreqs[rebirthcount]; } if (rebirthcount == 0) set lastJob, readparam(19); jobchange Job_Novice_High; resetlvl(1); //Item Reward if(@enablerewards==1){ mes "^ff0000[Rebirth Master]^000000"; mes "Congratulations. I will now give you your rewards."; next; for(set @count, 0; @count < getarraysize(getd("@rebirthaward" +rebirthcount )); set @count, @count + 1){ if(checkweight(getd("@rebirthaward" +rebirthcount+ "["+ @count +"]"),getd("@awardamount" +rebirthcount+ "["+ @count +"]")) == 0){ set itemsleft,itemsleft+1; set getd("rebirthawardsitems"+itemsleft),getd("@rebirthaward" +rebirthcount+ "["+ @count +"]"); set getd("rebirthawardsamount"+itemsleft),getd("@awardamount" +rebirthcount+ "["+ @count +"]"); mes "You can't carry "+getd("rebirthawardsamount"+itemsleft)+" "+getitemname(getd("@awardamount" +rebirthcount+ "["+ @count +"]")); } else { getitem getd("@rebirthaward" +rebirthcount+ "["+ @count +"]"),getd("@awardamount" +rebirthcount+ "["+ @count +"]"); } } set @count,0; } //Zeny Reward if (@enablezenyrew == 1){ set Zeny, Zeny+@zenyrew[rebirthcount]; } if((rebirthcount < @rebirthbonuses) && ($@enablebonus==1)){ set StatusPoint,StatusPoint+(rebirthcount*@rebirthbonus); set rebirthcount,rebirthcount+1; } else { set StatusPoint,StatusPoint+(rebirthcount*@rebirthbonus); } skill 142,1,0; skill 143,1,0; if (itemsleft > 0){ next; mes "^ff0000[Rebirth Master]^000000"; mes "I still have some Items for you."; mes "I'll give them to you as soon as you can carry them."; close; } mes "^ff0000[Rebirth Master]^000000"; mes "You are now reborn."; mes "Please come again soon."; close; // Giving Platinum Skills L_GivePlat: if (BaseClass==Job_SuperNovice) goto L_sSuperN; if (BaseClass==Job_Swordman) goto L_sSword; if (BaseClass==Job_Mage) goto L_sMage; if (BaseClass==Job_Archer) goto L_sArcher; if (BaseClass==Job_Acolyte) goto L_sAcolyte; if (BaseClass==Job_Merchant) goto L_sMerchant; if (BaseClass==Job_Thief) goto L_sThief; close; L_sSuperN: skill 142,1,0; close; L_sSword: skill 142,1,0; skill 144,1,0; skill 145,1,0; skill 146,1,0; L_sMage: skill 142,1,0; skill 157,1,0; close; L_sArcher: skill 142,1,0; skill 147,1,0; skill 148,1,0; close; L_sAcolyte: skill 142,1,0; skill 156,1,0; close; L_sMerchant: skill 142,1,0; skill 153,1,0; skill 154,1,0; skill 155,1,0; close; L_sThief: skill 142,1,0; skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; close; L_quit: close; L_getlater: mes "^ff0000[Rebirth Master]^000000"; mes "Alright...but don't forget it!"; close; // Errors L_cantCh: mes "^ff0000[Rebirth Master]^000000"; mes "I'm sorry, you do not meet the requirements to change"; mes "Please come again soon!"; close; L_skillUsed: mes "^ff0000[Rebirth Master]^000000"; mes "I'm sorry, please use up all your skill points before changing jobs"; mes "Please come again soon!"; close; L_notEn: mes "^ff0000[Rebirth Master]^000000"; mes "I'm sorry, you do not seem to have enough Job Levels"; mes "Please come again soon!"; close; L_notSup: mes "^ff0000[Rebirth Master]^000000"; mes "I'm sorry, you do not seem to have enough Base Levels"; mes "Please come again soon!"; close; L_remove: mes "^ff0000[Rebirth Master]^000000"; mes "Please remove your cart,falcon or peco"; mes "Please come again soon!"; close; L_Chtoooften: mes "^ff0000[Rebirth Master]^000000"; mes "Sorry but you were reborn too often."; mes "You can't be reborn more than "+@rebirthlimit+" times."; close; L_noitems: mes "^ff0000[Rebirth Master]^000000"; mes "Sorry, but to be reborn you will need following items:"; if (@enablereqs == 1){ for (set @count, 0; @count < getarraysize(getd("@itemreqs" +rebirthcount )); set @count, @count + 1){ mes getd("@reqamount" +rebirthcount +"["+@count+"]") + " " +getitemname(getd("@itemreqs" +rebirthcount +"["+@count+"]")); } } if (@enablezenyreqs == 1){ mes @zenyreqs[rebirthcount]+" Zenys."; } close; } function script getposjob { //return(-3): Cart/Falcon/Peco has to be removed first //return(-2): skills not used //return(-1): Can't change //return(1): change to first class //return(2): go to L_changejob //return(3): rebirth // Check if they are allowed to change job if(SkillPoint != 0) return(-2); if(Class == Job_Novice) return(1); //Check for carts/falcon/pecopeco if(checkfalcon() || checkcart() || checkriding()) return(-3); //Check if they can be reborn if((Class >=Job_Knight) && (Class <=Job_Dancer) || ((class ==Job_Gunslinger) || (class ==Job_Ninja))){ //check for re-rebirth of GS/Ninja is needed if(@enablerebirths != 1) return(-1); if ((class ==Job_Gunslinger) || (class ==Job_Ninja)) { if(@enablerebgsnin != 1) return(-1); } if(Upper == 1 && Class >= Job_Lord_Knight) return(-1); } return(3); //What Class they can be (sets jobarrays) //@jobnames$: holds the jobnames //@jobnums: holds the jobnumbers //Check if they can change to High Classes if(Class ==Job_Novice_High){ set @minjoblvl, @minjadv; set @minbaselvl, @minbadv; if((lastJob ==Job_Knight) || (lastJob ==Job_Crusader)) { setarray @jobnames$[0],"Swordsman High"; setarray @jobnums[0],Job_Swordsman_High; } if((lastJob ==Job_Wizard) || (lastJob ==Job_Sage)) { setarray @jobnames$[0],"Mage High"; setarray @jobnums[0],Job_Mage_High; } if((lastJob ==Job_Hunter) || (lastJob ==Job_Bard) || (lastJob ==Job_Dancer)) { setarray @jobnames$[0],"Archer High"; setarray @jobnums[0],Job_Archer_High; } if((lastJob ==Job_Priest) || (lastJob ==Job_Monk)) { setarray @jobnames$[0],"Acolyte High"; setarray @jobnums[0],Job_Acolyte_High; } if((lastJob ==Job_Blacksmith) || (lastJob ==Job_Alchem)) { setarray @jobnames$[0],"Merchant High"; setarray @jobnums[0],Job_Merchant_High; } if((lastJob ==Job_Assassin) || (lastJob ==Job_Rogue)) { setarray @jobnames$[0],"Thief High"; setarray @jobnums[0],Job_Thief_High; } if(lastJob ==Job_Gunslinger) { setarray @jobnames$[0],"Gunslinger"; setarray @jobnums[0],Job_Gunslinger; } if(lastJob ==Job_Ninja) { setarray @jobnames$[0],"Ninja"; setarray @jobnums[0],Job_Ninja; } if((lastjob ==Job_Taekwon) || (lastjob ==Job_Star_Gladiator) || (lastjob ==Job_Star_Gladiator2) || (lastjob ==Job_Soul_Linker)) { setarray @jobnames$[0],"Taekwon"; setarray @jobnums[0],Job_Taekwon; } return(2); } //Check what class they can be if((Class >=Job_Novice) && (Class <=Job_Knight)) { set @minjoblvl, @minjsec; set @minbaselvl, @minbsec; if(Class ==Job_Swordman) { setarray @jobnames$[0],"Knight","Crusader"; setarray @jobnums[0],Job_Knight,Job_Crusader; } if(Class ==Job_Mage) { setarray @jobnames$[0],"Wizard","Sage"; setarray @jobnums[0],Job_Wizard,Job_Sage; } if((sex == 1) && (Class ==Job_Archer)) { setarray @jobnames$[0],"Hunter","Bard"; setarray @jobnums[0],Job_Hunter,Job_Bard; } if((sex == 0) && (Class ==Job_Archer)) { setarray @jobnames$[0],"Hunter","Dancer"; setarray @jobnums[0],Job_Hunter,Job_Dancer; } if(Class ==Job_Acolyte) { setarray @jobnames$[0],"Priest","Monk"; setarray @jobnums[0],Job_Priest,Job_Monk; } if(Class ==Job_Merchant) { setarray @jobnames$[0],"Blacksmith","Alchemist"; setarray @jobnums[0],Job_Blacksmith,Job_Alchemist; } if(Class ==Job_Thief) { setarray @jobnames$[0],"Assassin","Rogue"; setarray @jobnums[0],Job_Assassin,Job_Rogue; } if((Class ==Job_Taekwon) && (@enableTaekwon == 1)) { setarray @jobnames$[0],"Soul Linker","Star Gladiator"; setarray @jobnums[0],Job_Soul_Linker,Job_Star_Gladiator; } return(2); } //Check to what second class they change after rebirth if(lastjob && Class > Job_Novice_High) { set @minjoblvl, @minjadvsec; set @minbaselvl, @minbadvsec; if(lastJob ==Job_Knight) { setarray @jobnames$[0],"Lord Knight"; setarray @jobnums[0],Job_Lord_Knight; } if(lastJob ==Job_Crusader) { setarray @jobnames$[0],"Paladin"; setarray @jobnums[0],Job_Paladin; } if(lastJob ==Job_Wizard) { setarray @jobnames$[0],"High Wizard"; setarray @jobnums[0],Job_High_Wizard; } if(lastJob ==Job_Sage) { setarray @jobnames$[0],"Professor"; setarray @jobnums[0],Job_Professor; } if(lastJob ==Job_Hunter) { setarray @jobnames$[0],"Sniper"; setarray @jobnums[0],Job_Sniper; } if(lastJob ==Job_Bard) { setarray @jobnames$[0],"Clown"; setarray @jobnums[0],Job_Clown; } if(lastJob ==Job_Dancer) { setarray @jobnames$[0],"Gypsy"; setarray @jobnums[0],Job_Gypsy; } if(lastJob ==Job_Priest) { setarray @jobnames$[0],"High Priest"; setarray @jobnums[0],Job_High_Priest; } if(lastJob ==Job_Monk) { setarray @jobnames$[0],"Champion"; setarray @jobnums[0],Job_Champion; } if(lastJob ==Job_Blacksmith) { setarray @jobnames$[0],"Whitesmith"; setarray @jobnums[0],Job_whitesmith; } if(lastJob ==Job_Alchemist) { setarray @jobnames$[0],"Creator"; setarray @jobnums[0],Job_Creator; } if(lastJob ==Job_Assassin) { setarray @jobnames$[0],"Assassin Cross"; setarray @jobnums[0],Job_Assassin_Cross; } if(lastJob ==Job_Rogue) { setarray @jobnames$[0],"Stalker"; setarray @jobnums[0],Job_Stalker; } if(lastJob ==Job_Star_Gladiator) { setarray @jobnames$[0],"Star Gladiator"; setarray @jobnums[0],Job_Star_Gladiator; } if(lastJob ==Job_Star_Gladiator2) { setarray @jobnames$[0],"Star Gladiator"; setarray @jobnums[0],Job_Star_Gladiator2; } if(lastJob ==Job_Soul_Linker) { setarray @jobnames$[0],"Soul Linker"; setarray @jobnums[0],Job_Soul_Linker; } return(2); } return(-1); } //Reset NPC for Athena by Script&DB Team //Editation by Terces prontera.gat,149,194,5 script Reset Girl 123,{ mes "[Reset Girl]"; mes "I am a Reset Girl."; if ($@enablestatreset == 1){ mes "Reset Stats: " + $@resetfees[0]; } if ($@enableskillreset == 1){ mes "Reset Skills: " + $@resetfees[1]; } if ($@enablebothreset == 1){ mes "Reset Both: " + $@resetfees[2]; } next; mes "[Reset Girl]"; mes "Please select the service you want:"; if($@enablestatreset == 1){ if ($@enableskillreset == 1){ if ($@enablebothreset == 1){ if(select("Stats","Skills","Both") == 0) end; } else { if(select("Stats","Skills") == 0) end; } } else if ($@enablebothreset == 1) { if(select("Stats","Both") == 0) end; } else { if(select("Stats") == 0) end; } } else if ($@enableskillreset == 1){ if ($@enablebothreset == 1){ if(select("Skills","Both") == 0) end; } else { if(select("Skills") == 0) end; } } else { if(select("Both") == 0) end; } if ((@menu == 1) && ($@enablestatreset == 1)) set @reset,0; if ((@menu == 1) && ($@enablestatreset != 1) && ($@enableskillreset == 1)) set @reset,1; if ((@menu == 2) && ($@enableskillreset == 1)) set @reset,1; else set @reset,2; if (Zeny < $@resetfees[@reset]) goto NeedZenys; mes "[Reset Girl]"; mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; set Zeny,zeny-$@resetfees[@reset]; if (@reset == 0) { ResetStatus; if($@enablebonus==1) set StatusPoint,StatusPoint+(rebirthcount*@rebirthbonus); } if (@reset == 1) ResetSkill; if (@reset == 2) { ResetStatus; ResetSkill; if($@enablebonus==1) set StatusPoint,StatusPoint+(rebirthcount*@rebirthbonus); } close; NeedZenys: mes "Sorry, you don't have enough Zeny."; close; LEnd: close; }
×
×
  • Create New...