Quest mascotas

Topic created · 9 Mensajes · 691 Visitas
  • Buenas , alguien podria ayudarme ha crear una quest para mascotas?

    Hice esta , pero no me funciona.

    quest Phoenix begin
    state start begin
    when 53001.use begin
    say_title("Sello Phoenix")
    say_title("Quest Realizada por el [ADM]SeMa")
    say("¿Podras tener un Phoenix de Hielo?")
    say("Estas seguro de que lo quieres?")
    say_reward("¿Lo quieres?")
    local main_set = select("Si","No")
    if main_set == 2 then
    return
    end
    chat("Cortesia de Mt2Ryuken!")
    pc.setqf("phoenix_fly", 0)
    pc.setqf("firephoenix", 0)
    end
    end
    end

    Podrian decirme como es?

    Gracias.

  • La quest seria asi:

    quest phoenix begin
        state start begin
            when 70044.use begin
    
          if pc.getqf("mascota") < 1 then
    
             chat("Acabas de invocar a tu fenix!")
             affect.add_collect(apply.CON,25,60*60*24*365*60)      
             affect.add_collect(apply.INT,10,60*60*24*365*60)
             affect.add_collect(apply.STR,10,60*60*24*365*60)
             affect.add_collect(apply.DEX,10,60*60*24*365*60)
             affect.add_collect(apply.MAX_HP,5000,60*60*24*365*60)
             horse.set_level ("22")
             horse.unsummon() horse.summon()
             pc.setqf("mascota", 2)
    
         
           elseif pc.getqf("mascota") == 2 then
    
    
    
       
            chat("El Phoenix fue enviado al establo!")
             affect.remove_collect(apply.CON,25,60*60*24*365*60)      
             affect.remove_collect(apply.INT,10,60*60*24*365*60)
             affect.remove_collect(apply.STR,10,60*60*24*365*60)
             affect.remove_collect(apply.DEX,10,60*60*24*365*60)
             affect.remove_collect(apply.MAX_HP,5000,60*60*24*365*60)
             horse.unsummon()
             horse.set_level ("1")
             pc.setqf("mascota", 0)
    
    
          end
           end
            end
        end
    

    Esta seria la quest para el fénix, Salu2 espero que te sirva jeje

  • @ArcherMt2 said:

    La quest seria asi:

    quest phoenix begin
        state start begin
            when 70044.use begin
    
          if pc.getqf("mascota") < 1 then
    
             chat("Acabas de invocar a tu fenix!")
             affect.add_collect(apply.CON,25,60*60*24*365*60)      
             affect.add_collect(apply.INT,10,60*60*24*365*60)
             affect.add_collect(apply.STR,10,60*60*24*365*60)
             affect.add_collect(apply.DEX,10,60*60*24*365*60)
             affect.add_collect(apply.MAX_HP,5000,60*60*24*365*60)
             horse.set_level ("22")
             horse.unsummon() horse.summon()
             pc.setqf("mascota", 2)
    
         
           elseif pc.getqf("mascota") == 2 then
    
    
    
       
            chat("El Phoenix fue enviado al establo!")
             affect.remove_collect(apply.CON,25,60*60*24*365*60)      
             affect.remove_collect(apply.INT,10,60*60*24*365*60)
             affect.remove_collect(apply.STR,10,60*60*24*365*60)
             affect.remove_collect(apply.DEX,10,60*60*24*365*60)
             affect.remove_collect(apply.MAX_HP,5000,60*60*24*365*60)
             horse.unsummon()
             horse.set_level ("1")
             pc.setqf("mascota", 0)
    
    
          end
           end
            end
        end
    

    Esta seria la quest para el fénix, Salu2 espero que te sirva jeje

    Si no me equivoco, esa quest hace que puedas sacarlo, pero no se si guardarlo (no lo se seguro) entonces a la hora de querer sacar el caballo normal tendrias que desconectarte o cambiar el pj, no lo se seguro >.<

  • Aquí te dejo una quest de epvps que podría estar bien:

    quest phoenix begin
        state start begin
            when 53001.use with pc.getqf("icephoenix") == 0 and pc.getqf("pwahuang1_use") == 0 and pc.getqf("reindeer_young") == 0 begin
                if pc.getqf("phoenix_fly") == 0 then
                    local old_horse_name = horse.get_name() ;
                        if string.len(old_horse_name) == 0 then
                            say_title("Feuerphönix-Siegel")
                            say("Es ist ein Problem beim rufen des Feuerphönix")
                            say("aufgetreten. Deine Haustiere haben noch nicht")
                            say("einen Namen erhalten. Du solltest ihnen einen")
                            say("Namen geben, bevor du solche mächtige Tiere")
                            say("wie den Feuerphönix rufst. Dafür gibt es einen")
                            say("ganz besonderen Gegenstand bei der Gemicht-")
                            say("warenhändlerin zu einem günstigen Preis.")
                            return
                        end
                    chat("Dein mächtiger Feuerphönix wurde gerufen!")
                    local your_horse_level = horse.get_level()
                    pc.setqf("horse_level_save", your_horse_level)
                    pc.setqf("phoenix_fly", 1)
                    pc.setqf("firephoenix", 1)
                    affect.add_collect(apply.ATT_GRADE_BONUS, 100, 60*60*8)
                    affect.add_collect(apply.DEF_GRADE_BONUS, 100, 60*60*8)
                    affect.add_collect(apply.MAX_HP, 1000, 60*60*8)
                    horse.set_level("22")
                    horse.unsummon() horse.summon()
                else
                    chat("Dein Feuerphönix verabschiedet sich nun von dir!")
                    affect.remove_collect(apply.ATT_GRADE_BONUS, 100, 60*60*8)
                    affect.remove_collect(apply.DEF_GRADE_BONUS, 100, 60*60*8)   
                    affect.remove_collect(apply.MAX_HP, 1000, 60*60*8)                   
                    horse.unsummon()
                    pc.setqf("phoenix_fly", 0)
                    pc.setqf("firephoenix", 0)
                    
                    local horse_settings = pc.getqf("horse_level_save")
                    horse.set_level(horse_settings)
                
                end
            end
            when logout or login with pc.getqf("phoenix_fly") == 1 begin
                
                pc.setqf("phoenix_fly", 0)
                pc.setqf("firephoenix", 0)
                    
                local horse_settings = pc.getqf("horse_level_save")
                horse.set_level(horse_settings)
                
                chat("Dein Feuerphönix ging alleine fort!")
                affect.remove_collect(apply.ATT_GRADE_BONUS, 100, 60*60*8)
                affect.remove_collect(apply.DEF_GRADE_BONUS, 100, 60*60*8)   
                affect.remove_collect(apply.MAX_HP, 1000, 60*60*8)  
            end
            when 53003.use with pc.getqf("firephoenix") == 0 and pc.getqf("pwahuang1_use") == 0 and pc.getqf("reindeer_young") == 0 begin
                if pc.getqf("phoenix_2_fly") == 0 then
                    local old_horse_name = horse.get_name() ;
                        if string.len(old_horse_name) == 0 then
                            say_title("Eisphönix-Siegel")
                            say("Es ist ein Problem beim rufen des Eisphönix")
                            say("aufgetreten. Deine Haustiere haben noch nicht")
                            say("einen Namen erhalten. Du solltest ihnen einen")
                            say("Namen geben, bevor du solche mächtige Tiere")
                            say("wie den Eisphönix rufst. Dafür gibt es einen")
                            say("besonderen Gegenstand bei der Gemicht-")
                            say("warenhändlerin zu einem günstigen Preis.")
                            return
                        end
                    chat("Dein Freund der Eisphönix wurde gerufen!")
                    local your_horse_level = horse.get_level()
                    pc.setqf("horse_level_save", your_horse_level)
                    pc.setqf("phoenix_2_fly", 1)
                    pc.setqf("icephoenix", 1)
                    affect.add_collect(apply.ATT_GRADE_BONUS, 100, 60*60*8)
                    affect.add_collect(apply.DEF_GRADE_BONUS, 100, 60*60*8)
                    affect.add_collect(apply.MAX_HP, 1000, 60*60*8)
                    horse.set_level("23")
                    horse.unsummon() horse.summon()
                else
                    chat("Dein Eisphönix verabschiedet sich nun von dir!")
                    affect.remove_collect(apply.ATT_GRADE_BONUS, 100, 60*60*8)
    				affect.remove_collect(apply.DEF_GRADE_BONUS, 100, 60*60*8)   
    				affect.remove_collect(apply.MAX_HP, 1000, 60*60*8)       
                    horse.unsummon()
                    pc.setqf("phoenix_2_fly", 0)
                    pc.setqf("icephoenix", 0)
                    
                    local horse_settings = pc.getqf("horse_level_save")
                    horse.set_level(horse_settings)
                
                end
            end
            when logout or login with pc.getqf("phoenix_2_fly") == 1 begin
                
                pc.setqf("phoenix_2_fly", 0)
                pc.setqf("icephoenix", 0)
                    
                local horse_settings = pc.getqf("horse_level_save")
                horse.set_level(horse_settings)
                
                chat("Dein Eisphönix verlässt dich nun!")
                affect.remove_collect(apply.ATT_GRADE_BONUS, 100, 60*60*8)
                affect.remove_collect(apply.DEF_GRADE_BONUS, 100, 60*60*8)   
                affect.remove_collect(apply.MAX_HP, 1000, 60*60*8)
            end
    		when 53005.use with pc.getqf("firephoenix") == 0 and pc.getqf("icephoenix") == 0 and pc.getqf("reindeer_young") == 0 begin
                if pc.getqf("pwahuang1_use") == 0 then
                    local old_horse_name = horse.get_name() ;
                        if string.len(old_horse_name) == 0 then
                            say_title("Devil´s Catacomb-Siegel")
                            say("Es ist ein Problem beim rufen des Eisphönix")
                            say("aufgetreten. Deine Haustiere haben noch nicht")
                            say("einen Namen erhalten. Du solltest ihnen einen")
                            say("Namen geben, bevor du solche mächtige Tiere")
                            say("wie den Azrael rufst. Dafür gibt es einen")
                            say("besonderen Gegenstand bei der Gemicht-")
                            say("warenhändlerin zu einem günstigen Preis.")
                            return
                        end
                    chat("Dein Azrael Baby wurde gerufen!")
                    local your_horse_level = horse.get_level()
                    pc.setqf("horse_level_save", your_horse_level)
                    pc.setqf("pwahuang1_summon", 1)
    				pc.setqf("pwahuang1_use", 1)
                    affect.add_collect(apply.ATT_GRADE_BONUS, 100, 60*60*8)
                    affect.add_collect(apply.DEF_GRADE_BONUS, 100, 60*60*8)
                    affect.add_collect(apply.MAX_HP, 1000, 60*60*8)
                    horse.set_level("24")
                    horse.unsummon() horse.summon()
                else
                    chat("Dein Azrael Baby verabschiedet sich nun von dir!")
                    affect.remove_collect(apply.ATT_GRADE_BONUS, 100, 60*60*8)
    				affect.remove_collect(apply.DEF_GRADE_BONUS, 100, 60*60*8)   
    				affect.remove_collect(apply.MAX_HP, 1000, 60*60*8)        
                    horse.unsummon()
                    pc.setqf("pwahuang1_summon", 0)
    				pc.setqf("pwahuang1_use", 0)
                    
                    local horse_settings = pc.getqf("horse_level_save")
                    horse.set_level(horse_settings)
                
                end
            end
            when logout or login with pc.getqf("pwahuang1_summon") == 1 begin
                
                pc.setqf("pwahuang1_summon", 0)
    			pc.setqf("pwahuang1_use", 0)
                    
                local horse_settings = pc.getqf("horse_level_save")
                horse.set_level(horse_settings)
                
                chat("Dein Azrael verlässt dich nun!")
                affect.remove_collect(apply.ATT_GRADE_BONUS, 100, 60*60*8)
                affect.remove_collect(apply.DEF_GRADE_BONUS, 100, 60*60*8)   
                affect.remove_collect(apply.MAX_HP, 1000, 60*60*8)
            end
    		when 53002.use with pc.getqf("firephoenix") == 0 and pc.getqf("icephoenix") == 0 and pc.getqf("pwahuang1_use") == 0 begin
                if pc.getqf("reindeer_young") == 0 then
                    local old_horse_name = horse.get_name() ;
                        if string.len(old_horse_name) == 0 then
                            say_title("Rentier-Siegel")
                            say("Es ist ein Problem beim rufen des Eisphönix")
                            say("aufgetreten. Deine Haustiere haben noch nicht")
                            say("einen Namen erhalten. Du solltest ihnen einen")
                            say("Namen geben, bevor du solche mächtige Tiere")
                            say("wie den Rentier rufst. Dafür gibt es einen")
                            say("besonderen Gegenstand bei der Gemicht-")
                            say("warenhändlerin zu einem günstigen Preis.")
                            return
                        end
                    chat("Dein Freund das Rentier wurde gerufen!")
                    local your_horse_level = horse.get_level()
                    pc.setqf("horse_level_save", your_horse_level)
                    pc.setqf("reindeer_summon", 1)
    				pc.setqf("reindeer_young", 1)
                    affect.add_collect(apply.ATT_GRADE_BONUS, 100, 60*60*8)
                    affect.add_collect(apply.DEF_GRADE_BONUS, 100, 60*60*8)
                    affect.add_collect(apply.MAX_HP, 1000, 60*60*8)
                    horse.set_level("25")
                    horse.unsummon() horse.summon()
                else
                    chat("Dein Rentier verabschiedet sich nun von dir!")
                    affect.remove_collect(apply.ATT_GRADE_BONUS, 100, 60*60*8)
    				affect.remove_collect(apply.DEF_GRADE_BONUS, 100, 60*60*8)   
    				affect.remove_collect(apply.MAX_HP, 1000, 60*60*8)       
                    horse.unsummon()
                    pc.setqf("reindeer_summon", 0)
    				pc.setqf("reindeer_young", 0)
                    
                    local horse_settings = pc.getqf("horse_level_save")
                    horse.set_level(horse_settings)
                
                end
            end
            when logout or login with pc.getqf("reindeer_summon") == 1 begin
                
                pc.setqf("reindeer_summon", 0)
    			pc.setqf("reindeer_young", 0)
                    
                local horse_settings = pc.getqf("horse_level_save")
                horse.set_level(horse_settings)
                
                chat("Dein Rentier verlässt dich nun!")
                affect.remove_collect(apply.ATT_GRADE_BONUS, 100, 60*60*8)
                affect.remove_collect(apply.DEF_GRADE_BONUS, 100, 60*60*8)   
                affect.remove_collect(apply.MAX_HP, 1000, 60*60*8)
            end
        end
    end  
    

    Es una quest bastante sencilla que te marcará una pauta por si quieres modificarla, añadir nuevas mascotas, o aprender algo de lenguaje quest (aún recuerdo aquellos tiempos en que la gente se interesaba por aprender... :icon_cry2: ).
    La quest que has echo simplemente no sirve de nada. Estás utilizando unos qf que no les das ninguna utilidad. Me parece que habrás visto alguna quest y la has entendido mal. Revisa en la quest lo que es un qf y su utilidad dentro de dicha quest.

  • Raul esa quest es la que usaba , pero al clikear el simbolo para sacar al phoenix no pasaba nada , salia º1 texto y no salia el phoneix , no se si es la mala implementación del phoenix o la quest e.e

    PD: Si alguien nos deja una guia para implementar todo?

  • Mira detalladamente la quest:

    when 53001.use with pc.getqf("icephoenix") == 0 and pc.getqf("pwahuang1_use") == 0 and pc.getqf("reindeer_young") == 0 begin
    

    Cuando haces click al item 53001 con los qf icephoenix, pwahuang1_use y reindeer_young son 0, empieza el primer when.

    if pc.getqf("phoenix_fly") == 0 then
    

    Si se cumple la condición de que el valor del qf phoenix_fly sea 0 (será 0 cuando no se le haya asignado ningún valor) continua la acción.

    local old_horse_name = horse.get_name() ;
    

    Se asigna a old_horse_name el nombre del caballo.

    ¡Atención aquí!

    if string.len(old_horse_name) == 0 then
    

    Si se cumple la condición que el caballo no tenga nombre continua la acción.

                            say_title("Feuerphönix-Siegel")
                            say("Es ist ein Problem beim rufen des Feuerphönix")
                            say("aufgetreten. Deine Haustiere haben noch nicht")
                            say("einen Namen erhalten. Du solltest ihnen einen")
                            say("Namen geben, bevor du solche mächtige Tiere")
                            say("wie den Feuerphönix rufst. Dafür gibt es einen")
                            say("ganz besonderen Gegenstand bei der Gemicht-")
                            say("warenhändlerin zu einem günstigen Preis.")
                            return
    

    Muestra texto en el juego y se cierra la quest con un return.

    Debe estar aquí tu fallo. No le habrás asignado ningún nombre al caballo. Debes utilizar otra quest para asignarle un nombre a tu caballo (acostumbra a estar en todos los instant que utilizáis la gente de uj). Recuerda que solo podrás darle un nombre al caballo si utilizas files 2010.

    Asígnale un nombre a tu caballo y la quest funcionará.

  • Para asignarle el nombre al caballo , puedo usar el azucar de caballo no? y otra cosa , yo solo implemente la mascota phoenix , la 1º que sale en la quest , no puse ni phugwan1 ( miniazrael ) ni a los demas .

    Usando esa misma quest y con esos sin implementar , saldra el phoenix?

  • @Sema1995 said:

    Para asignarle el nombre al caballo , puedo usar el azucar de caballo no? y otra cosa , yo solo implemente la mascota phoenix , la 1º que sale en la quest , no puse ni phugwan1 ( miniazrael ) ni a los demas .

    Usando esa misma quest y con esos sin implementar , saldra el phoenix?

    Sí, utiliza el azúcar.
    Te servirá con las mascotas que quieras. Recuerda que tienes que cambiar el value del caballo nivel 22 por el de la mascota y tal. Hay guías por el foro sobre como hacerlo.

  • Creo que te lo ha explicado muy bien y además ha "perdido" su tiempo ayudándote y explicándolo muy bien. Escribo este mensaje porque me ha sorprendido y porque vi que mucha gente tiene problemas en la quest de las mascotas y así estará más arriba y la gente podrá ver la explicación.