• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Sistema] mounts en protection zone

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

    1default [Sistema] mounts en protection zone el Miér Ago 16, 2017 2:45 pm

    Hola amigos de tibiaface, quisiera saber como puedo hacer que las mounts esten en pz. Uso otxserver tfs 1.3 version del server es 10.98. creo que son en las sources pero nose que linea se edita eso de las mounts.

    alguien me ayuda porfa ? Smile

    Ver perfil de usuario

    2default Re: [Sistema] mounts en protection zone el Miér Ago 16, 2017 3:05 pm

    The_Pain

    avatar
    Miembro
    Miembro
    Buscas en tus sources el archivo -> Player.cpp
    y buscas esto
    Código:
    void Player::onChangeZone(ZoneType_t zone)
    {
       if (zone == ZONE_PROTECTION) {
          if (attackedCreature && !hasFlag(PlayerFlag_IgnoreProtectionZone)) {
             setAttackedCreature(nullptr);
             onAttackedCreatureDisappear(false);
          }

          if (!group->access && isMounted()) {
             dismount();
             g_game.internalCreatureChangeOutfit(this, defaultOutfit);
             wasMounted = true;
          }
       } else {
          if (wasMounted) {
             toggleMount(true);
             wasMounted = false;
          }
       }

       g_game.updateCreatureWalkthrough(this);
       sendIcons();
    }
    Remplazas ese void por este:
    Código:
    void Player::onChangeZone(ZoneType_t zone)
    {
       if (zone == ZONE_PROTECTION) {
          if (attackedCreature && !hasFlag(PlayerFlag_IgnoreProtectionZone)) {
             setAttackedCreature(nullptr);
             onAttackedCreatureDisappear(false);
          }

          if (!group->access && isMounted()) {
                        // No modicar mount
             wasMounted = true;
          }
       } else {
          if (wasMounted) {
             toggleMount(true);
             wasMounted = false;
          }
       }

       g_game.updateCreatureWalkthrough(this);
       sendIcons();
    }
    Guardas y compilas tu sevidor
    saludos si te sirve, no olvides regalarme un Like ya que eso me inspira seguir ayudandolos...



    Ver perfil de usuario

    3default Re: [Sistema] mounts en protection zone el Vie Ago 18, 2017 5:25 pm

    sirve pero tengo que salir de pz para que la mount pueda entrar al pz.  Donde puedo habilitar donde los players puedan cambiarse de mount en el templo sin necesidad de salir de pz ?.

    Ver perfil de usuario

    4default Re: [Sistema] mounts en protection zone el Vie Ago 18, 2017 9:45 pm

    The_Pain

    avatar
    Miembro
    Miembro
    Hola amigo, te vas a tu player.cpp y buscas esto:
    Código:

    bool Player::toggleMount(bool mount)
    {
       if ((OTSYS_TIME() - lastToggleMount) < 3000 && !wasMounted) {
          sendCancelMessage(RETURNVALUE_YOUAREEXHAUSTED);
          return false;
       }

       if (mount) {
          if (isMounted()) {
             return false;
          }

          if (!group->access && tile->hasFlag(TILESTATE_PROTECTIONZONE)) {
             sendCancelMessage(RETURNVALUE_ACTIONNOTPERMITTEDINPROTECTIONZONE);
             return false;
          }

          const Outfit* playerOutfit = Outfits::getInstance().getOutfitByLookType(getSex(), defaultOutfit.lookType);
          if (!playerOutfit) {
             return false;
          }

          uint8_t currentMountId = getCurrentMount();
          if (currentMountId == 0) {
             sendOutfitWindow();
             return false;
          }

          Mount* currentMount = g_game.mounts.getMountByID(currentMountId);
          if (!currentMount) {
             return false;
          }

          if (!hasMount(currentMount)) {
             setCurrentMount(0);
             sendOutfitWindow();
             return false;
          }

          if (currentMount->premium && !isPremium()) {
             sendCancelMessage(RETURNVALUE_YOUNEEDPREMIUMACCOUNT);
             return false;
          }

          if (hasCondition(CONDITION_OUTFIT)) {
             sendCancelMessage(RETURNVALUE_NOTPOSSIBLE);
             return false;
          }

          defaultOutfit.lookMount = currentMount->clientId;

          if (currentMount->speed != 0) {
             g_game.changeSpeed(this, currentMount->speed);
          }
       } else {
          if (!isMounted()) {
             return false;
          }

          dismount();
       }

       g_game.internalCreatureChangeOutfit(this, defaultOutfit);
       lastToggleMount = OTSYS_TIME();
       return true;
    }

    luego eliminas este pedazo del codigo:
    Código:

    if (!group->access && tile->hasFlag(TILESTATE_PROTECTIONZONE)) {
             sendCancelMessage(RETURNVALUE_ACTIONNOTPERMITTEDINPROTECTIONZONE);
             return false;
          }

    y guardas, compilas y ya! si te sirvio like porfavor.



    Ver perfil de usuario

    5default Re: [Sistema] mounts en protection zone el Sáb Ago 19, 2017 11:43 am

    The_Pain

    avatar
    Miembro
    Miembro
    Espero te aya funcionado we xD



    Ver perfil de usuario

    6default Re: [Sistema] mounts en protection zone el Miér Ago 23, 2017 12:44 am

    perdon si tarde en responder jaja. MUCHAS GRACIAS!! Smile

    SI ME SIRVIO Smile

    Ver perfil de usuario

    Contenido patrocinado


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