Ir para conteúdo
  • Cadastre-se

(Resolvido)talk action crystal coin por hora


Ir para solução Resolvido por KOLISAO,

Posts Recomendados

.Qual servidor ou website você utiliza como base? 

The OTX Server Global - Version: (3.10) 

Qual o motivo deste tópico?  pedido talkaction

 

Está surgindo algum erro? Se sim coloque-o aqui. 

Citar

Ola galera, eu estava precisando de uma talkaction e nao estou achando, por exemplo o player ao  falar !money, iria receber 100k com cooldown de 1 hora pra pedir de novo, alguem pode me ajudar?

 

Você tem o código disponível? Se tiver publique-o aqui: 

 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Editado por toukiscreen (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
local player_stor = 45752

function onSay(cid, words, param)
	local position = getCreaturePosition(cid)
  	if getPlayerStorageValue(cid, player_stor) - os.time() <= 0 then
		if doPlayerAddItem(cid, 2160, 10) then	
			doPlayerSendTextMessage(cid, 27, "Você recebeu 100k.")
			doSendMagicEffect(position, 12)
		else
			doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.")
		end
	else
		doPlayerSendTextMessage(cid,25,"Aguarde ".. convertTime(getPlayerStorageValue(cid, player_stor) - os.time()) ..".")
	end
    return true
end

 

 

Link para o post
Compartilhar em outros sites
Em 02/06/2019 em 21:41, KOLISAO disse:

local player_stor = 45752

function onSay(cid, words, param)
	local position = getCreaturePosition(cid)
  	if getPlayerStorageValue(cid, player_stor) - os.time() <= 0 then
		if doPlayerAddItem(cid, 2160, 10) then	
			doPlayerSendTextMessage(cid, 27, "Você recebeu 100k.")
			doSendMagicEffect(position, 12)
		else
			doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.")
		end
	else
		doPlayerSendTextMessage(cid,25,"Aguarde ".. convertTime(getPlayerStorageValue(cid, player_stor) - os.time()) ..".")
	end
    return true
end

 

 

no caso o tempo de 1 hora seria configurado aqui?

if getPlayerStorageValue(cid, player_stor) - os.time() <= 0 then

 

Link para o post
Compartilhar em outros sites
  • Solução
Em 04/06/2019 em 02:29, toukiscreen disse:

no caso o tempo de 1 hora seria configurado aqui?


if getPlayerStorageValue(cid, player_stor) - os.time() <= 0 then

Desculpa, esqueci de adicionar a linha kk

 

local player_stor = 45752

function onSay(cid, words, param)
	local position = getCreaturePosition(cid)
  	if getPlayerStorageValue(cid, player_stor) - os.time() <= 0 then
		if doPlayerAddItem(cid, 2160, 10) then	
			doPlayerSendTextMessage(cid, 27, "Você recebeu 100k.")
			doSendMagicEffect(position, 12)
			setPlayerStorageValue(cid, player_stor, os.time()+60*60)
		else
			doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.")
		end
	else
		doPlayerSendTextMessage(cid,25,"Aguarde ".. convertTime(getPlayerStorageValue(cid, player_stor) - os.time()) ..".")
	end
    return true
end


Onde 60*60 é 60min

 

Link para o post
Compartilhar em outros sites
3 horas atrás, KOLISAO disse:

Desculpa, esqueci de adicionar a linha kk

 


local player_stor = 45752

function onSay(cid, words, param)
	local position = getCreaturePosition(cid)
  	if getPlayerStorageValue(cid, player_stor) - os.time() <= 0 then
		if doPlayerAddItem(cid, 2160, 10) then	
			doPlayerSendTextMessage(cid, 27, "Você recebeu 100k.")
			doSendMagicEffect(position, 12)
			setPlayerStorageValue(cid, player_stor, os.time()+60*60)
		else
			doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.")
		end
	else
		doPlayerSendTextMessage(cid,25,"Aguarde ".. convertTime(getPlayerStorageValue(cid, player_stor) - os.time()) ..".")
	end
    return true
end


Onde 60*60 é 60min

 

Lua Script Error: [TalkAction Interface] 
data/talkactions/scripts/coins.lua:onSay 
data/talkactions/scripts/coins.lua:14: attempt to call global 'convertTime' (a nil value) 
stack traceback: 
[C]: in function 'convertTime' 

 

funcionou perfeitamente obrigado, so mais uma duvida aqui era para aparecer a mensagem caso o player usasse de novo ne? porque nao aparece, mas fora isso esta perfeito

		doPlayerSendTextMessage(cid,25,"Aguarde ".. convertTime(getPlayerStorageValue(cid, player_stor) - os.time()) ..".") 
Editado por toukiscreen (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
23 horas atrás, toukiscreen disse:

Lua Script Error: [TalkAction Interface] 
data/talkactions/scripts/coins.lua:onSay 
data/talkactions/scripts/coins.lua:14: attempt to call global 'convertTime' (a nil value) 
stack traceback: 
[C]: in function 'convertTime' 

 

funcionou perfeitamente obrigado, so mais uma duvida aqui era para aparecer a mensagem caso o player usasse de novo ne? porque nao aparece, mas fora isso esta perfeito


		doPlayerSendTextMessage(cid,25,"Aguarde ".. convertTime(getPlayerStorageValue(cid, player_stor) - os.time()) ..".") 

 

 

 

Adiciona esta função em functions.lua em libs

 

function convertTime(a)
  if(type(tonumber(a)) == "number" and a > 0) then
    if (a <= 3599) then
      local minute = math.floor(a/60)
      local second = a - (60 * minute)
      if(second == 0) then
        return ((minute)..((minute > 1) and " minutos" or " minuto"))
      else
        return ((minute ~= 0) and ((minute>1) and minute.." minutos e " or minute.." minuto e ").. ((second>1) and second.." segundos" or second.." segundo") or ((second>1) and second.." segundos" or second.. " segundo"))
      end
    else
      local hour = math.floor(a/3600)
      local minute = math.floor((a - (hour * 3600))/60)
      local second = (a - (3600 * hour) - (minute * 60))
      if (minute == 0 and second > 0) then
        return (hour..((hour > 1) and " horas e " or " hora e "))..(second..((second > 1) and " segundos" or " segundo"))
      elseif (second == 0 and minute > 0) then
        return (hour..((hour > 1) and " horas e " or " hora e "))..(minute..((minute > 1) and " minutos" or " minuto"))
      elseif (second == 0 and minute == 0) then
        return (hour..((hour > 1) and " horas" or " hora"))
      end
      return (hour..((hour > 1) and " horas, " or " hora, "))..(minute..((minute > 1) and " minutos e " or " minuto e "))..(second..((second > 1) and " segundos" or " segundo"))
    end
  end
end

 

 

Link para o post
Compartilhar em outros sites
Em 06/06/2019 em 16:33, KOLISAO disse:

 

 

Adiciona esta função em functions.lua em libs

 


function convertTime(a)
  if(type(tonumber(a)) == "number" and a > 0) then
    if (a <= 3599) then
      local minute = math.floor(a/60)
      local second = a - (60 * minute)
      if(second == 0) then
        return ((minute)..((minute > 1) and " minutos" or " minuto"))
      else
        return ((minute ~= 0) and ((minute>1) and minute.." minutos e " or minute.." minuto e ").. ((second>1) and second.." segundos" or second.." segundo") or ((second>1) and second.." segundos" or second.. " segundo"))
      end
    else
      local hour = math.floor(a/3600)
      local minute = math.floor((a - (hour * 3600))/60)
      local second = (a - (3600 * hour) - (minute * 60))
      if (minute == 0 and second > 0) then
        return (hour..((hour > 1) and " horas e " or " hora e "))..(second..((second > 1) and " segundos" or " segundo"))
      elseif (second == 0 and minute > 0) then
        return (hour..((hour > 1) and " horas e " or " hora e "))..(minute..((minute > 1) and " minutos" or " minuto"))
      elseif (second == 0 and minute == 0) then
        return (hour..((hour > 1) and " horas" or " hora"))
      end
      return (hour..((hour > 1) and " horas, " or " hora, "))..(minute..((minute > 1) and " minutos e " or " minuto e "))..(second..((second > 1) and " segundos" or " segundo"))
    end
  end
end

 

 

ajuda ta tirando error n consola..

}

 

onde add functions.lua em libs??

meu ot n tenhe functions.lua onde coloco?

Link para o post
Compartilhar em outros sites
1 minuto atrás, KaboFloww disse:

ajuda ta tirando error n consola..

}

 

