Jump to content
ted0xy

ayuda con quest biologo.

Recommended Posts

 

Buen día , Estoy aquí molestándote, porque estoy detrás de un quest funcional, é simples para muitos, mas sou novato nessa parte.

La quest funciona o seguinte , Ao clicar no Item ID:30132, ira tirar o tempo de espera para cada missão do Biologo , exemplo dentes o tempo para cada é de 24h se não estou enganado. clicando no item posso entregar imediatamente novamente.

Peço desculpas pela fala , pois está traduzido então deve ter muitos erros. Se puderem me ajudar ficarei muito grato.

Share this post


Link to post
Share on other sites
quest biolog_reset_time begin
	state start begin
		function info()
			local quest_names = {
				[1] = "collect_quest_lv30",
				[2] = "collect_quest_lv40",
				[3] = "collect_quest_lv50",
				[4] = "collect_quest_lv60",
				[5] = "collect_quest_lv70",
				[6] = "collect_quest_lv80",
				[7] = "collect_quest_lv85",
				[8] = "collect_quest_lv90",
				[9] = "collect_quest_lv92",
				[10] = "collect_quest_lv94"
			}

			for i = 1, table.getn(quest_names) do
				if get_time() < pc.getf(quest_names[i], "duration") then 
					pc.setf(quest_names[i], "duration", 0)
					syschat("Reset time")
					item.remove()
					return
				end
			end
		end

		when 30132.use begin
			say_title(string.format("%s:[ENTER]", item_name(item.get_vnum())))
				say("Você tem certeza?")
				say("Você só pode fazer isso uma vez.[ENTER]")
				if select("Sim", "Agora não") == 1 then
					biolog_reset_time.info();
				end
		end
	end
end

 

(Esta es una quest que ya tenía guardada)

			for i = 1, table.getn(quest_names) do
				if get_time() < pc.getf(quest_names[i], "duration") then 
					pc.setf(quest_names[i], "duration", 0)
					syschat("Reset time")
					item.remove()
					return
				end
			end

Aquí lo que hace es revisar cada qf "duration" de cada quest. Si "duration" es tiempo futuro, entonces va a borrar el qf.

¿Por qué es "tiempo futuro"?

Cuando entregas un objeto al biólogo, el qf guarda un nuevo valor que es el tiempo actual (el get_time()) + el tiempo de duración. Cada segundo que pasa, el get_time() aumenta en 1. O sea, si pones get_time()+30, estás poniendo un tiempo futuro de 30 segundos a partir de ahora.

Y como era de esperarse, el "tiempo futuro" obviamente es mayor que el tiempo actual.

La quest es un poco extensa porque validé. Es decir, me aseguré de cuál quest es la que tiene el "tiempo futuro". Más no borré todos los qf sin distinción. Esto es para que el jugador no consuma el ítem 30132 si ya puede entregar el objeto del biólogo.

 

Edito: cuando se trata de los qf de la misma quest se usa pc.setqf(), pc.getqf(), pc.delqf()

Cuando se trata de los qf de otra quest, se usa pc.setf(), pc.getf() (delf no existe) y en el primer parámetro va la el nombre de la quest, así:

pc.setf("tu_quest", "tu_qf", tu_valor)

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...