From 525cd1232a289562e866eeb4eac8d5772c1d573c Mon Sep 17 00:00:00 2001 From: Kisuka Date: Sun, 14 Sep 2008 18:27:59 +0000 Subject: - More optimization of custom folder. - Removed Fredzilla's duping auction script (no need for it since we have official auction system). - Removed 'Temp Gefenia Warper' because we have 'The Sign Quest'. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13213 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/custom/Auctioneer.txt | 563 -------------------------------------------- npc/custom/breeder.txt | 99 +++----- npc/custom/gefenia.txt | 34 --- npc/custom/healers/heal.txt | 25 +- npc/custom/jobs/reset.txt | 78 +++--- npc/scripts_custom.conf | 5 - 6 files changed, 92 insertions(+), 712 deletions(-) delete mode 100644 npc/custom/Auctioneer.txt delete mode 100644 npc/custom/gefenia.txt diff --git a/npc/custom/Auctioneer.txt b/npc/custom/Auctioneer.txt deleted file mode 100644 index 83153d763..000000000 --- a/npc/custom/Auctioneer.txt +++ /dev/null @@ -1,563 +0,0 @@ -//===== eAthena Script ====================================================================== -//= 1. Auctioneer -//= 2. Auction Helping (Gives info only, but still good to have in) -//===== Original By ========================================================================= -//= Fredzilla -//===== Helped By =========================================================================== -//= Not one quite yet, but you never know ;) -//===== Current Version: ==================================================================== -//= 1.0 (Beta) < Thats means it is in testing -//===== Compatible With: ==================================================================== -//= Any eAthena, that also has a script_athena.conf -//===== Description: ======================================================================== -//= Lets a people place items into an auction, max of 10 items per round -//= People can bid on them item -//= Then buy the items, and sellers pickup there money -//===== Comments and Credits =========================================================== -//= This script would not have been made possible if it was not for "Maeki Rika" -//= My praise goes out to her for finding out all the things we can do with the -//= current system that eAthena uses -//= -//= More comments are listed down the page, in a attempt to explain what is going on in each -//= section of the script -//= -//= This script is currently in testing, and any loss of items will, not only need to be -//= reported inside the thread I made for this script, but be replaced by GM if proof was given :D -//=========================================================================================== - -prontera,153,193,5 script Auctioneer 807,{ - mes "[Auctioneer]"; - set @num,0; -// These few line below are to recover item that would be lost due to a new auction starting -L_RNameLoop: - if(strcharinfo(0)==$ANamesB$[@num] && $paidB[@num]==0) goto L_RBackup; - set @num,@num+1; - if(@num<10) goto L_RNameLoop; - if($Auction==1) goto L_Register; - if($Auction==2) goto L_Bid; - if($Auction==3) goto L_PayPickup; - -// After a server restart, and no auction value is set, it will run this -// People who placed items in there before the restart should still be to retrieve there items - - mes "You are able to sell and buy things inside the auction, unfortunately nothing has been started, you need to wait for the auction to start"; - mes "No items lost will be given back, please remember you used this at your own risk"; - next; - mes "[Auctioneer]"; - mes "I am very sorry if you have lost items"; - close; - -// If the Auction has started, it will run this, during this time items can be registered and registered items retrieved - -L_Register: - mes "Welcome to the auction, you may register you items at this time"; - next; - set @num,0; -L_NameLoop: - if(strcharinfo(0)==$ANames$[@num]) goto L_Already; - set @num,@num+1; - if(@num<10) goto L_NameLoop; - if(getarraysize($AItems)==10) goto L_AFull; - menu "I want to register an item now",L_IRegister,"I don't want to leave an item",-; -L_End: - mes "[Auctioneer]"; - mes "Ok, come back whenever"; - close; -L_IRegister: - mes "[Auctioneer]"; - mes "Listed below is the first 10 items you have on you now"; - mes "What do you want to register?"; - next; - set @array,0; - set @item,500; -// set @loopcount,0; -L_ILoop: -// set @loopcount,@loopcount+1; -// debugmes @loopcount; - set @item,@item+1; - if(@item>=13005) goto L_Menu; - if(countitem(@item)>0) set @item2[@array],@item; - if(countitem(@item)>0) set @array,@array+1; - if(@array==10) goto L_Menu; - set @item,@item+1; - if(countitem(@item)>0) set @item2[@array],@item; - if(countitem(@item)>0) set @array,@array+1; - if(@array==10) goto L_Menu; - set @item,@item+1; - if(countitem(@item)>0) set @item2[@array],@item; - if(countitem(@item)>0) set @array,@array+1; - if(@array==10) goto L_Menu; - set @item,@item+1; - if(countitem(@item)>0) set @item2[@array],@item; - if(countitem(@item)>0) set @array,@array+1; - if(@array==10) goto L_Menu; - set @item,@item+1; - if(countitem(@item)>0) set @item2[@array],@item; - if(countitem(@item)>0) set @array,@array+1; - if(@array==10) goto L_Menu; - set @item,@item+1; - if(countitem(@item)>0) set @item2[@array],@item; - if(countitem(@item)>0) set @array,@array+1; - if(@array==10) goto L_Menu; - set @item,@item+1; - if(countitem(@item)>0) set @item2[@array],@item; - if(countitem(@item)>0) set @array,@array+1; - if(@array==10) goto L_Menu; - set @item,@item+1; - if(countitem(@item)>0) set @item2[@array],@item; - if(countitem(@item)>0) set @array,@array+1; - if(@array==10) goto L_Menu; - set @item,@item+1; - if(countitem(@item)>0) set @item2[@array],@item; - if(countitem(@item)>0) set @array,@array+1; - if(@array==10) goto L_Menu; - set @item,@item+1; - if(countitem(@item)>0) set @item2[@array],@item; - if(countitem(@item)>0) set @array,@array+1; - if(@array==10) goto L_Menu; - goto L_ILoop; -L_Menu: - menu getitemname(@item2[0]),-,getitemname(@item2[1]),-,getitemname(@item2[2]),-,getitemname(@item2[3]),-,getitemname(@item2[4]),-,getitemname(@item2[5]),-,getitemname(@item2[6]),-,getitemname(@item2[7]),-,getitemname(@item2[8]),-,getitemname(@item2[9]),-,"Next Page",L_WipeLoop; - set @setitem,@item2[@menu-1]; - set @num,0; -L_SorryLoop: - set @num,@num+1; - if(@menu==@num && @setitem == 0) goto L_Sorry; - if(@num==10) goto L_FinalReg; - goto L_SorryLoop; -L_FinalReg: - mes "[Auctioneer]"; - mes "Please remember that if this item does contain cards, or is crafted, these distinctions will be lost when it is put into the auction"; - mes "This also means if you get the item back, that this applies to, you will have lost out"; - mes " "; - mes "So you want to register your "+getitemname(@setitem); - next; - menu "Yes please",-,"No",L_End; - mes "[Auctioneer]"; - mes "Ok I will register this item now"; - next; - set @amount,1; - if(countitem(@setitem)==1) goto L_FinalInput; - mes "[Auctioneer]"; - mes "Wait a minute it seems you have more than one of that item, please enter the ammount you want to put in the aution"; - next; - input @amount; - if(countitem(@setitem)<@amount) goto L_NotEnough; -L_FinalInput: - set $AItems[$array],@setitem; - set $ANames$[$array],strcharinfo(0); - set $AAmount[$array],@amount; - set $array,$array+1; - delitem @setitem,@amount; - mes "[Auctioneer]"; - mes "You item has been taken into storage, ready for sale, the auction will begin soon, watch for the announcment"; - close; -L_AFull: - mes "[Auctioneer]"; - mes "Oh, sorry, it seems my auction is full this time round, please try in the next one"; - close; -L_WipeLoop: - deletearray @item2[0],10; - set @array,0; - goto L_ILoop; -L_Sorry: - mes "[Auctioneer]"; - mes "It seems that is all you have to offer me, come back when you know what you want to sell"; - close; -L_Already: - mes "[Auctioneer]"; - mes "It seems you already have have an item registered here, would you like to retrieve your item?"; - next; - menu "Yes",-,"No",L_End; - getitem $AItems[@num],$AAmount[@num]; -L_AItemsLoop: - set $AItems[@num],$AItems[@num+1]; - set $ANames$[@num],$ANames$[@num+1]; - set $AAmount[@num],$AAmount[@num+1]; - set @num,@num+1; - if(@num<10) goto L_AItemsLoop; - set $array,$array-1; - set @num,0; - mes "[Auctioneer]"; - mes "Ok, all items present and acounted for, have a nice day"; - close; -L_NotEnough: - mes "[Auctioneer]"; - mes "Seems you don't have that many "+getitemname(@setitem)+"'s"; - close; -// If the Auction has enterd phase 2, it will run this, during this time items you can bid on registered -// No items can be retrieved during this time, they are now stuck - -L_Bid: - mes "What would you like to bid on?"; - next; - set @num,0; -L_MenuLoop: - set @menu$[@num],$AAmount[@num]+" x "+getitemname($AItems[@num])+" "+$bid[@num]+"z"; - set @num,@num+1; - if($AItems[@num]!=0) goto L_MenuLoop; - menu - @menu$[0],-, - @menu$[1],-, - @menu$[2],-, - @menu$[3],-, - @menu$[4],-, - @menu$[5],-, - @menu$[6],-, - @menu$[7],-, - @menu$[8],-, - @menu$[9],-; - mes "[Auctioneer]"; - set @num,@menu-1; - if(strcharinfo(0)==$ANames$[@num]) goto L_CantBid; -L_ReBid: - mes "You are currently bidding on "+$AAmount[@num]+" x "+getitemname($AItems[@num]); - mes "The current bid is at "+$bid[@num]+"z"; - mes "This was made by "+$bidders$[@num]; - if($bidders$[@num]==strcharinfo(0)) goto L_AlreadyBid; - mes "How much do you want to bid yourself"; - mes "(Use 0 to cancel at this point)"; - next; - input @bid; - if(@bid<=0) goto L_End; - if(zeny<@bid) goto L_LowZeny; - if(@bid<$bid[@num]) goto L_LowBid; - mes "[Auctioneer]"; - mes "You are about to bid "+@bid+"z for "+$AAmount[@num]+" x "+getitemname($AItems[@num]); - mes "Are you sure?"; - next; - menu "Yes",-,"No",L_End; - set $bid[@num],@bid; - set $bidders$[@num],strcharinfo(0); - mes "[Auctioneer]"; - mes "Your bid has been entered"; - close; -L_LowZeny: - mes "[Auctioneer]"; - mes "Sorry you need to show me that amount as proof you could pay, if you do win"; - mes "Please either get more money, or bid lower"; - close; -L_CantBid: - mes "Sorry, you can't bid on your own lots"; - close; -L_LowBid: - mes "[Auctioneer]"; - mes "Your bid seems lower than the current one, try entering a higher ammount of zeny"; - next; - mes "[Auctioneer]"; - goto L_ReBid; -L_AlreadyBid: - mes "Hey wait, that is you, you can't bid again"; - close; -// If the Auction has entered phase 3, it will run this -// During this time, items that have been bid on can be bought -// Items not bid on can be picked back up by the seller -// And if any of the items have been bought, and are paid for, seller can pick up their money - -L_PayPickup: - mes "The auction has now ended"; - mes "What would you like to do?"; - next; - menu "Check for items I have sold",-,"Check for items I have won",L_Won,"Nothing",L_End; - -// Check starts here for if you have sold anything during this auction - - set @num,0; -L_SoldLoop: - if($ANames$[@num]==strcharinfo(0)) goto L_Sold; - set @num,@num+1; - if(@num<10) goto L_SoldLoop; - mes "[Auctioneer]"; - mes "Sorry it seems you have either picked up all you items, money"; - mes "or you didn't register any items in this auction"; - close; -L_Sold: - mes "[Auctioneer]"; - if($paid[@num]==3) goto L_Returned; - mes "Ah I see here, you sold your "+$AAmount[@num]+" x "+getitemname($AItems[@num]); - mes "Lets see here it sold for"; - next; - if($bid[@num]==0) goto L_GiveBack; - if($paid[@num]==2) goto L_AlreadyPaid; - mes "[Auctioneer]"; - mes $bid[@num]+"z and "+$bidders$[@num]+" bought it from you"; - if($paid[@num]!=1) goto L_NoMoney; - mes "They have fully paid for it, so here is your money"; - next; - set zeny,zeny+$bid[@num]; - set $paid[@num],2; - goto L_End; -L_AlreadyPaid: - mes "[Auctioneer]"; - mes "Hmm, seems you already have you money for this lot, not trying to con me are you?"; - close; -L_Returned: - mes "[Auctioneer]"; - mes "Seems we returned you item already"; - close; -L_GiveBack: - mes "[Auctioneer]"; - mes "Seems no-one wanted your item(s)"; - mes "So you can have them back now"; - getitem $AItems[@num],$AAmount[@num]; - set $paid[@num],3; - close; -L_NoMoney: - mes "Sorry to say this but they haven't paid this yet"; - mes "You can go and talk to them now, or you can wait"; - mes "If they haven't paid by the time the next Auction starts come back to me to retrieve your item(s)"; - close; - -// Check starts here for if you won any items during this auction, futher options follow - -L_Won: - set @num,0; - mes "[Auctioneer]"; -L_WonLoop: - if($bidders$[@num]==strcharinfo(0)) goto L_Winner; -L_CarryOn: - set @num,@num+1; - if(@num<10) goto L_WonLoop; - mes "Sorry you didn't win any of the lots, please try again next time"; - close; -L_Winner: - if($paid[@num]>0) goto L_CarryOn; - mes "Well it does seem you have won an item"; - mes "You won "+$AAmount[@num]+" x "+getitemname($AItems[@num]); - mes "And you bid "+$bid[@num]+"z for this lot"; - mes "What do you want to do now?"; - next; - -// At this point they can choose from 3 options, to Buy the current lot -// see the next one they might have won, or give up that lot - - menu "Buy this lot",-,"See Next Lot you won",L_CarryOn,"Relinquish this lot",L_Back; - if(zeny<$bid[@num]) goto L_2lowzeny; - set zeny,zeny-$bid[@num]; - getitem $AItems[@num],$AAmount[@num]; - set $paid[@num],1; - mes "[Auctioneer]"; - mes "Our transaction is completed"; - mes "See you again soon"; - close; -L_2lowzeny: - mes "[Auctioneer]"; - mes "Sorry it seems you don't have enough zeny on you, please acquire more"; - close; -L_Back: - mes "[Auctioneer]"; - mes "Are you sure you want to give up this lot?"; - next; - menu "Yes",-,"No",L_End; - set $bid[@num],0; - set $bidders$[@num],"no-one"; - mes "[Auctioneer]"; - mes "It is done, you might want to tell "+$ANames$[@num]+" they can come and pickup his item(s)"; - close; - -// All the times that will start the Auction - -OnClock0100: -OnClock0400: -OnClock0700: -OnClock1000: -OnClock1300: -OnClock1600: -OnClock1900: -OnClock2200: -// Starting Backup - copyarray $AItemsB[0],$AItems[0],10; - copyarray $ANamesB$[0],$ANames$[0],10; - copyarray $AAmountB[0],$AAmount[0],10; - copyarray $paidB[0],$paid[0],10; -// End backup - Start Wiping - deletearray $paid[0],10; - deletearray $bid[0],10; - deletearray $bidders$[0],10; - deletearray $AItems[0],10; - deletearray $ANames$[0],10; - deletearray $AAmount[0],10; - set $array,0; -// End Wiping - Begin Announce + Phase setting - announce "Registration time has begun, see the Auctioneer to register your items",0; - cleararray $bidders$[0],"no-one",10; - set $Auction,1; - end; - -// All the times that will start the bidding section - -OnClock0200: -OnClock0500: -OnClock0800: -OnClock1100: -OnClock1400: -OnClock1700: -OnClock2000: -OnClock2300: - if($Auction==0) end; - announce "Registration time has ended, time for the biding to begin",0; - set $Auction,2; - initnpctimer; - end; - -// All the times that will start the last phase, buying and seller, and item retrieval - -OnClock0300: -OnClock0600: -OnClock0900: -OnClock1200: -OnClock1500: -OnClock1800: -OnClock2100: -OnClock0000: - if($Auction==0) end; - announce "Bidding time has ended, see the Auctioneer to get your items, or money",0; - set $Auction,3; - end; - -// On the start of the server it will reset the Auction state, but not the items it contains -// so people still have have a chance to retrieve there lost items - -OnInit: - copyarray $AItemsB[0],$AItems[0],10; - copyarray $ANamesB$[0],$ANames$[0],10; - copyarray $AAmountB[0],$AAmount[0],10; - copyarray $paidB[0],$paid[0],10; - deletearray $paid[0],10; - deletearray $bid[0],10; - deletearray $bidders$[0],10; - deletearray $AItems[0],10; - deletearray $ANames$[0],10; - deletearray $AAmount[0],10; - set $array,0; - set $Auction,0; - end; - -// All below is for anouncing the items in this auction, if there are none it will say so -// and if there are none in there at the start of phase 2 it will reset the auctions state -// This is to stop the auction ending message, and will only start again when it reachs phase 1 again - -OnTimer5000: - announce "Today in our auction we have",0; - end; -OnTimer7000: - if($AItems[0]==0) setnpctimer 25001; - if($AAmount[0]==1) announce "A lovely "+getitemname($AItems[0])+" left by "+$ANames$[0],0; - if($AAmount[0]>1) announce $AAmount[0]+" lovely "+getitemname($AItems[0])+" left by "+$ANames$[0],0; - end; -OnTimer9000: - if($AItems[1]==0) setnpctimer 25001; - if($AAmount[1]==1) announce "A great "+getitemname($AItems[1])+" left by "+$ANames$[1],0; - if($AAmount[1]>1) announce $AAmount[1]+" great "+getitemname($AItems[1])+" left by "+$ANames$[1],0; - end; -OnTimer11000: - if($AItems[2]==0) setnpctimer 25001; - if($AAmount[2]==1) announce "A excellent "+getitemname($AItems[2])+" left by "+$ANames$[2],0; - if($AAmount[2]>1) announce $AAmount[2]+" excellent "+getitemname($AItems[2])+" left by "+$ANames$[2],0; - end; -OnTimer13000: - if($AItems[3]==0) setnpctimer 25001; - if($AAmount[3]==1) announce "A superb "+getitemname($AItems[3])+" left by "+$ANames$[3],0; - if($AAmount[3]>1) announce $AAmount[3]+" superb "+getitemname($AItems[3])+" left by "+$ANames$[3],0; - end; -OnTimer15000: - if($AItems[4]==0) setnpctimer 25001; - if($AAmount[4]==1) announce "A terrific "+getitemname($AItems[4])+" left by "+$ANames$[4],0; - if($AAmount[4]>1) announce $AAmount[4]+" terrific "+getitemname($AItems[4])+" left by "+$ANames$[4],0; - end; -OnTimer17000: - if($AItems[5]==0) setnpctimer 25001; - if($AAmount[5]==1) announce "A wonderful "+getitemname($AItems[5])+" left by "+$ANames$[5],0; - if($AAmount[5]>1) announce $AAmount[5]+" wonderful "+getitemname($AItems[5])+" left by "+$ANames$[5],0; - end; -OnTimer19000: - if($AItems[6]==0) setnpctimer 25001; - if($AAmount[6]==1) announce "A pretty "+getitemname($AItems[6])+" left by "+$ANames$[6],0; - if($AAmount[6]>1) announce $AAmount[6]+" pretty "+getitemname($AItems[6])+" left by "+$ANames$[6],0; - end; -OnTimer21000: - if($AItems[7]==0) setnpctimer 25001; - if($AAmount[7]==1) announce "A sweet "+getitemname($AItems[7])+" left by "+$ANames$[7],0; - if($AAmount[7]>1) announce $AAmount[7]+" sweet "+getitemname($AItems[7])+" left by "+$ANames$[7],0; - end; -OnTimer23000: - if($AItems[8]==0) setnpctimer 25001; - if($AAmount[8]==1) announce "A stunning "+getitemname($AItems[8])+" left by "+$ANames$[8],0; - if($AAmount[8]>1) announce $AAmount[8]+" stunning "+getitemname($AItems[8])+" left by "+$ANames$[8],0; - end; -OnTimer25000: - if($AItems[9]==0) end; - if($AAmount[9]==1) announce "A fine "+getitemname($AItems[9])+" left by "+$ANames$[9],0; - if($AAmount[9]>1) announce $AAmount[9]+" fine "+getitemname($AItems[9])+" left by "+$ANames$[9],0; -OnTimer27000: - if($AItems[0]!=0) announce "That is all the items we have this time round, so get bidding",0; - if($AItems[0]==0) announce "Seems there are no items this time round",0; - if($AItems[0]==0) set $Auction,0; - stopnpctimer; - setnpctimer 0; - end; - -// this is only be run if you own any items left over, not paid for, from the last auction, or the server failed, and items are left over - -L_RBackup: - mes "You seem to have items left over from the last auction, here you go, have it back"; - next; - getitem $AItemsB[@num],$AAmountB[@num]; -L_BItemsLoop: - set $AItemsB[@num],$AItemsB[@num+1]; - set $ANamesB$[@num],$ANamesB$[@num+1]; - set $AAmountB[@num],$AAmountB[@num+1]; - set @num,@num+1; - if(@num<10) goto L_BItemsLoop; - mes "[Auctioneer]"; - mes "Have a nice day"; - close; -} - -// Only for display purposes, and telling people info about the auction -// Can also be used for finding out what phase the auction is in - -prontera,158,193,3 script Auction Helper 833,{ - mes "[Auction Helper]"; - set @num,0; - if($Auction==0 && $AItemsB[@num]!=0) goto L_ItemRecover; - if(($Auction==1 || $Auction ==2) && $AItems[@num]!=0) goto L_LLoop; - if($Auction==3 && $AItems[@num]!=0) goto L_Win; - mes "Ok Currently we have nothing in the auction."; - mes "Please return at the correct time."; - close; -L_LLoop: - mes "Ok Currently we have :-"; -L_Loop: - mes $ANames$[@num]+" with "+$AAmount[@num]+" x "+getitemname($AItems[@num])+"('s)"; - set @num,@num+1; - if($AItems[@num]==0) close; - if(@num<10) goto L_Loop; - close; -L_ItemRecover: - mes "Seems there was a problem, and the auction ended prematurely."; - mes "This means we still have :-"; -L_BLoop: - if($paid[@num]==0) mes $ANamesB$[@num]+" with "+$AAmountB[@num]+" x "+getitemname($AItemsB[@num])+"('s)"; - set @num,@num+1; - if($AItems[@num]==0) close; - if(@num<10) goto L_BLoop; - close; -L_Win: - mes "The Auction is in the last stage, at this point you can :-"; - mes " * buy your items"; - mes " * Pick-up you money"; - mes "(or if you were unlucky)"; - mes " * Pick-up unsold items"; - next; - mes "[Auction Helper]"; - mes "Here is a list of Sellers and Winners"; - set @num,0; -L_Loop2: - mes $ANames$[@num]+" with "+$AAmount[@num]+" "+getitemname($AItems[@num])+"('s), won by "+$bidders$[@num]+" for "+$bid[@num]+"z"; - set @num,@num+1; - if($AItems[@num]==0) close; - if(@num<10) goto L_Loop2; - close; - -} diff --git a/npc/custom/breeder.txt b/npc/custom/breeder.txt index 798d81585..098665054 100644 --- a/npc/custom/breeder.txt +++ b/npc/custom/breeder.txt @@ -14,75 +14,40 @@ //= 1.3 Simplified the checks of job [Silentdragon] //= 1.3a Fixed a Typo Error. [Samuray22] // -Thanks to ~AnnieRuru~. +//= 1.4 Optimized Script. No need for 50 million Labels. [Spre] //============================================================ - - -prontera,122,200,1 script Universal Rental Npc 726,{ + +prontera,124,201,1 script Universal Rental Npc 726,{ mes "[Universal Rental Npc]"; mes "Hi, here you can rent Carts, Falcons or Pecopecos."; next; - -L_Menu: - menu "Rent a Cart",L_Cart,"Rent a Falcon",L_Falcon,"Rent a Pecopeco",L_Peco,"Quit",L_Quit; - close; - -L_Cart: - if((BaseClass == Job_Merchant || BaseJob == Job_SuperNovice) && checkcart() == 0) goto L_Cart_Ok; - mes "[Universal Rental Npc]"; - mes "Sorry " + strcharinfo(0) + ", but I only rent carts to people with the Merchant job root, who have enough skills to handle a cart."; - close; - -L_Cart_Ok: - if(getskilllv("MC_PUSHCART")<1) goto L_Need_Skill; - setcart; - goto L_Quit2; - -L_Need_Skill: - mes "[Universal Rental Npc]"; - mes "Sorry you don't have the required skill to rent a cart."; - close; - -L_Falcon: - if(BaseJob != Job_Archer && BaseClass == Job_Archer && checkfalcon() == 0) goto L_Falc; - if(getskilllv("HT_FALCON")<1) goto L_Need_Skill2; - - mes "[Universal Rental Npc]"; - mes "Sorry " + strcharinfo(0) + ", but I only rent falcons to Hunters and Snipers who the ability to handle 'em."; - close; - -L_Falc: - setfalcon; - goto L_Quit2; - -L_Need_Skill2: - mes "[Universal Rental Npc]"; - mes "Sorry you don't have the required skill to own a Falcon."; - close; - -L_Peco: - if (BaseJob != Job_Swordman && BaseClass == Job_Swordman && checkriding() == 0) goto L_Peco_Ok; - if(getskilllv("KN_RIDING")<1) goto L_Need_Skill3; - - mes "[Universal Rental Npc]"; - mes "Sorry " + strcharinfo(0) + ", but I only rent Pecopecos to Knights and Crusaders who have the ability to handle 'em."; - close; - -L_Peco_Ok: - setriding; - goto L_Quit2; - -L_Need_Skill3: - mes "[Universal Rental Npc]"; - mes "Sorry you don't have the required skill to ride a Peco Peco."; - close; - -L_Quit: - mes "[Universal Rental Npc]"; - mes strcharinfo(0) + ", please come back when you are ready to rent something."; - close; - -L_Quit2: - mes "[Universal Rental Npc]"; - mes strcharinfo(0) + ", please come again when you want another..."; - close; + switch(select("Cart:Falcon:Peco")) { + case 1: + if((BaseClass == Job_Merchant || BaseJob == Job_SuperNovice) && checkcart() == 0 && getskilllv("MC_PUSHCART")>0) { + setcart; + close; + }else{ + mes "[Universal Rental Npc]"; + mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill."; + close; + } + case 2: + if(BaseJob != Job_Archer && BaseClass == Job_Archer && checkfalcon() == 0 && getskilllv("HT_FALCON")>0) { + setfalcon; + close; + }else{ + mes "[Universal Rental Npc]"; + mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill."; + close; + } + case 3: + if (BaseJob != Job_Swordman && BaseClass == Job_Swordman && checkriding() == 0 && getskilllv("KN_RIDING")>0) { + setriding; + close; + }else{ + mes "[Universal Rental Npc]"; + mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill."; + close; + } + } } \ No newline at end of file diff --git a/npc/custom/gefenia.txt b/npc/custom/gefenia.txt deleted file mode 100644 index 86b4cd8a2..000000000 --- a/npc/custom/gefenia.txt +++ /dev/null @@ -1,34 +0,0 @@ -//===== eAthena Script ======================================= -//= Gefenia Warper Script -//===== By: ================================================== -//= Darkchild (1.0) -//===== Current Version: ===================================== -//= 1.0 -//===== Compatible With: ===================================== -//= Any Athena Version; RO Episode 6+ -//===== Description: ========================================= -//= Temp Warper to Gefenia -//===== Additional Comments: ================================= -//= IF you know how you SHOULD get there then please tell me -//= there's OFFICIAL The Sign quest -//============================================================ - - -prontera,154,198,5 script Geovani 805,{ - mes "[Geovani]"; - mes "Hi there my friend,"; - mes "A while ago a very wise man taught me something."; - next; - mes "[Geovani]"; - mes "He taught me how to warp people"; - mes "And yesterday i finally mastered it!!"; - next; - mes "[Geovani]"; - mes "Want me to show you?"; - mes "I can warp you to Gefenia, the old ruins of the rebuild city, Geffen"; - next; - menu "Sure, Warp Me ;)",Mwarpme,"Nah, Don't Try It On me",-; - close; -Mwarpme: - warp "gefenia01", 40, 103; close; -} \ No newline at end of file diff --git a/npc/custom/healers/heal.txt b/npc/custom/healers/heal.txt index c271aa21a..50f54152f 100644 --- a/npc/custom/healers/heal.txt +++ b/npc/custom/healers/heal.txt @@ -3,38 +3,37 @@ //===== By: ================================================== //= Lotsa People (1.x) //===== Current Version: ===================================== -//= 3.0 +//= 3.1 //===== Compatible With: ===================================== //= eAthena 0.1+; //===== Description: ========================================= //= Healer NPC Which Heals For Free //===== Additional Comments: ================================= -//= 3.0 By massdriller, Changed and edited the script -//= added other warp points of maps. -//= 2.0 By Darkchild, Duplicates And Changed A Bit -//= you can replace this script file by heal_payment.txt -//= if you want that players have to pay their healings. +//= 2.0 Duplicates And Changed A Bit you can replace this script file by +//= heal_payment.txt if you want that players have to pay their healings. [Darkchild] +//= 3.0 Changed and edited the script added other warp points of maps. [massdriller] +//= 3.1 Optimized for the greater good. [Kisuka] //============================================================ prontera,150,184,5 script Healer#h1-1::Healer 742,{ - mes "[Healer]"; mes "I have amazing healing powers!!"; mes "You look like a person who needs them"; mes "Want some?"; next; - menu "Heal",-,"No thanks",CANCEL; - percentheal 100,100; + if (select("Heal:No thanks") == 2) { mes "[Healer]"; - mes "Wonderfull, You are now healed!."; - mes "Have fun adventuring!!"; + mes "Allright, come back if you need a heal."; close; - CANCEL: + } + percentheal 100,100; mes "[Healer]"; - mes "Allright, come back if you need a heal."; + mes "Wonderfull, You are now healed!."; + mes "Have fun adventuring!!"; close; } +// --------- NPC Clones --------- morocc,159,96,5 duplicate(Healer) Healer#h1-2 742 ayothaya,155,111,5 duplicate(Healer) Healer#h1-3 742 geffen,121,61,5 duplicate(Healer) Healer#h1-4 742 diff --git a/npc/custom/jobs/reset.txt b/npc/custom/jobs/reset.txt index 7f427f92f..64eaff29e 100644 --- a/npc/custom/jobs/reset.txt +++ b/npc/custom/jobs/reset.txt @@ -1,4 +1,17 @@ -//Reset NPC for Athena by Script&DB Team +//===== eAthena Script ======================================= +//= Reset NPC for Athena by Script & DB Team +//===== By: ================================================== +//= eAthena Team +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= Any eAthena Version +//===== Description: ========================================= +//= Resets skills, stats, or both. +//===== Additional Comments: ================================= +//= 1.0 First Version +//= 1.1 Optimized for the greater good. [Kisuka] +//============================================================ prontera,150,193,4 script Reset Girl 124,{ mes "[Reset Girl]"; mes "I am a Reset Girl."; @@ -7,34 +20,39 @@ prontera,150,193,4 script Reset Girl 124,{ mes "Reset Both: 9,000z"; mes "Please select the service you want:"; next; - menu "^FF3355Reset Skills",L0,"Reset Stats",L1,"Reset Both^000000",L2,"Quit",LEnd; - - L0: - mes "[Reset Girl]"; - if (Zeny < 5000) goto NeedZenys; - mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; - set Zeny,zeny-5000; - ResetSkill; - close; - L1: - mes "[Reset Girl]"; - if (Zeny < 5000) goto NeedZenys; - mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; - set Zeny,zeny-5000; - ResetStatus; - close; - L2: - mes "[Reset Girl]"; - if (Zeny < 9000) goto NeedZenys; - mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; - set Zeny,zeny-9000; - ResetSkill; - ResetStatus; - close; - - NeedZenys: - mes "Sorry, you don't have enough Zeny."; + switch(select("^FF3355Reset Skills:Reset Stats:Reset Both^000000:Quit")) { + case 1: + mes "[Reset Girl]"; + if (Zeny < 5000) { + mes "Sorry, you don't have enough Zeny."; + close; + } + mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; + set Zeny,zeny-5000; + ResetSkill; close; - LEnd: - close; + case 2: + mes "[Reset Girl]"; + if (Zeny < 5000) { + mes "Sorry, you don't have enough Zeny."; + close; + } + mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; + set Zeny,zeny-5000; + ResetStatus; + close; + case 3: + mes "[Reset Girl]"; + if (Zeny < 9000) { + mes "Sorry, you don't have enough Zeny."; + close; + } + mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; + set Zeny,zeny-9000; + ResetSkill; + ResetStatus; + close; + case 4: + close; + } } \ No newline at end of file diff --git a/npc/scripts_custom.conf b/npc/scripts_custom.conf index 4f07659c3..b44cd80f5 100644 --- a/npc/scripts_custom.conf +++ b/npc/scripts_custom.conf @@ -9,9 +9,6 @@ // Your scripts go here!! // -------------------------------------------------------------- // ----------------------- Basic Scripts ----------------------- -// -- Auctioneer - Use at own risk [Fredzilla] -// Warning: It dupe items. -//npc: npc/custom/Auctioneer.txt // -- Card Remover //npc: npc/custom/card_remover.txt // -- Write your name on your equipment/weapon (mini-quest) @@ -28,8 +25,6 @@ //npc: npc/custom/healers/heal_payment.txt // -- Black Jack //npc: npc/custom/blackjack.txt -// -- Gefenia -//npc: npc/custom/gefenia.txt // -- City and Dungeon Warper //npc: npc/custom/warper.txt // -- Stylist -- cgit v1.2.3-70-g09d2