From 3d22fef9ff923950bc07af734ba32da65ce409c9 Mon Sep 17 00:00:00 2001 From: masao87 Date: Fri, 23 Dec 2011 01:55:20 +0000 Subject: - Added first Version of Mechanic Job change Quest and 3rd_trader which sells 3rd Job related Items. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15220 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/merchants/3rd_trader.txt | 634 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 634 insertions(+) create mode 100644 npc/merchants/3rd_trader.txt (limited to 'npc/merchants') 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 -- cgit v1.2.3-70-g09d2