Originally posted by [b]Yonimelavo[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=1532
The function "storage_storageopen" at storage.c:
[codebox]
CODE
int storage_storageopen(struct map_session_data *sd)
{
struct storage *stor;
nullpo_retr(0, sd);
if(sd->state.storage_flag)
return 1; //Already open?
if( !pc_can_give_items(pc_isGM(sd)) )
{ //check is this GM level is allowed to put items to storage
clif_displaymessage(sd->fd, msg_txt(246));
return 1;
}
if((stor = idb_get(storage_db,sd->status.account_id)) == NULL)
{ //Request storage.
intif_request_storage(sd->status.account_id);
return 2;
}
if (stor->storage_status)
return 1; //Already open/player already has it open...
stor->storage_status = 1;
sd->state.storage_flag = 1;
clif_storagelist(sd,stor);
clif_updatestorageamount(sd,stor);
return 0;
}
[/codebox]
What the reason is for not to authorize a GM to put his items into the storage? Does exists any kind of exploit?
If not, this should be deleted:
CODE
if( !pc_can_give_items(pc_isGM(sd)) )
{ //check is this GM level is allowed to put items to storage
clif_displaymessage(sd->fd, msg_txt(246));
return 1;
}
Since, as I believe, this configuration option from "pc_can_give_items" was for disabling a GM giving items to another players (a trade, for example). But I don't know how a player could take any items from a GM storage :S.