Ir para conteúdo

Diving/Mergulho.


Posts Recomendados

Fiz um script simples para quando o player andar em baixo da água. O script troca a Outfit do personagem para o de mergulhador e altera a velocidade do mesmo.

Adicione em data/movements/movements.xml

    <movevent type="StepIn" fromid="5405" toid="5410" event="script" value="diving.lua"/>    <movevent type="StepOut" fromid="5405" toid="5410" event="script" value="diving.lua"/>

Agora vá em data/movements/scripts, crie o arquivo diving.lua e adicione:

function onStepIn(cid, item, position, fromPosition)    if getPlayerStorageValue(cid, 30211) == 1 then        return true    end    if isPlayer(cid) then        local outfit = getCreatureOutfit(cid)        local out = getPlayerSex(cid) == 0 and 1035 or 1034        setPlayerStorageValue(cid, 30211, 1)        doChangeSpeed(cid, -getCreatureSpeed(cid))        doChangeSpeed(cid, 1000)        doSetCreatureOutfit(cid, {lookType = out, lookHead = outfit.lookHead, lookBody = outfit.lookBody, lookLegs = outfit.lookLegs, lookFeet = outfit.lookFeet}, -1)        endendfunction onStepOut(cid, item, position, fromPosition)    if isPlayer(cid) then        setPlayerStorageValue(cid, 30211, -1)        doChangeSpeed(cid, -getCreatureSpeed(cid))        doRegainSpeed(cid)        doRemoveCondition(cid, CONDITION_OUTFIT)    endend

OBS: Testado no DxP.

Link para o comentário
Compartilhar em outros sites

Em 02/09/2016 at 09:20, Testing111 disse:

O Storage é pro código não ficar se repetindo e setar a velocidade apenas uma vez.

Acho que o melhor seria no onStepIn verificar se fromPos é algum dos configurado no script, se sim, não executa o onStepIn e digo o mesmo sobre o onStepOut só que ao invés do fromPos usaria o toPos.

 

Bom, mesmo assim toma aí seu rep++ que essse script ficou legal :D

Link para o comentário
Compartilhar em outros sites

  • 10 months later...

achei um erro nesse script quando voce sai de cima do tile ele continua com o outfit quando vai mudar ele n muda ai reloga fica invisivel reloga dnv volta com outfit padrao ai volta para o tile que muda a outfit e nao acontece nada

Editado por Punchlines Nemmo
Link para o comentário
Compartilhar em outros sites

  • 2 years later...
Em 01/09/2016 em 21:59, Testing111 disse:

Fiz um script simples para quando o player andar em baixo da água. O script troca a Outfit do personagem para o de mergulhador e altera a velocidade do mesmo.

Adicione em data/movements/movements.xml


    <movevent type="StepIn" fromid="5405" toid="5410" event="script" value="diving.lua"/>    <movevent type="StepOut" fromid="5405" toid="5410" event="script" value="diving.lua"/>

Agora vá em data/movements/scripts, crie o arquivo diving.lua e adicione:


function onStepIn(cid, item, position, fromPosition)    if getPlayerStorageValue(cid, 30211) == 1 then        return true    end    if isPlayer(cid) then        local outfit = getCreatureOutfit(cid)        local out = getPlayerSex(cid) == 0 and 1035 or 1034        setPlayerStorageValue(cid, 30211, 1)        doChangeSpeed(cid, -getCreatureSpeed(cid))        doChangeSpeed(cid, 1000)        doSetCreatureOutfit(cid, {lookType = out, lookHead = outfit.lookHead, lookBody = outfit.lookBody, lookLegs = outfit.lookLegs, lookFeet = outfit.lookFeet}, -1)        endendfunction onStepOut(cid, item, position, fromPosition)    if isPlayer(cid) then        setPlayerStorageValue(cid, 30211, -1)        doChangeSpeed(cid, -getCreatureSpeed(cid))        doRegainSpeed(cid)        doRemoveCondition(cid, CONDITION_OUTFIT)    endend

OBS: Testado no DxP.

 

 

[25/01/2020 19:26:28] [Error - LuaScriptInterface::loadFile] data/movements/scripts/diving.lua:1: '=' expected near 'onStepOut'
[25/01/2020 19:26:28] [Warning - Event::loadScript] Cannot load script (data/movements/scripts/diving.lua)
[25/01/2020 19:26:28] data/movements/scripts/diving.lua:1: '=' expected near 'onStepOut'
[25/01/2020 19:26:28] [Error - LuaScriptInterface::loadFile] data/movements/scripts/diving.lua:1: '=' expected near 'onStepOut'
[25/01/2020 19:26:28] [Warning - Event::loadScript] Cannot load script (data/movements/scripts/diving.lua)
[25/01/2020 19:26:28] data/movements/scripts/diving.lua:1: '=' expected near 'onStepOut'

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...