Ir para conteúdo
  • 0

colocar tempo e...


Pergunta

Fala pessoal!

queria uma ajuda pra modificar esse script, eu queria colocar um tempo de 24 hrs de cooldown para os players que entrarem na quest poderem faze-la dnv, e colocar pra ser no minimo de 1 a 5 players a serem teleportados!

 

tentei fazer fazer aqui mas não deu muito certo ;[

Editado por FelipeXT
Link para o comentário
https://xtibia.com/forum/topic/251211-colocar-tempo-e/
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0
  Em 16/03/2020 em 02:15, FelipeXT disse:
Versão do Servidor: TFS - 0.4
Tipo de Script: actions
Código:
  Mostrar conteúdo oculto

Fala pessoal!

queria uma ajuda pra modificar esse script, eu queria colocar um tempo de 24 hrs de cooldown para os players que entrarem na quest poderem faze-la dnv, e colocar pra ser no minimo de 1 a 5 players a serem teleportados!

 

tentei fazer fazer aqui mas não deu muito certo ;[

Expand  

O que não deu certo no seu script? Qual foi o erro? 

 

Está funcionando para os 5 jogadores?

 

Seu server tem alguma função de converter segundos para horas?

Link para o comentário
https://xtibia.com/forum/topic/251211-colocar-tempo-e/#findComment-1757840
Compartilhar em outros sites

  • 0
  Em 16/03/2020 em 02:15, FelipeXT disse:
Versão do Servidor: TFS - 0.4
Tipo de Script: actions
Código:
  Mostrar conteúdo oculto

Fala pessoal!

queria uma ajuda pra modificar esse script, eu queria colocar um tempo de 24 hrs de cooldown para os players que entrarem na quest poderem faze-la dnv, e colocar pra ser no minimo de 1 a 5 players a serem teleportados!

 

tentei fazer fazer aqui mas não deu muito certo ;[

Expand  

tente usar esse 

 

 

Salve galera demorou mas consegui hoje vou estar trazendo ai para vocês um script bem bacana da quest tipo anihi porém editado por mim espero que gostem ^^ 

 

Atenção!!

O script foi otimizado com uma ajuda do @movie agora esta 100% liso testado em 0.3.6 8.54 ✔️

 

 

Bom vamos ao script

tentei deixar a maior parte das configurações tudo em uma tabela só

 

Funções

Configurar Level para fazer a quest

Configurar a actionid e adicione a uniqueid com o mesmo valor

tempo para fazer a quest

storage para fazer apenas uma vez esta desativado porém para ativar só retirar os comentários

efeitos em determinadas ações esta tudo explicado no script

tem configurado 3 posições ou seja você pode configurar três andares ou três partes diferentes do mapa mantendo como uma mesma quest

fail = posição que o 4 jogadores vão caso não completar a quest a tempo

limit = não mexer (seria a verificação se tiver 1 player dentro da área vai enviar a mensagem que tem gente na quest)

  Mostrar conteúdo oculto

 

 

Créditos

@Vodkart (algumas funções)

@Jamison (função de remover monstros)

@Brunds

caso tiver mais alguém só enviar pm que eu coloco os créditos

Editado por LeoTK
Link para o comentário
https://xtibia.com/forum/topic/251211-colocar-tempo-e/#findComment-1757842
Compartilhar em outros sites

  • 0
  Em 18/03/2020 em 14:10, Yan18 disse:

O que não deu certo no seu script? Qual foi o erro? 

 

Está funcionando para os 5 jogadores?

 

Seu server tem alguma função de converter segundos para horas?

Expand  

não tem nada errado! eu queria ajuda pra colocar um cooldown de 24 hrs nele pra quem pular na quest ou a completarem, e tbm tirar a necessidade de ter exatamente 5 players para fazer a quest , exemplo: maximo de 5 player mas se tiver 1 ou 2,3,4... faz do mesmo jeito!

Editado por FelipeXT
Link para o comentário
https://xtibia.com/forum/topic/251211-colocar-tempo-e/#findComment-1757848
Compartilhar em outros sites

  • 0
  Em 18/03/2020 em 16:05, LeoTK disse:

Salga galera demorou mas consegui hoje vou estar trazendo ai para vocês um script bem bacana da quest tipo anihi porém editado por mim espero que gostem ^^ 

Expand  

tem o sistema completo? Se sim, poderia postar em um tópico?

Link para o comentário
https://xtibia.com/forum/topic/251211-colocar-tempo-e/#findComment-1757849
Compartilhar em outros sites

  • 0
  Em 18/03/2020 em 22:39, FelipeXT disse:

não tem nada errado! eu queria ajuda pra colocar um cooldown de 24 hrs nele pra quem pular na quest ou a completarem, e tbm tirar a necessidade de ter exatamente 5 players para fazer a quest , exemplo maximo de 5 player mas se tiver 1 ou 2,3,4... faz do mesmo jeito!

Expand  

Você disse que tentou mexer e não deu certo, e como não especificou, ficou vago e deu a entender que algo deu errado.

 

Mas deu certo o sistema que o cara te passou ai ou você quer continuar com esse seu script e quer que colocar verificação de 24 horas?

Link para o comentário
https://xtibia.com/forum/topic/251211-colocar-tempo-e/#findComment-1757854
Compartilhar em outros sites

  • 0
  Em 19/03/2020 em 01:34, Yan18 disse:

Você disse que tentou mexer e não deu certo, e como não especificou, ficou vago e deu a entender que algo deu errado.

 

Mas deu certo o sistema que o cara te passou ai ou você quer continuar com esse seu script e quer que colocar verificação de 24 horas?

Expand  

Vou continuar com o meu Scripts, o do cara e basicamente o mesmo

Link para o comentário
https://xtibia.com/forum/topic/251211-colocar-tempo-e/#findComment-1757857
Compartilhar em outros sites

  • 0
  Em 19/03/2020 em 10:04, FelipeXT disse:

Vou continuar com o meu Scripts, o do cara e basicamente o mesmo

Expand  

negativo o meu tem a verificação de storage tu só precisa add um os.time pra ele funcionar pra fazer a cada 24horas...

Link para o comentário
https://xtibia.com/forum/topic/251211-colocar-tempo-e/#findComment-1757858
Compartilhar em outros sites

  • 0
  Em 19/03/2020 em 10:23, LeoTK disse:

negativo o meu tem a verificação de storage tu só precisa add um os.time pra ele funcionar pra fazer a cada 24horas...

Expand  

tem como remover a restrição de ter exatamente 4 players pra quest no seu script?

exemplo: máximo de 4 players, mas se tiver 1 ou 2,3... faz do mesmo jeito!

Link para o comentário
https://xtibia.com/forum/topic/251211-colocar-tempo-e/#findComment-1757902
Compartilhar em outros sites

  • 0
  Em 21/03/2020 em 13:26, FelipeXT disse:

tem como remover a restrição de ter exatamente 4 players pra quest no seu script?

exemplo: máximo de 4 players, mas se tiver 1 ou 2,3... faz do mesmo jeito!

Expand  

tenta modificar essa linha

if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then

deixando assim

if player1.itemid > 0 or player2.itemid > 0 or player3.itemid > 0 or player4.itemid > 0 then

se não funcionar vai ter que modificar e provavelmente usar um for pra criar uma verificação em tabela pra poder verificar se tem apenas 1 player ou 4 players.... ai é mais complicado

 

Link para o comentário
https://xtibia.com/forum/topic/251211-colocar-tempo-e/#findComment-1757904
Compartilhar em outros sites

  • 0
  Em 21/03/2020 em 13:31, LeoTK disse:

tenta modificar essa linha

if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then

deixando assim

if player1.itemid > 0 or player2.itemid > 0 or player3.itemid > 0 or player4.itemid > 0 then

se não funcionar vai ter que modificar e provavelmente usar um for pra criar uma verificação em tabela pra poder verificar se tem apenas 1 player ou 4 players.... ai é mais complicado

 

Expand  

não funcionou ;[ mas vlw pela ajuda!

image.png.a07090ae69899ba8b43525f86a86a53a.png

Link para o comentário
https://xtibia.com/forum/topic/251211-colocar-tempo-e/#findComment-1757906
Compartilhar em outros sites

  • 0
  Em 21/03/2020 em 13:31, LeoTK disse:

tenta modificar essa linha

if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then

deixando assim

if player1.itemid > 0 or player2.itemid > 0 or player3.itemid > 0 or player4.itemid > 0 then

se não funcionar vai ter que modificar e provavelmente usar um for pra criar uma verificação em tabela pra poder verificar se tem apenas 1 player ou 4 players.... ai é mais complicado

 

Expand  

Eu gostei dessa script pra usar na quest, porém teria como se nao for player, for monstro no sqm, tambem reconhecer como sqm preenchido?

Link para o comentário
https://xtibia.com/forum/topic/251211-colocar-tempo-e/#findComment-1761320
Compartilhar em outros sites

  • 0
  Em 18/03/2020 em 22:39, FelipeXT disse:

não tem nada errado! eu queria ajuda pra colocar um cooldown de 24 hrs nele pra quem pular na quest ou a completarem, e tbm tirar a necessidade de ter exatamente 5 players para fazer a quest , exemplo: maximo de 5 player mas se tiver 1 ou 2,3,4... faz do mesmo jeito!

Expand  

Arrumei o seu script e coloquei tempo para refazer a quest caso ele complete ou seja removido de acordo com uma função reloadAnnihi. Substitua o código por esse:

 

--[[> Annihilator script by Marcryzius D'ev <]]--

local time_quest = 24 -- COLOQUE O VALOR EM QUANTIDADE DE HORAS PARA REFAZER A QUEST
local storage_time = 63598 -- STORAGE PARA ARMAZENAR AS HORAS PARA REFAZER A QUEST

local pos_demons,pos_players,tele_players,exit_players = {

  -- posições onde serão sumonados os monstros na annihilator
  {x = 33426, y = 32793, z = 8,stackpos=253}

},{

  --posições onde estão os players antes de irem a sala da annihi
  {x = 33420, y = 32796, z = 6,stackpos=253},
  {x = 33421, y = 32796, z = 6,stackpos=253},
  {x = 33422, y = 32796, z = 6,stackpos=253},
  {x = 33423, y = 32796, z = 6,stackpos=253},
  {x = 33424, y = 32796, z = 6,stackpos=253},

},{

  --posições onde serão teleportados os players para a sala da annihi
  {x = 33419, y = 32793, z = 8,stackpos=253},
  {x = 33420, y = 32793, z = 8,stackpos=253},
  {x = 33421, y = 32793, z = 8,stackpos=253},
  {x = 33422, y = 32793, z = 8,stackpos=253},
  {x = 33423, y = 32793, z = 8,stackpos=253},

}, {x = 33421, y = 32794, z = 6} -- posição de saida


local level,time_annihi = 10,20

QUANT = time_annihi -- não mecha
RELOAD_ANNIHI = 0 -- não mecha

--== FUNÇÕES NECESSARIAS ==--
local function getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers) --Marcryzius
    local creaturesList = {}

    for x = -radiusx, radiusx do
        for y = -radiusy, radiusy do
        local creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z, stackpos = STACKPOS_TOP_CREATURE})
            if (creature.type == 1 and showPlayers == true) or (creature.type == 2 and showMonsters == true) then
                table.insert(creaturesList, creature.uid)
            end
        end
    end
    return creaturesList
end


local function repeatTxtInPos(alavanca_pos,cor)
  local pos = tele_players[3]

   if(QUANT > 0)then
      QUANT = QUANT-1

      doSendAnimatedText(alavanca_pos,QUANT,cor)
      doSendAnimatedText({x=pos.x-10,y=pos.y-10,z=pos.z},QUANT,cor)
      doSendAnimatedText({x=pos.x-10,y=pos.y+10,z=pos.z},QUANT,cor)
      doSendAnimatedText({x=pos.x+10,y=pos.y+10,z=pos.z},QUANT,cor)
      doSendAnimatedText({x=pos.x+10,y=pos.y-10,z=pos.z},QUANT,cor)
      addEvent(repeatTxtInPos,1000,alavanca_pos,cor)

   else
      QUANT = time_annihi
      stopEvent(RELOAD_ANNIHI)
      RELOAD_ANNIHI = 0
   end
end


local function reloadAnnihi()
  local players = getCreaturesInRange(tele_players[3], 6, 6, true, true)
  for _,cid in pairs(players) do
      if(isPlayer(cid) == true)then
         doTeleportThing(cid,exit_players, false)
         doPlayerSendCancel(cid,"Voce não conseguiu completar a annihi e por isso foi retirado dela... NOOB!")
         setPlayerStorageValue(cid, storage_time, os.time() + (time_quest * 60 * 60)) -- SE O PLAYER FOR RETIRADO DA QUEST ELE PRECISA ESPERAR O TEMPO COLOCADO NA VARIÁVEL TIME_QUEST PARA REFAZER A QUEST
	  return true	 
      
      elseif(isMonster(cid))then
         doRemoveCreature(cid)
      end
   end
end


--== FUNÇÕES NECESSARIAS ==--
function onUse(cid, item, fPos, itemEx, toPosition)
   if(item.itemid == 1946)then
		if getPlayerStorageValue(cid, storage_time) <= os.time() then
			for _,pos in pairs(pos_players) do
				local player = getThingFromPos(pos)
				if not(isPlayer(player.uid))then
					return true,doPlayerSendCancel(cid, "voce precisa de "..#pos_players.." pessoas para poder entrar na sala.")
				elseif(getPlayerLevel(player.uid) < level)then
					return true,doPlayerSendCancel(cid, "Todos necessitam ter level "..level.." ou mais.")
				end
			end
		
			local getMonsterInAnnihi = getCreaturesInRange(tele_players[3], 5, 5, true)
		
			for k,pos  in pairs(pos_demons) do
				if(k <= #pos_players)then
				local player = getThingFromPos(pos_players[k])
					if(player.uid ~= nil)then
					doTeleportThing(player.uid,tele_players[k], false)
					end
				end
		
				if(#getMonsterInAnnihi > 0)then
					reloadAnnihi()
				end
				doSummonCreature("Rat", pos) -- Nome do monstro
			end
		
			if(QUANT == time_annihi)then
				repeatTxtInPos(fPos,time_annihi,0)
				RELOAD_ANNIHI = addEvent(reloadAnnihi,time_annihi*1000)
			end
			
			setPlayerStorageValue(cid, storage_time, os.time() + (time_quest * 60 * 60)) -- CASO O PLAYER COMPLETE A QUEST ADICIONA TEMPO COLOCAD NA VARIÁVEL TIME_QUEST PARA REFAZER
		return true
		
		else
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Vocês precisam esperar 24 horas para fazer a quest novamente.")
			doPlayerSendCancel(cid, "Vocês precisam esperar 24 horas para fazer a quest novamente.")
		return true
		end

   elseif(item.itemid == 1945)then
      if(#getCreaturesInRange(tele_players[3], 6, 6, false, true) > 0)then
         return true,doPlayerSendCancel(cid,"Espere o time acabar de fazer a annihilator quest.")
      end
   end
end

Eu deixei 24 horas para refazer a quest, mas, se quiser mudar a quantidade de horas, só alterar o valor da variável time_quest no começo do script. E a variável storage_time armazena a storage da quest (que verifica o tempo para refazer).

 

Testa e me fala se der algum erro.

Editado por Yan18
Link para o comentário
https://xtibia.com/forum/topic/251211-colocar-tempo-e/#findComment-1761548
Compartilhar em outros sites

  • 0

Lua Script Error: [Action Interface]
data/actions/scripts/anihi2.lua:onUse
data/actions/scripts/anihi2.lua:4: attempt to call global 'isInRange' (a nil value)
stack traceback:
        [C]: in function 'isInRange'
        data/actions/scripts/anihi2.lua:4: in function 'getAmountPlayersInArea'
        data/actions/scripts/anihi2.lua:31: in function <data/actions/scripts/anihi2.lua:29>

pq? deu esse erro

Link para o comentário
https://xtibia.com/forum/topic/251211-colocar-tempo-e/#findComment-1774900
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

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