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

Kamien Duchowy Standardowy Quest.


Rekomendowane odpowiedzi

Opublikowano

Siema podesłał by mi ktoś standardowy, lub lekko przerobiony, lub przerobiony ale normalnie działający quest na Kamien Duchowy ?

 

Laaaajki :P

20utztj.jpg

Opublikowano
quest training_grandmaster_skill begin
	state start begin
		when 50513.use begin
			say_koral("Zaawansowane Szkolenie Umiejętności")
			if pc.get_skill_group() == 0 then
				say_cialo("Nie wybrałeś jeszcze drogi duchowej. ")
				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_cialo("Trening spowoduje usunięcie efektu")
					say_cialo("Zwoju Egzorcyzmu.")
					wait()
					say_koral("Zaawansowane Szkolenie Umiejętności")
				else
					say_cialo("Musisz użyć Zwoju Egzorcyzmu zanim ponownie")
					say_cialo("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_cialo("Nie możesz trenować żadnej umiejętności.")
				return
			end
			say_cialo("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_koral(title)
			say_cialo("Jeśli będziesz używać swoich punktów rangi")
			say_cialo("podczas treningu Umiejętności, może się zdarzyć,")
			say_cialo("że twoja Ranga stanie się negatywna.")
			if cur_alignment<-19000+need_alignment then
				say_cialo("Nie masz wystarczającej ilości punktów Rangi.")
				return
			end
			if cur_alignment<0 then
				say_cialo(string.format("Wymagane punkty rangi: %d -> %d", need_alignment, need_alignment*2))
				say_cialo("Jeśli trening zakończy się powodzeniem,")
				say_cialo("zużyjesz 2 razy więcej punktów Rangi.")
				need_alignment=need_alignment*2
			elseif cur_alignment<need_alignment then
				say_cialo(string.format("Wymagane punkty rangi: %d", need_alignment))
				say_cialo("Jeśli będziesz teraz trenować, twoja ranga")
				say_cialo("stanie się negatywna.")
			else
				say_cialo(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_koral(title)
				say_cialo("Kontynuuj")
				say_cialo("Jeśli będziesz kontynuował trening umiejętności,")
				say_cialo("możliwe jest, że twoje punkty rangi przyjmą ")
				say_cialo("wartość ujemną i będziesz miał negatywną Rangę.")
				say_cialo("Jeśli chcesz kontynuować, wpisz poniżej słowo")
				say("")
				say_cialo("Trenuj")
				say_cialo("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
				if number(1, 100) >= 1 then
					pc.set_skill_level(skill_vnum, (pc.get_skill_level(skill_vnum)+1))
					pc.change_alignment(-need_alignment)
					say_koral(title)
					if 40 == pc.get_skill_level(skill_vnum) then
					say_cialo("Powodzenie!")
					say_cialo("Gratulacje! Udało się!")
					else
					say_cialo("Powodzenie!")
					say_cialo("Gratulacje! Udało się!")
					end
					say_cialo("Pomyślnie podnisłeś poziom!")
					say_cialo(string.format("Zużyłeś %d punktów rangi.", need_alignment))
					say("")
				else
					say_koral(title)
					say_cialo("Niepowodzenie!")
					say_cialo("Nie udało się ulepszyć umiejętności.")
					say_cialo("Straciłeś trochę punktów rangi.")
					say("")
					pc.change_alignment(-number(need_alignment/3, need_alignment/2))
				end
			end
			pc.remove_item(50513, 1)
		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

10 KD do P (100% na wejście).

727881401622271220780.jpeg
Opublikowano

@up 

Są błędy ;(

 

Wyskakuje : Undecleared function!

 

i say_cialo i say_koral a ja nwm jak to poprawic.

Zamień 'say_cialo' i 'say_koral' na say_title lub say_reward (lub zostaw samo say).

727881401622271220780.jpeg

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...