• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Problem at houses.cpp

president vankk

Web Developer & AuraOT Owner
Joined
Jul 10, 2009
Messages
5,719
Solutions
9
Reaction score
339
I'm trying edit the code houses.cpp to when the player leave the house (!leavehouse) then can't go more than 5000 items to his depot, and the others items will get deleted. How I do that? I already try everything but not succeeded. Some1 can help me with that? The code.

Code:
bool House::transferToDepot() const
{
   if (townid == 0 || owner == 0) {
     return false;
   }

   Player* player = g_game.getPlayerByGUID(owner);
   if (!player) {
     player = new Player(nullptr);
     if (!IOLoginData::loadPlayerById(player, owner)) {
       delete player;
       return false;
     }
   }

   transferToDepot(player);

   if (player->isOffline()) {
     IOLoginData::savePlayer(player);
     delete player;
   }
   return true;
}

bool House::transferToDepot(Player* player) const
{
   if (townid == 0 || owner == 0) {
     return false;
   }

   ItemList moveItemList;
   for (HouseTile* tile : houseTiles) {
     if (const TileItemVector* items = tile->getItemList()) {
       for (Item* item : *items) {
         if (item->isPickupable()) {
           moveItemList.push_back(item);
         } else {
           Container* container = item->getContainer();
           if (container) {
             for (Item* containerItem : container->getItemList()) {
               moveItemList.push_back(containerItem);
             }
           }
         }
       }
     }
   }

   for (Item* item : moveItemList) {
     g_game.internalMoveItem(item->getParent(), player->getInbox(), INDEX_WHEREEVER, item, item->getItemCount(), nullptr, FLAG_NOLIMIT);
   }
   return true;
}

Thanks, cya.
 
Back
Top