diff options
Diffstat (limited to 'npc/merchants/gemstone.txt')
-rw-r--r-- | npc/merchants/gemstone.txt | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/npc/merchants/gemstone.txt b/npc/merchants/gemstone.txt new file mode 100644 index 000000000..854954c0a --- /dev/null +++ b/npc/merchants/gemstone.txt @@ -0,0 +1,116 @@ +//===== rAthena Script ======================================= +//= Gemstone Trader +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Trade various colors of gemstones for other color gemstones. +//===== Additional Comments: ================================= +//= 1.0 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] +//= Any notes pertaining to the prior trader may be found +//= in the cities/payon.txt +//= 1.1 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] +//= 1.2 Updated input with min/max values. [L0ne_W0lf] +//= Added a checkweight. +//= 1.3 Fixed checks. [Euphy] +//============================================================ + +payon,173,238,5 script Jade#pay 754,{ + if (checkweight(1201,1) == 0) { + mes "^3355FFWait a second! Right now, you're carrying too many items with you. Please come back after putting some of your things into Kafra Storage.^000000"; + close; + } + mes "[Jade]"; + mes "Bring me two"; + mes "Gemstones of the"; + mes "same color, and I will"; + mes "change them to Gemstones"; + mes "of a different color."; + next; + switch(select("Blue Gemstones into Red ones!:Red Gemstones into Yellow ones!:Yellow Gemstones into Blue ones!")) { + case 1: callsub S_TradeGems,717,716; + case 2: callsub S_TradeGems,716,715; + case 3: callsub S_TradeGems,715,717; + } + +S_TradeGems: + if (countitem(getarg(0)) < 2) { + mes "[Jade]"; + mes "Hah...!"; + mes "You're kidding me, right?"; + mes "I can't provide you with this"; + mes "service if you don't"; + mes "give me at least"; + mes "2 "+getitemname(getarg(0))+"s!"; + close; + } + else { + set .@gems,countitem(getarg(0))/2; + mes "[Jade]"; + mes "I believe I can create"; + mes "a total of " + .@gems + " " + getitemname(getarg(1)) + "s"; + mes "using the "+getitemname(getarg(0))+"s"; + mes "that you currently have."; + mes "What do you want to do?"; + next; + switch(select("Give me as many as you can.:I want to set the amount.:I quit.")) { + case 1: + delitem getarg(0),.@gems * 2; + getitem getarg(1),.@gems; + break; + case 2: + mes "[Jade]"; + mes "So how many"; + mes "do you want?"; + mes "The maximum number"; + mes "that you can enter is 100."; + next; + while(1) { + input .@input,0,101; + if (.@input == 0) { + mes "[Jade]"; + mes "None at all?"; + mes "I guess you"; + mes "changed your mind..."; + close; + } + else if (.@input > 100) { + mes "[Jade]"; + mes "Errm..."; + mes "I asked you to enter"; + mes "an amount no greater"; + mes "than 100, remember...?"; + next; + } + else if (.@gems < .@input) { + // Custom dialogue + mes "[Jade]"; + mes "Errm..."; + mes "You don't have that"; + mes "many gems to trade..."; + next; + } + else break; + } + delitem getarg(0),.@input * 2; + getitem getarg(1),.@input; + break; + case 3: + mes "[Jade]"; + mes "Sure, no problem."; + mes "Come back any time."; + close; + } + mes "[Jade]"; + mes "There you go."; + mes "Feel free to come"; + mes "back any time."; + mes "Hm, what's that look for?"; + mes "Is there something on my face?"; + close; + } +} |