Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Przywołanie Konia I Petów


Rekomendowane odpowiedzi

Opublikowano

Mógłby mi ktoś poprawic tego questa przy wgrywaniu wyskakuje cored dumped coś takiego

 

 

 

quest horse_summon begin
    state start begin
        function get_horse_summon_prob_pct() 
            local prob = {10,15,20,30,40,50,60,70,80,90,100}
            local skill_level = pc.get_skill_level(131) + 1
            return prob[skill_level]
        end
        
        when 20349.chat."Nowa Księga Zwykłego Konia " with horse.get_grade()==1 and pc.countitem("50051")<1 begin
            say_title("Stajenny:")
            say("Zgubiłeś Księgę Zwykłego Konia! ")
            say("Mogę dać Ci nową za 500.000 Yang.")
            local b=select("Tak", "Nie")
            if 1==b then
                if pc.money>=10000 then
                    pc.changemoney(-10000)
                    say_title("Informacja:")
                    say("Oto nowa Księga Zwykłego Konia! [ENTER]Tym razem spróbuj jej nie zgubić! ")
                    pc.give_item2("50051", 1)
                else
                    say_title("Informacja:")
                    say("Nie masz wystarczająco dużo yang!")
                end
            else
                return
            end
        end
        when 20349.chat."Nowa Księga Opancerz. Konia " with horse.get_grade()==2 and pc.countitem("50052")<1 begin
            say_title("Stajenny:")
            say("Zgubiłeś Księgę Opancerz. Konia! ")
            say("Mogę dać Ci nową za 500.000 Yang.")
            local b=select("Tak", "Nie")
            if 1==b then
                if pc.money>=50000 then
                    pc.changemoney(-50000)
                    say_title("Informacja:")
                    say("Oto nowa Księga Opancerz. Konia![ENTER]Tym razem spróbuj jej nie zgubić! ")
                    pc.give_item2("50052", 1)
                else
                    say_title("Informacja:")
                    say("Nie masz wystarczająco dużo yang!")
                end
            else
                return
            end
        end
        when 20349.chat."Nowa Księga Wojskowego Konia " with horse.get_grade()==3 and pc.countitem("50053")<1 begin
            say_title("Stajenny:")
            say("Zgubiłeś Księgę Wojskowego Konia! ")
            say("Mogę dać Ci nową za 500.000 Yang.")
            local b=select("Tak", "Nie")
            if 1==b then
                if pc.money>=100000 then
                    pc.changemoney(-100000)
                    say_title("Informacja:")
                    say("Oto nowa Księga Wojskowego Konia![ENTER]Tym razem spróbuj jej nie zgubić! ")
                    pc.give_item2("50053", 1)
                else
                    say_title("Informacja:")
                    say("Nie masz wystarczająco dużo yang!")
                end
            else
                return
            end
        end
        when 50051.use with horse.get_grade()==0 begin
            say_title("Informacja:")
            say_reward("Przywołanie konia jest nie możliwe.[ENTER]Nie posiadasz go!")
        end
        when 50051.use with horse.get_grade()==1 begin
        if PetSystem.IsPetLevel(horse.get_level()) then
                say("Vous avez fait n'importe quoi avec les")
                say("commande GM. Mettez le niveau du cheval")
                say("puis essayez ŕ nouveau.[ENTER]")                
                return                    
            end    
            if pc.getsp()>=100 then
                if number(1, 100)<=horse_summon.get_horse_summon_prob_pct() then
                    say_title("Informacja:")
                    say_reward("Koń został przywołany. ")
                    say("")
                    horse.summon()
                else
                    say_title("Informacja:")
                    say_reward("Przywołanie Konia dla profesjonalistów nie ")
                    say_reward("powiodło się. ")
                    say_reward("Możesz zwiększyć szansę na pomyślne ")
                    say_reward("przywołanie poprzez trening swoich umiejętności.")
                    say("")
                end
                pc.change_sp(-100)
            else
                say_title("Informacja:")
                say_reward("Masz za mało Punktów Energii. Aby przywołać ")
                say_reward("Konia, potrzebujesz ich co najmniej 300. ")
                say("")
            end
        end
        when 50051.use with horse.get_grade()==2 begin
            say_title("Informacja:")
            say_reward("Ta księga nie jest odpowiednia!")
        end
        when 50051.use with horse.get_grade()==3 begin
            say_title("Informacja:")
            say_reward("Ta księga nie jest odpowiednia!")
        end
        when 50052.use with horse.get_grade()==0 begin
            say_title("Informacja:")
            say_reward("Ta księga nie jest odpowiednia!")
        end
        when 50052.use with horse.get_grade()==1 begin
            say_title("Informacja:")
            say_reward("Ta księga nie jest odpowiednia!")
        end
        when 50052.use with horse.get_grade()==2 begin
        if PetSystem.IsPetLevel(horse.get_level()) then
                say("Vous avez fait n'importe quoi avec les")
                say("commande GM. Mettez le niveau du cheval")
                say("puis essayez ŕ nouveau.[ENTER]")                
                return                    
            end    
            if pc.getsp()>=200 then
                if number(1, 100)<=horse_summon.get_horse_summon_prob_pct() then
                    say_title("Informacja:")
                    say_reward("Koń został przywołany.")
                    say("")
                    horse.summon()
                else
                    say_title("Informacja:")
                    say_reward("Przywołanie Konia powiodło się. ")
                    say_reward("Możesz zwiększyć szansę na pomyślne ")
                    say_reward("przywołanie poprzez trening swoich umiejętności.")
                    say("")
                end
                pc.change_sp(-200)
            else
                say_title("Informacja:")
                say_reward("Masz za mało Punktów Energii. Aby przywołać ")
                say_reward("Konia, potrzebujesz ich co najmniej 300. ")
                say("")
            end
        end
        when 50052.use with horse.get_grade()==3 begin
            say_title("Informacja:")
            say_reward("Ta księga nie jest odpowiednia!")
        end
        when 50053.use with horse.get_grade()==0 begin
            say_title("Informacja:")
            say_reward("Ta księga nie jest odpowiednia!")
        end
        when 50053.use with horse.get_grade()==1 begin
            say_title("Informacja:")
            say_reward("Ta księga nie jest odpowiednia!")
        end
        when 50053.use with horse.get_grade()==2 begin
            say_title("Informacja:")
            say_reward("Ta księga nie jest odpowiednia!")
        end
        when 50053.use with horse.get_grade()==3 begin
        if PetSystem.IsPetLevel(horse.get_level()) then
                say("Vous avez fait n'importe quoi avec les")
                say("commande GM. Mettez le niveau du cheval")
                say("puis essayez ŕ nouveau.[ENTER]")                
                return                    
            end    
            if pc.getsp()>=300 then
                if number(1, 100)<=horse_summon.get_horse_summon_prob_pct() then
                    say_title("Informacja:")
                    say_reward("Koń został przywołany.")
                    say("")
                    horse.summon()
                else
                    say_title("Informacja:")
                    say_reward("Przywołanie Konia nie powiodło się. ")
                    say_reward("Możesz zwiększyć szansę na pomyślne ")
                    say_reward("przywołanie poprzez trening swoich umiejętności. ")
                    say("")
                end
                pc.change_sp(-300)
            else
                say_title("Informacja:")
                say_reward("Masz za mało Punktów Energii. Aby przywołać ")
                say_reward("Konia, potrzebujesz ich co najmniej 300. ")
                say("")
            end
        end
    
        -----***** Richiamo Pet
        when 53001.use or 53002.use or 53003.use or 53005.use or 53006.use or 53007.use or 53008.use or 53009.use begin
            if not PetSystem.IsActive() then
                local PetNumber = {[53001]=1,[53002]=2,[53003]=3,[53005]=4,[53006]=5,[53007]=6,[53008]=7,[53009]=8}
                local petIndex = PetNumber[item.get_vnum()]
                if horse.is_dead() then
                    say_title("Informacja:")
                    say("Nie można przywołać martwego zwierzęcia.")
                    say("Ożyw zwierze.[ENTER]")
                    return
                end            
                local horse_lev = horse.get_level()
                local horse_name = horse.get_name()
                PetSystem.SetActivePet(petIndex)
                PetSystem.AddBonus(petIndex)
                PetSystem.SetHorseData(PetSystem[petIndex].Level, "Lv"..PetSystem.GetLevel(petIndex).." "..PetSystem[petIndex].Name)
                pet.summon()
                PetSystem.SetHorseData(horse_lev, horse_name)
                cleartimer("give_exp")
                loop_timer("give_exp", PetSystem.UpdateFrequency)
                chat(""..PetSystem[petIndex].Name.." zostal przywolany.")
            else
                PetSystem.PetBack()                 
            end
        end
        
        -----*****
        -----***** Roba varia per Pet
        -----*****
        
        when 30130.use begin
            if not PetSystem.IsActive() then
                chat("Należy odwolać swojego zwierzaka, aby dać mu doswiadczenie.")
                return
            end
            local PetHasGotExp = PetSystem.GiveExp(PetSystem.GetActivePet(), PetSystem.ItemExp)
            if not PetHasGotExp then
                chat("Twój zwierzak jest na maksymalnym poziomie.")
            else
                chat("Twój zwierzak otrzymal"..PetSystem.ItemExp.." punktów doswiadczenia.")
                pc.remove_item(item.get_vnum(), 1)
            end
        end
        
        when login begin
            if PetSystem.IsActive() then
                if pc.count_item(PetSystem[PetSystem.GetActivePet()].Item) != 0 and not horse.is_dead() then
                    local horse_lev = horse.get_level()
                    local horse_name = horse.get_name()        
                    local PetIndex = PetSystem.GetActivePet()                
                    PetSystem.SetHorseData(PetSystem[PetIndex].Level, "Lv"..PetSystem.GetLevel(PetIndex).." "..PetSystem[PetIndex].Name)
                    pet.summon()
                    PetSystem.SetHorseData(horse_lev, horse_name)
                    loop_timer("give_exp", PetSystem.UpdateFrequency)
                else
                    PetSystem.SetInactive()
                    timer("remove_bonus", 2)
                end                
            end            
            pc.setqf("current_exp", pc.get_exp())
        end
        
        when remove_bonus.timer begin
            PetSystem.RemoveBonus()
        end    
        
        when give_exp.timer begin
            if PetSystem.IsActive() and not PetSystem.IsExpBlocked() then
                local gained_exp = pc.get_exp()-pc.getqf("current_exp")
                if gained_exp < 0 then
                    pc.setqf("current_exp", pc.get_exp())
                    return
                end
                local pet_exp = math.floor(gained_exp*3/100)
                if pet_exp != 0 then
                    local PetHasGotExp = PetSystem.GiveExp(PetSystem.GetActivePet(), pet_exp)
                    if PetHasGotExp then
                        pc.give_exp2(-pet_exp)
                        pc.setqf("current_exp", pc.get_exp())
                    end                    
                end
            end
        end
        when button or info begin
            say_title("Nowe Umiejetnosci")
            say("Twój zwierzak ma odblokowane")
            say("nowe umiejętności, aby dowiedzieć się")
            say("więcej przejśdz do menu Umiejętności .[ENTER]")
            q.done()
        end
 
        -----***** Menu Pet
        when 20120.click begin PetSystem.ShowMenu(1) end
        when 20121.click begin PetSystem.ShowMenu(1) end
        when 20122.click begin PetSystem.ShowMenu(1) end
        when 20123.click begin PetSystem.ShowMenu(2) end
        when 20124.click begin PetSystem.ShowMenu(2) end
        when 20125.click begin PetSystem.ShowMenu(2) end
        when 20126.click begin PetSystem.ShowMenu(3) end
        when 20127.click begin PetSystem.ShowMenu(3) end
        when 20128.click begin PetSystem.ShowMenu(3) end
        when 20129.click begin PetSystem.ShowMenu(4) end
        when 20130.click begin PetSystem.ShowMenu(4) end
        when 20131.click begin PetSystem.ShowMenu(4) end
        when 20132.click begin PetSystem.ShowMenu(5) end
        when 20133.click begin PetSystem.ShowMenu(5) end
        when 20134.click begin PetSystem.ShowMenu(5) end
        when 20135.click begin PetSystem.ShowMenu(6) end
        when 20136.click begin PetSystem.ShowMenu(6) end
        when 20137.click begin PetSystem.ShowMenu(6) end
        when 20138.click begin PetSystem.ShowMenu(7) end
        when 20139.click begin PetSystem.ShowMenu(7) end
        when 20140.click begin PetSystem.ShowMenu(7) end
        when 20141.click begin PetSystem.ShowMenu(8) end
        when 20142.click begin PetSystem.ShowMenu(8) end
        when 20143.click begin PetSystem.ShowMenu(8) end
    end
