BUILDIN_FUNC(getguildstorageitem){
struct script_data *data;
struct item_data * item_data;
struct item item_tmp;
int x, amount;
TBL_PC * sd;
struct guild_storage *gstor;
data= script_getdata(st,2);
amount = script_getnum(st,3);
sd = ((script_hasdata(st,4)) ? map_nick2sd(script_getstr(st,4)) : script_rid2sd(st));
if(sd->guild == NULL) return -1; //player have no guild
gstor = guild2storage(sd->guild->guild_id);
item_data = script_data2nameid(st,data);
if(item_data != NULL && sd != NULL){
if(amount <= 0 || (!itemdb_isstackable2(item_data) && amount > 10) || (itemdb_isstackable2(item_data) && amount > MAX_AMOUNT))
amount = 1;
memset(&item_tmp,0,sizeof(item_tmp));
item_tmp.nameid = item_data->nameid;
item_tmp.identify = 1;
if(!itemdb_isstackable2(item_data) && amount > 1){
for(x = 0; x < amount; x++)
guild_storage_additem(sd,gstor,&item_tmp,amount);
}else {
guild_storage_additem(sd,gstor,&item_tmp,amount);
}
storage_guild_storageclose(sd);
gstorage->lock = 0;
log_pick_pc(sd, LOG_TYPE_NPC, amount, &item_tmp);
}
return 0;
}