ted0xy Publicado 5 de Abril del 2020 Reportar Compartir Publicado 5 de Abril del 2020 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. Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
caanmasu Publicado 5 de Abril del 2020 Reportar Compartir Publicado 5 de Abril del 2020 ¡Hola! Usa pc.delqf(nombre_quests_biologos, "duration") "duration" almacena el tiempo. ted0xy reacciono a esto 1 Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
ted0xy Publicado 5 de Abril del 2020 Author Reportar Compartir Publicado 5 de Abril del 2020 sería pedir mucho para explicarme mejor, soy un novato, no tengo idea de cómo voy a usar esta línea que me pasó. Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
kco 1 Publicado 5 de Abril del 2020 Reportar Compartir Publicado 5 de Abril del 2020 Tambien me gustaria saber Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
caanmasu Publicado 5 de Abril del 2020 Reportar Compartir Publicado 5 de Abril del 2020 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) ted0xy reacciono a esto 1 Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Mensajes recomendados
Unirse a la conversación
Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.