Jump to content
  • 0
hoolbast

I Can Not Change Item And Point Item Trader

Question

I Want Change Item And Point 

morocc,132,98,5    script    Bring Shopping    122,{
    mes "[Item Trader]";
    mes "Hi, "+strcharinfo(0)+"!";
    mes "What can I do for you?";
    next;
    switch(select(" > Information: > Trade in Items: > Point shop (^0055FF"+getd(.Points$)+"^000000): > Leave")) {
    case 1:
        mes "[Item Trader]";
        mes "Do you find that you've got";
        mes "useless Items lying around?";
        mes "I'll be glad to take them off";
        mes "your hands!";
        next;
        mes "[Item Trader]";
        mes "I'll give you ^0055FF"+.Points[0]+" Point"+((.Points[0] == 1)?"":"s")+"^000000 for normal Item each"; 
        mes "Item you give me, and";
        mes "^0055FF"+.Points[1]+" Points^000000 for Items.";
        mes "You can trade those points";
        mes "for items later on.";
        mes "How does that sound?";
        emotion ET_MONEY;
        close;
    case 2:
        mes "[Item Trader]";
        mes "Select the Items you";
        mes "want to trade in.";
        if (.Level) {
            mes " ";
            mes "They must be dropped";
            mes "by monsters of level";
            mes .Level+" and above.";
        }
        deletearray @sold_nameid[0],getarraysize(@sold_nameid);
        callshop "item_shopp",2;
        npcshopattach "item_shopp";
        end;
    case 3:
        mes "[Item Trader]";
        mes "You have ^0055FF"+getd(.Points$)+"^000000 Point"+((getd(.Points$) == 1)?".":"s.");
        callshop "item_shopp",1;
        npcshopattach "item_shopp";
        end;
    case 4:
        mes "[Item Trader]";
        mes "*yawn*";
        mes "See you later!";
        emotion ET_SLEEPY;
        close;        
    }

OnSellItem:
    mes "Items to sell:";
    mes "-----------------------------------";
    for(set [email protected],0; [email protected]<getarraysize(@sold_nameid); set [email protected]i,[email protected]i+1)
        if (@sold_nameid[[email protected]i] > 4000 && @sold_nameid[[email protected]] < 4700) {
            if (.Level) {
                query_sql("SELECT `LV` FROM `mob_db` WHERE `DropItemid` = "[email protected]_nameid[[email protected]],[email protected]);
                if ([email protected] < .Level) {
                    dispbottom getitemname(@sold_nameid[[email protected]])+" is under the minimum level.";
                    continue;
                }
            }
            set [email protected]_id[getarraysize([email protected]_id)], @sold_nameid[[email protected]];
            set [email protected]_amt[getarraysize([email protected]_amt)], @sold_quantity[[email protected]];
            set [email protected], compare(.ITEM$,""[email protected]_nameid[[email protected]]);
            mes (([email protected])?"  ^FF0000":"  ^777777")[email protected]_quantity[[email protected]]+"x "+getitemname(@sold_nameid[[email protected]])+"^000000";
            set [email protected]_total, [email protected]_total+(@sold_quantity[[email protected]]*(([email protected])?.Points[1]:.Points[0]));
        }
    deletearray @sold_nameid[0], getarraysize(@sold_nameid);
    deletearray @sold_quantity[0], getarraysize(@sold_quantity);
    if ([email protected]_id) {
        mes "  ^777777(none)^000000";
        emotion ET_SWEAT;
        close;
    }
    mes " ";
    mes "---------- Total: ^0055FF"[email protected]_total+" pt.^000000 -------";
    next;
    if(select(" > ^0055FFComplete trade...^000000: > ^777777Cancel^000000") == 2) {
        mes "[Item Trader]";
        mes "Oh, okay...";
        emotion ET_SCRATCH;
        close;
    }
    for(set [email protected],0; [email protected]<getarraysize([email protected]_id); set [email protected],[email protected]+1)
        delitem [email protected]_id[[email protected]],[email protected]_amt[[email protected]];
    setd .Points$, getd(.Points$)[email protected]_total;
    mes "[Item Trader]";
    mes "All done!";
    emotion ET_DELIGHT;
    close;

OnBuyItem:
    for(set [email protected],0; [email protected]<getarraysize(@bought_nameid); set [email protected],[email protected]+1)
        for(set [email protected],0; [email protected]<getarraysize(.Shop); set [email protected]j,[email protected]j+2)
            if (@bought_nameid[[email protected]i] == .Shop[[email protected]j]) {
                set [email protected]cost, [email protected]cost+(.Shop[[email protected]j+1]*@bought_quantity[[email protected]i]);
                break;
            }
    if ([email protected]cost > getd(.Points$)) {
        mes "[Item Trader]";
        mes "You don't have enough Points.";
        emotion ET_HUK;
    }
    else {
        mes "Items purchased:";
        mes "-----------------------------------";
        for(set [email protected],0; [email protected]<getarraysize(@bought_nameid); set [email protected],[email protected]+1) {
            getitem @bought_nameid[[email protected]], @bought_quantity[[email protected]];
            mes "  ^777777"[email protected]_quantity[[email protected]]+"x "+getitemname(@bought_nameid[[email protected]])+"^000000";
        }
        mes " ";
        mes "---------- Total: ^0055FF"[email protected]+" pt.^000000 -------";
        setd .Points$, getd(.Points$)[email protected];
        emotion ET_MONEY;
    }
    deletearray @bought_nameid[0], getarraysize(@bought_nameid);
    deletearray @bought_quantity[0], getarraysize(@bought_quantity);
    close;

OnInit:
    //waitingroom "Item Trader",0;
    set .Level,0;           // Minimum monster level to trade corresponding Items.  
    set .Points$,"#Item_Points";    // Variable to store points.
    setarray .Shop[0],        // Item Shop items: <ID>,<point cost>
    512,10; 
    setarray .Points[0],1,1,1,1;    // Points per <normal Item>,<Item> 
    set .ITEM$,            // List of Items.
    "2504,2311"+
    "2403,2103";

    
    npcshopdelitem "item_shopp",909;
    for(set [email protected],0; [email protected]<getarraysize(.Shop); set [email protected],[email protected]+2)
        npcshopadditem "item_shopp",.Shop[[email protected]],.Shop[[email protected]+1];
    end;
}
-    shop    item_shopp    -1,909:-1

 

Edited by Emistry
codebox
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Please use CODE BOX next time.

You can change it here:

OnInit:
    //waitingroom "Item Trader",0;
    set .Level,0;           // Minimum monster level to trade corresponding Items.  
    set .Points$,"#Item_Points";    // Variable to store points.
    setarray .Shop[0],        // Item Shop items: <ID>,<point cost>
    512,10; 
    setarray .Points[0],1,1,1,1;    // Points per <normal Item>,<Item> 
    set .ITEM$,            // List of Items.
    "2504,2311"+
    "2403,2103"; 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.