iluvatar Posted August 11, 2012 Report Share Posted August 11, 2012 La misión que entrega las habilidades a nivel 5, con el mismo texto que el oficial, integrado en la quest para que trabaje independiente del locale.lua. Le agregue algunos comentarios para que los que entiendan más de quest sepan que le agregue y como se hacen funcionar, asà podran practicarlo ellos mismos. quest skill_group begin state start begin when login or levelup with pc.level>=5 and pc.skillgroup == 0 begin set_state(run) end end state run begin when login with pc.get_skill_group()!=0 begin restart_quest() end when letter with pc.get_skill_group()==0 begin send_letter("El entrenamiento") local job=pc.get_job() if job==0 then local v=pc_find_skill_teacher_vid(1) if 0!=v then target.vid("teacher1", v, "corporal") end local v=pc_find_skill_teacher_vid(2) if 0!=v then target.vid("teacher2", v, "mental") end elseif job==1 then local v=pc_find_skill_teacher_vid(1) if 0!=v then target.vid("teacher3", v, "dagas") end local v=pc_find_skill_teacher_vid(2) if 0!=v then target.vid("teacher4", v, "arquero") end elseif job==2 then local v=pc_find_skill_teacher_vid(1) if 0!=v then target.vid("teacher5", v, "armas") end local v=pc_find_skill_teacher_vid(2) if 0!=v then target.vid("teacher6", v, "magia_negra") end elseif job==3 then local v=pc_find_skill_teacher_vid(1) if 0!=v then target.vid("teacher7", v, "dragón") end local v=pc_find_skill_teacher_vid(2) if 0!=v then target.vid("teacher8", v, "curación") end end end when leave begin target.delete("teacher1") target.delete("teacher2") target.delete("teacher3") target.delete("teacher4") target.delete("teacher5") target.delete("teacher6") target.delete("teacher7") target.delete("teacher8") end when button or info begin -- se crea el arreglo intro, que contiene las cadenas de texto segun el tipo de personaje local intro = { "[COLOR r;1|g;1|b;0.6]Instructor del entrenamiento de Guerrero:[/COLOR][ENTER]Si admiras a los guerreros por su velocidad y [ENTER]reiterados ataques, recomiendo el maestro de[ENTER]fuerza corporal. Si quieres derrotar a grupos[ENTER]enteros de monstruos con un Sólo ataque, [ENTER]recomiendo el maestro de lucha mental. Te[ENTER]estamos esperando cerca de la plaza de la aldea.[ENTER]", "[COLOR r;1|g;1|b;0.6]Instructor del entrenamiento de Ninja:[/COLOR][ENTER]Si quieres llamarte a ti mismo un excepcional [ENTER]arquero, entonces aprende sobre el tiro con arco. [ENTER]Si estás preparado para llevar a cabo [ENTER]varias misiones en las sombras como un [ENTER]ninja, entonces la lucha con hoja es lo tuyo. [ENTER]Estamos esperándote cerca de la plaza de la [ENTER]aldea. [ENTER]", "[COLOR r;1|g;1|b;0.6]Instructor del entrenamiento del Sura:[/COLOR][ENTER]¿Quieres convertirte en un verdadero maestro de [ENTER]magia negra y en guerrero demonÃaco? Entonces [ENTER]recomiendo el arte de armamento mágico. [ENTER]Sin embargo, si deseas ser temido [ENTER]como un brujo de la oscuridad y de las [ENTER]maldiciones, entonces te recomiendo el arte de[ENTER]magia negra. Te esperamos cerca de la[ENTER] plaza de la aldea.[ENTER]", "[COLOR r;1|g;1|b;0.6]Instructor del entrenamiento de Chamán:[/COLOR][ENTER]Si quieres convertirte en un chamán que controla [ENTER]la magia y las bendiciones, entonces elige el [ENTER]entrenamiento de la Fuerza Dragón. Sin embargo, [ENTER]si quieres mitigar el dolor y sufrimiento de [ENTER]otros, te recomeindo el entrenamiento de Fuerza[ENTER]Curación. Te estamos esperandocerca de la plaza[ENTER]de la aldea.[ENTER]" } -- acá se llama a la cadena que corresponda, ejemplo con un guerrero (tipo 0): intro[0+1] = intro[1] = la primera linea de nuestro arreglo anterior. say(intro[pc.job+1]) --setleftimage("") --setmapcenterposition(-200, 0) select("Confirmar") setskin(NOWINDOW) end function join(job, group, title, text, error_title, error_msg) -- se crea la función para las variables y el texto que se mostrará luego al dar click al npc que da las habilidades. -- le agregué error_title, para poder mostrarla abajo como un "say_title" local pc_job=pc.get_job() if pc_job!=job then say_title(error_title) say(error_msg) if pc_job==0 then say_reward("Un guerrero puede elegir entre un entrenamiento ") say_reward("de lucha corporal o lucha mental.") elseif pc_job==1 then say_reward("Un ninja puede elegir entre un entrenamiento de ") say_reward("lucha con hoja o tiro con arco.") elseif pc_job==2 then say_reward("Un sura puede elegir entre un entrenamiento de ") say_reward("armamento o magia negra.") elseif pc_job==3 then say_reward("Un chamán puede elegir entre un entrenamiento de ") say_reward("fuerza dragón o fuerza curación. ") end say("") else say_title(title) say(text) local s=select("Emepezár", "Más tarde") if 1==s then if pc.get_job()==job and pc.get_skill_group()==0 then set_state("start") pc.set_skill_group(group) pc.clear_skill() char_log(0, "CLEAR_SKILL", "Clear Skill By Skill Teacher") return true else test_chat("npc_is_same_job:"..bool_to_str(npc_is_same_job())) test_chat("pc.get_skill_group:"..pc.get_skill_group()) test_chat("pc_job:"..pc.get_job()) end end end return false end when teacher1.target.click or skill_group1_1.chat."Entrenamiento de la Fuerza Corporal" or skill_group2_1.chat."Entrenamiento de la Fuerza Corporal" or skill_group3_1.chat."Entrenamiento de la Fuerza Corporal" begin target.delete("teacher1") -- a continuación se asignan los valores y las cadenas de texto a la función join creada arriba. -- recordar: join(job, group, title, text, error_title, error_msg) if skill_group.join(0, 1, "Entrenamiento de la Fuerza Corporal", "El entrenamiento de la fuerza corporal es útil [ENTER]para un combate rápido y enseña un método de [ENTER]combate cara a cara con ataques básicos [ENTER]mejorados. [ENTER]", "Entrenamiento equivocado.", "Sólo los guerreros pueden elegir el [ENTER]entrenamiento de fuerza corporal. [ENTER]") then say_title("Has elegido el entrenamiento de la fuerza corporal.") say("¡Bienvenido!") if not pc.is_clear_skill_group() then local point = pc.level -1 say("Debido a tu decisión de tomar clases, consigues"..point.."") say("puntos de habilidad. Puedes usarlos para la ") say("habilidad que quieras. ") say("") say_reward("Has recibido "..point.." puntos de habilidad. ") say("") else return end clear_letter() end end when teacher2.target.click or skill_group1_2.chat."Entrenamiento de la Lucha Mental" or skill_group2_2.chat."Entrenamiento de la Lucha Mental" or skill_group3_2.chat."Entrenamiento de la Lucha Mental" begin target.delete("teacher2") if skill_group.join(0, 2, "Entrenamiento de la Lucha Mental", "El entrenamiento de la lucha mental enseña a [ENTER]atacar al enemigo con fuertes ataques de chi y [ENTER]cómo defenderte de sus ataques.[ENTER]", "Entrenamiento incorrecto.", "Sólo los guerreros pueden elegir el [ENTER]entrenamiento de fuerza mental. [ENTER]") then say_title("Has elegido el entrenamiento de lucha mental.") say("¡Bienvenido!") if not pc.is_clear_skill_group() then local point = pc.level -1 say("Debido a tu decisión de tomar clases, consigues"..point.."") say("puntos de habilidad. Puedes usarlos para la ") say("habilidad que quieras. ") say("") say_reward("Has recibido "..point.." puntos de habilidad. ") say("") else return end clear_letter() end end when teacher3.target.click or skill_group1_3.chat."Entrenamiento de lucha con hoja" or skill_group2_3.chat."Entrenamiento de lucha con hoja" or skill_group3_3.chat."Entrenamiento de lucha con hoja" begin target.delete("teacher3") if skill_group.join(1, 1, "Entrenamiento de lucha con hoja", "En el entrenamiento de la lucha con hoja, un [ENTER]ninja aprende cómo golpear el punto débil de su[ENTER]oponente con golpes rápidos y mortales.[ENTER]", "Entrenamiento equivocado.", "Sólo los ninjas pueden elegir el [ENTER]entrenamiento de lucha con hoja. [ENTER]") then say_title("Has elegido el entrenamiento de lucha con hoja.") say("¡Bienvenido!") if not pc.is_clear_skill_group() then local point = pc.level -1 say("Debido a tu decisión de tomar clases, consigues"..point.."") say("puntos de habilidad. Puedes usarlos para la ") say("habilidad que quieras. ") say("") say_reward("Has recibido "..point.." puntos de habilidad. ") say("") else return end clear_letter() end end when teacher4.target.click or skill_group1_4.chat."Entrenamiento arquero" or skill_group2_4.chat."Entrenamiento arquero" or skill_group3_4.chat."Entrenamiento arquero" begin target.delete("teacher4") if skill_group.join(1, 2, "Entrenamiento arquero", "En el entrenamiento arquero, un ninja aprende a[ENTER]manejar su arco y a luchar contra el enemigo con[ENTER]precisión en la distancia.[ENTER]", "Entrenamiento incorrecto.", "Sólo los ninjas pueden elegir el [ENTER]entrenamiento arquero. [ENTER]") then say_title("Has elegido el entrenamiento arquero.") say("¡Bienvenido!") if not pc.is_clear_skill_group() then local point = pc.level -1 say("Debido a tu decisión de tomar clases, consigues"..point.."") say("puntos de habilidad. Puedes usarlos para la ") say("habilidad que quieras. ") say("") say_reward("Has recibido "..point.." puntos de habilidad. ") say("") else return end clear_letter() end end when teacher5.target.click or skill_group1_5.chat."Entrenamiento de armamento" or skill_group2_5.chat."Entrenamiento de armamento" or skill_group3_5.chat."Entrenamiento de armamento" begin target.delete("teacher5") if skill_group.join(2, 1, "Entrenamiento de armamento", "En el entrenamiento de armas mágicas, practicas[ENTER]en el arte de los golpes poderosos contra enemigos[ENTER]debilitados, usando espadas malditas.[ENTER]", "Entrenamiento equivocado.", "Sólo los suras pueden elegir el [ENTER]entrenamiento de armas mágicas. [ENTER]") then say_title("Has elegido el entrenamiento de armamento.") say("¡Bienvenido!") if not pc.is_clear_skill_group() then local point = pc.level -1 say("Debido a tu decisión de tomar clases, consigues"..point.."") say("puntos de habilidad. Puedes usarlos para la ") say("habilidad que quieras. ") say("") say_reward("Has recibido "..point.." puntos de habilidad. ") say("") else return end clear_letter() end end when teacher6.target.click or skill_group1_6.chat."Entrenamiento de magia negra" or skill_group2_6.chat."Entrenamiento de magia negra" or skill_group3_6.chat."Entrenamiento de magia negra" begin target.delete("teacher6") if skill_group.join(2, 2, "Entrenamiento de magia negra", "En el entrenamiento de magia negra, aprendes el [ENTER]arte de debilitar a tus enemigos con magia negra [ENTER]a distancia.[ENTER]", "Entrenamiento erroneo.", "Sólo los suras pueden elegir el [ENTER]entrenamiento de magia negra. [ENTER]") then say_title("Has elegido el entrenamiento de magia negra.") say("¡Bienvenido!") if not pc.is_clear_skill_group() then local point = pc.level -1 say("Debido a tu decisión de tomar clases, consigues"..point.."") say("puntos de habilidad. Puedes usarlos para la ") say("habilidad que quieras. ") say("") say_reward("Has recibido "..point.." puntos de habilidad. ") say("") else return end clear_letter() end end when teacher7.target.click or skill_group1_7.chat."Entrenamiento de la Fuerza Dragón" or skill_group2_7.chat."Entrenamiento de la Fuerza Dragón" or skill_group3_7.chat."Entrenamiento de la Fuerza Dragón" begin target.delete("teacher7") if skill_group.join(3, 1, "Entrenamiento de la Fuerza Dragón", "El entrenamiento de la fuerza dragón usa los [ENTER]fuertes ataques de fuego del Dios Dragón al igual[ENTER]que magia de apoyo que puede dar al grupo la[ENTER]protección del Dios Dragón.[ENTER]", "Entrenamiento incorrecto.", "Lo siento. Sólo los chamanes pueden escoger el[ENTER]entrenamiento de la Fuerza Dragón.") then say_title("Has seleccionado el entrenamiento de la ") say_title("fuerza dragón.") say("¡Bienvenido!") if not pc.is_clear_skill_group() then local point = pc.level -1 say("Debido a tu decisión de tomar clases, consigues"..point.."") say("puntos de habilidad. Puedes usarlos para la ") say("habilidad que quieras. ") say("") say_reward("Has recibido "..point.." puntos de habilidad. ") say("") else return end clear_letter() end end when teacher8.target.click or skill_group1_8.chat."Entrenamiento de la Fuerza Curación" or skill_group2_8.chat."Entrenamiento de la Fuerza Curación" or skill_group3_8.chat."Entrenamiento de la Fuerza Curación" begin target.delete("teacher8") if skill_group.join(3, 2, "Entrenamiento de la Fuerza Curación", "Con el entrenamiento de la Fuerza Curación, [ENTER]aprendes a aturdir al enemigo con descargas[ENTER]eléctricas. También puedes aprender a curar a [ENTER]miembros del grupo y darles fuerza adicional.[ENTER]", "Entrenamiento incorrecto.", "Lo siento. Sólo los chamanes pueden escoger el[ENTER]entrenamiento de la Fuerza Curación.") then say_title("Has elegido el entrenamiento de curación.") say("¡Bienvenido!") if not pc.is_clear_skill_group() then local point = pc.level -1 say("Debido a tu decisión de tomar clases, consigues"..point.."") say("puntos de habilidad. Puedes usarlos para la ") say("habilidad que quieras. ") say("") say_reward("Has recibido "..point.." puntos de habilidad. ") say("") else return end clear_letter() end end end end Cualquier error comunicarlo. Elite™ 1 Quote Link to comment Share on other sites More sharing options...
hugoOlivera Posted August 11, 2012 Report Share Posted August 11, 2012 La probare Quote Link to comment Share on other sites More sharing options...
Kohaku/Baek Posted August 12, 2012 Report Share Posted August 12, 2012 Se vé muy bien La probare yo también Quote Link to comment Share on other sites More sharing options...
Elite™ Posted August 12, 2012 Report Share Posted August 12, 2012 Muy buena ilu yo la tengo = jejeje 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.