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

Nauka Skilli 10 Ku z podziałem Profesji


Rekomendowane odpowiedzi

Opublikowano

Witajcie

Wrzucam quest z Malygosa gdyż już z niego nie korzystam, działa bez zarzutu, uczymy 10 Ksiąg od m1 do g1 mamy dodatkową szanse awanoswania od m7 do m10 na awans od razu na g, uwzględnione rady pustelnika oraz zwoje egzorcyzmu. Quest polega na przypisaniu 1 księgi do profesji postaci czyli jedną księgą uczymy np. wszystkie umiejętności wojownika bodego.

http://pastebin.pl/view/d73854ae

 

quest use_book begin
state start begin
function pc.is_rada(id)
if id == 1 then
if pc.getqf("rada") == 0 then
return false
else
return true
end
end
if id == 2 then
if pc.getqf("rada_duchowa") == 0 then
return false
else
return true
end
end
end
when 50323.use or 50324.use or 50325.use or 50326.use or 50327.use or 50328.use or 50329.use or 50330.use begin
local BookTable = {
[50323] = {0, 1, "Wojownik Body"},-- Woj Body
[50324] = {0, 2, "Wojownik Mental"},-- Woj Mental
[50325] = {2, 1, "Sura Moc Ostrza"},-- Sura WP
[50326] = {2, 2, "Sura Czarna Magia"},-- Sura BM
[50327] = {1, 1, "Ninja Dagger"},-- Ninja Dagg
[50328] = {1, 2, "Ninja Archer"},-- Ninja Archer
[50329] = {3, 2, "Szaman Healer"},-- Szaman Healer
[50330] = {3, 1, "Szaman Smok"},-- Szaman Smok
}
local SkillTable = {
[26] = {30},
[27] = {40},
[28] = {50},
}
if pc.get_skill_group() == 0 then -- Nie wybrano Profesji Postaci
syschat("<"..item.get_name(item.get_vnum()).."> Wybierz Profesje aby szkolić ją Księgami !")
return
end
if BookTable[item.get_vnum()][1] == pc.get_job() and BookTable[item.get_vnum()][2] == pc.get_skill_group() then
local result = training_book_malyg.BuildListMasterSkill(pc.get_job(), pc.get_skill_group())
local vnum_list = result[1]
local name_list = result[2]
if table.getn(vnum_list) == 0 then -- Nie posiadasz Skilla w przedziale M1 > < G1
syschat("<"..item.get_name(item.get_vnum()).."> Nie posiadasz Umiejętności do Szkolenia !")
return
end
say_title(item.get_name(item.get_vnum()))
say("Proszę wybrać umiejętność, którą chcesz trenować.")
if pc.getqf("egzo") == 1 then
say_limonka("~Zwój Egzorcyzmu jest aktywowany!")
end
if use_book.pc.is_rada(1) == true then
say_limonka("~Rada Pustelnika jest aktywowana!")
end
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) -- Select Skill on table
if table.getn(menu_list) == s then return end -- Klikasz Opcje Anuluj
local skill_vnum = vnum_list[s]
local skill_level = pc.get_skill_level(skill_vnum)
if get_time() < pc.getqf("Ksiega_"..skill_vnum) and pc.getqf("egzo") == 0 then
local time = math.ceil((pc.getqf("Ksiega_"..skill_vnum) - get_time()) / 60)
chat("<"..item.get_name(item.get_vnum()).."> Potrzeba czasu, aby zrozumieć wiedzę zawartą w księdze.")
chat("<"..locale.GM_SKILL_NAME_DICT[skill_vnum].."> Pozostało "..time.." Minut do przeczytania kolejnej Księgi !")
return
end
if skill_level == 29 then -- Jeśli Skill jest na M10 to zmienia informacje awansu na G1
txt = "G1"
check = true
else
txt = "M"..math.ceil(skill_level-18)
check = false
end
if skill_level >= 26 and skill_level <= 28 then -- Sprawdza czy skill jest od m7 do m9 jeśli tak to wyświetla dodatkową szanse na awans
str1 = "-"..SkillTable[skill_level][1].."% Dodatkowa Szansa Awansowania Umiejętności na G1"
else
str1 = ""
end
local szansa = number(1, 100)
if use_book.pc.is_rada(1) == true then
sukces = 100
pc.remove_rada(1)
else
sukces = 40
end
if pc.getqf("egzo") == 1 then --Sprawdza aktywność zwoju egzo
if get_time() < pc.getqf("Ksiega_"..skill_vnum) then -- Jeżeli skill nie miał nałożonego limitu czasu nie kasuje zwoju
pc.setqf("egzo", 0)
else
chat("<Zwój Egzorcyzmu> Zwój Pozostaje nadal aktywny ! ")
end
end
pc.setqf("Ksiega_"..skill_vnum, get_time()+60*60) -- 1h
pc.remove_item(item.get_vnum(), 1)
if szansa <= sukces then -- Active Rada 100%, Deactive rada 40%
if check then -- Kasujemy zbędnego setqf Księgi z czasem jeśli awansujemy skill na g1
pc.delqf("Ksiega_"..skill_vnum)
end
if skill_level >= 26 and skill_level <= 28 then -- Sprawdzam czy skill jest od m7 do m9 jeśli tak to losuje szanse awansowania na G1
local szansa_g1 = number(1, 100)
if szansa_g1 <= SkillTable[skill_level][1] then
pc.set_skill_level(skill_vnum, 30)
syschat("<"..locale.GM_SKILL_NAME_DICT[skill_vnum].."> Gratulacje Udało Ci się awansować umiejętność z poziomu M"..math.ceil(skill_level-19).." na G1 !")
return
end
end
syschat("<"..locale.GM_SKILL_NAME_DICT[skill_vnum].."> Udało Ci się awansować umiejętność z poziomu M"..math.ceil(skill_level-19).." na "..txt)
pc.set_skill_level(skill_vnum, skill_level+1)
return
else
syschat("<"..locale.GM_SKILL_NAME_DICT[skill_vnum].."> Nie udało się awansować umiejętności na "..txt)
end
else
syschat("<"..item.get_name(item.get_vnum()).."> Ta Księga jest przeznaczona dla Profesji "..BookTable[item.get_vnum()][3].." !")
end
end
end
end
end

 

 

Opublikowano
	
	                                        if pc.getqf("egzo") == 1 then
	
	
	                                                say_limonka("~Zwój Egzorcyzmu jest aktywowany!")
	
	
	                                        end
	
	
	                                        if use_book.pc.is_rada(1) == true then
	
	
	                                                say_limonka("~Rada Pustelnika jest aktywowana!")
	
	
	                                        end
	

​

Ahaaa xD 

Quest napisany spoko, jak ktoś nie ogarnia MetinLua to może go używać bez obawień.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...