Quest [QUEST] Doggy Vol.1 (Easy 2 Learn)

Stato
Discussione chiusa ad ulteriori risposte.

retro.ReckLess

Bannato
18 Dicembre 2011
647
43
238
374
Ultima modifica da un moderatore:
Salve, in mezz'ora ho imparato le basi del LUA e ho deciso di scrivere la mia prima missione. La missione chiede al livello 10 di uccidere 10 Cani Selvaggi e dopo averli uccisi si ricevono un certo tot. di EXP, Gold e Items.

PHP:
-------------------------------------
------   Doggy Vol.1 (Easy 2 Learn)
----   Scripted by /TfF\ReckLess
--   The Favorites Few - Clan Game
-------------------------------------
quest doggy begin
    state start begin
        function a()
            say_title("~Doggy~")
        end
        
        when letter begin with pc.get_level() >= 10 begin
            send_letter("Love Doggy!")
        end
        
        when info or button with pc.get_level() >= 10 begin
            doggy.a()
            say("Heyoo man!")
            say("Imma dog and you know it!")
            say("")
            say("")
            say_reward("Woof-Woof!")
            wait()
            doggy.a()
            say("I hate the dogs..")
            say("Do you know it?")
            say("")
            say_reward("Kill 30 Wild Dog")
            set_state("doggykilltime")
        end
    end
        
    state doggykilltime begin
        when letter begin
            send_letter("Kill 10 Wild Dog")
        end
                
        when button or info with pc.get_level() >= 10 begin
            doggy.a()
            say_reward("The Wild Dog are attacking my niggas!!!")
            say_reward("To get the situation under control,")
            say_reward("you have to kill 10 fu**in Wild Dog.")
            say("")
            say("")
            say_reward(string.format("So far you have killed %d Wild Dog.", pc.getqf("state")))
        end

        when 101.kill with pc.get_level() >= 10 begin
            local count = pc.getqf("state") + 1
            if count <= 10 then
                pc.setqf("state", count)
                q.set_counter("Rest-amount", 10 - count)

                if count == 10 then
                    doggy.a()
                    say("You have killed all 10 Wild Dog.")
                    say("")
                    say_reward("Items received: potions")
                    say_reward("EXP received: 500.000")
                    say_reward("Gold received: 200.000")
                    pc.give_item2("27003",200)
                    pc.give_item2("27006",200)
                    pc.give_exp2(500000)
                    pc.change_money(200000)
                    set_state(__COMPLETE__)
                end
            end
        end
    end
    
    state __COMPLETE__ begin
    end
end

Ditemi se funziona poichè non so neanche come si inserisce nel server. (Ho iniziato oggi con i servers di Metin2)
 
  • Mi piace
Reazioni: Revenge23™
Re: [QUEST] Doggy - 1st Script

Blackwolf potresti dirmi se questa quest è giusta?
Codice:
quest questprova begin


 state start begin

     when login or levelup with pc.level >= 70 begin
         set_state ( "startmissione" )
     end

    end

 state startmissione begin

     when letter begin
         local v = find_npc_by_vnum ( 9009 )
         if v != 0 then
             target.vid ( "__TARGET__" , v, "questprova" )
         end
         send_letter ( "Aiuta il Pescatore !" )
     end

     when button or info begin
         say_reward ( "Quest Master :" )
         say ( "Il pescatore ha bisogno del tuo aiuto,corri ad aiutarlo!" )
     end

        when 9009.chat."Finalmente sei arrivato!" begin
         target.delete ( "__TARGET__" )
         say_title ( "Pescatore")
         say ( "I nove code elitari stanno " )
         say ( "dominando il villo!" )
         say ( "Potresti uccidermene 3?" )
         say ( "In cambio ti darò una ricca" )
         say ( "ricompensa." )
         say ( "" )
         set_state ( "uccidimob" )
     end

    end

 state uccidimob begin

        when letter begin
         send_letter ( "Uccidi i Nove Code" )
     end

     when button or info begin
         say_reward ( "Quest Master:" )
         say ( "Uccidi i Nove Code" )
         say ( "Ne hai uccisi " .. pc.getqf ( "missione_killa_mob" ) )
         say ( "Ne devi uccidere ancora " .. 3 - pc.getqf ( "missione_killa_mob" ) )
         say ( "" )
     end

        when 1902.kill begin
         pc.setqf ( "missione_killa_mob" , pc.getqf ( "missione_killa_mob" ) + 1 )
         if pc.getqf ( "missione_killa_mob" ) == 3 then
         say_reward ( "Quest Master:" )
         say ( "Hai Completato la missione !" )
         say ( "Ritorna da Pescatore , fai in fretta." ) 
         say ( "" )
         set_state ( "ritorna" )
         local v = find_npc_by_vnum ( 9009 )
         if v != 0 then
             target.vid ( "__TARGET__" , v, "questprova" )
         end
         end
     end

    end

  state ritorna begin

        when 9009.chat."Grazie dell'aiuto!" begin
         target.delete ( "__TARGET__" )
         say_title ( "Pescatore")
         say ( "Grazie dell'aiuto." )
         say ( "Ecco le tue ricompense." )
         pc.give_exp2 ( 100000000 )
         pc.changegold ( 150000000 )
         pc.give_item2 ( 50034 , 1 )
         pc.delqf ( "missione_killa_mob" )
         set_state ( "completo" )
     end

    end

    state completo begin

    end
 
