Jump to content

ayuda con quest biologo.


ted0xy

Mensajes recomendados

 

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.

Enlace para comentar
Compartir en otros sitios

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)

 

Enlace para comentar
Compartir en otros sitios

Unirse a la conversación

Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.

Guest
Responder a este tema...

×   Has pegado contenido con formato .   Eliminar formato

  Only 75 emoji are allowed.

×   Tu enlace se ha incorporado automáticamente.   Mostrar un enlace en su lugar

×   Se ha restaurado el contenido anterior. .   Borrar editor

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

  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...