• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Aporte] Traspasar player dentro de PZ zone

    Compartir:

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

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola gente tibiaface

    bueno aqui les traigo el codigo c++ para taspasar a la gente dentro del dp o proteccion zone o pz

    testeado en: tfs 0.3.6

    buscan esta linea en player.cpp :


    Código:
    bool Player::canWalkthrough(const Creature* creature) const
    {
      if(!creature)
          return true;

      if(creature == this)
          return false;

      const Player* player = creature->getPlayer();
      if(!player)
          return false;

      if(g_game.getWorldType() == WORLD_TYPE_NO_PVP && player->getTile()->ground
          && player->getTile()->ground->getID() != ITEM_GLOWING_SWITCH)
          return true;

      return player->isGhost() && getGhostAccess() < player->getGhostAccess();
    }


    y la remplazan por esta linea:

    Código:
    bool Player::canWalkthrough(const Creature* creature) const
    {
     if(creature == this || creature->isWalkable() ||
            (creature->getMaster() && creature->getMaster() != this && canWalkthrough(creature->getMaster())))
            return true;

        const Player* player = creature->getPlayer();
        if(!player)
            return false;

        if(
            (
                (
                    (
                        (
                            player->getVocation()->isAttackable() &&
                            player->getLevel() < (uint32_t)g_config.getNumber(ConfigManager::PROTECTION_LEVEL)
                        )
                        || (
                            player->getTile()->hasFlag(TILESTATE_PROTECTIONZONE) &&
                            !player->getTile()->hasFlag(TILESTATE_HOUSE)
                        )
                    )
                ) && player->getTile()->ground &&
                    player->getTile()->ground->getID() != 11063
            ) && (
                !player->hasCustomFlag(PlayerCustomFlag_GamemasterPrivileges)
                || player->getAccess() <= getAccess()
            )
        ) return true;

        return (player->isGhost() && getGhostAccess() < player->getGhostAccess())
            || (isGhost() && getGhostAccess() > player->getGhostAccess());
    }

    [Aporte] Traspasar player dentro de PZ zone Cats.jpg.32d3135447d6f94b8ca56d284561784a



    [Aporte] Traspasar player dentro de PZ zone YNU5B25
    4 participantes
    http://www.tibiaface.com

    jorge.o.osuna

    jorge.o.osuna
    Miembro
    Miembro
    gracias maya rep

    4 participantes

    Invitado

    Anonymous
    Invitado
    Ayuda mano, use esto y me funciona pero ahora tengo un problema es que se traspasan de modo que pueden entrar 2 en el sqm del depot y quiero cambiar eso.. como hago

    4 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    utiliza los tieles especiales donde se paran los player para solo aceptar un player por sqm



    [Aporte] Traspasar player dentro de PZ zone YNU5B25
    4 participantes
    http://www.tibiaface.com

    alvaro007

    alvaro007
    Miembro
    Miembro
    Una pregunta, yo quiero corregir eso, que no se puedan traspasar nunca unos a otros y el codigo que yo tenia de c++ en mi server, era el que tu subiste que pueden traspasar a las personas, que tengo que cambiar para que ami en mi server no traspasen nunca en ninguno de los casos.

    4 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    alvaro007 escribió:Una pregunta, yo quiero corregir eso, que no se puedan traspasar nunca unos a otros y el codigo que yo tenia de c++ en mi server, era el que tu subiste que pueden traspasar a las personas, que tengo que cambiar para que ami en mi server no traspasen nunca en ninguno de los casos.

    pero ahi esta la repuesta haces lo mismo pero reves



    [Aporte] Traspasar player dentro de PZ zone YNU5B25
    4 participantes
    http://www.tibiaface.com

    alvaro007

    alvaro007
    Miembro
    Miembro
    Ya lo arregle, lo que hice fue en el mismo codigo :

    Código:
    bool Player::canWalkthrough(const Creature* creature) const
    {
     if(creature == this || creature->isWalkable() ||
            (creature->getMaster() && creature->getMaster() != this && canWalkthrough(creature->getMaster())))
            return true;

        const Player* player = creature->getPlayer();
        if(!player)
            return false;

        if(
            (
                (
                    (
                        (
                            player->getVocation()->isAttackable() &&
                            player->getLevel() < (uint32_t)g_config.getNumber(ConfigManager::PROTECTION_LEVEL)
                        )
                        || (
                            player->getTile()->hasFlag(TILESTATE_PROTECTIONZONE) &&
                            !player->getTile()->hasFlag(TILESTATE_HOUSE)
                        )
                    )
                ) && player->getTile()->ground &&
                    player->getTile()->ground->getID() != 11063
            ) && (
                !player->hasCustomFlag(PlayerCustomFlag_GamemasterPrivileges)
                || player->getAccess() <= getAccess()
            )
        )[color=#ff3333]return false[/color];

        return (player->isGhost() && getGhostAccess() < player->getGhostAccess())
            || (isGhost() && getGhostAccess() > player->getGhostAccess());
    }

    Fue cambiar donde dice return true, a false, para que no me devuelva la ejecucion en cuestion que hace el codigo la de traspasar a gente

    4 participantes

    potinho

    potinho
    Nuevo Miembro
    Nuevo Miembro
    [Admin] God Maya escribió:Hola gente tibiaface

    bueno aqui les traigo el codigo c++ para taspasar a la gente dentro del dp o proteccion zone o pz

    testeado en: tfs 0.3.6

    buscan esta linea en player.cpp :


    Código:
    bool Player::canWalkthrough(const Creature* creature) const
    {
      if(!creature)
          return true;

      if(creature == this)
          return false;

      const Player* player = creature->getPlayer();
      if(!player)
          return false;

      if(g_game.getWorldType() == WORLD_TYPE_NO_PVP && player->getTile()->ground
          && player->getTile()->ground->getID() != ITEM_GLOWING_SWITCH)
          return true;

      return player->isGhost() && getGhostAccess() < player->getGhostAccess();
    }


    y la remplazan por esta linea:

    Código:
    bool Player::canWalkthrough(const Creature* creature) const
    {
     if(creature == this || creature->isWalkable() ||
            (creature->getMaster() && creature->getMaster() != this && canWalkthrough(creature->getMaster())))
            return true;

        const Player* player = creature->getPlayer();
        if(!player)
            return false;

        if(
            (
                (
                    (
                        (
                            player->getVocation()->isAttackable() &&
                            player->getLevel() < (uint32_t)g_config.getNumber(ConfigManager::PROTECTION_LEVEL)
                        )
                        || (
                            player->getTile()->hasFlag(TILESTATE_PROTECTIONZONE) &&
                            !player->getTile()->hasFlag(TILESTATE_HOUSE)
                        )
                    )
                ) && player->getTile()->ground &&
                    player->getTile()->ground->getID() != 11063
            ) && (
                !player->hasCustomFlag(PlayerCustomFlag_GamemasterPrivileges)
                || player->getAccess() <= getAccess()
            )
        ) return true;

        return (player->isGhost() && getGhostAccess() < player->getGhostAccess())
            || (isGhost() && getGhostAccess() > player->getGhostAccess());
    }

    [Aporte] Traspasar player dentro de PZ zone Cats.jpg.32d3135447d6f94b8ca56d284561784a

    Aqui a mi no me funciono, puedo pasar solo haciendo click, pero no por las flechas

    4 participantes

    Contenido patrocinado


    4 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).