summaryrefslogblamecommitdiff
path: root/world/map/npc/001-1/trader.txt
blob: cf2854ef86d64dc454811e3c028e4e75387ca043 (plain) (tree)
1
2
3
4
5
6
7
8
9
10



                                             
 

                                    


                            

                                                                       






                                                                                                                                   
                 

       





                                                    
                 

         





                                                                   
                 

        

                                        
                            









                                                                                                                                         

        

                                                                                                       
                 

        


                                                                                                                          

            




                                                       
                 

       




                                                                                                                 
                 

          




                                                                                               
                 

           




                                                                                                                                                                                                                  
                 

          
                                                 
                                                 


                                                                                                            
                                





                                                                    
                 
 
          
                                                   
                                                    


                                                                                                                 
                                   





                                                                    
                 

       
                                                            
                                                   


                                                                                                                                
                                  





                                                                    
                 

       

                                                                                                                               
                 

          

                                                                                                        
                 

                 

                                           
                 

     

                                


                 


                         
          
 
// 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 @Ironprice, 1000;
    set @Sulphurprice, 1200;
    set @Potionprice, 500;
    if ((getskilllv(SKILL_TRADE) > 0) && BaseLevel >= 25) goto L_Trade;
    if (getskilllv(SKILL_TRADE) > 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;
    goto L_Close;

L_More:
    mes "[Trader]";
    mes "\"No. I have nothing for you. Except...\"";
    next;
    menu
        "Yes?", L_Except,
        "Ok then.",  -;
    goto L_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.", -;
    goto L_Close;

L_Teach:
    if (Zeny < 5) goto L_NotEnoughMoney;
    set Zeny, Zeny - 5;
    setskill SKILL_TRADE, 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.\"";
    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.", -;
    goto 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!", -;
    goto L_Close;

L_Sulphur:
    mes "[Trader]";
    mes "\"I can trade you 5 Sulphur Powders for 1 Pile of Ash and " + @Sulphurprice + "gp.\"";
    menu
        "Here you go.", L_Spowder,
        "Are you nuts?! Forget it!", -;
    goto 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.", -;
    goto 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;
    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;
    goto L_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;
    goto L_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;
    goto L_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.\"";
    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:
    set @Ironprice, 0;
    set @Sulphurprice, 0;
    set @Potionprice, 0;
    close;
}