009-2,29,98,0 script Trader NPC115,{
@ironprice = 1000;
@Sulphurprice = 1200;
@Potionprice = 500;
if (BaseLevel >= 25) goto L_Trade;
mes "[Trader]";
mes "\"Hello. I came here to trade wares with the people of Hurnscald. Unfortunately for you, I've traded everything I had.\"";
next;
menu
"Oh. I'll go then.", L_close,
"You don't have anything?", L_More;
L_More:
mes "[Trader]";
mes "\"No. I have nothing for you. Except...\"";
next;
menu
"Yes?", L_Except,
"Ok then.", L_close;
L_Except:
mes "[Trader]";
mes "\"I could teach you how to trade. It'll cost you 2GP.\"";
next;
menu
"Sure.", L_Teach,
"No thank you.", L_close;
L_Teach:
if (Zeny < 2) goto L_NotEnoughMoney;
Zeny = Zeny - 2;
mes "[Trader]";
mes "\"You can initiate trade with someone by right-clicking on them and choosing trade.";
mes "You'll both add the items and set the GP you're putting up then press propose trade.";
mes "After both parties have proposed their side, you can both review the trade, and then accept or reject by closing the window.\"";
next;
mes "[Trader]";
mes "\"Items added to the trade cannot be removed, and so mistakes have to be dealt with by canceling the trade.";
mes "You need to press the change button to let the other person know about GP changes.\"";
next;
goto L_Later;
L_Later:
mes "[Trader]";
mes "\"Please feel free to check back later. I'm expecting a large shipment of goods to trade.\"";
goto L_close;
L_Trade:
mes "[Trader]";
mes "\"Welcome back! My shipment came in and I have a bunch of things that I can trade now. What would you like?\"";
goto L_Trademenu;
L_Trademenu:
menu
"Do you have Iron Powder?", L_Iron,
"How about Sulphur Powder?", L_Sulphur,
"I need Medium Healing Potions.", L_Healpots,
"I think I have everything I need, thanks.", L_close;
L_Iron:
mes "[Trader]";
mes "\"I do have a few of those. I will give you 4 Iron Powders for 1 Iron Ore and " + @ironprice + "gp.\"";
menu
"Sure.", L_Ipowder,
"What a ripoff! No way!", L_close;
L_Sulphur:
mes "[Trader]";
mesq l("I can trade you %d %ss for %d %s and %d GP.",
20, getitemlink(SulphurPowder),
1, getitemlink(PileOfAsh),
@Sulphurprice);
menu
"Here you go.", L_Spowder,
"Are you nuts?! Forget it!", L_close;
L_Healpots:
mes "[Trader]";
mes "\"Healing potions are always useful, but I rarely need anything larger than the small ones. I will happily trade you 1 Medium Healing Potion for 3 Small Healing Potions and " + @Potionprice + "gp.\"";
menu
"Alright.", L_Pots,
"Whoa, that's way too much.", L_close;
L_Ipowder:
if (countitem("IronOre") < 1) goto L_Missing;
if (Zeny < @ironprice) goto L_NotEnoughMoney;
getinventorylist;
if (@inventorylist_count == 100 && countitem("IronOre") > 1 && countitem("IronPowder") < 1) goto L_Full;
delitem "IronOre", 1;
Zeny = Zeny - @ironprice;
getitem "IronPowder", 4;
mes "[Trader]";
mes "\"There you go. Would you like to trade anything else?\"";
menu
"Yes.", L_Trademenu,
"No.", L_No;
L_Spowder:
if (countitem("PileOfAsh") < 1) goto L_Missing;
if (Zeny < @Sulphurprice) goto L_NotEnoughMoney;
getinventorylist;
if (@inventorylist_count == 100 && countitem("PileOfAsh") > 1 && countitem("SulphurPowder") < 1) goto L_Full;
delitem "PileOfAsh", 1;
Zeny = Zeny - @Sulphurprice;
getitem "SulphurPowder", 20;
mes "[Trader]";
mes "\"There you go. Would you like to trade anything else?\"";
menu
"Yes.", L_Trademenu,
"No.", L_No;
L_Pots:
if (countitem("SmallHealingPotion") < 3) goto L_Missing;
if (Zeny < @Potionprice) goto L_NotEnoughMoney;
getinventorylist;
if (@inventorylist_count == 100 && countitem("SmallHealingPotion") > 3 && countitem("MediumHealingPotion") < 1) goto L_Full;
delitem "SmallHealingPotion", 3;
Zeny = Zeny - @Potionprice;
getitem "MediumHealingPotion", 1;
mes "[Trader]";
mes "\"There you go. Would you like to trade anything else?\"";
menu
"Yes.", L_Trademenu,
"No.", L_No;
L_Full:
mes "[Trader]";
mes "\"You must have been making a lot of trades...your bag is completely full! Come back after you've made some room.\"";
goto L_close;
L_Missing:
mes "[Trader]";
mes "\"It looks like you're missing some items. Please come back when you have enough to trade.\"";
goto L_close;
L_NotEnoughMoney:
mes "[Trader]";
mes "\"You don't have enough money.\"";
goto L_close;
L_No:
mes "[Trader]";
mes "\"Have a great day!\"";
goto L_close;
L_close:
@ironprice = 0;
@Sulphurprice = 0;
@Potionprice = 0;
close;
}