end
 

76989123606991442937.png


Opublikowano

Nie ten dział, a po drugie quest się ładnie kompiluje:

 

 

QUEST : horse_summon
STATE : start
FUNCTION get_horse_summon_prob_pct()
WHEN  : 20349.chat ("Nowa KsiÄga ZwykĹego Konia ")
        with horse . get_grade ( ) == 1 and pc . countitem ( "50051" ) < 1
WHEN  : 20349.chat ("Nowa KsiÄga Opancerz. Konia ")
        with horse . get_grade ( ) == 2 and pc . countitem ( "50052" ) < 1
WHEN  : 20349.chat ("Nowa KsiÄga Wojskowego Konia ")
        with horse . get_grade ( ) == 3 and pc . countitem ( "50053" ) < 1
WHEN  : 50051.use
        with horse . get_grade ( ) == 0
WHEN  : 50051.use
        with horse . get_grade ( ) == 1
WHEN  : 50051.use
        with horse . get_grade ( ) == 2
WHEN  : 50051.use
        with horse . get_grade ( ) == 3
WHEN  : 50052.use
        with horse . get_grade ( ) == 0
WHEN  : 50052.use
        with horse . get_grade ( ) == 1
WHEN  : 50052.use
        with horse . get_grade ( ) == 2
WHEN  : 50052.use
        with horse . get_grade ( ) == 3
