Ir para conteúdo

Featured Replies

Postado

Boa noite galera.

 

Tenho um script que é bem simples, eu configurei para ser usado com Event Coin, quando da use na moeda, o player pode passar pelo SQM e entrar na hunt e tem um total de 5 horas para ficar lá. O que gostaria de modificar é, após acabar o tempo de 5 horas que o player seja teleportado para o templo. Pois da forma que está, quando acaba o tempo, ele continua lá e somente se sair da cave ele não vai mais conseguir voltar, pois caso tente vai ter que passar pelo SQM e ai ele não entra mais, só se usar novamente a moeda. Lembrando que não tem nada a ver com Super Up nem nada, várias pessoas podem usar a moeda e entrar quem quiser na cave, porém só queria que fosse teletransportado para o templo quando o tempo acabasse, para que pessoal não abusasse e ficasse direto sem parar nas caves.

 

Segue o código

 

Movements:


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 onStepIn(cid, item, position, fromPosition)
if (not isPlayer(cid)) then
	return false
end

	if getPlayerStorageValue(cid, 29997) - os.time() <= 0 then
		doPlayerPopupFYI(cid, "                                                           ..::: AVISO :::..\nLocal com:\n+ 8 Hunts novas\n+ (ex: asura, infernalist...)\n\n\n                                         ..::: COMO OBTER EVENT COIN :::..\n\n* Daily (quest diária, possível fazer todos os dias)\n* Eventos diarios\n\n                                                      ..::: COMO USAR :::..\n\nBasta dar 'USE' no 'Event Coin' e poderá ter acesso a esta área.\nApós usar o 'Event Coin', o tempo permidito dentro das hunts é de 5 horas.\nOBS: Seu tempo não acumula se você utilizar 2 event coins simultaneamente.\n\n\n Você possui: ".. getPlayerItemCount(cid, 12686) .." Event Coin(s).")
		doTeleportThing(cid, fromPosition, true)
	else
		doPlayerSendTextMessage(cid, 27,"Você ainda possui: ".. convertTime(getPlayerStorageValue(cid, 29997) - os.time()) ..".")
		return false
	end
	return true
end

 

Action:

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

    if getPlayerLevel(cid) < 50 then 
        return doPlayerSendCancel(cid, "Você não possui level 50+ para utilizar este item.") 
    end

	if getPlayerStorageValue(cid, 29997) - os.time() <= 0 then 
		if doPlayerRemoveItem(cid, 6527, 1) then
			setPlayerStorageValue(cid, 29997, 5 * 60 * 60 + os.time())
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você usou 1 Event Coin! Você pode acessar as Hunts por 5 horas.")
			doSendMagicEffect(frompos, 30)
		else
			return doPlayerSendCancel(cid, "Você precisa ter o item em sua 'BP'.")
		end
		
	elseif getPlayerStorageValue(cid, 29997) - os.time() > 0 then 
		doPlayerSendTextMessage (cid, 19, "Para usar novamente o item você deve esperar ".. convertTime(getPlayerStorageValue(cid, 29997) - os.time()) ..".")
	end
   return true
end

 

Obrigado desde já! ?

Postado

coloca uma storage de controle que vai checar se o player esta na area... dessa forma vc pode kikar ele qndo ele deslogar na area ou qndo se esgotar o tempo (ai faz atraves do global events)

 

qualquer coisa eu faço quando tiver tempo!

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo