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

10 Kamieni do P


Rekomendowane odpowiedzi

Opublikowano

Zbijam %. 100% szansy na wejście kamienia.

 

quest training_grandmaster_skill begin
    state start begin
        when 50513.use begin
            say_title("Zaawansowane Szkolenie Umiejętności")
            if pc.get_skill_group() == 0 then
                say_title("Zaawansowane Szkolenie Umiejętności")
                say("Nie wybrałeś jeszcze drogi duchowej."..pc.get_skill_group())
                return
            end
            if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
                if pc.is_skill_book_no_delay() then
                    say("Trening spowoduje usunięcie efektu")
                    say("Zwoju Egzorcyzmu.")
                    wait()
                    say_title("Zaawansowane Szkolenie Umiejętności")
                else
                    say("Musisz użyć Zwoju Egzorcyzmu zanim ponownie")
                    say("rozpoczniesz trening przed upływem 24 godzin.")
                    return
                end
            end
            local result = training_grandmaster_skill.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group())
            local vnum_list = result[1]
            local name_list = result[2]
            if table.getn(vnum_list) == 0 then
                say("Nie możesz trenować żadnej umiejętności.")
                return
            end
            say("Proszę wybrać umiejętność, którą chcesz trenować.")
            say("")
            local menu_list = {}
            table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
            table.insert(menu_list, "Anuluj")
            local s=select_table(menu_list)
            if table.getn(menu_list) == s then
                return
            end
            local skill_name=name_list[s]
            local skill_vnum=vnum_list[s]
            local skill_level = pc.get_skill_level(skill_vnum)
            local cur_alignment = pc.get_real_alignment()
            local need_alignment = 1000+500*(skill_level-30)
            test_chat("˛{¦bµ˝´c­Č: "..cur_alignment)
            test_chat("»Ý­nµ˝´c­Č: "..need_alignment)
            local title=string.format("Trening %s Wielki Mistrz", skill_name)
            say_title(title)
            say("Jeśli będziesz używać swoich punktów rangi")
            say("podczas treningu Umiejętności, może się zdarzyć,")
            say("że twoja Ranga stanie się negatywna.")
            if cur_alignment<-19000+need_alignment then
                say_reward("Nie masz wystarczającej ilości punktów Rangi.")
                return
            end
            if cur_alignment<0 then
                say_reward(string.format("Wymagane punkty rangi: %d -> %d", need_alignment, need_alignment*2))
                say_reward("Jeśli trening zakończy się powodzeniem,")
                say_reward("zużyjesz 2 razy więcej punktów Rangi.")
                need_alignment=need_alignment*2
            elseif cur_alignment<need_alignment then
                say_reward(string.format("Wymagane punkty rangi: %d", need_alignment))
                say_reward("Jeśli będziesz teraz trenować, twoja ranga")
                say_reward("stanie się negatywna.")
            else
                say_reward(string.format("Wymagane punkty rangi: %d", need_alignment))
            end
            say("")
            local s=select("Dalej", "Anuluj")   
            if s==2 then
                return
            end
            if cur_alignment>=0 and cur_alignment<need_alignment then
                say_title(title)
                say_reward("Kontynuuj")
                say("Jeśli będziesz kontynuował trening umiejętności,")
                say("możliwe jest, że twoje punkty rangi przyjmą ")
                say("wartość ujemną i będziesz miał negatywną Rangę.")
                say("Jeśli chcesz kontynuować, wpisz poniżej słowo")
                say("")
                say_reward("Trenuj")
                say("Jeżeli nie chcesz już trenować, wciśnij 'ENTER'.")
                local s=input()
                if s!="Trenuj" then
                    return
                end
            end
            if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
                if pc.is_skill_book_no_delay() then
                    pc.remove_skill_book_no_delay()
                else
                    say("[°ŞŻĹµĄŻĹ]§ŢŻŕ­×˝mżů»~: Ąđ®§¤¤")
                    return
                end
            end
            pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
            if need_alignment>0 then
                    pc.change_alignment(-need_alignment)
                    say_title(title)
                    if 40 == pc.get_skill_level(skill_vnum) then
                    say_reward("Powodzenie!")
                    say("Gratulacje! Udało się!")
                    say(string.format("%s jest teraz na poziomie Wielki Mistrz.", skill_name))
                    say("To oznacza, że osiągnąłeś poziom Perfekcyjny tej")
                    say("umiejętności. Dalsze jej szkolenie jest")
                    say("niemożliwe.")
                    else
                    say_reward("Powodzenie!")
                    say("Gratulacje! Udało się!")
                    say(string.format("%s jest teraz na poziomie Wielki Mistrz.", skill_name))
                    end
                    say_reward("Pomyślnie podnisłeś poziom!")
                    say_reward(string.format("Zużyłeś %d punktów rangi.", need_alignment))
                    pc.set_skill_level(skill_vnum, pc.get_skill_level(skill_vnum)+1)
                    say("")
            end
            item.remove()
        end
        function BuildGrandMasterSkillList(job, group)
            GRAND_MASTER_SKILL_LEVEL = 30
            PERFECT_MASTER_SKILL_LEVEL = 40
            local skill_list = special.active_skill_list[job+1][group]
            local ret_vnum_list = {}
            local ret_name_list = {}
            table.foreach(skill_list,
            function(i, skill_vnum)
                local skill_level = pc.get_skill_level(skill_vnum)
                if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
                    table.insert(ret_vnum_list, skill_vnum)
                    local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
                    if name == nil then name=skill_vnum end
                    table.insert(ret_name_list, name)
                end
            end)
            return {ret_vnum_list, ret_name_list}
        end
    end
end
 

 

http://wklej.to/jNtON

Działa w sumie jak normalny, tylko wywaliłem jeden warunek, dodałem jedną linijkę.

95495145614730418249.png


Opublikowano

Można wywalić tym questem wszystkie CH, ale to nie problem wystarczy pododawać dodatkowo sparwdzanie czy kamyk jest w EQ.

 

Napisałem to dla tych co nie ogarniają pzdr ;)

Bez-nazwy_nwpsash.png


by me


Opublikowano

Zmieniłeś tu coś innego poza dodaniem

                    pc.set_skill_level(skill_vnum, pc.get_skill_level(skill_vnum)+1)

zamiast standardowej funkcji? :|

Brawo:

Działa w sumie jak normalny, tylko wywaliłem jeden warunek, dodałem jedną linijkę.

95495145614730418249.png


Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...