Ir para conteúdo
  • 0

Colocar exhaust em uma action


Malusz

Pergunta

function onUse(cid, item, frompos, item2, topos)

local config = {
pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no").
battle = "yes", -- players deve estar sem battle ("yes" or "no")
pos = {x=1053, y=1049, z=7}
}
if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.")
return TRUE
end
if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.")
return TRUE
end
if item.itemid == 5957 then
doPlayerSendTextMessage(cid,25,"Você foi teleportado para o CP de Saffron!")
doPlayerRemoveItem(cid, 13691, 1)
doTeleportThing(cid,config.pos)
doSendMagicEffect(getCreaturePosition(cid), 6)
end
return 1

end

 

Alguem poderia colocar exhausted de 10 minutos para usar este item que teleporta?

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Não testei:

local config = {
pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no").
battle = "yes", -- players deve estar sem battle ("yes" or "no")
pos = {x=1053, y=1049, z=7},
tempo = 10, -- tempo em minutos de exhaust
strg = 50030, -- storage que salva o tempo (não precisa mexer)
}

function onUse(cid, item, frompos, item2, topos)
    if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Voce precisa estar em protection zone pra poder teleportar.")
    return TRUE
end
    if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce precisa estar sem battle pra poder teleportar.")
    return TRUE
end
    if exhaustion.check(cid, strg) then
        doPlayerSendCancel(cid, "Voce precisa aguardar "..exhaustion.get(cid, strg).." segundos para usar novamente este item.")
    return TRUE
end
    if item.itemid == 5957 then
        doPlayerSendTextMessage(cid,25,"Voce foi teleportado para o CP de Saffron!")
        doPlayerRemoveItem(cid, 13691, 1)
        doTeleportThing(cid,config.pos)
        doSendMagicEffect(getCreaturePosition(cid), 6)
        exhaustion.set(cid, strg, tempo * 60)
    end
  return 1
end

Boa sorte.

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

  • 0

Então amigo, testei deu esse erro olha.

 

[01/12/2013 15:54:41] [Error - Action Interface]

[01/12/2013 15:54:41] data/actions/scripts/teele.lua:onUse
[01/12/2013 15:54:41] Description:
[01/12/2013 15:54:41] data/actions/scripts/teele.lua:27: attempt to perform arithmetic on global 'tempo' (a nil value)
[01/12/2013 15:54:41] stack traceback:
[01/12/2013 15:54:41] data/actions/scripts/teele.lua:27: in function <data/actions/scripts/teele.lua:9>

Link para o comentário
Compartilhar em outros sites

  • 0


local config = {

pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no").

battle = "yes", -- players deve estar sem battle ("yes" or "no")

pos = {x=1053, y=1049, z=7},

tempo = 10, -- tempo em minutos de exhaust

strg = 50030, -- storage que salva o tempo (não precisa mexer)

}

 

function onUse(cid, item, frompos, item2, topos)

if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Voce precisa estar em protection zone pra poder teleportar.")

return TRUE

end

if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce precisa estar sem battle pra poder teleportar.")

return TRUE

end

if exhaustion.check(cid, strg) then

doPlayerSendCancel(cid, "Voce precisa aguardar "..exhaustion.get(cid, strg).." segundos para usar novamente este item.")

return TRUE

end

if item.itemid == 5957 then

doPlayerSendTextMessage(cid,25,"Voce foi teleportado para o CP de Saffron!")

doPlayerRemoveItem(cid, 13691, 1)

doTeleportThing(cid,config.pos)

doSendMagicEffect(getCreaturePosition(cid), 6)

exhaustion.set(cid, config.strg, config.tempo * 60)

end

return 1

end

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

  • 0

Tenta:

function onUse(cid, item, frompos, item2, topos)
 
 
local config = {
pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no").
battle = "yes", -- players deve estar sem battle ("yes" or "no")
pos = {x=1053, y=1049, z=7},
tempo = 10,
}
 
 
if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.")
return TRUE
end
    if getPlayerStorageValue(cid, 102911) > os.time() then
        return doPlayerSendCancel(cid, "Aguarde "..getPlayerStorageValue(cid, 102911) - os.time().." segundo(s) para teleportar novamente.")
    end
    
if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.")
return TRUE
end
 
if item.itemid == 5957 then
doPlayerSendTextMessage(cid,25,"Você foi teleportado para o CP de Saffron!")
doPlayerRemoveItem(cid, 13691, 1)
doTeleportThing(cid,config.pos)
doSendMagicEffect(getCreaturePosition(cid), 6)
setPlayerStorageValue(cid, 102911, cfg.tempo * 60 * 1000)
 
end
return 1
end

Ou

 

function onUse(cid, item, frompos, item2, topos)
 
 
local config = {
pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no").
battle = "yes", -- players deve estar sem battle ("yes" or "no")
pos = {x=1053, y=1049, z=7},
tempo = 10,
}
 
 
if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.")
return TRUE
end
    