WHEN  : 50053.use
        with horse . get_grade ( ) == 0
WHEN  : 50053.use
        with horse . get_grade ( ) == 1
WHEN  : 50053.use
        with horse . get_grade ( ) == 2
WHEN  : 50053.use
        with horse . get_grade ( ) == 3
WHEN  : 53001.use or
WHEN  : 53002.use or
WHEN  : 53003.use or
WHEN  : 53005.use or
WHEN  : 53006.use or
WHEN  : 53007.use or
WHEN  : 53008.use or
WHEN  : 53009.use
WHEN  : 30130.use
WHEN  : login
WHEN  : remove_bonus.timer
WHEN  : give_exp.timer
WHEN  : button or
WHEN  : info
WHEN  : 20120.click
WHEN  : 20121.click
WHEN  : 20122.click
WHEN  : 20123.click
WHEN  : 20124.click
WHEN  : 20125.click
WHEN  : 20126.click
WHEN  : 20127.click
WHEN  : 20128.click
WHEN  : 20129.click
WHEN  : 20130.click
WHEN  : 20131.click
WHEN  : 20132.click
WHEN  : 20133.click
WHEN  : 20134.click
WHEN  : 20135.click
WHEN  : 20136.click
WHEN  : 20137.click
WHEN  : 20138.click
WHEN  : 20139.click
WHEN  : 20140.click
WHEN  : 20141.click
WHEN  : 20142.click
WHEN  : 20143.click

 

 

