123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- //===== rAthena Script =======================================
- //= Gemstone Trader
- //===== By: ==================================================
- //= L0ne_W0lf
- //===== Current Version: =====================================
- //= 1.3
- //===== Compatible With: =====================================
- //= rAthena Project
- //===== Description: =========================================
- //= [Official 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:
- .@item_req = getarg(0);
- .@item_id = getarg(1);
- if (countitem(.@item_req) < 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(.@item_req) +"s!";
- close;
- }
- else {
- .@gems = countitem(.@item_req) /2;
- mes "[Jade]";
- mes "I believe I can create";
- mes "a total of "+ .@gems +" "+ getitemname(.@item_id) +"s";
- mes "using the "+ getitemname(.@item_req) +"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 .@item_req,.@gems * 2;
- getitem .@item_id,.@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 .@item_req,.@input * 2;
- getitem .@item_id,.@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;
- }
- }
|