if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.")
return TRUE
end
 
    if item.itemid == 5957 then
        if getPlayerStorageValue(cid, 102911) > os.time() then
            return doPlayerSendCancel(cid, "Aguarde "..getPlayerStorageValue(cid, 102911) - os.time().." segundo(s) para teleportar novamente.")
        end
        doPlayerSendTextMessage(cid,25,"Você foi teleportado para o CP de Saffron!")
        doPlayerRemoveItem(cid, 13691, 1)
        doTeleportThing(cid,config.pos)
        doSendMagicEffect(getCreaturePosition(cid), 6)
        setPlayerStorageValue(cid, 102911, cfg.tempo * 60 * 1000)
 
end
return 1
end
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

  • 0
[01/12/2013 16:29:15] [Error - Action Interface]

[01/12/2013 16:29:15] data/actions/scripts/teele.lua:onUse

[01/12/2013 16:29:15] Description:

[01/12/2013 16:29:15] data/actions/scripts/teele.lua:30: attempt to index global 'cfg' (a nil value)

[01/12/2013 16:29:15] stack traceback:

[01/12/2013 16:29:15] data/actions/scripts/teele.lua:30: in function <data/actions/scripts/teele.lua:1>

Link para o comentário
Compartilhar em outros sites

  • 0

Força do hábito colocar cfg, desculpe.

function onUse(cid, item, frompos, item2, topos)
 
 
local config = {
pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no").
battle = "yes", -- players deve estar sem battle ("yes" or "no")
pos = {x=1053, y=1049, z=7},
tempo = 10,
}
 
 
if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.")
return TRUE
end
    if getPlayerStorageValue(cid, 102911) > os.time() then
        return doPlayerSendCancel(cid, "Aguarde "..getPlayerStorageValue(cid, 102911) - os.time().." segundo(s) para teleportar novamente.")
    end
    
if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.")
return TRUE
end
 
if item.itemid == 5957 then
doPlayerSendTextMessage(cid,25,"Você foi teleportado para o CP de Saffron!")
doPlayerRemoveItem(cid, 13691, 1)
doTeleportThing(cid,config.pos)
doSendMagicEffect(getCreaturePosition(cid), 6)
setPlayerStorageValue(cid, 102911, config.tempo * 60 * 1000)
 
end
return 1
end
Ou
function onUse(cid, item, frompos, item2, topos)
 
 
local config = {
pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no").
battle = "yes", -- players deve estar sem battle ("yes" or "no")
pos = {x=1053, y=1049, z=7},
tempo = 10,
}
 
 
if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.")
return TRUE
end
    
if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.")
return TRUE
end
 
    if item.itemid == 5957 then
        if getPlayerStorageValue(cid, 102911) > os.time() then
            return doPlayerSendCancel(cid, "Aguarde "..getPlayerStorageValue(cid, 102911) - os.time().." segundo(s) para teleportar novamente.")
        end
        doPlayerSendTextMessage(cid,25,"Você foi teleportado para o CP de Saffron!")
        doPlayerRemoveItem(cid, 13691, 1)
        doTeleportThing(cid,config.pos)
        doSendMagicEffect(getCreaturePosition(cid), 6)
        setPlayerStorageValue(cid, 102911, config.tempo * 60 * 1000)
 
end
return 1
end
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

  • 0

Ops, foi erro meu mesmo.

function onUse(cid, item, frompos, item2, topos)
 
 
local config = {
pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no").
battle = "yes", -- players deve estar sem battle ("yes" or "no")
pos = {x=1053, y=1049, z=7},
tempo = 10,
}
 
 
if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.")
return TRUE
end
    
if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.")
return TRUE
end
 
    if item.itemid == 5957 then
        if getPlayerStorageValue(cid, 102911) > os.time() then
            return doPlayerSendCancel(cid, "Aguarde "..getPlayerStorageValue(cid, 102911) - os.time().." segundo(s) para teleportar novamente.")
        end
        doPlayerSendTextMessage(cid,25,"Você foi teleportado para o CP de Saffron!")
        doPlayerRemoveItem(cid, 13691, 1)
        doTeleportThing(cid,config.pos)
        doSendMagicEffect(getCreaturePosition(cid), 6)
        setPlayerStorageValue(cid, 102911, os.time() + config.tempo * 60 * 1000)
 
end
return 1
end

Ou

function onUse(cid, item, frompos, item2, topos)
 
 
local config = {
pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no").
battle = "yes", -- players deve estar sem battle ("yes" or "no")
pos = {x=1053, y=1049, z=7},
tempo = 10,
}
 
 
if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.")
return TRUE
end
    if getPlayerStorageValue(cid, 102911) > os.time() then
        return doPlayerSendCancel(cid, "Aguarde "..getPlayerStorageValue(cid, 102911) - os.time().." segundo(s) para teleportar novamente.")
    end
    
if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.")
return TRUE
end
 
if item.itemid == 5957 then
doPlayerSendTextMessage(cid,25,"Você foi teleportado para o CP de Saffron!")
doPlayerRemoveItem(cid, 13691, 1)
doTeleportThing(cid,config.pos)
doSendMagicEffect(getCreaturePosition(cid), 6)
setPlayerStorageValue(cid, 102911, os.time() + config.tempo * 60 * 1000)
 
end
return 1
end

O sendcancel vai aparecer em segundos, não se assuste com o número que aparecerá.

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

×
×
  • Criar Novo...