summaryrefslogtreecommitdiff
path: root/npc/001-1/trader.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/001-1/trader.txt')
-rw-r--r--npc/001-1/trader.txt172
1 files changed, 172 insertions, 0 deletions
diff --git a/npc/001-1/trader.txt b/npc/001-1/trader.txt
new file mode 100644
index 00000000..b99a0250
--- /dev/null
+++ b/npc/001-1/trader.txt
@@ -0,0 +1,172 @@
+// Teaches Trading skill
+// Offers item conversion for non-magic users
+// Updated by: TheKandiman
+// Reviewed by: Wombat
+
+001-1.gat,57,33,0 script Trader 115,{
+ set @TRADE_SKILL, 2;
+ set @Ironprice, 1000;
+ set @Sulphurprice, 1200;
+ set @Potionprice, 500;
+ if ((getskilllv(@TRADE_SKILL) > 0)
+ && baselevel >= 25)
+ goto L_Trade;
+ if (getskilllv(@TRADE_SKILL) > 0) goto L_Later;
+
+ mes "[Trader]";
+ mes "\"Hello. I came here to trade wares with the people of Tulimshar. Unfortunately for you, I've traded everything I had.\"";
+ next;
+ menu
+ "Oh. I'll go then.", -,
+ "You don't have anything?", L_More;
+ close;
+
+L_More:
+ mes "[Trader]";
+ mes "\"No. I have nothing for you. Except...\"";
+ next;
+ menu
+ "Yes?", L_Except,
+ "Ok then.", -;
+ close;
+
+L_Except:
+ mes "[Trader]";
+ mes "\"I could teach you how to trade. It'll cost you 5GP.\"";
+ next;
+ menu
+ "Sure.", L_Teach,
+ "No thank you.", -;
+ close;
+
+L_Teach:
+ if (zeny < 5) goto L_NotEnoughMoney;
+ set zeny, zeny - 5;
+ setskill @TRADE_SKILL, 1;
+ 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.\"";
+ 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 Potion]s.", L_Healpots,
+ "I think I have everything I need, thanks.", -;
+ close;
+
+L_Iron:
+ mes "[Trader]";
+ mes "\"I do have a few of those. I will give you 4 [Iron Powder]s for 1 [Iron Ore] and " + @Ironprice + "gp.\"";
+ menu
+ "Sure.", L_Ipowder,
+ "What a ripoff! No way!", -;
+ close;
+
+L_Sulphur:
+ mes "[Trader]";
+ mes "\"I can trade you 5 [Sulphur Powder]s for 1 [Pile Of Ash] and " + @Sulphurprice + "gp.\"";
+ menu
+ "Here you go.", L_Spowder,
+ "Are you nuts?! Forget it!", -;
+ 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 Potion]s and " + @Potionprice + "gp.\"";
+ menu
+ "Alright.", L_Pots,
+ "Whoa, that's way too much.", -;
+ 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;
+ set 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;
+ close;
+
+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;
+ set zeny, zeny - @Sulphurprice;
+ getitem "SulphurPowder", 5;
+ mes "[Trader]";
+ mes "\"There you go. Would you like to trade anything else?\"";
+ menu
+ "Yes.", L_Trademenu,
+ "No.", L_No;
+ close;
+
+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;
+ set 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;
+ close;
+
+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.\"";
+ close;
+
+L_Missing:
+ mes "[Trader]";
+ mes "\"It looks like you're missing some items. Please come back when you have enough to trade.\"";
+ close;
+
+L_NotEnoughMoney:
+ mes "[Trader]";
+ mes "\"You don't have enough money.\"";
+ close;
+
+L_No:
+ mes "[Trader]";
+ mes "\"Have a great day!\"";
+ close;
+}