Ir para conteúdo
  • 0

Sistema SURF ou NAVGAÇÃO


Smash Tibia 24

Pergunta

Queria uma ajuda de vocês ai. Básicamente queria um comando/script que quando o player estivesse em cima da "água" ele trocasse de outfit(ou vocação pq qria q ele lançasse apenas alguns ataques de navio).
Eu pretendia fazer um teleport perto da água que séria tipo a doca, o player passando ali ia ser teletransportado pra água em uma localização diferente tals mas que navegasse, que nem no GRAND LINE ADVENTURES, usando como exemplo.

Quem puder me dar uma força ai xd to bem empolgado no meu projeto. tá bem dinamico

CLIENT: 10.98
BASE: TFS 1.3

image.png.46797061ec1f043bfe8634233a3539b8.png

Editado por Smash Tibia 24
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

em data/actions/scripts/water_action.lua:
 

local waterOutfit = {lookType = 134} -- ID da outfit para o navio
local originalVoc = 1 -- Vocação original que o player retorna ao sair da água

function onStepIn(creature, item, position, fromPosition)
    local player = creature:getPlayer()
    if not player then
        return true
    end
    
    -- Verifica se o jogador já está na outfit de navio
    if player:getOutfit().lookType ~= waterOutfit.lookType then
        player:setStorageValue(12345, player:getVocation():getId()) -- Salva a vocação original do jogador
        player:setOutfit(waterOutfit) -- Altera para a outfit de navio
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você entrou na água e agora está em modo de navegação!")
    end
    
    return true
end

function onStepOut(creature, item, position, fromPosition)
    local player = creature:getPlayer()
    if not player then
        return true
    end
    
    local originalVocationId = player:getStorageValue(12345)
    if originalVocationId > 0 then
        player:setVocation(Vocation(originalVocationId)) -- Retorna à vocação original
        player:setOutfit({lookType = player:getSex() == PLAYERSEX_FEMALE and 136 or 128}) -- Outfit padrão baseado no sexo do jogador
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você saiu da água e voltou ao modo normal.")
    end
    
    return true
end



Adicione o seguinte ao seu arquivo actions.xml que fica em data/actions/actions.xml:
 

<action actionid="1001" script="water_action.lua"/>


No seu editor de mapas, configure os tiles da área de água que o jogador vai entrar para a ActionID 1001.

 

Observações

  • A waterOutfit pode ser alterada para qualquer ID de outfit que você deseja usar para o "modo navio".
  • Lembre-se de ajustar os IDs de acordo com as vocações e outfits que você quer utilizar.
  • Ao pisar na água, a outfit do jogador mudará, e ao sair, ele retornará à sua vocação e outfit originais.

Isso deve lhe dar uma base para começar a implementar a funcionalidade de navegação que você deseja!

Link para o comentário
Compartilhar em outros sites

  • 0
1 hora atrás, El Rusher disse:

em data/actions/scripts/water_action.lua:
 

local waterOutfit = {lookType = 134} -- ID da outfit para o navio
local originalVoc = 1 -- Vocação original que o player retorna ao sair da água

function onStepIn(creature, item, position, fromPosition)
    local player = creature:getPlayer()
    if not player then
        return true
    end
    
    -- Verifica se o jogador já está na outfit de navio
    if player:getOutfit().lookType ~= waterOutfit.lookType then
        player:setStorageValue(12345, player:getVocation():getId()) -- Salva a vocação original do jogador
        player:setOutfit(waterOutfit) -- Altera para a outfit de navio
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você entrou na água e agora está em modo de navegação!")
    end
    
    return true
end

function onStepOut(creature, item, position, fromPosition)
    local player = creature:getPlayer()
    if not player then
        return true
    end
    
    local originalVocationId = player:getStorageValue(12345)
    if originalVocationId > 0 then
        player:setVocation(Vocation(originalVocationId)) -- Retorna à vocação original
        player:setOutfit({lookType = player:getSex() == PLAYERSEX_FEMALE and 136 or 128}) -- Outfit padrão baseado no sexo do jogador
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você saiu da água e voltou ao modo normal.")
    end
    
    return true
end



Adicione o seguinte ao seu arquivo actions.xml que fica em data/actions/actions.xml:
 

<action actionid="1001" script="water_action.lua"/>


No seu editor de mapas, configure os tiles da área de água que o jogador vai entrar para a ActionID 1001.

 

Observações

  • A waterOutfit pode ser alterada para qualquer ID de outfit que você deseja usar para o "modo navio".
  • Lembre-se de ajustar os IDs de acordo com as vocações e outfits que você quer utilizar.
  • Ao pisar na água, a outfit do jogador mudará, e ao sair, ele retornará à sua vocação e outfit originais.

Isso deve lhe dar uma base para começar a implementar a funcionalidade de navegação que você deseja!

 

Tentei aqui, infelizmente não foi. Deu um erro aqui como o esperado de várias outras tentativas também. Sabe como resolver?
Resumidamente não funciona :/

 

Spoiler

image.png.020d7aa5cd2930a98ff0d30f73251d60.png


 

Link para o comentário
Compartilhar em outros sites

  • 0

Esse erro indica que o sistema está tentando executar a função onUse, mas não consegue encontrá-la corretamente..
 

Verifique a função onUse:

  • Certifique-se de que a função onUse está corretamente definida no seu arquivo scripts/water action.lua. Deve estar assim:
    function onUse(player, item, fromPosition, target, toPosition, isHotkey)
        -- Seu código aqui
        return true
    end

    Verifique a configuração do arquivo actions.xml:

  • No arquivo actions.xml (localizado na pasta data/actions), certifique-se de que o caminho para o script está correto. Deve parecer algo como:
    <action itemid="XXXX" script="water action.lua"/>

    Certifique-se de que o script está na pasta correta:

  • Verifique se o arquivo water action.lua está realmente localizado na pasta scripts dentro de data/actions.
Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...