Jump to content

noobonly

Members
  • Content Count

    3
  • Joined

  • Last visited

Posts posted by noobonly


  1. Hi I looked at this script but it only allows one type of coin per payment is it possible to allow 3-5 kinds of coins per shop?

     

    
    //===== eAthena Script =======================================
    //= Custom-Currency Multi-Shop
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.2
    //===== Description: =========================================
    //= Allows for better organization in a single shop call.
    //= Note that there are two configuration areas.
    //============================================================
    
    // -------------------- Config 1 --------------------
    // For each shop added, copy this MSHOPX dummy data.
    // Write your shop names in the select() function.
    
    -    shop    MSHOP1    -1,512:-1
    -    shop    MSHOP2    -1,512:-1
    -    shop    MSHOP3    -1,512:-1
    -    shop    MSHOP4    -1,512:-1
    -    shop    MSHOP5    -1,512:-1
    -    shop    MSHOP6    -1,512:-1
    -    shop    MSHOP7    -1,512:-1
    -    shop    MSHOP8    -1,512:-1
    
    prontera,163,174,4    script    A Shop    984,{
    
        set @s, select("Weapons:Headgears:Armors:Garments:Shoes:Shields:Cards:Misc");
    
    // --------------------------------------------------
    
        message strcharinfo(0),"This shop only accepts "+getitemname(.Currency[@s])+".";
        dispbottom "You have "+countitem(.Currency[@s])+" "+getitemname(.Currency[@s])+".";
        callshop "MSHOP"+@s,1;
        npcshopattach "MSHOP"+@s;
        end;
    
    OnBuyItem:
        set .@i,0;
        while (.@i < getarraysize(@bought_nameid)) {
            set .@j, 0;
            while (.@j < getarraysize(getd(".Shop"+@s))) {
                if(getd(".Shop"+@s+"["+.@j+"]") == @bought_nameid[.@i]) {
                    set @itemcost, (getd(".Shop"+@s+"["+(.@j+1)+"]") * @bought_quantity[.@i]);
                    set @totalcost, @totalcost + @itemcost;
                    break; }
                set .@j, .@j+2; }
            set .@i, .@i+1; }
        if (@totalcost > countitem(.Currency[@s])) dispbottom "You don't have enough "+getitemname(.Currency[@s])+".";
        else {
            set .@i,0;
            while (.@i < getarraysize(@bought_nameid)) {
                getitem @bought_nameid[.@i], @bought_quantity[.@i];
                dispbottom "Purchased "+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+".";
                set .@i, .@i+1; }
            delitem .Currency[@s], @totalcost; }
        set @totalcost, 0;
        deletearray @bought_nameid[0], 128;
        deletearray @bought_quantity[0], 128;
        end;
    
    OnInit:
    
    // -------------------- Config 2 --------------------
    // Currency:  The ID of each shop currency,
    //    in the same order as the shops.
    // Shop order follows that of the select() call,
    //   and is formatted "ID1,Count1,ID2,Count2,..."
    
        setarray .Currency[1],513,513,513,513,513,513,513,513;
        setarray .Shop1[0],1202,5,1229,20;
        setarray .Shop2[0],5116,15;
        setarray .Shop3[0],2302,2,2348,30;
        setarray .Shop4[0],2502,2,2513,15,2523,15;
        setarray .Shop5[0],2441,15;
        setarray .Shop6[0],2199,32768;
        setarray .Shop7[0],4051,3,4285,6;
        setarray .Shop8[0],513,1,532,2,634,4;
    
    // --------------------------------------------------
    
        set .@i,1;
        while (.@i <= getarraysize(.Currency)) {
            set .@j,0;
            while (.@j < getarraysize(getd(".Shop"+.@i))) {
                npcshopdelitem "MSHOP"+.@i,512;
                npcshopadditem "MSHOP"+.@i, getd(".Shop"+.@i+"["+.@j+"]"), getd(".Shop"+.@i+"["+(.@j+1)+"]");
                set .@j, .@j+2; }
            set .@i, .@i+1; }
        end;
    }
    
    

×
×
  • Create New...

Important Information

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