Lord Ahriman Posted August 24, 2019 Report Share Posted August 24, 2019 Saludos a todos, le dejo esta quest que modifique (no se mucho de quest) La quest trata de un libro que estaba oculto en una cueva de las tierra del fuego, y que al abrirlo les pedira ser lvl 125, tener una esfera de cristal y listo, como premio por comprender el libro te da un atuendo de lvl 125... En mi caso el ítem: 9030 era Libro Coraza Dragón Al abrirlo me indicaría lo que necesito para leer ese libro, todo es totalmente editable y por lo que veo fácil de entender... 9015 era Esfera Cristal Solar, que es lo que necesito para leer el libro en question... Ustedes lo adaptan como quieran, le cambian el "vnum-de-item.use" a "vnum-de-NPC.chat" para usarlo en NPC (ojo que no se mucho de quest, si alguien sabe mas agradezco que me corrija!! ) Le cambian el lvl si quieren o simplemente le borran el " if pc.get_level() < 125 then " Puede ser un Baul, Cofre, Libro, Pelota, ETC... Lo que se les venga a la mente mientras tengan un linea valida. mas un icono para ver el item y que sea type 18.... Espero que alguien le sirva y de verdad si hay algo mal en la quest agradezco que me corrijan y si la dejan mejorada, genial, asi tambien la arreglo yo jajaj SUERTE!!! Quote quest nombredequest begin state start begin when vnum-de-item.use begin if pc.get_level() < 125 then say_title("Tu nivel es insuficiente") say(""..pc.get_name().." Para poder entender este libro") say("Necesitas 2 cosas") say("Ser nivel: 125") say("Y este item:") say_item_vnum(vnum-del-item-a-pedir) return end say_title("Libro Dragon Acorazado") say("") say("Estimado/a "..pc.get_name().."") say("") say("Has obtenido el Libro del Dragon Acorazado") say("En el podras adquirir uno de sus atuendos") say("Pero necesitaras leerlo con este objeto:") say_item_vnum(vnum-del-item-a-pedir) wait() say_title("¿Aceptas usar el cristal?") say("Al usar este cristal, revelas los secretos") say("Que se escondia en la cueva de Tierra del Fuego") say_reward("Si aceptas, no hay vuelta atras.") local s=select("Acepto.","No acepto.") if s==2 then return else if pc.count_item(vnum-del-item-a-pedir)>0 then say_title("Libro Dragon Acorazado:") say("Has leido el libro") say("En esta seccion encontraras") say("Los atuendos que escondia el libro ") say("") say_reward(""..pc.get_name().." Dice: Debo elegir sabiamente.") pc.remove_item(vnum-del-item-a-pedir) else say_title("Libro Dragon Acorazado:") say("") say_reward(""..pc.get_name().." Dice: Es complicado leer esto") say_reward(""..pc.get_name().." Dice: Necesito el cristal") say("") say_item_vnum(vnum-del-item-a-pedir) return end end local premiu = select ("Guerrero","Sura","Ninja","Chaman") if premiu == 1 then pc.give_item2(item-a-dar-,cantidad) say("Has recibido un atuendo para Guerrero") elseif premiu == 2 then pc.give_item2(item-a-dar-,cantidad) say("Has recibido un atuendo para Sura") elseif premiu == 3 then pc.give_item2(item-a-dar-,cantidad) say("Has recibido un atuendo para Ninja") elseif premiu == 4 then pc.give_item2(item-a-dar-,cantidad) say("Has recibido un atuendo para Chaman") end pc.remove_item(vnum-de-item) end end end Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación. Quote Link to comment Share on other sites More sharing options...
caanmasu Posted August 25, 2019 Report Share Posted August 25, 2019 Hola amigo Me alegra que estés haciendo quests. No mucha gente se le mide a eso xD Luego de hacer varias quest creo que puedo recomendarte algunas cosas que fui aprendiendo 1. say("Los atuendos que escondia el libro ") say("") es lo mismo que say("Los atuendos que escondia el libro [ENTER]") y del mismo modo en sentido contrario :v 2. Cuando quieras que el título tenga el mismo nombre que el nombre del objeto: say_title(item.name) y para que el siguiente texto esté separado say_title(item.name.."[ENTER]") 3. say("Estimado/a "..pc.get_name().."") es lo mismo que say("Estimado/a "..pc.get_name()) 4. Para eliminar el objeto: item.remove() debes probar primero si se eliminan todos los objetos que tienes en el mismo slot o solo elimina uno. 5. Para crear una quest sencilla de personalizar se recomienda usar una función aparte donde retorne una estructura de datos. Suena complejo pero no lo es. function info() return { ["level_req"] = 120, ["item_req"] = 19, ["cant_item_req"] = 1, ["item_reward_x_raza"] = {11209, 11409, 11609, 11809} } end se entiende que va en la misma jerarquía que los when. Incluso puedes llamarla desde otros states. Así: local s = nombredelaquest.info() Esa línea va dentro del when. Luego para llamar a una de las variables de allí pones, por ejemplo, para el nivel requerido: say("Debes ser nivel "..s.level_req) 6. Para entregar cierto objeto a un personaje sin necesidad de que él escoja su raza, se hace así: Primero se saca el id de la raza así: pc.job esa sentencia bota números entre el 0 y el 3, donde: 0: guerrero 1: ninja 2: sura 3: chamán Luego para darle un objeto diferente por raza debes tener una pequeña lista de los 4 objetos que vas a dar, así: ["item_reward_x_raza"] = {11209, 11409, 11609, 11809} que es la misma lista que está arriba en la función. (se debe poner en el orden correcto, g, n, s, c) Después le das el ítem con give_item2(OBJETO_EN_EL_ARREGLO) Donde OBJETO_EN_EL_ARREGLO es alguno de los elementos que están en la lista. Por ejemplo, si es guerrero, entonces quedará give_item2(s.item_reward_x_raza[0]) Y va a tirar error. Por qué? porque las posiciones de las listas empiezan desde 1 y no de 0. Entonces solución: pc.job+1 Ahora sí. Solo pones: pc.give_item2(s.item_reward_x_raza[pc.job+1]) Ese sería mi aporte. Ánimossss! Lord Ahriman and xLordneji 2 Quote Link to comment Share on other sites More sharing options...
Lord Ahriman Posted August 28, 2019 Author Report Share Posted August 28, 2019 Eres un dios jajaj, buena buena me gusta Quote Link to comment Share on other sites More sharing options...
TTV_RANDARON Posted August 28, 2019 Report Share Posted August 28, 2019 No esta mal Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.