Ir para conteúdo
  • 0

Verificar o chão e manda som


xmaster0

Pergunta

Bem que preciso é:

O player fica em cima do chão, o script verificao chão, se o id do chão for = 103

ele manda som pro player... doPlayerSendTextMessage(cid, 26, "sounds/Centralplains.wav")

 

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

8 respostass a esta questão

Posts Recomendados

  • 0

Adicione essas duas tags no seu movements.xml

<movevent type="StepIn" itemid="103" event="script" value="soundStep.lua"/>
<movevent type="StepOut" itemid="103" event="script" value="soundStep.lua"/>

Depois, na pasta movements/scripts, crie um arquivo chamado soundStep.lua e adicione o seguinte código dentro :

local config = {
    soundName = "sounds/Centralplains.wav",
    tileId = 103,
    storage = 55000,
}
 
function onStepIn(cid, item, pos, fromPos)
    if not isPlayer(cid) then return true end
    if getPlayerStorageValue(cid, config.storage) < 1 then
        doPlayerSendTextMessage(cid, 26, config.soundName)
        setPlayerStorageValue(cid,config.storage,1)
    end
end
 
function onStepOut(cid, item, position, fromPosition)
    if not isPlayer(cid) then return true end
        if getPlayerStorageValue(cid, config.storage) == 1 and getTileItemById(position, config.tileId).uid <= 0 then        
            setPlayerStorageValue(cid, config.storage, -1)
        end
    end
end

Não testei, mas creio que vai funcionar, se não funcionar me avise.
Editado por Wuva
Link para o comentário
Compartilhar em outros sites

  • 0

Deu esse erro

~~

[24/01/2014 12:37:23] [Error - MoveEvents Interface]
[24/01/2014 12:37:23] data/movements/scripts/soundStep.lua:onStepIn
[24/01/2014 12:37:23] Description:
[24/01/2014 12:37:23] (luaDoPlayerSendTextMessage) Player not found
Link para o comentário
Compartilhar em outros sites

  • 0

 

Deu esse erro

~~

[24/01/2014 12:37:23] [Error - MoveEvents Interface]
[24/01/2014 12:37:23] data/movements/scripts/soundStep.lua:onStepIn
[24/01/2014 12:37:23] Description:
[24/01/2014 12:37:23] (luaDoPlayerSendTextMessage) Player not found

 

Alterei o script, veja se funciona

Link para o comentário
Compartilhar em outros sites

  • 0

Cria soundMov.lua em data/movements e coloca


local usar_so_uma_vez = yes -- Só vai mandar o som uma vez? yes ou no
local cooldown = 1 -- Tempo em segundos pra mandar o som caso o player saia e passe dnv

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
    
    if not isPlayer(cid) then 
        return false 
    end
    
    if usar_so_uma_vez == yes and getPlayerStorageValue(cid, 38120) == 1 then
        return false
    end
    
    if getPlayerStorageValue(cid, 281291) < os.time() then
    doPlayerSetStorageValue(cid, 38120, 1)
    doPlayerSendTextMessage(cid, 26, "sounds/Centralplains.wav")
    doPlayerSetStorageValue(cid, 281291, os.time()+cooldown)
else
    return false
end
    return true
end

Tag no movements.xml:

<movevent type="StepIn" actionid="4726" event="script" value="soundMov.lua"/>

Daí é só por actionID 4726 nos pisos que vc quiser que mande o som.

PS: leia os comentários no script

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...