onde add functions.lua em libs??

meu ot n tenhe functions.lua onde coloco?

 

em data/lib/050-function.lua

 

Link para o post
Compartilhar em outros sites
2 minutos atrás, KaboFloww disse:

como eu coloquei auto qe quando vc cheva 1 hr login resive reward coins

 

sim comando

 

 

Não entendi oq vc falou.

Caso seja, como por a função, é no final, depois do END

 

Link para o post
Compartilhar em outros sites
6 minutos atrás, KOLISAO disse:

 

Não entendi oq vc falou.

Caso seja, como por a função, é no final, depois do END

 

 

eu qero qe 

 

o player qe tenha 1 hr online

reciva 1 crytal coin

a qada 1 hr tudo dia

 

sim presisar d comando pra recivir .

 

com ta online ele vai recivir

Link para o post
Compartilhar em outros sites
local player_stor = 45752

local function convertTime(a)
  if(type(tonumber(a)) == "number" and a > 0) then
    if (a <= 3599) then
      local minute = math.floor(a/60)
      local second = a - (60 * minute)
      if(second == 0) then
        return ((minute)..((minute > 1) and " minutos" or " minuto"))
      else
        return ((minute ~= 0) and ((minute>1) and minute.." minutos e " or minute.." minuto e ").. ((second>1) and second.." segundos" or second.." segundo") or ((second>1) and second.." segundos" or second.. " segundo"))
      end
    else
      local hour = math.floor(a/3600)
      local minute = math.floor((a - (hour * 3600))/60)
      local second = (a - (3600 * hour) - (minute * 60))
      if (minute == 0 and second > 0) then
        return (hour..((hour > 1) and " horas e " or " hora e "))..(second..((second > 1) and " segundos" or " segundo"))
      elseif (second == 0 and minute > 0) then
        return (hour..((hour > 1) and " horas e " or " hora e "))..(minute..((minute > 1) and " minutos" or " minuto"))
      elseif (second == 0 and minute == 0) then
        return (hour..((hour > 1) and " horas" or " hora"))
      end
      return (hour..((hour > 1) and " horas, " or " hora, "))..(minute..((minute > 1) and " minutos e " or " minuto e "))..(second..((second > 1) and " segundos" or " segundo"))
    end
  end
end

function onSay(cid, words, param)
	local position = getCreaturePosition(cid)
  	if getPlayerStorageValue(cid, player_stor) - os.time() <= 0 then
		if doPlayerAddItem(cid, 2160, 10) then	
			doPlayerSendTextMessage(cid, 27, "Você recebeu 100k.")
			doSendMagicEffect(position, 12)
			setPlayerStorageValue(cid, player_stor, os.time()+60*60)
		else
			doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.")
		end
	else
		doPlayerSendTextMessage(cid,25,"Aguarde ".. convertTime(getPlayerStorageValue(cid, player_stor) - os.time()) ..".")
	end
    return true
end
Editado por KOLISAO (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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo