Ir para conteúdo
  • Cadastre-se

(Resolvido)Add Exaust no script?


Ir para solução Resolvido por Fir3element,

Posts Recomendados

Ola amigos, estou começando na area de script e estou quebrando a cabeça para colocar um simples exaust em um script.

 

function onSay(cid, words, param, condition, channel)
if not getCreatureCondition(cid, CONDITION_INFIGHT) then
   doTeleportThing(cid, {x=1053, y=1054, z=7})
   doPlayerSendTextMessage(cid,22, "Voce foi teleportado para o CP")
else
   return doPlayerSendCancel(cid, "Voce nao pode usar o comando agora!")
end
   return true
end

 
Se alguem puder me ajudar ou se ja tiver um tópico relacionado mandar o link porque não encontrei aqui no forum.
 
Obrigado.
 
Rep+
Link para o post
Compartilhar em outros sites
local tempo = 30
local storage = 94360

function onSay(cid, words, param, condition, channel)
if not getCreatureCondition(cid, CONDITION_INFIGHT) then
if (getPlayerStorageValue(cid, storage) <= os.time()) then
   doTeleportThing(cid, {x=1053, y=1054, z=7})
   doPlayerSendTextMessage(cid,22, "Voce foi teleportado para o CP")
   setPlayerStorageValue(cid, storage, os.time()+exhaust)
else
   doPlayerSendCancel(cid, "Voce so pode usar o comando daqui a "..exhaust.." segundos")
end
end
   return true
end

obs : não testei.

Link para o post
Compartilhar em outros sites
local tempo = 30
local storage = 94360

function onSay(cid, words, param, condition, channel)
if not getCreatureCondition(cid, CONDITION_INFIGHT) then
if (getPlayerStorageValue(cid, storage) <= os.time()) then
   doTeleportThing(cid, {x=1053, y=1054, z=7})
   doPlayerSendTextMessage(cid,22, "Voce foi teleportado para o CP")
   setPlayerStorageValue(cid, storage, os.time()+exhaust)
else
   doPlayerSendCancel(cid, "Voce so pode usar o comando daqui a "..exhaust.." segundos")
end
end
   return true
end

obs : não testei.

 

 

 

Erro, ele teleporta cp mas não conta exaust e aparece esse erro:

 

[03/07/2014 18:02:06] [Error - TalkAction Interface] 
[03/07/2014 18:02:06] data/talkactions/scripts/teleportcp.lua:onSay
[03/07/2014 18:02:06] Description: 
[03/07/2014 18:02:06] data/talkactions/scripts/teleportcp.lua:9: attempt to perform arithmetic on global 'exhaust' (a nil value)
[03/07/2014 18:02:07] stack traceback:
[03/07/2014 18:02:07] data/talkactions/scripts/teleportcp.lua:9: in function <data/talkactions/scripts/teleportcp.lua:4>

Link para o post
Compartilhar em outros sites
  • Solução

local tempo = 30
local storage, exhaust = 94360, 5

function onSay(cid, words, param, condition, channel)
if not getCreatureCondition(cid, CONDITION_INFIGHT) then
if (getPlayerStorageValue(cid, storage) <= os.time()) then
   doTeleportThing(cid, {x=1053, y=1054, z=7})
   doPlayerSendTextMessage(cid,22, "Voce foi teleportado para o CP")
   setPlayerStorageValue(cid, storage, os.time()+exhaust)
else
   doPlayerSendCancel(cid, "Voce so pode usar o comando daqui a "..exhaust.." segundos")
end
end
   return true
end
Link para o post
Compartilhar em outros sites
local tempo = 30
local storage = 94360

function onSay(cid, words, param, condition, channel)
if not getCreatureCondition(cid, CONDITION_INFIGHT) then
if (getPlayerStorageValue(cid, storage) <= os.time()) then
   doTeleportThing(cid, {x=1053, y=1054, z=7})
   doPlayerSendTextMessage(cid,22, "Voce foi teleportado para o CP")
   setPlayerStorageValue(cid, storage, os.time()+tempo)
else
   doPlayerSendCancel(cid, "Voce so pode usar o comando daqui a "..tempo.." segundos")
end
end
   return true
end
Link para o post
Compartilhar em outros sites
local tempo = 30
local storage, exhaust = 94360, 5

function onSay(cid, words, param, condition, channel)
if not getCreatureCondition(cid, CONDITION_INFIGHT) then
if (getPlayerStorageValue(cid, storage) <= os.time()) then
   doTeleportThing(cid, {x=1053, y=1054, z=7})
   doPlayerSendTextMessage(cid,22, "Voce foi teleportado para o CP")
   setPlayerStorageValue(cid, storage, os.time()+exhaust)
else
   doPlayerSendCancel(cid, "Voce so pode usar o comando daqui a "..exhaust.." segundos")
end
end
   return true
end

 

Só aparece uma msg de erro no console se estiver em battle:

[03/07/2014 18:14:11] [Error - TalkAction Interface] 
[03/07/2014 18:14:11] In a timer event called from: 
[03/07/2014 18:14:11] data/talkactions/scripts/teleportcp.lua
[03/07/2014 18:14:11] Description: 
[03/07/2014 18:14:11] attempt to call a nil value
[03/07/2014 18:14:11] stack traceback: 

Percebi que foi retirado a msg quando o player estiver em battle. O exaust funciona mas se estiver em batle aparece esse erro ai em cima.

 

@Viiting

O seu script funciona tb, porem se o player estiver em batle ele usa a storage do mesmo geito e não é teleportado e o exaust do player buga, o tempo nao acaba nunca.

 

E se o player não usar em batle aparece a msg de 30 segundos de exaust, passando 15 segundos se ele usar o comando novamente aparece a msg dos 30 segundos, o tempo vai diminuindo mas a msg sempre é de 30 segundos.

Editado por Duduph (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo