summaryrefslogtreecommitdiff
path: root/npc/merchants
diff options
context:
space:
mode:
Diffstat (limited to 'npc/merchants')
-rw-r--r--npc/merchants/3rd_trader.txt634
1 files changed, 634 insertions, 0 deletions
diff --git a/npc/merchants/3rd_trader.txt b/npc/merchants/3rd_trader.txt
new file mode 100644
index 000000000..7d16b1a1a
--- /dev/null
+++ b/npc/merchants/3rd_trader.txt
@@ -0,0 +1,634 @@
+//===== eAthena Script =======================================
+//= 3rd Item Seller
+//===== By: ==================================================
+//= Masao
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Sells some 3rd Job related Items.
+//===== Additional Comments: =================================
+//= v1.0 First Version.
+//============================================================
+
+job3_guil01,79,96,3 script Poison Herb Salesman::phsale 877,{
+
+ if(checkweight(1201,1) == 0 || MaxWeight - Weight < 20000)
+ {
+ mes "- Wait a minute !! -";
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please try again -";
+ mes "- after you loose some weight. -";
+ close;
+ }
+
+ mes "[Poison Herb Salesman]";
+ mes "I am the professional";
+ mes "poison herb seller.";
+ mes "Which one do you want?";
+ mes "They cost 4,000 zeny each!";
+ next;
+ switch(select("Nerium:Rantana:Makulata:Seratum:Scopolia:Amoena:Poison Kit"))
+ {
+ case 1:
+ mes "[Poison Herb Salesman]";
+ mes "How many do you want? You can";
+ mes "only buy a maximum of 2000ea";
+ mes "and if you want to cancel, enter '0'.";
+ next;
+ input .@amount;
+ if(.@amount == 0)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "You've cancelled the trade.";
+ close;
+ }
+ else if(.@amount > 2000)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "Please check the maximum";
+ mes "amount and then try again.";
+ close;
+ }
+ else if(Zeny < .@amount * 4000)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "Please check the money you have,";
+ mes "It doesn't seem like you have enough money.";
+ close;
+ }
+ set Zeny,Zeny - .@amount * 4000;
+ getitem 7932,.@amount;
+ mes "[Poison Herb Salesman]";
+ mes "Thank you. See you~!";
+ close;
+ case 2:
+ mes "[Poison Herb Salesman]";
+ mes "How many do you want? You can";
+ mes "only buy a maximum of 2000ea";
+ mes "and if you want to cancel, enter '0'.";
+ next;
+ input .@amount;
+ if(.@amount == 0)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "You've cancelled the trade.";
+ close;
+ }
+ else if(.@amount > 2000)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "Please check the maximum";
+ mes "amount and then try again.";
+ close;
+ }
+ else if(Zeny < .@amount * 4000)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "Please check the money you have,";
+ mes "It doesn't seem like you have enough money.";
+ close;
+ }
+ set Zeny,Zeny - .@amount * 4000;
+ getitem 7933,.@amount;
+ mes "[Poison Herb Salesman]";
+ mes "Thank you. See you~!";
+ close;
+ case 3:
+ mes "[Poison Herb Salesman]";
+ mes "How many do you want? You can";
+ mes "only buy a maximum of 2000ea";
+ mes "and if you want to cancel, enter '0'.";
+ next;
+ input .@amount;
+ if(.@amount == 0)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "You've cancelled the trade.";
+ close;
+ }
+ else if(.@amount > 2000)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "Please check the maximum";
+ mes "amount and then try again.";
+ close;
+ }
+ else if(Zeny < .@amount * 4000)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "Please check the money you have,";
+ mes "It doesn't seem like you have enough money.";
+ close;
+ }
+ set Zeny,Zeny - .@amount * 4000;
+ getitem 7934,.@amount;
+ mes "[Poison Herb Salesman]";
+ mes "Thank you. See you~!";
+ close;
+ case 4:
+ mes "[Poison Herb Salesman]";
+ mes "How many do you want? You can";
+ mes "only buy a maximum of 2000ea";
+ mes "and if you want to cancel, enter '0'.";
+ next;
+ input .@amount;
+ if(.@amount == 0)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "You've cancelled the trade.";
+ close;
+ }
+ else if(.@amount > 2000)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "Please check the maximum";
+ mes "amount and then try again.";
+ close;
+ }
+ else if(Zeny < .@amount * 4000)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "Please check the money you have,";
+ mes "It doesn't seem like you have enough money.";
+ close;
+ }
+ set Zeny,Zeny - .@amount * 4000;
+ getitem 7935,.@amount;
+ mes "[Poison Herb Salesman]";
+ mes "Thank you. See you~!";
+ close;
+ case 5:
+ mes "[Poison Herb Salesman]";
+ mes "How many do you want? You can";
+ mes "only buy a maximum of 2000ea";
+ mes "and if you want to cancel, enter '0'.";
+ next;
+ input .@amount;
+ if(.@amount == 0)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "You've cancelled the trade.";
+ close;
+ }
+ else if(.@amount > 2000)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "Please check the maximum";
+ mes "amount and then try again.";
+ close;
+ }
+ else if(Zeny < .@amount * 4000)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "Please check the money you have,";
+ mes "It doesn't seem like you have enough money.";
+ close;
+ }
+ set Zeny,Zeny - .@amount * 4000;
+ getitem 7936,.@amount;
+ mes "[Poison Herb Salesman]";
+ mes "Thank you. See you~!";
+ close;
+ case 6:
+ mes "[Poison Herb Salesman]";
+ mes "How many do you want? You can";
+ mes "only buy a maximum of 2000ea";
+ mes "and if you want to cancel, enter '0'.";
+ next;
+ input .@amount;
+ if(.@amount == 0)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "You've cancelled the trade.";
+ close;
+ }
+ else if(.@amount > 2000)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "Please check the maximum";
+ mes "amount and then try again.";
+ close;
+ }
+ else if(Zeny < .@amount * 4000)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "Please check the money you have,";
+ mes "It doesn't seem like you have enough money.";
+ close;
+ }
+ set Zeny,Zeny - .@amount * 4000;
+ getitem 7937,.@amount;
+ mes "[Poison Herb Salesman]";
+ mes "Thank you. See you~!";
+ close;
+ case 7:
+ mes "[Poison Herb Salesman]";
+ mes "You can only buy";
+ mes "1 Poison Kit and it costs 5,000 zeny.";
+ mes "Will you buy it?";
+ next;
+ switch(select("Yes, I will.:No, I won't."))
+ {
+ case 1:
+ if(Zeny < 5000)
+ {
+ mes "[Poison Herb Salesman]";
+ mes "Please check the money you have.";
+ mes "It doesn't seem like you have enough money.";
+ close;
+ }
+ set Zeny,Zeny - 5000;
+ getitem 7931,1;
+ mes "[Poison Herb Salesman]";
+ mes "Thank you. See you~!";
+ close;
+ case 2:
+ mes "[Poison Herb Salesman]";
+ mes "Well, I see. See you~!";
+ close;
+ }
+ }
+}
+
+job3_rune01,90,62,3 script Rune Salesman::runesale 853,{
+
+ if(checkweight(1201,1) == 0 || MaxWeight - Weight < 20000)
+ {
+ mes "- Wait a minute !! -";
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please try again -";
+ mes "- after you loose some weight. -";
+ close;
+ }
+
+ mes "[Rune Salesman]";
+ mes "Hey, do you need Runes?!";
+ mes "I sell all kinds of Rune Stones!";
+ mes "What kind of Rune do you want?";
+ next;
+ switch(select("Buy high-quality Rune Stones.:Buy ordinary Rune Stones."))
+ {
+ case 1:
+ mes "[Rune Salesman]";
+ mes "High-quality Runes!";
+ mes "They cost 2,500 zeny each!";
+ mes "Tell me how many you want to buy";
+ mes "and remember, you can only";
+ mes "buy a maximum amount of 2000 ea!";
+ next;
+ input .@amount;
+ if(.@amount == 0)
+ {
+ mes "[Rune Salesman]";
+ mes "You're not buying? Go away!";
+ close;
+ }
+ else if(.@amount > 2000)
+ {
+ mes "[Rune Salesman]";
+ mes "Please check the maximum";
+ mes "amount and then come back to me again!";
+ close;
+ }
+ else if(Zeny < .@amount * 2500)
+ {
+ mes "[Rune Salesman]";
+ mes "Money! Money!";
+ mes "You are short of money!";
+ mes "Check the amount of money you have!!";
+ close;
+ }
+ set .@checkweight,.@amount * 100;
+ if (MaxWeight < .@checkweight)
+ {
+ mes "[Rune Salesman]";
+ mes "You're not able to carry it, so why are you trying to buy it?!";
+ close;
+ }
+ set Zeny,Zeny - .@amount * 2500;
+ getitem 12734,.@amount;
+ mes "[Rune Salesman]";
+ mes "You can buy more again.";
+ mes "So, see you later.";
+ close;
+ case 2:
+ mes "[Rune Salesman]";
+ mes "Ordinary Rune Stones?";
+ mes "They cost 1,000 zeny each!";
+ mes "Tell me how many you want to buy";
+ mes "and remember, you can only";
+ mes "buy a maximum amount of 2000 ea!";
+ next;
+ input .@amount;
+ if(.@amount == 0)
+ {
+ mes "[Rune Salesman]";
+ mes "You're not buying? Go away!";
+ close;
+ }
+ else if(.@amount > 2000)
+ {
+ mes "[Rune Salesman]";
+ mes "Please check the maximum";
+ mes "amount and then come back to me again!";
+ close;
+ }
+ else if(Zeny < .@amount * 1000)
+ {
+ mes "[Rune Salesman]";
+ mes "Money! Money!";
+ mes "You are short of money!";
+ mes "Check the amount of money you have!!";
+ close;
+ }
+ set .@checkweight,.@amount * 100;
+ if (MaxWeight < .@checkweight)
+ {
+ mes "[Rune Salesman]";
+ mes "You're not able to carry it, so why are you trying to buy it?!";
+ close;
+ }
+ set Zeny,Zeny - .@amount * 1000;
+ getitem 12737,.@amount;
+ mes "[Rune Salesman]";
+ mes "You can buy more again.";
+ mes "So, see you later.";
+ close;
+ }
+}
+
+job3_guil01,91,93,3 script Rare Herb Collector 49,{
+
+ if(checkweight(1201,1) == 0 || MaxWeight - Weight < 20000)
+ {
+ mes "- Wait a minute !! -";
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please try again -";
+ mes "- after you loose some weight. -";
+ close;
+ }
+
+ if (Class == 4059 || Class == 4065)
+ {
+ mes "[Rare Poison Herb Collector]";
+ mes "I wander around the world and collect rare poison herbs. Recently, I am dealing in the herb called Izidor. If you are interested, you can buy them.";
+ next;
+ switch(select("How can I buy them?:Exchange it with Animal Blood:Exchange it with a Bitter Herb:Exchange it with a Deadly Noxious Herb:Exchange it with a Frozen Rose:Exchange it with Ment:Exchange it with Hinalle"))
+ {
+ case 1:
+ mes "[Rare Poison Herb Collector]";
+ mes "You can buy any of those items for 10,000 zeny: Animal Blood, Bitter Herb, Deadly Noxious Herb, Frozen Rose, Ment or Hinalle. ";
+ next;
+ mes "[Rare Poison Herb Collector]";
+ mes "Why I ask for money? That is just to pay a little respect to a collector like me. Ha ha ha...";
+ close;
+ case 2:
+ if ((countitem(702) > 0) && (Zeny > 9999))
+ {
+ mes "[Rare Poison Herb Collector]";
+ mes "Thank you. I've received your payment.";
+ delitem 702,1;
+ set Zeny,Zeny - 10000;
+ getitem 709,1;
+ close;
+ }
+ mes "[Rare Poison Herb Collector]";
+ mes "Hey, try again after you've prepared all the requirements for the exchange.";
+ close;
+ case 3:
+ if ((countitem(621) > 0) && (Zeny > 9999))
+ {
+ mes "[Rare Poison Herb Collector]";
+ mes "Thank you. I've received your payment.";
+ delitem 621,1;
+ set Zeny,Zeny - 10000;
+ getitem 709,1;
+ close;
+ }
+ mes "[Rare Poison Herb Collector]";
+ mes "Hey, try again after you've prepared all the requirements for the exchange.";
+ close;
+ case 4:
+ if ((countitem(631) > 0) && (Zeny > 9999))
+ {
+ mes "[Rare Poison Herb Collector]";
+ mes "Thank you. I've received your payment.";
+ delitem 631,1;
+ set Zeny,Zeny - 10000;
+ getitem 709,1;
+ close;
+ }
+ mes "[Rare Poison Herb Collector]";
+ mes "Hey, try again after you've prepared all the requirements for the exchange.";
+ close;
+ case 5:
+ if ((countitem(749) > 0) && (Zeny > 9999))
+ {
+ mes "[Rare Poison Herb Collector]";
+ mes "Thank you. I've received your payment.";
+ delitem 749,1;
+ set Zeny,Zeny - 10000;
+ getitem 709,1;
+ close;
+ }
+ mes "[Rare Poison Herb Collector]";
+ mes "Hey, try again after you've prepared all the requirements for the exchange.";
+ close;
+ case 6:
+ if ((countitem(605) > 0) && (Zeny > 9999))
+ {
+ mes "[Rare Poison Herb Collector]";
+ mes "Thank you. I've received your payment.";
+ delitem 605,1;
+ set Zeny,Zeny - 10000;
+ getitem 709,1;
+ close;
+ }
+ mes "[Rare Poison Herb Collector]";
+ mes "Hey, try again after you've prepared all the requirements for the exchange.";
+ close;
+ case 7:
+ if ((countitem(703) > 0) && (Zeny > 9999))
+ {
+ mes "[Rare Poison Herb Collector]";
+ mes "Thank you. I've received your payment.";
+ delitem 703,1;
+ set Zeny,Zeny - 10000;
+ getitem 709,1;
+ close;
+ }
+ mes "[Rare Poison Herb Collector]";
+ mes "Hey, try again after you've prepared all the requirements for the exchange.";
+ close;
+ }
+ }
+ mes "[Rare Poison Herb Collector]";
+ mes "I wander around the world and collect rare poison herbs. But I don't feel like selling my herbs to a person like you... ha ha ha...";
+ close;
+}
+
+gef_tower,105,172,5 script Point Salesman#Sorcerer 700,{
+
+ if(checkweight(1201,1) == 0 || MaxWeight - Weight < 20000)
+ {
+ mes "- Wait a minute !! -";
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please try again -";
+ mes "- after you loose some weight. -";
+ close;
+ }
+
+ mes "[Point Salesman]";
+ mes "Hello. I'm selling a catalyst that are called ^FF0000Points^000000 for Sorcerers. What would you like?";
+ next;
+ switch(select("Scarlet Points - 200z:Lime Green Points - 200z:Indigo Points - 200z:Yellow Wish Points - 200z:Cancel"))
+ {
+ case 1:
+ mes "[Point Salesman]";
+ mes "You have chosen Scarlet Points.";
+ mes "How many do you want?";
+ mes "If you want to cancel, enter 0.";
+ next;
+ input .@amount;
+ if (.@amount == 0)
+ {
+ mes "[Point Salesman]";
+ mes "You've cancelled the trade.";
+ close;
+ }
+ set .@po_weight,.@amount * 10;
+ set .@tt_weight,MaxWeight - .@po_weight;
+ set .@po_money,.@amount * 200;
+ if (.@tt_weight > 0)
+ {
+ if (Zeny >= .@po_money)
+ {
+ set Zeny,Zeny - .@po_money;
+ getitem 6360,.@amount;
+ mes "[Point Salesman]";
+ mes "Thank you very much. See you~!";
+ close;
+ }
+ mes "[Point Salesman]";
+ mes "You don't seem to have enough money.";
+ close;
+ }
+ mes "[Point Salesman]";
+ mes "You don't have enough space in your inventory to buy this amount.";
+ close;
+ case 2:
+ mes "[Point Salesman]";
+ mes "You have chosen Lime Green Points.";
+ mes "How many do you want?";
+ mes "If you want to cancel, enter 0.";
+ next;
+ input .@amount;
+ if (.@amount == 0)
+ {
+ mes "[Point Salesman]";
+ mes "You've cancelled the trade.";
+ close;
+ }
+ set .@po_weight,.@amount * 10;
+ set .@tt_weight,MaxWeight - .@po_weight;
+ set .@po_money,.@amount * 200;
+ if (.@tt_weight > 0)
+ {
+ if (Zeny >= .@po_money)
+ {
+ set Zeny,Zeny - .@po_money;
+ getitem 6363,.@amount;
+ mes "[Point Salesman]";
+ mes "Thank you very much. See you~!";
+ close;
+ }
+ mes "[Point Salesman]";
+ mes "You don't seem to have enough money.";
+ close;
+ }
+ mes "[Point Salesman]";
+ mes "You don't have enough space in your inventory to buy this amount.";
+ close;
+ case 3:
+ mes "[Point Salesman]";
+ mes "You have chosen Indigo Points.";
+ mes "How many do you want?";
+ mes "If you want to cancel, enter 0.";
+ next;
+ input .@amount;
+ if (.@amount == 0)
+ {
+ mes "[Point Salesman]";
+ mes "You've cancelled the trade.";
+ close;
+ }
+ set .@po_weight,.@amount * 10;
+ set .@tt_weight,MaxWeight - .@po_weight;
+ set .@po_money,.@amount * 200;
+ if (.@tt_weight > 0)
+ {
+ if (Zeny >= .@po_money)
+ {
+ set Zeny,Zeny - .@po_money;
+ getitem 6361,.@amount;
+ mes "[Point Salesman]";
+ mes "Thank you very much. See you~!";
+ close;
+ }
+ mes "[Point Salesman]";
+ mes "You don't seem to have enough money.";
+ close;
+ }
+ mes "[Point Salesman]";
+ mes "You don't have enough space in your inventory to buy this amount.";
+ close;
+ case 4:
+ mes "[Point Salesman]";
+ mes "You have chosen Yellow Wish Points.";
+ mes "How many do you want?";
+ mes "If you want to cancel, enter 0.";
+ next;
+ input .@amount;
+ if (.@amount == 0)
+ {
+ mes "[Point Salesman]";
+ mes "You've cancelled the trade.";
+ close;
+ }
+ set .@po_weight,.@amount * 10;
+ set .@tt_weight,MaxWeight - .@po_weight;
+ set .@po_money,.@amount * 200;
+ if (.@tt_weight > 0)
+ {
+ if (Zeny >= .@po_money)
+ {
+ set Zeny,Zeny - .@po_money;
+ getitem 6362,.@amount;
+ mes "[Point Salesman]";
+ mes "Thank you very much. See you~!";
+ close;
+ }
+ mes "[Point Salesman]";
+ mes "You don't seem to have enough money.";
+ close;
+ }
+ mes "[Point Salesman]";
+ mes "You don't have enough space in your inventory to buy this amount.";
+ close;
+ case 5:
+ mes "[Point Salesman]";
+ mes "You can't find the stuff you need?";
+ close;
+ }
+}
+
+morocc,190,96,4 duplicate(phsale) Poison Herb Salesman#1 877
+lhz_in02,16,205,4 duplicate(phsale) Poison Herb Salesman#2 877
+prontera,168,228,3 duplicate(runesale) Rune Salesman#1 853 \ No newline at end of file