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

Edycja Questa na Kamien Duchowy


Rekomendowane odpowiedzi

Opublikowano

Witam. 

Chciałbym was poprosić o pomoc w przerobieniu questa na kamień duchowy tak aby nie było żadnych informacji i otwieranie okna po prostu klikniecie w kamień = podniesienie umiejętności np z G1 na G2 (tak jak z przerobionym medalem konnym). Fajnie by też było gdyby na wejście Kamienia było 100%.

quest training_grandmaster_skill begin
    state start begin
        when 50513.use begin
            say_title("Kamien[łĚ°ŞµĄŻĹ] Duchowy")

            if pc.get_skill_group() == 0 then
                say("Nie wybrales jeszcze swojej 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("Uczenie sie spowoduje usuniecie")
                    say("efektu Zwoju Egzorcyzmu!")
                    say("")
                    wait()
                    say_title("Kamien[łĚ°ŞµĄŻĹ] Duchowy")
                else
                    say("Musisz poczekac 24h lub uzyc Zwoju egzorcyzmu zanim bedziesz szkolil swoje umiejetnosci ponownie!")
                    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 masz zadnych umiejetnosci na G1![łĚ°ŞµĄŻĹ]")
                return
            end

            say("Wybierz umiejetnosc [łĚ°ŞµĄŻĹ]ktora chcesz szkolic")
            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("Ranga: "..cur_alignment)
            test_chat("Potrzebujesz punktow rangi: "..need_alignment)

            local title=string.format("Szkolenie umiejetnosci %s", skill_name)

            say_title(title)
            say("Czy chcesz szkolic ta umiejetnosc?")
            say("Szkolenie odbierze twoje punkty rangi!")
            say("")

            if cur_alignment<-19000+need_alignment then
                say_reward("Po szkoleniu twoje rangi beda na minusie!")
                return
            end

            if cur_alignment<0 then
                say_reward(string.format("Potrzebujesz: %d -> %d punktow rangi!", need_alignment, need_alignment*2))
                say_reward("Jesli szkolenie powiedzie sie, zostanie odebrana polowa wymaganych punktow!")
                need_alignment=need_alignment*2
            elseif cur_alignment<need_alignment then
                say_reward(string.format("Potrzebujesz: %d punktow rangi", need_alignment))
                say_reward("")
            else
                say_reward(string.format("Potrzebujesz: %d punktow rangi", need_alignment))
            end
            say("")

            local s=select("Kontynuuj") 
            if s==2 then
                return
            end


            if cur_alignment>=0 and cur_alignment<need_alignment then
                say_title(string.format("%s", title))
                say("Niestety, twoje punkty rangi")
                say("po trenowaniu beda na minusie. Po przeczytaniu polecamy kupic fasolki zen!")
                say("Aby szkolic umiejetnosc musisz")
                say("wpisac w to pole:")
                say("")
                say_reward("Ucz sie")
                say("")
                say("UWAGA! Wielkosc liter jest rozrozniana!")
                local s=input()
                if s!="Ucz sie" 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("Zle przepisales formule Ucz sie! Sproboj ponownie!")
                    return
                end
            end

            pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))

            if need_alignment>0 then
                if pc.learn_grand_master_skill(skill_vnum) then
                    pc.change_alignment(-need_alignment)


                    say_title(string.format("%s", title))
                    if 40 == pc.get_skill_level(skill_vnum) then
                        say(string.format("%s [°ŞŻĹµĄŻĹ]", skill_name))
                    else
                        say(string.format("[°ŞŻĹµĄŻĹ]", skill_name, skill_level-30+1+1))
                    end
                    say("")
                    say_reward("Udalo sie, twoja umiejetnosci zostala wyszkolona!")
                    say_reward(string.format("Zostalo odjetych %d punktow rangi.", need_alignment))
                    say("")
                else
                    say_title(string.format("%s", title))
                    say("Niestety nie udalo sie! Sproboj znowu!")
                    say("")
                    say_reward("Zostala odjeta polowa wymaganych punktow rangi!")
                    say("")
                    pc.change_alignment(-number(need_alignment/3, need_alignment/2))
                end
            end

            item.remove()
        end
        function BuildGrandMasterSkillList(job, group)
            GRAND_MASTER_SKILL_LEVEL = 30
            PERFECT_MASTER_SKILL_LEVEL = 31

            local skill_list = special.active_skill_list[job+1][group]
            local ret_vnum_list = {}
            local ret_name_list = {}

            -- test_chat(string.format("job=%d, group=%d", job, group))

            table.foreach(skill_list, 
            function(i, skill_vnum) 
                local skill_level = pc.get_skill_level(skill_vnum)

                -- test_chat(string.format("[%d]=%d", skill_vnum, skill_level))
                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}


            --return {ret_vnum_list, ret_name_list}
        end
    end
end

Z góry dziękuję i pozdrawiam :) 

bannermaly.png

Opublikowano

Usuń wszystkie say

 

I usuń jeszcze to:

            if cur_alignment>=0 and cur_alignment<need_alignment then
                say_title(string.format("%s", title))
                say("Niestety, twoje punkty rangi")
                say("po trenowaniu beda na minusie. Po przeczytaniu polecamy kupic fasolki zen!")
                say("Aby szkolic umiejetnosc musisz")
                say("wpisac w to pole:")
                say("")
                say_reward("Ucz sie")
                say("")
                say("UWAGA! Wielkosc liter jest rozrozniana!")
                local s=input()
                if s!="Ucz sie" then
                    return
                end
            end

5429b7fb5e27f.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...