Emistry icon

[RO] Count Item in Account

Emistry | PRO | 04/23/19 08:42:27 AM UTC | 0 ⭐ | 829 👁️ | Never ⏰ | []
C |

1.29 KB

|

None

|

0 👍

/

0 👎

// https://rathena.org/board/topic/118854-npc-item-with-control-request/
 
prontera,155,181,5  script  Sample  4_F_KAFRA1,{
    .@item_id = 512;
    
    if (callsub(L_HasItem, .@item_id)) {
        npctalk "you already obtained "+getitemname(.@item_id);
    }
    else {
        getitem .@item_id,1;
        npctalk "you obtained "+getitemname(.@item_id);
    }
    end;
 
 
    L_HasItem:
        .@item_id = getarg(0, 0);
        .@cid = getcharid(0);
        .@aid = getcharid(3);
        .@gid = getcharid(2);
        
        if (.@item_id) {
            query_sql("SELECT COUNT(1) FROM `inventory` WHERE `nameid` = "+.@item_id+" AND `char_id` IN (SELECT `char_id` FROM `char` WHERE `account_id` = "+.@aid+")", .@inventory);
            query_sql("SELECT COUNT(1) FROM `cart_inventory` WHERE `nameid` = "+.@item_id+" AND `char_id` IN (SELECT `char_id` FROM `char` WHERE `account_id` = "+.@aid+")", .@cart_inventory);
            
            if (.@gid)
                query_sql("SELECT COUNT(1) FROM `guild_storage` WHERE `nameid` = "+.@item_id+" AND `guild_id` = "+.@gid+")", .@guild_storage);
 
        
            .@count += .@inventory;
            .@count += .@cart_inventory;
            .@count += .@guild_storage;
            
            .@count += countitem(.@item_id);
            .@count += cartcountitem(.@item_id);
            .@count += storagecountitem(.@item_id);
            if (.@gid)
                .@count += guildstoragecountitem(.@item_id);
        }
        return (.@count > 0);
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