Re: [QUEST] Doggy - 1st Script

Blackwolf potresti dirmi se questa quest è giusta?
Codice:
quest questprova begin


 state start begin

     when login or levelup with pc.level >= 70 begin
         set_state ( "startmissione" )
     end

    end

 state startmissione begin

     when letter begin
         local v = find_npc_by_vnum ( 9009 )
         if v != 0 then
             target.vid ( "__TARGET__" , v, "questprova" )
         end
         send_letter ( "Aiuta il Pescatore !" )
     end

     when button or info begin
         say_reward ( "Quest Master :" )
         say ( "Il pescatore ha bisogno del tuo aiuto,corri ad aiutarlo!" )
     end

        when 9009.chat."Finalmente sei arrivato!" begin
         target.delete ( "__TARGET__" )
         say_title ( "Pescatore")
         say ( "I nove code elitari stanno " )
         say ( "dominando il villo!" )
         say ( "Potresti uccidermene 3?" )
         say ( "In cambio ti darò una ricca" )
         say ( "ricompensa." )
         say ( "" )
         set_state ( "uccidimob" )
     end

    end

 state uccidimob begin

        when letter begin
         send_letter ( "Uccidi i Nove Code" )
     end

     when button or info begin
         say_reward ( "Quest Master:" )
         say ( "Uccidi i Nove Code" )
         say ( "Ne hai uccisi " .. pc.getqf ( "missione_killa_mob" ) )
         say ( "Ne devi uccidere ancora " .. 3 - pc.getqf ( "missione_killa_mob" ) )
         say ( "" )
     end

        when 1902.kill begin
         pc.setqf ( "missione_killa_mob" , pc.getqf ( "missione_killa_mob" ) + 1 )
         if pc.getqf ( "missione_killa_mob" ) == 3 then
         say_reward ( "Quest Master:" )
         say ( "Hai Completato la missione !" )
         say ( "Ritorna da Pescatore , fai in fretta." ) 
         say ( "" )
         set_state ( "ritorna" )
         local v = find_npc_by_vnum ( 9009 )
         if v != 0 then
             target.vid ( "__TARGET__" , v, "questprova" )
         end
         end
     end

    end

  state ritorna begin

        when 9009.chat."Grazie dell'aiuto!" begin
         target.delete ( "__TARGET__" )
         say_title ( "Pescatore")
         say ( "Grazie dell'aiuto." )
         say ( "Ecco le tue ricompense." )
         pc.give_exp2 ( 100000000 )
         pc.changegold ( 150000000 )
         pc.give_item2 ( 50034 , 1 )
         pc.delqf ( "missione_killa_mob" )
         set_state ( "completo" )
     end

    end

    state completo begin

    end
Manca l'end della quest, e poi metti il target prima di settare lo state "ritorna"
 
  • Mi piace
Reazioni: Revenge23™
Re: [QUEST] Doggy - 1st Script

No non sbagli,volevo vedere se funzionava bene perchè ne avevo fatta 1 e non funzionava forse avevo sbagliato a compilarla :\
 
Stato
Discussione chiusa ad ulteriori risposte.