Ir para conteúdo

[Encerrado] Como fazer item teleportar pro templo e só pode ser usado a cada X Horas


guirlz

Posts Recomendados

Dei uma olhada no forum, achei varios itens que teleportam pro templo e tals, mas este item que preciso é um "Anti-bug" pra caso alguem fique bugado em um local e precise voltar ele deve usar este item.

 

Funciona assim o item X pode ser usado a cada X horas e te teleporta pro templo town1

 

 

Outra coisa, qual comando MySQL para injetar esse item na bag de TODOS chars que já estão criados ?

 

Att,

Obrigado.

Link para o comentário
Compartilhar em outros sites

function getTime(s)
  local h = math.floor(s / 3600)
  local m = math.floor((s - h * 3600 )/ 60)
  local s = s - h * 3600 - m * 60

  return h .. ":" .. m .. ":" .. s
end

function onUse(cid, item, fromPosition, itemEx, toPosition)

local message = "You can use again at %d hours"
local time = getPlayerStorageValue(cid, 83922) 
local hours = 3

   if time - os.time() > 0 then
       return doPlayerSendCancel(cid, message:format(getTime(time)))
   end

   setPlayerStorageValue(cid, 83922, os.time() + hours * 60 * 1000)
   return doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
end

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Da este erro:

 

 

 

 

[11/06/2013 20:17:54] [Error - Action Interface]

[11/06/2013 20:17:54] data/actions/scripts/townstone.lua:onUse

[11/06/2013 20:17:54] Description:

[11/06/2013 20:17:54] data/actions/scripts/townstone.lua:16: bad argument #1 to 'format' (number expected, got string)

[11/06/2013 20:17:54] stack traceback:

[11/06/2013 20:17:54] [C]: in function 'format'

[11/06/2013 20:17:54] data/actions/scripts/townstone.lua:16: in function <data/actions/scripts/townstone.lua:9>

 

E se puder fazer com talkaction agradeço também !

Link para o comentário
Compartilhar em outros sites

function getTime(s)

local h = math.floor(s / 3600)

local m = math.floor((s - h * 3600 )/ 60)

local s = s - h * 3600 - m * 60

 

return h .. ":" .. m .. ":" .. s

end

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

 

local message = "You can use again at %s hours"

local time = getPlayerStorageValue(cid, 83922)

local hours = 3

 

if time - os.time() > 0 then

return doPlayerSendCancel(cid, message:format(getTime(time)))

end

 

setPlayerStorageValue(cid, 83922, os.time() + hours * 60 * 1000)

return doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

end

Link para o comentário
Compartilhar em outros sites

troca essa linha:

 

setPlayerStorageValue(cid, 83922, os.time() + hours * 60 * 1000)

 

por essa:

 

setPlayerStorageValue(cid, 83922, os.time() + hours * 3600)

 

os.time trabalha em segundos...

Link para o comentário
Compartilhar em outros sites

Agora fica: 380854:13:50 Hours

Se puder me passar ela para usar com talkaction também.. agradeço muito !

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

Em talkaction:

 

function onSay(cid)

   local function getTime(s)
       local h = math.floor(s / 3600)
       local m = math.floor((s - h * 3600 )/ 60)
       local s = s - h * 3600 - m * 60
   return h .. ":" .. m .. ":" .. s
   end

   local message = "Você precisa esperar %s para usar novamente."
   local time = getPlayerStorageValue(cid, 83922) - os.time() 
   local hours = 3

   if time > 0 and time < hours * 3600 then
   return doPlayerSendCancel(cid, message:format(getTime(time)))
   end

   setPlayerStorageValue(cid, 83922, os.time() + hours * 3600)
return doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
end

 

pra mudar pra action, basta troca o function onSay por function onUse

Link para o comentário
Compartilhar em outros sites

  • 4 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...