From 4a96a8bf6962c3a389e2b3d2ce40ea9b4be7a905 Mon Sep 17 00:00:00 2001 From: TheKandiman Date: Sun, 27 Feb 2011 15:02:02 -0500 Subject: Trader in Tulim now offers item conversion for non-magic players --- npc/001-1_Tulimshar/trader.txt | 130 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 123 insertions(+), 7 deletions(-) diff --git a/npc/001-1_Tulimshar/trader.txt b/npc/001-1_Tulimshar/trader.txt index e9cea442..b99a0250 100644 --- a/npc/001-1_Tulimshar/trader.txt +++ b/npc/001-1_Tulimshar/trader.txt @@ -1,8 +1,17 @@ -// +// 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; - if (getskilllv(@TRADE_SKILL) > 0) goto L_Has; + 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.\""; @@ -26,8 +35,8 @@ L_Except: mes "\"I could teach you how to trade. It'll cost you 5GP.\""; next; menu - "Sure", L_Teach, - "No thank you", -; + "Sure.", L_Teach, + "No thank you.", -; close; L_Teach: @@ -42,15 +51,122 @@ L_Teach: 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_Has: +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 "\"I still don't have anything to trade. I wonder where that shipment is....\""; + 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 GP\""; + mes "\"You don't have enough money.\""; + close; + +L_No: + mes "[Trader]"; + mes "\"Have a great day!\""; close; } -- cgit v1.2.3-60-g2f50