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
Sistema SURF ou NAVGAÇÃO

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!
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 arquivoactions.xml
que fica emdata/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 aActionID 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
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 arquivoscripts/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 pastadata/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 pastascripts
dentro dedata/actions
.