Ayuda con quest que da poderes

Topic created · 1 Mensajes · 283 Visitas
  • Mi idea era hacer que un solo NPC te dé los poderes (osea, los 8 maestros en 1)
    Sé que tendría que modificar el skill_group.quest
    pero me gustaría que me ayuden con algunos significados nada mas.

    quest skill_group begin
        state start begin
    		when login with pc.level>=15 and pc.skillgroup ==0 begin
    		    set_state(run)
    		end
    
    		when levelup with pc.level>=15 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(locale.skill_group.invite)
    
    			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, "daga") end
    				local v=pc_find_skill_teacher_vid(2)
    				if 0!=v then target.vid("teacher4", v, "arco") end
    		    elseif job==2 then
    				local v=pc_find_skill_teacher_vid(1)
    				if 0!=v then target.vid("teacher5", v, "espejo") 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, "dragon") end
    				local v=pc_find_skill_teacher_vid(2)
    				if 0!=v then target.vid("teacher8", v, "curacion") 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
    			say(locale.skill_group.lets_join_skill_group[pc.job+1])
    			setleftimage("")
    			setmapcenterposition(-200, 0)
    			select(locale.confirm)
    			setskin(NOWINDOW)
    		end
    
    	function join(job, group, title, text, error_msg)
        	local pc_job=pc.get_job()
        	if pc_job!=job then
    			    say(error_msg)
    			    if pc_job==0 then
    					say_reward("Guerrero:")
    					say_reward("Por favor valla a los maestros")
    					say_reward("del arte corporal o mental.")
    				elseif pc_job==1 then
    					say_reward("Ninja:")
    					say_reward("Por favor, vaya a los maestros")
    					say_reward("del arte con hoja o Arco")
    			    elseif pc_job==2 then
    					say_reward("Sura:")
    					say_reward("Por favor, vaya a los maestros")
    					say_reward("del arte de Armamento o Magia Negra")
    			    elseif pc_job==3 then
    					say_reward("Chaman:")
    					say_reward("Por favor, vaya a los maestros")
    					say_reward("del arte Drogon o Curacion.")
    		    end
    		    say("")
    		else
    		    say_title(title)
    		    say(text)
    		    local s=select("Esta bien", "No, gracias")
    		    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")
    
    			    makequestbutton("Enseñanza Completa")
    			    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."Guerrero" or
    		skill_group2_1.chat."Guerrero" or
    		skill_group3_1.chat."Guerrero" 
    		begin 
    		target.delete("teacher1")
    		if skill_group.join(0, 1, "Guerrero",
    			"Yo soy el maestro de la lucha corporal.[ENTER]Yo te puedo enseñar cómo[ENTER]hacer de tu cuerpo un arma de[ENTER]guerra con las espadas.", 
    			"Lo siento, pero[ENTER]solo puedo enseñarte a ser guerrero.") then
    
    			say_title("Guerrero")
    			say("Felicitaciones")
    			say("")
    
    			if not pc.is_clear_skill_group() then
    				local point = pc.level -1
    				say("Has escogido la doctrina")
    				say("del combate corporal")
    				say("")
    				say_reward("Has recibido"..point.."Puntos.")
    				say("")
    			else
    				say("ªì¯Å¤Æ¾·~ªº¤Hª«")
    				say("µLªkÀò±o§Þ¯à­×½mÂI.")
    				say("")
    
    			end
    			clear_letter()
    		end
    	end
    
    	when teacher2.target.click or 
    		skill_group1_2.chat."Guerrero" or
    		skill_group2_2.chat."Guerrero" or
    		skill_group3_2.chat."Guerrero" 
    		begin 
    	    target.delete("teacher2")
    		if skill_group.join(0, 2, "Guerrero","Yo soy el maestro de la lucha mental,[ENTER]yo te puedo enseñar cómo[ENTER]usar su mente para sentir menos dolor.", "Lo siento, pero solo puedo[ENTER]enseñarte ser guerrero.") then
    
    			say_title("Guerrero")
    			say("Felicitaciones")
    			say("")
    
    			if not pc.is_clear_skill_group() then
    				local point = pc.level -1
    				say("Has escogido la doctrina")
    				say("del combate mental")
    				say("")
    				say_reward("Has recibido"..point.."Puntos.")
    				say("")
    			else
    				say("ªì¯Å¤Æ¾·~ªº¤Hª«")
    				say("µLªkÀò±o§Þ¯à­×½mÂI.")
    				say("")
    			end
    			
    			clear_letter()
    		end
    	end
    
    	-- ???
    	when teacher3.target.click or 
    		skill_group1_3.chat."Ninja" or
    		skill_group2_3.chat."Ninja" or
    		skill_group3_3.chat."Ninja" 
    		begin 
    	    target.delete("teacher3")
    		if skill_group.join(1, 1, "Ninja",
    			"Yo soy el maestro de lucha con hoja.[ENTER]Yo te puedo enseñar cómo derrotar[ENTER][ENTER]a tu oponente rápida y silenciosamente[ENTER]besiegst.", "Lo siento pero solo puedo[ENTER]enseñarte a ser ninja.") then		
    			say_title("Ninja")
    			say("Felicitaciones")
    			say("")
    
    			if not pc.is_clear_skill_group() then
    				local point = pc.level -1
    				say("Has escogido la doctrina")
    				say("de la lucha con hoja.")
    				say("")
    				say_reward("Has recibido"..point.." Puntos.")
    				say("")
    			else
    				say("ªì¯Å¤Æ¾·~ªº¤Hª«")
    				say("µLªkÀò±o§Þ¯à­×½mÂI.")
    				say("")
    			end
    
    			clear_letter()
    		end
    	end
    
    	-- ???
    	when teacher4.target.click or 
    		skill_group1_4.chat."Ninja" or
    		skill_group2_4.chat."Ninja" or
    		skill_group3_4.chat."Ninja" 
    		begin 
    	    target.delete("teacher4")
    		if skill_group.join(1, 2, "Ninja",
    			"Yo soy el maestro de lucha con arco.[ENTER]Yo te puedo enseñar cómo[ENTER][ENTER]manejar adecuadamente el arco.[ENTER]Asi tendras oportunidad de vencer[ENTER]a tus enemigos a distancia.", "Lo siento pero solo puedo[ENTER]enseñarte a ser Ninja.") then
    
    			say_title("Ninja")
    			say("Felicitaciones")
    			say("")
    
    			if not pc.is_clear_skill_group() then
    				local point = pc.level -1
    				say("Has escogido la doctrina")
    				say("de la lucha con arco")
    				say("")
    				say_reward("Has recibido"..point.." Puntos.")
    				say("")
    			else
    				say("ªì¯Å¤Æ¾·~ªº¤Hª«")
    				say("µLªkÀò±o§Þ¯à­×½mÂI.")
    				say("")
    			end
    
    			clear_letter()
    		end
    	end
    
    	-- ??? 
    	when teacher5.target.click or 
    		skill_group1_5.chat."Sura" or
    		skill_group2_5.chat."Sura" or
    		skill_group3_5.chat."Sura"
    		begin 
    	    target.delete("teacher5")
    		if skill_group.join(2, 1, 
    			"Sura",
    			"Yo soy el maestro de las armas mágicas.[ENTER]Yo te puedo enseñar como encantar[ENTER][ENTER]tus armas y armaduras.", "Lo siento pero solo puedo[ENTER]enseñarte a ser Sura.") then
    
    			say_title("Sura")
    			say("Felicitaciones")
    			say("")
    
    			if not pc.is_clear_skill_group() then
    				local point = pc.level -1
    				say("Has escogido la doctrina")
    				say("de las armas magicas")
    				say("")
    				say_reward("Has recibido"..point.." Puntos.")
    				say("")
    			else
    				say("ªì¯Å¤Æ¾·~ªº¤Hª«")
    				say("µLªkÀò±o§Þ¯à­×½mÂI.")
    				say("")
    			end
    
    			clear_letter()
    		end
    	end
    
    	-- ???
    	when teacher6.target.click or 
    		skill_group1_6.chat."Sura" or
    		skill_group2_6.chat."Sura" or
    		skill_group3_6.chat."Sura" 
    		begin 
    	    target.delete("teacher6")
    		if skill_group.join(2, 2, 
    			"Sura",
    			"Yo soy el maestro de la magia negra.[ENTER]Yo te puedo enseñar como utilizar[ENTER][ENTER]la magia negra para su beneficio.[ENTER][ENTER]", "Lo siento pero solo puedo[ENTER]enseñarte a ser Sura.") then
    
    			say_title("Sura")
    			say("Felicitaciones")
    			say("")
    
    			if not pc.is_clear_skill_group() then
    				local point = pc.level -1
    				say("Has escogido la doctrina")
    				say("de la magia negra")
    				say("")
    				say_reward("Has recibido"..point.." Puntos.")
    				say("")
    			else
    				say("ªì¯Å¤Æ¾·~ªº¤Hª«")
    				say("µLªkÀò±o§Þ¯à­×½mÂI.")
    				say("")
    			end
    
    			clear_letter()
    		end
    	end
    
    	-- ???
    	when teacher7.target.click or 
    		skill_group1_7.chat."Chaman" or
    		skill_group2_7.chat."Chaman" or
    		skill_group3_7.chat."Chaman" 
    		begin 
    	    target.delete("teacher7")
    		if skill_group.join(3, 1, 
    			"Chaman",
    			"Yo soy el maestro de la fuerza dragon.[ENTER]Yo te puedo enseñar como se[ENTER]utiliza el espiritu del dragón[ENTER]para hacer mucho daño[ENTER]a sus oponentes.", "Lo siento pero solo puedo[ENTER]enseñare a ser Chamann.") then
    
    			say_title("Chaman")
    			say("Felicitaciones")
    			say("")
    
    			if not pc.is_clear_skill_group() then
    				local point = pc.level -1
    				say("Has escogido la doctrina")
    				say("de la fuerza dragon")
    				say("")
    				say_reward("Has recibido"..point.." Puntos.")
    				say("")
    			else
    				say("ªì¯Å¤Æ¾·~ªº¤Hª«")
    				say("µLªkÀò±o§Þ¯à­×½mÂI.")
    				say("")
    			end
    
    			clear_letter()
    		end
    	end
    
    	-- ???
    	when teacher8.target.click or 
    		skill_group1_8.chat."Chaman" or
    		skill_group2_8.chat."Chaman" or
    		skill_group3_8.chat."Chaman" 
    		begin 
    	    target.delete("teacher8")
    		if skill_group.join(3, 2, 
    			"Chaman",
    			"Yo soy el maestro de la curación.[ENTER][ENTER]Yo te puedo enseñar cómo[ENTER]con la ayuda de raros hechizos[ENTER]crear poderes de curación.[ENTER][ENTER]", "Lo siento pero solo puedo[ENTER]enseñarte a ser Chamann.") then
    
    			say_title("Chaman")
    			say("Felicitaciones")
    			say("")
    
    			if not pc.is_clear_skill_group() then
    				local point = pc.level -1
    				say("Has escogido la doctrina")
    				say("de la curacion")
    				say("")
    				say_reward("Has recibido"..point.." Puntos.")
    				say("")
    			else
    				say("ªì¯Å¤Æ¾·~ªº¤Hª«")
    				say("µLªkÀò±o§Þ¯à­×½mÂI.")
    				say("")
    			end
    
    			clear_letter()
    		end
    	end
        end
    end
    

    Ya se sabe que estas no es una simple quest como una mision de ir a matar y listo. Hay otra carpeta dentro del filezilla que tiene 24 archivos que son los de cada maestro de cada city.
    Acá hay unas filas que se llaman teacher1 teacher2 no se como cambiarlas para que todo se refiera a un mismo NPC, el cual le haces click segú la raza que seas y te da a elegir.
    Por ejemplo, si lo clickeo con un guerrero, me explica las 2 razas y luego me da 2 botones, corporal o mental, me doy a entender? disculpen las molestias