• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    Cuando vendo la casa los items no se van al dp

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    Nemesis811

    Nemesis811
    Miembro
    Miembro
    Descripcion escribió:Hola God maya tengo un problema en mi ot es 8.70 cuando un player vende su casa los items desaparecen y no se van al dp... queria saber como arreglar ese problema o es un script o algo que le falta a mi ot... la version de mi ot es The Forgotten Server, version 0.3.6 espero me puedas ayudar y muchas gracias espero tu respuesta
    Captura del Error escribió:Imagen del error: Cuando vendo la casa los items no se van al dp Empty
    El error radica en: Otro Problema

    2 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    mi estimado hay un problema en los sources en este archivo house.cpp

    cambia esto

    Código:

    bool House::transferToDepot()

    {

    if(!townId)

    return false;


    Player* player = NULL;

    if(owner)

    {

    uint32_t tmp = owner;

    if(isGuild() && !IOGuild::getInstance()->swapGuildIdToOwner(tmp))

    tmp = 0;



    if(tmp)

    player = g_game.getPlayerByGuidEx(tmp);

    }


    Item* item = NULL;

    Container* tmpContainer = NULL;


    ItemList moveList;

    for(HouseTileList::iterator it = houseTiles.begin(); it != houseTiles.end(); ++it)

    {

    for(uint32_t i = 0; i < (*it)->getThingCount(); ++i)

    {

    if(!(item = (*it)->__getThing(i)->getItem()))

    continue;


    if(item->isPickupable())

    moveList.push_back(item);

    else if((tmpContainer = item->getContainer()))

    {

    for(ItemList::const_iterator it = tmpContainer->getItems(); it != tmpContainer->getEnd(); ++it)

    moveList.push_back(*it);

    }

    }

    }


    if(player)

    {

    for(ItemList::iterator it = moveList.begin(); it != moveList.end(); ++it)

    g_game.internalRemoveItem(NULL, (*it), (*it)->getItemCount(), false, FLAG_NOLIMIT);


    if(player->isVirtual())

    {

    IOLoginData::getInstance()->savePlayer(player);

    delete player;

    }

    }

    else

    {

    for(ItemList::iterator it = moveList.begin(); it != moveList.end(); ++it)

    g_game.internalRemoveItem(NULL, (*it), (*it)->getItemCount(), false, FLAG_NOLIMIT);

    }

    return true;

    }

    por esto

    Código:

    bool House::transferToDepot()

    {

    if(!townId)

    return false;


    Player* player = NULL;

    if(owner)

    {

    uint32_t tmp = owner;

    if(isGuild() && !IOGuild::getInstance()->swapGuildIdToOwner(tmp))

    tmp = 0;


    if(tmp)

    player = g_game.getPlayerByGuidEx(tmp);

    }


    Container* tmpContainer = NULL;

    TileItemVector* items = NULL;


    ItemList moveList;

    for(HouseTileList::iterator it = houseTiles.begin(); it != houseTiles.end(); ++it)

    {

    if(!(items = (*it)->getItemList()))

    continue;


    for(ItemVector::iterator iit = items->begin(); iit != items->end(); ++iit)

    {

    if((*iit)->isPickupable())

    moveList.push_back(*iit);

    else if((tmpContainer = (*iit)->getContainer()))

    {

    for(ItemList::const_iterator cit = tmpContainer->getItems(); cit != tmpContainer->getEnd(); ++cit)

    moveList.push_back(*cit);

    }

    }

    }


    if(player)

    {

    Depot* depot = player->getDepot(townId, true);

    for(ItemList::iterator it = moveList.begin(); it != moveList.end(); ++it)

    g_game.internalMoveItem(NULL, (*it)->getParent(), depot, INDEX_WHEREEVER, (*it), (*it)->getItemCount(), NULL, FLAG_NOLIMIT);


    if(player->isVirtual())

    {

    IOLoginData::getInstance()->savePlayer(player);

    delete player;

    }

    }

    else

    {

    for(ItemList::iterator it = moveList.begin(); it != moveList.end(); ++it)

    g_game.internalRemoveItem(NULL, (*it), (*it)->getItemCount(), false, FLAG_NOLIMIT);

    }

    return true;

    }

    y recompilas el exe de su servidor



    Cuando vendo la casa los items no se van al dp YNU5B25
    2 participantes
    https://www.tibiaface.com

    Nemesis811

    Nemesis811
    Miembro
    Miembro
    disculpa como recompilo el exe del servidor nunca e echo eso ya cambie lo de los sources pero como hago para recompilar mi exe?



    [Tienes que estar registrado y conectado para ver este vínculo] escribió:mi estimado hay un problema en los sources en este archivo house.cpp

    cambia esto

    Código:

    bool House::transferToDepot()

    {

    if(!townId)

    return false;


    Player* player = NULL;

    if(owner)

    {

    uint32_t tmp = owner;

    if(isGuild() && !IOGuild::getInstance()->swapGuildIdToOwner(tmp))

    tmp = 0;



    if(tmp)

    player = g_game.getPlayerByGuidEx(tmp);

    }


    Item* item = NULL;

    Container* tmpContainer = NULL;


    ItemList moveList;

    for(HouseTileList::iterator it = houseTiles.begin(); it != houseTiles.end(); ++it)

    {

    for(uint32_t i = 0; i < (*it)->getThingCount(); ++i)

    {

    if(!(item = (*it)->__getThing(i)->getItem()))

    continue;


    if(item->isPickupable())

    moveList.push_back(item);

    else if((tmpContainer = item->getContainer()))

    {

    for(ItemList::const_iterator it = tmpContainer->getItems(); it != tmpContainer->getEnd(); ++it)

    moveList.push_back(*it);

    }

    }

    }


    if(player)

    {

    for(ItemList::iterator it = moveList.begin(); it != moveList.end(); ++it)

    g_game.internalRemoveItem(NULL, (*it), (*it)->getItemCount(), false, FLAG_NOLIMIT);


    if(player->isVirtual())

    {

    IOLoginData::getInstance()->savePlayer(player);

    delete player;

    }

    }

    else

    {

    for(ItemList::iterator it = moveList.begin(); it != moveList.end(); ++it)

    g_game.internalRemoveItem(NULL, (*it), (*it)->getItemCount(), false, FLAG_NOLIMIT);

    }

    return true;

    }

    por esto

    Código:

    bool House::transferToDepot()

    {

    if(!townId)

    return false;


    Player* player = NULL;

    if(owner)

    {

    uint32_t tmp = owner;

    if(isGuild() && !IOGuild::getInstance()->swapGuildIdToOwner(tmp))

    tmp = 0;


    if(tmp)

    player = g_game.getPlayerByGuidEx(tmp);

    }


    Container* tmpContainer = NULL;

    TileItemVector* items = NULL;


    ItemList moveList;

    for(HouseTileList::iterator it = houseTiles.begin(); it != houseTiles.end(); ++it)

    {

    if(!(items = (*it)->getItemList()))

    continue;


    for(ItemVector::iterator iit = items->begin(); iit != items->end(); ++iit)

    {

    if((*iit)->isPickupable())

    moveList.push_back(*iit);

    else if((tmpContainer = (*iit)->getContainer()))

    {

    for(ItemList::const_iterator cit = tmpContainer->getItems(); cit != tmpContainer->getEnd(); ++cit)

    moveList.push_back(*cit);

    }

    }

    }


    if(player)

    {

    Depot* depot = player->getDepot(townId, true);

    for(ItemList::iterator it = moveList.begin(); it != moveList.end(); ++it)

    g_game.internalMoveItem(NULL, (*it)->getParent(), depot, INDEX_WHEREEVER, (*it), (*it)->getItemCount(), NULL, FLAG_NOLIMIT);


    if(player->isVirtual())

    {

    IOLoginData::getInstance()->savePlayer(player);

    delete player;

    }

    }

    else

    {

    for(ItemList::iterator it = moveList.begin(); it != moveList.end(); ++it)

    g_game.internalRemoveItem(NULL, (*it), (*it)->getItemCount(), false, FLAG_NOLIMIT);

    }

    return true;

    }

    y recompilas el exe de su servidor


    Porfa tienes algun tutorial de como recompile el exe de mi servidor??

    2 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    tiene que mostrame una captura de su carpeta de su ot y de la carpeta sources



    Cuando vendo la casa los items no se van al dp YNU5B25
    2 participantes
    https://www.tibiaface.com

    Nemesis811

    Nemesis811
    Miembro
    Miembro
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:tiene que mostrame una captura de su carpeta de su ot y de la carpeta sources

    Cuando vendo la casa los items no se van al dp Otserv10



    [Tienes que estar registrado y conectado para ver este vínculo] escribió:tiene que mostrame una captura de su carpeta de su ot y de la carpeta sources

    Cuando vendo la casa los items no se van al dp Sorurc10



    listo es asi que querias las imagenes God maya?

    2 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    necesita el programa dev c++ para compilar aqui te dejo el tutorial

    [Tienes que estar registrado y conectado para ver este vínculo]



    Cuando vendo la casa los items no se van al dp YNU5B25
    2 participantes
    https://www.tibiaface.com

    Nemesis811

    Nemesis811
    Miembro
    Miembro
    Cuando vendo la casa los items no se van al dp Error_11
    me sale ese error al compilar god maya que puedo hacer ahora?



    [Tienes que estar registrado y conectado para ver este vínculo] escribió:necesita el programa dev c++ para compilar  aqui te dejo el tutorial

    [Tienes que estar registrado y conectado para ver este vínculo]



    me puedes ayudar con ese error



    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Cuando vendo la casa los items no se van al dp Error_11
    me sale ese error al compilar god maya que puedo hacer ahora?



    [Tienes que estar registrado y conectado para ver este vínculo] escribió:necesita el programa dev c++ para compilar  aqui te dejo el tutorial

    [Tienes que estar registrado y conectado para ver este vínculo]



    me puedes ayudar con ese error

    2 participantes

    Contenido patrocinado


    2 participantes

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).