viewing paste Ticket Trader v2.1 Uses Inv & Eq | Athena

Posted on the | Last edited on
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
//Skorm 12-10-2016 v2.1
//Uses items from the inventory/equip instead of just equip.
prontera,184,177,5      script  Ticket Trader   851,{
        mes "[^FF0000Ticket Trader^000000]";
        mes "I trade weapons and armours with specific refines for ^0000FFRefine Tickets^000000.";
        next;
        mes "[^FF0000Ticket Trader^000000]";
        mes "Which equipment would you like me to convert into a ^0000FFRefine Ticket^000000?";
       
        getinventorylist;
       
        .@inv_len = @inventorylist_count;
        copyarray .@inv_list_id[0], @inventorylist_id[0], .@inv_len;
        copyarray .@inv_list_amt[0], @inventorylist_amount[0], .@inv_len;
        copyarray .@inv_list_equ[0], @inventorylist_equip[0], .@inv_len;
        copyarray .@inv_list_ref[0], @inventorylist_refine[0], .@inv_len;
        copyarray .@inv_list_atr[0], @inventorylist_attribute[0], .@inv_len;
        copyarray .@inv_list_cd1[0], @inventorylist_card1[0], .@inv_len;
        copyarray .@inv_list_cd2[0], @inventorylist_card2[0], .@inv_len;
        copyarray .@inv_list_cd3[0], @inventorylist_card3[0], .@inv_len;
        copyarray .@inv_list_cd4[0], @inventorylist_card4[0], .@inv_len;
       
        for( .@a = 0; .@a < .@inv_len; .@a++ ) {
                if( .@inv_list_id[.@a] && compare(.allow_list$,","+.@inv_list_id[.@a]+",") )
                        set .@menu$, .@menu$+"^0000FF"+getitemname(.@inv_list_id[.@a])+(.@inv_list_ref[.@a]?" +"+.@inv_list_ref[.@a]:"")+"^000000:";
                else {
                        set .@menu$, .@menu$+":";
                        .@len++;
                }
        }
       
        next;
       
        if( countstr(.@menu$, ":") >= getstrlen(.@menu$) ) {
                mes "[^FF0000Ticket Trader^000000]";
                mes "It doesn't look like anything you have equipped can be converted sorry.";
                close;
        }
       
        select(.@menu$);
        set .@eq_loc, @menu-1;
        set .@eq_itm, .@inv_list_id[.@eq_loc];
        set .@eg_rfn, .@inv_list_ref[.@eq_loc];
        if( .@eq_itm < 0 ) {
                mes "[^FF0000Ticket Trader^000000]";
                mes "Hmm, I don't think you have anything equipped there.";
                close;
        }
       
        .@ticket = getiteminfo(.@eq_itm,2) == 5 ? .weap_t_list[.@eg_rfn] : .armo_t_list[.@eg_rfn];
       
        if( .@eg_rfn < .uprange || .@eg_rfn > .uprange[1] ) {
                mes "[^FF0000Ticket Trader^000000]";
                mes "Sorry but I only convert items refined between +"+.uprange+" and +"+.uprange[1]+".";
                close;
        } else if( !.@ticket ) {
                mes "[^FF0000Ticket Trader^000000]";
                mes "I don't seem to have a ticket for +"+.@eg_rfn+" refine.";
                close;
        }
       
        mes "[^FF0000Ticket Trader^000000]";
        mes "^800000"+getitemname(.@eq_itm)+" will be changed into ^0000FF"+getitemname(.@ticket)+"^000000.";
        mes "Are you sure?";
        next;
        if( select("No:Yes") == 1 ) {
                mes "[^FF0000Ticket Trader^000000]";
                mes "Oh!- Well that was a close one then.";
                close;
        }
       
        delitem2 .@eq_itm, .@inv_list_amt[.@eq_loc], 1, .@eg_rfn, .@inv_list_atr[.@eq_loc], .@inv_list_cd1[.@eq_loc], .@inv_list_cd2[.@eq_loc], .@inv_list_cd3[.@eq_loc], .@inv_list_cd4[.@eq_loc];
        getitem(.@ticket,1);
       
        mes "[^FF0000Ticket Trader^000000]";
        mes "Have a nice day!";
        close;
       
        OnInit:
                setarray .uprange, 7, 12;
                setarray .armo_t_list[.uprange],6235,6234,6233,6232,   0,6239;
                setarray .weap_t_list[.uprange],6231,6230,6229,6228,   0,6238;
                .allow_list$ = ",1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,2302,2304,2306,2308,2310,2311,2313,2315,2317,2318,2319,";
}
Viewed 941 times, submitted by Skorm.