Opublikowano

Nie ten dział, a po drugie quest się ładnie kompiluje:

 

 

QUEST : horse_summon
STATE : start
FUNCTION get_horse_summon_prob_pct()
WHEN  : 20349.chat ("Nowa KsiÄga ZwykĹego Konia ")
        with horse . get_grade ( ) == 1 and pc . countitem ( "50051" ) < 1
WHEN  : 20349.chat ("Nowa KsiÄga Opancerz. Konia ")
        with horse . get_grade ( ) == 2 and pc . countitem ( "50052" ) < 1
WHEN  : 20349.chat ("Nowa KsiÄga Wojskowego Konia ")
        with horse . get_grade ( ) == 3 and pc . countitem ( "50053" ) < 1
WHEN  : 50051.use
        with horse . get_grade ( ) == 0
WHEN  : 50051.use
        with horse . get_grade ( ) == 1
WHEN  : 50051.use
        with horse . get_grade ( ) == 2
WHEN  : 50051.use
        with horse . get_grade ( ) == 3
WHEN  : 50052.use
        with horse . get_grade ( ) == 0
WHEN  : 50052.use
        with horse . get_grade ( ) == 1
WHEN  : 50052.use
        with horse . get_grade ( ) == 2
WHEN  : 50052.use
        with horse . get_grade ( ) == 3
WHEN  : 50053.use
        with horse . get_grade ( ) == 0
WHEN  : 50053.use
        with horse . get_grade ( ) == 1
WHEN  : 50053.use
        with horse . get_grade ( ) == 2
WHEN  : 50053.use
        with horse . get_grade ( ) == 3
WHEN  : 53001.use or
WHEN  : 53002.use or
WHEN  : 53003.use or
WHEN  : 53005.use or
WHEN  : 53006.use or
WHEN  : 53007.use or
WHEN  : 53008.use or
WHEN  : 53009.use
WHEN  : 30130.use
WHEN  : login
WHEN  : remove_bonus.timer
WHEN  : give_exp.timer
WHEN  : button or
WHEN  : info
WHEN  : 20120.click
WHEN  : 20121.click
WHEN  : 20122.click
WHEN  : 20123.click
WHEN  : 20124.click
WHEN  : 20125.click
WHEN  : 20126.click
WHEN  : 20127.click
WHEN  : 20128.click
WHEN  : 20129.click
WHEN  : 20130.click
WHEN  : 20131.click
WHEN  : 20132.click
WHEN  : 20133.click
WHEN  : 20134.click
WHEN  : 20135.click
WHEN  : 20136.click
WHEN  : 20137.click
WHEN  : 20138.click
WHEN  : 20139.click
WHEN  : 20140.click
WHEN  : 20141.click
WHEN  : 20142.click
WHEN  : 20143.click

 

 

Dzięki łap lika ! Do zamknięcia

76989123606991442937.png


Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...