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

Rekomendowane odpowiedzi

Opublikowano

Witam! Mam problem z questem biologa.Gdy wpisuje w konsoli /qc lub /qc biolog.quest to wyskakuje error a dokładnie:

Abort trap (core dumped)

Error occurred on compile

QUEST:

 

 

quest biolog begin
	state start begin
		function settings()
			return {
						['Poziom'] = {10, 20, 30, 40, 50, 60, 70, 80, 85, 90, 100}, -- Poziomy na jakie sa misje
						['Tytul'] = {
									[10] = {"Analiza Biologa - Nosy Świni"},
									[20] = {"Analiza Biologa - Zęby Dzika"},
									[30] = {"Analiza Biologa - Zęby Orka"},
									[40] = {"Analiza Biologa - Księgi Klątw"},
									[50] = {"Analiza Biologa - Pamiątki Po Demonie"},
									[60] = {"Analiza Biologa - Matowe Lody"},
									[70] = {"Analiza Biologa - Konary Zelkova"},
									[80] = {"Analiza Biologa - Certyfikaty Tugyisa"},
									[85] = {"Analiza Biologa - Konary Duchodrzewa"},
									[90] = {"Analiza Biologa - Notatki Przywódcy"},
									[100] = {"Analiza Biologa - Dykta "},
									},
						['Szukany'] = {
										[10] = {['vnum'] = 30003, ['count'] = 10},
										[20] = {['vnum'] = 30004, ['count'] = 20},
										[30] = {['vnum'] = 30006, ['count'] = 30},
										[40] = {['vnum'] = 30047, ['count'] = 40},
										[50] = {['vnum'] = 30015, ['count'] = 50},
										[60] = {['vnum'] = 30050, ['count'] = 10},
										[70] = {['vnum'] = 30165, ['count'] = 20},
										[80] = {['vnum'] = 30166, ['count'] = 30},
										[85] = {['vnum'] = 30167, ['count'] = 40},
										[90] = {['vnum'] = 30168, ['count'] = 50},
										[100] = {['vnum'] = 90012, ['count'] = 10},
										},
						['Potwory'] = {
										[10] = {104, 174, 105, 175, 106, 176, 107, 177},
										[20] = {108, 178, 109, 179},
										[30] = {636, 637, 656, 657},
										[40] = {706, 756},
										[50] = {1001, 1002, 1003},
										[60] = {1107, 1137, 1106, 1105, 1001, 1102},
										[70] = {2303, 2304, 2305, 2301, 2311, 2313, 2314, 2315},
										[80] = {1401, 1601, 1602, 1603, 1402, 1403},
										[85] = {2311, 2312, 2313, 2314, 2315},
										[90] = {1901, 1092, 1091, 791, 2091, 2206, 792, 1093, 1304, 2402, 2404, 2412, 2413, 2403, 2401, 2411},
										[100] = {2402, 2403, 2404, 2411, 2412, 2413, 2414},
										},
						['DropItem'] = {
										[10] = {['canDrop'] = false, ['prob'] = 70},
										[20] = {['canDrop'] = false, ['prob'] = 70},
										[30] = {['canDrop'] = false, ['prob'] = 60},
										[40] = {['canDrop'] = false, ['prob'] = 50},
										[50] = {['canDrop'] = false, ['prob'] = 45},
										[60] = {['canDrop'] = false, ['prob'] = 40},
										[70] = {['canDrop'] = false, ['prob'] = 40},
										[80] = {['canDrop'] = true, ['prob'] = 35},
										[85] = {['canDrop'] = true, ['prob'] = 35},
										[90] = {['canDrop'] = true, ['prob'] = 40},
										[100] = {['canDrop'] = true, ['prob'] = 25},
										},
						['duration'] = {
										[10]  =  10*1,
										[20]  =  10*1,
										[30]  =  10*1,
										[40]  =  10*1,
										[50]  =  10*2,
										[60]  =  10*2,
										[70]  =  10*3,
										[80]  =  10*3,
										[85]  =  10*4,
										[90]  =  10*5,
										[100]  =  10*6,
									},
						['ProbItem'] = {
									[10] = {['n'] = 50, ['y'] = 100},
									[20] = {['n'] = 50, ['y'] = 100},
									[30] = {['n'] = 45, ['y'] = 90},
									[40] = {['n'] = 40, ['y'] = 80},
									[50] = {['n'] = 35, ['y'] = 70},
									[60] = {['n'] = 33, ['y'] = 65},
									[70] = {['n'] = 33, ['y'] = 65},
									[80] = {['n'] = 33, ['y'] = 60},
									[85] = {['n'] = 25, ['y'] = 50},
									[90] = {['n'] = 25, ['y'] = 50},
									[100] = {['n'] = 25, ['y'] = 50},
									},
						['Kamien'] = {
										[10] = 30220,
										[20] = 30221,
										[30] = 30222,
										[40] = 30223,
										[50] = 30224,
										[60] = 30225,
										[70] = 30224,
										[80] = 30225,
										[85] = 30226,
										[90] = 30227,
										[100] = 30227,
										},
						['StoneProb'] = {
									[10] = 100,
									[20] = 90,
									[30] = 80,
									[40] = 70,
									[50] = 60,
									[60] = 50,
									[70] = 40,
									[80] = 30,
									[85] = 25,
									[90] = 20,
									[100] = 10,
									},
						['NagrodaBonus'] = {
											[10] = {
														{['aff'] = 560, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[20] = {
														{['aff'] = 560, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[30] = {
														{['aff'] = 560, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[40] = {
														{['aff'] = 561, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[50] = {
														{['aff'] = 562, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[60] = {
														{['aff'] = 563, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[70] = {
														{['aff'] = 564, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[80] = {
														{['aff'] = 565, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[85] = {
														{['aff'] = 566, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[90] = {
														{['aff'] = 567, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											},
						['NagrodaYang'] = {
											[10] = {true, 500000, "500.000"},
											[20] = {true, 1000000, "1.000.000"},
											[30] = {true, 2000000, "2.000.000"},
											[40] = {true, 3000000, "3.000.000"},
											[50] = {true, 4000000, "4.000.000"},
											[60] = {true, 7000000, "7.000.000"},
											[70] = {true, 10000000, "10.000.000"},
											[80] = {true, 12000000, "12.000.000"},
											[85] = {true, 14000000, "14.000.000"},
											[90] = {true, 16000000, "16.000.000"},
											[100] = {true, 23000000, "23.000.000"},
											},
						['NagrodaExp'] = {
											[30] = {true, 800000, "800.000"},
											[40] = {true, 1600000, "1.600.000"},
											[50] = {true, 3200000, "3.200.000"},
											[60] = {true, 6000000, "6.000.000"},
											[70] = {true, 8000000, "8.000.000"},
											[80] = {true, 10000000, "10.000.000"},
											[85] = {true, 15000000, "15.000.000"},
											[90] = {true, 25000000, "25.000.000"},
											},
						['NagrodaItem'] = {
											[10] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50107,1},
															},
													},
											[20] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50108,1},
															},
													},
											[30] = {
													['job_rew'] = {true, 11246,11446,11646,11846},
													['adma'] = {
															{50109,1},
															},
													},
											[40] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50110,1},
															},
													},
											[50] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50111,1},
															},
													},
											[60] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50112,1},
															},
													},
											[70] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50113,1},
															},
													},
											[80] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50114,1},
															},
													},
											[85] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50113,1},
															{50114,1},
															},
													},
											[90] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50112,1},
															{50113,1},
															{50114,1},
															},
													},
											[100] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50112,1},
															{50113,1},
															{50114,1},
															{50115,1},
															}
											},
					}
		end
		when login or levelup or levelup begin
			local settings = biolog.settings()
			if pc.get_level() >= settings.Poziom[pc.getqf("biologMisja")+1] then
				pc.setqf("biologPoziom", settings.Poziom[pc.getqf("biologMisja")+1])
				set_state(rozmowa)
			end
		end
	end
	
	state rozmowa begin
		when letter begin
			local settings = biolog.settings()
			target.vid("__TARGET__", find_npc_by_vnum(20084), "AnalizaBiologa")
			send_letter(settings.Tytul[pc.getqf("biologPoziom")][1])
		end
		
		when info or button begin
			local settings = biolog.settings()
			say_title(settings.Tytul[pc.getqf("biologPoziom")][1])
			say()
			say("Biolog Chaegirab, uczeń Baek-Goa,")
			say("właśnie Cie szukał. Proszę idź ")
			say("do niego i zaoferuj mu swoją pomoc.")
			say()
		end
		
		when __TARGET__.target.click or 20084.chat."Znajdź Biologa" begin
			local settings = biolog.settings()
			target.delete("__TARGET__")
			say("Biolog Chaegirab:")
			say("Niebiosa, proszę pomóż mi... ")
			say("Badam wszystkie rodzaje roślin w tym ")
			say("imperium. Jest bardzo dużo rzeczy, ")
			say("które muszą zostać zbadane. Nie mam ")
			say("czasu abym mógł sam wybrać się na wyprawę. ")
			say("Proszę, pomóż mi. ")
			wait()
			say("Aktualnie celem moich badań jest")
			say_item_vnum(settings.Szukany[pc.getqf("biologPoziom")].vnum)
			say("Muszę przeprowadzić kilka eksperymentów,")
			say("dlatego potrzebuje egzemplarzy tego przedmiotu.")
			say("Przynieś mi ".. settings.Szukany[pc.getqf("biologPoziom")].count .." tego przedmiotu.")
			say("")
			set_state(wydrop)
		end
	end
	
	state wydrop begin
		when letter begin
			local settings = biolog.settings()
			send_letter(settings.Tytul[pc.getqf("biologPoziom")][1])
		end
		
		when info or button begin
			local settings = biolog.settings()
			say_title(settings.Tytul[pc.getqf("biologPoziom")][1])
			say()
			say("Aktualnie szukany przedmiot:")
			say_item_vnum(settings.Szukany[pc.getqf("biologPoziom")].vnum)
			say("Pozostała ilość do oddania: ".. ((settings.Szukany[pc.getqf("biologPoziom")].count)-pc.getqf("oddanaIlosc")))
			say()
		end
		
		when kill with not npc.is_pc() begin
			local settings = biolog.settings()
			if settings.DropItem[pc.getqf("biologPoziom")].canDrop then
				if table_is_in(settings.Potwory[pc.getqf("biologPoziom")], npc.get_race()) then
					if number(1,100) <= settings.DropItem[pc.getqf("biologPoziom")].prob then
						game.drop_item_with_ownership(settings.Szukany[pc.getqf("biologPoziom")].vnum)
					end
				end
			end
		end
		
		when 71035.use or 39023.use or 76020.use or 70021.use begin
			if get_time() < pc.getqf("limitCzasowy") and pc.getqf("eliksirPoszukiwacza") < 1 then
					pc.setqf("limitCzasowy", 0)
					pc.setqf("eliksirPoszukiwacza", 1)
					chat("Możesz już oddać przedmiot biologowi!")
					syschat("Błogosławieństwo Anioła zostaje usunięte!")
					pc.remove_item(item.get_vnum(), 1)
			else
				syschat("Nie możesz użyć teraz tego przedmiotu.")
				return
			end
		end
		
		when 20084.chat."Oddaj przedmiot!" begin
			local settings = biolog.settings()
			if pc.count_item(settings.Szukany[pc.getqf("biologPoziom")].vnum) == 0 then
				say_title("Biolog Chaegirab:")
				say()
				say("Nie przy sobie odpowiedniego przedmiotu.")
				return
			end
			
			if pc.getqf("limitCzasowy") > get_time() then
				local time = (pc.getqf("limitCzasowy")-get_time())/3600
				local h = math.floor(time)
				local min = (time-h)*60
				local m = math.floor(min)
				say_title("Biolog Chaegirab:")
				say()
				say("Możesz oddac przedmiot za "..h.." godzin, "..m.." minut.")
				say()
				return
			end         
			say_title("Biolog Chaegirab:")
			say()
			say("Oh! Znalazłeś obiekt moich ostatnich badań...")
			say("Pozwól, że rzucę na niego okiem.")
			say("Poczekaj jeszcze chwilkę.")
			say("")
			pc.remove_item(settings.Szukany[pc.getqf("biologPoziom")].vnum, 1)
			wait()
			local szansa
			if pc.getqf("eliksirPoszukiwacza") == 1 then
				szansa = settings.ProbItem[pc.getqf("biologPoziom")].y
				pc.setqf("eliksirPoszukiwacza", 0)
			else
				szansa = settings.ProbItem[pc.getqf("biologPoziom")].n
			end
				if number(1,100) <= szansa then
					say_title("Biolog Chaegirab:")
					say()
					say_green("Ten przedmiot jest doskonałej jakości.")
					say("Dziękuję Ci bardzo!")
					say()
					pc.setqf("oddanaIlosc", pc.getqf("oddanaIlosc")+1)
					if pc.getqf("oddanaIlosc") == settings.Szukany[pc.getqf("biologPoziom")].count then
						say("To już wszystkie przedmioty, które potrzebowałem!")
						say("Jednak do ukończenia badań potrzebuję jeszcze jednego przedmiotu...")
						say_item_vnum(settings.Kamien[pc.getqf("biologPoziom")])
						say("Powodzenia w poszukiwaniach!")
						say()
						pc.setqf("oddanaIlosc", 0)
						pc.setqf("limitCzasowy", 0)
						set_state(kamien)
					else
						say("Potrzebuję jeszcze "..((settings.Szukany[pc.getqf("biologPoziom")].count)-pc.getqf("oddanaIlosc")).." sztuk.")
						say()
						pc.setqf("limitCzasowy", get_time()+settings.duration[pc.getqf("biologPoziom")])
						say("Liczę na Ciebie!")
					end
				else
					say_title("Biolog Chaegirab:")
					say()
					say_red("Wybacz, ale ten przedmiot jest zbyt zniszczony.")
					say()
					return
				end
		end
	end
	
	state kamien begin
		when letter begin
			local settings = biolog.settings()
			send_letter(settings.Tytul[pc.getqf("biologPoziom")][1])
		end
		
		when info or button begin
			local settings = biolog.settings()
			say_title(settings.Tytul[pc.getqf("biologPoziom")][1])
			say()
			say("Aktualnie szukany przedmiot:")
			say_item_vnum(settings.Kamien[pc.getqf("biologPoziom")])
			say()
		end
		
		when kill with not npc.is_pc() begin
			local settings = biolog.settings()
			if table_is_in(settings.Potwory[pc.getqf("biologPoziom")], npc.get_race()) then
				if number(1,100) <= settings.StoneProb[pc.getqf("biologPoziom")] then
					game.drop_item_with_ownership(settings.Kamien[pc.getqf("biologPoziom")])
				end
			end
		end
		when 20084.chat."Oddaj przedmiot!" begin
			local settings = biolog.settings()
			if pc.count_item(settings.Kamien[pc.getqf("biologPoziom")]) < 1 then
				say_title("Biolog Chaegirab:")
				say()
				say("Nie przy sobie odpowiedniego przedmiotu.")
				return
			end
			
			say_title("Biolog Chaegirab:")
			say()
			say("Oh! Znalazłeś obiekt moich ostatnich badań...")
			say("Nie wiem jak mogę Ci się odwdzięczyć...")
			say("Mam nadzieję, że ta nagroda Cie usatysfakcjonuje.")
			say("")
			pc.remove_item(settings.Kamien[pc.getqf("biologPoziom")], 1)
			if settings.NagrodaYang[pc.getqf("biologPoziom")][1] == true then
				pc.change_gold(settings.NagrodaYang[pc.getqf("biologPoziom")][2])
				say_reward("Otrzymałeś "..settings.NagrodaYang[pc.getqf("biologPoziom")][3].." Yang.")
			end
			if settings.NagrodaExp[pc.getqf("biologPoziom")][1] then
				pc.give_exp2(settings.NagrodaExp[pc.getqf("biologPoziom")][2])
				say_reward("Otrzymałeś "..settings.NagrodaExp[pc.getqf("biologPoziom")][3].." Punktów Doświadczenia.")
			end 
			if settings.NagrodaItem[pc.getqf("biologPoziom")].job_rew[1] then
				say_reward("Otrzymałeś "..item_name(settings.NagrodaItem[pc.getqf("biologPoziom")].job_rew[pc.get_job()+2]))
				pc.give_item2(settings.NagrodaItem[pc.getqf("biologPoziom")].job_rew[pc.get_job()+2], 1)
			end
			for i = 1, table.getn(settings.NagrodaItem[pc.getqf("biologPoziom")].adma) do
				say_reward("Otrzymałeś "..item_name(settings.NagrodaItem[pc.getqf("biologPoziom")].adma[i][1]))
				pc.give_item2(settings.NagrodaItem[pc.getqf("biologPoziom")].adma[i][1], settings.NagrodaItem[pc.getqf("biologPoziom")].adma[i][2])
			end
			for i = 1, table.getn(settings.NagrodaBonus[pc.getqf("biologPoziom")]) do
				say_reward("Otrzymałeś bonus: "..settings.NagrodaBonus[pc.getqf("biologPoziom")][i].nazwa)
				affect.add_new_bonus(settings.NagrodaBonus[pc.getqf("biologPoziom")][i].aff, settings.NagrodaBonus[pc.getqf("biologPoziom")][i].vnum, settings.NagrodaBonus[pc.getqf("biologPoziom")][i].count, 60*60*24*365*60)
			end
			pc.setqf("biologMisja", pc.getqf("biologMisja")+1)
			clear_letter()
			set_state(start)
		end
	end
end  

 

 

Opublikowano

A dodałeś go do quest_list?

Oczywiście pozmieniałem kilka rzeczy ale nadal nie działa:

 

 

quest biolog begin
	state start begin
		function settings()
			return {
						['Poziom'] = {10, 20, 30, 40, 50, 60, 70, 80, 85, 90, 100}, -- Poziomy na jakie sa misje
						['Tytul'] = {
									[10] = {"Analiza Biologa - Nosy Świni"},
									[20] = {"Analiza Biologa - Zęby Dzika"},
									[30] = {"Analiza Biologa - Zęby Orka"},
									[40] = {"Analiza Biologa - Księgi Klątw"},
									[50] = {"Analiza Biologa - Pamiątki Po Demonie"},
									[60] = {"Analiza Biologa - Matowe Lody"},
									[70] = {"Analiza Biologa - Konary Zelkova"},
									[80] = {"Analiza Biologa - Certyfikaty Tugyisa"},
									[85] = {"Analiza Biologa - Konary Duchodrzewa"},
									[90] = {"Analiza Biologa - Notatki Przywódcy"},
									[100] = {"Analiza Biologa - Dykta"},
									},
						['Szukany'] = {
										[10] = {['vnum'] = 30003, ['count'] = 10},
										[20] = {['vnum'] = 30004, ['count'] = 20},
										[30] = {['vnum'] = 30006, ['count'] = 30},
										[40] = {['vnum'] = 30047, ['count'] = 40},
										[50] = {['vnum'] = 30015, ['count'] = 50},
										[60] = {['vnum'] = 30050, ['count'] = 10},
										[70] = {['vnum'] = 30165, ['count'] = 20},
										[80] = {['vnum'] = 30166, ['count'] = 30},
										[85] = {['vnum'] = 30167, ['count'] = 40},
										[90] = {['vnum'] = 30168, ['count'] = 50},
										[100] = {['vnum'] = 90012, ['count'] = 10},
										},
						['Potwory'] = {
										[10] = {104, 174, 105, 175, 106, 176, 107, 177},
										[20] = {108, 178, 109, 179},
										[30] = {636, 637, 656, 657},
										[40] = {706, 756},
										[50] = {1001, 1002, 1003},
										[60] = {1107, 1137, 1106, 1105, 1001, 1102},
										[70] = {2303, 2304, 2305, 2301, 2311, 2313, 2314, 2315},
										[80] = {1401, 1601, 1602, 1603, 1402, 1403},
										[85] = {2311, 2312, 2313, 2314, 2315},
										[90] = {1901, 1092, 1091, 791, 2091, 2206, 792, 1093, 1304, 2402, 2404, 2412, 2413, 2403, 2401, 2411},
										[100] = {2402, 2403, 2404, 2411, 2412, 2413, 2414},
										},
						['DropItem'] = {
										[10] = {['canDrop'] = false, ['prob'] = 70},
										[20] = {['canDrop'] = false, ['prob'] = 70},
										[30] = {['canDrop'] = false, ['prob'] = 60},
										[40] = {['canDrop'] = false, ['prob'] = 50},
										[50] = {['canDrop'] = false, ['prob'] = 45},
										[60] = {['canDrop'] = false, ['prob'] = 40},
										[70] = {['canDrop'] = false, ['prob'] = 40},
										[80] = {['canDrop'] = true, ['prob'] = 35},
										[85] = {['canDrop'] = true, ['prob'] = 35},
										[90] = {['canDrop'] = true, ['prob'] = 40},
										[100] = {['canDrop'] = true, ['prob'] = 25},
										},
						['duration'] = {
										[10]  =  10*1,
										[20]  =  10*1,
										[30]  =  10*1,
										[40]  =  10*1,
										[50]  =  10*2,
										[60]  =  10*2,
										[70]  =  10*3,
										[80]  =  10*3,
										[85]  =  10*4,
										[90]  =  10*5,
										[100]  =  10*6,
									},
						['ProbItem'] = {
									[10] = {['n'] = 50, ['y'] = 100},
									[20] = {['n'] = 50, ['y'] = 100},
									[30] = {['n'] = 45, ['y'] = 90},
									[40] = {['n'] = 40, ['y'] = 80},
									[50] = {['n'] = 35, ['y'] = 70},
									[60] = {['n'] = 33, ['y'] = 65},
									[70] = {['n'] = 33, ['y'] = 65},
									[80] = {['n'] = 33, ['y'] = 60},
									[85] = {['n'] = 25, ['y'] = 50},
									[90] = {['n'] = 25, ['y'] = 50},
									[100] = {['n'] = 25, ['y'] = 50},
									},
						['Kamien'] = {
										[10] = 30220,
										[20] = 30221,
										[30] = 30222,
										[40] = 30223,
										[50] = 30224,
										[60] = 30225,
										[70] = 30224,
										[80] = 30225,
										[85] = 30226,
										[90] = 30227,
										[100] = 30227,
										},
						['StoneProb'] = {
									[10] = 100,
									[20] = 90,
									[30] = 80,
									[40] = 70,
									[50] = 60,
									[60] = 50,
									[70] = 40,
									[80] = 30,
									[85] = 25,
									[90] = 20,
									[100] = 10,
									},
						['NagrodaBonus'] = {
											[10] = {
														{['aff'] = 560, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[20] = {
														{['aff'] = 561, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[30] = {
														{['aff'] = 562, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[40] = {
														{['aff'] = 563, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[50] = {
														{['aff'] = 564, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[60] = {
														{['aff'] = 565, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[70] = {
														{['aff'] = 566, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[80] = {
														{['aff'] = 567, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[85] = {
														{['aff'] = 568, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[90] = {
														{['aff'] = 569, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},
											[100] = {
														{['aff'] = 570, ['nazwa'] = "Aktualnie ta funkcja jest wyłączona. ", ['vnum'] = 0, ['count'] = 0},
													},		
											},
						['NagrodaYang'] = {
											[10] = {true, 500000, "500.000"},
											[20] = {true, 1000000, "1.000.000"},
											[30] = {true, 2000000, "2.000.000"},
											[40] = {true, 3000000, "3.000.000"},
											[50] = {true, 4000000, "4.000.000"},
											[60] = {true, 7000000, "7.000.000"},
											[70] = {true, 10000000, "10.000.000"},
											[80] = {true, 12000000, "12.000.000"},
											[85] = {true, 14000000, "14.000.000"},
											[90] = {true, 16000000, "16.000.000"},
											[100] = {true, 23000000, "23.000.000"},
											},
						['NagrodaExp'] = {
											[10] = {true, 800000, "800.000"},
											[20] = {true, 1600000, "1.600.000"},
											[30] = {true, 1800000, "1.800.000"},
											[40] = {true, 2600000, "2.600.000"},
											[50] = {true, 3200000, "4.200.000"},
											[60] = {true, 6000000, "6.000.000"},
											[70] = {true, 8000000, "8.000.000"},
											[80] = {true, 10000000, "10.000.000"},
											[85] = {true, 15000000, "15.000.000"},
											[90] = {true, 20000000, "20.000.000"},
											[100] = {true, 25000000, "25.000.000"},
											},
						['NagrodaItem'] = {
											[10] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50107,1},
															},
													},
											[20] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50108,1},
															},
													},
											[30] = {
													['job_rew'] = {true, 11246,11446,11646,11846},
													['adma'] = {
															{50109,1},
															},
													},
											[40] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50110,1},
															},
													},
											[50] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50111,1},
															},
													},
											[60] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50112,1},
															},
													},
											[70] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50113,1},
															},
													},
											[80] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50114,1},
															},
													},
											[85] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50113,1},
															{50114,1},
															},
													},
											[90] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50112,1},
															{50113,1},
															{50114,1},
															},
													},
											[100] = {
													['job_rew'] = {false, 0,0,0,0},
													['adma'] = {
															{50112,1},
															{50113,1},
															{50114,1},
															{50115,1},
															},
											},
					}
		end
		when login or levelup or levelup begin
			local settings = biolog.settings()
			if pc.get_level() >= settings.Poziom[pc.getqf("biologMisja")+1] then
				pc.setqf("biologPoziom", settings.Poziom[pc.getqf("biologMisja")+1])
				set_state(rozmowa)
			end
		end
	end
	
	state rozmowa begin
		when letter begin
			local settings = biolog.settings()
			target.vid("__TARGET__", find_npc_by_vnum(20084), "AnalizaBiologa")
			send_letter(settings.Tytul[pc.getqf("biologPoziom")][1])
		end
		
		when info or button begin
			local settings = biolog.settings()
			say_title(settings.Tytul[pc.getqf("biologPoziom")][1])
			say()
			say("Biolog Chaegirab, uczeń Baek-Goa,")
			say("właśnie Cie szukał. Proszę idź ")
			say("do niego i zaoferuj mu swoją pomoc.")
			say()
		end
		
		when __TARGET__.target.click or 20084.chat."Znajdź Biologa" begin
			local settings = biolog.settings()
			target.delete("__TARGET__")
			say("Biolog Chaegirab:")
			say("Niebiosa, proszę pomóż mi... ")
			say("Badam wszystkie rodzaje roślin w tym ")
			say("imperium. Jest bardzo dużo rzeczy, ")
			say("które muszą zostać zbadane. Nie mam ")
			say("czasu abym mógł sam wybrać się na wyprawę. ")
			say("Proszę, pomóż mi. ")
			wait()
			say("Aktualnie celem moich badań jest")
			say_item_vnum(settings.Szukany[pc.getqf("biologPoziom")].vnum)
			say("Muszę przeprowadzić kilka eksperymentów,")
			say("dlatego potrzebuje egzemplarzy tego przedmiotu.")
			say("Przynieś mi ".. settings.Szukany[pc.getqf("biologPoziom")].count .." tego przedmiotu.")
			say("")
			set_state(wydrop)
		end
	end
	
	state wydrop begin
		when letter begin
			local settings = biolog.settings()
			send_letter(settings.Tytul[pc.getqf("biologPoziom")][1])
		end
		
		when info or button begin
			local settings = biolog.settings()
			say_title(settings.Tytul[pc.getqf("biologPoziom")][1])
			say()
			say("Aktualnie szukany przedmiot:")
			say_item_vnum(settings.Szukany[pc.getqf("biologPoziom")].vnum)
			say("Pozostała ilość do oddania: ".. ((settings.Szukany[pc.getqf("biologPoziom")].count)-pc.getqf("oddanaIlosc")))
			say()
		end
		
		when kill with not npc.is_pc() begin
			local settings = biolog.settings()
			if settings.DropItem[pc.getqf("biologPoziom")].canDrop then
				if table_is_in(settings.Potwory[pc.getqf("biologPoziom")], npc.get_race()) then
					if number(1,100) <= settings.DropItem[pc.getqf("biologPoziom")].prob then
						game.drop_item_with_ownership(settings.Szukany[pc.getqf("biologPoziom")].vnum)
					end
				end
			end
		end
		
		when 71035.use or 39023.use or 76020.use or 70021.use begin
			if get_time() < pc.getqf("limitCzasowy") and pc.getqf("eliksirPoszukiwacza") < 1 then
					pc.setqf("limitCzasowy", 0)
					pc.setqf("eliksirPoszukiwacza", 1)
					chat("Możesz już oddać przedmiot biologowi!")
					syschat("Błogosławieństwo Anioła zostaje usunięte!")
					pc.remove_item(item.get_vnum(), 1)
			else
				syschat("Nie możesz użyć teraz tego przedmiotu.")
				return
			end
		end
		
		when 20084.chat."Oddaj przedmiot!" begin
			local settings = biolog.settings()
			if pc.count_item(settings.Szukany[pc.getqf("biologPoziom")].vnum) == 0 then
				say_title("Biolog Chaegirab:")
				say()
				say("Nie przy sobie odpowiedniego przedmiotu.")
				return
			end
			
			if pc.getqf("limitCzasowy") > get_time() then
				local time = (pc.getqf("limitCzasowy")-get_time())/3600
				local h = math.floor(time)
				local min = (time-h)*60
				local m = math.floor(min)
				say_title("Biolog Chaegirab:")
				say()
				say("Możesz oddac przedmiot za "..h.." godzin, "..m.." minut.")
				say()
				return
			end         
			say_title("Biolog Chaegirab:")
			say()
			say("Oh! Znalazłeś obiekt moich ostatnich badań...")
			say("Pozwól, że rzucę na niego okiem.")
			say("Poczekaj jeszcze chwilkę.")
			say("")
			pc.remove_item(settings.Szukany[pc.getqf("biologPoziom")].vnum, 1)
			wait()
			local szansa
			if pc.getqf("eliksirPoszukiwacza") == 1 then
				szansa = settings.ProbItem[pc.getqf("biologPoziom")].y
				pc.setqf("eliksirPoszukiwacza", 0)
			else
				szansa = settings.ProbItem[pc.getqf("biologPoziom")].n
			end
				if number(1,100) <= szansa then
					say_title("Biolog Chaegirab:")
					say()
					say_green("Ten przedmiot jest doskonałej jakości.")
					say("Dziękuję Ci bardzo!")
					say()
					pc.setqf("oddanaIlosc", pc.getqf("oddanaIlosc")+1)
					if pc.getqf("oddanaIlosc") == settings.Szukany[pc.getqf("biologPoziom")].count then
						say("To już wszystkie przedmioty, które potrzebowałem!")
						say("Jednak do ukończenia badań potrzebuję jeszcze jednego przedmiotu...")
						say_item_vnum(settings.Kamien[pc.getqf("biologPoziom")])
						say("Powodzenia w poszukiwaniach!")
						say()
						pc.setqf("oddanaIlosc", 0)
						pc.setqf("limitCzasowy", 0)
						set_state(kamien)
					else
						say("Potrzebuję jeszcze "..((settings.Szukany[pc.getqf("biologPoziom")].count)-pc.getqf("oddanaIlosc")).." sztuk.")
						say()
						pc.setqf("limitCzasowy", get_time()+settings.duration[pc.getqf("biologPoziom")])
						say("Liczę na Ciebie!")
					end
				else
					say_title("Biolog Chaegirab:")
					say()
					say_red("Wybacz, ale ten przedmiot jest zbyt zniszczony.")
					say()
					return
				end
		end
	end
	
	state kamien begin
		when letter begin
			local settings = biolog.settings()
			send_letter(settings.Tytul[pc.getqf("biologPoziom")][1])
		end
		
		when info or button begin
			local settings = biolog.settings()
			say_title(settings.Tytul[pc.getqf("biologPoziom")][1])
			say()
			say("Aktualnie szukany przedmiot:")
			say_item_vnum(settings.Kamien[pc.getqf("biologPoziom")])
			say()
		end
		
		when kill with not npc.is_pc() begin
			local settings = biolog.settings()
			if table_is_in(settings.Potwory[pc.getqf("biologPoziom")], npc.get_race()) then
				if number(1,100) <= settings.StoneProb[pc.getqf("biologPoziom")] then
					game.drop_item_with_ownership(settings.Kamien[pc.getqf("biologPoziom")])
				end
			end
		end
		when 20084.chat."Oddaj przedmiot!" begin
			local settings = biolog.settings()
			if pc.count_item(settings.Kamien[pc.getqf("biologPoziom")]) < 1 then
				say_title("Biolog Chaegirab:")
				say()
				say("Nie przy sobie odpowiedniego przedmiotu.")
				return
			end
			
			say_title("Biolog Chaegirab:")
			say()
			say("Oh! Znalazłeś obiekt moich ostatnich badań...")
			say("Nie wiem jak mogę Ci się odwdzięczyć...")
			say("Mam nadzieję, że ta nagroda Cie usatysfakcjonuje.")
			say("")
			pc.remove_item(settings.Kamien[pc.getqf("biologPoziom")], 1)
			if settings.NagrodaYang[pc.getqf("biologPoziom")][1] == true then
				pc.change_gold(settings.NagrodaYang[pc.getqf("biologPoziom")][2])
				say_reward("Otrzymałeś "..settings.NagrodaYang[pc.getqf("biologPoziom")][3].." Yang.")
			end
			if settings.NagrodaExp[pc.getqf("biologPoziom")][1] then
				pc.give_exp2(settings.NagrodaExp[pc.getqf("biologPoziom")][2])
				say_reward("Otrzymałeś "..settings.NagrodaExp[pc.getqf("biologPoziom")][3].." Punktów Doświadczenia.")
			end 
			if settings.NagrodaItem[pc.getqf("biologPoziom")].job_rew[1] then
				say_reward("Otrzymałeś "..item_name(settings.NagrodaItem[pc.getqf("biologPoziom")].job_rew[pc.get_job()+2]))
				pc.give_item2(settings.NagrodaItem[pc.getqf("biologPoziom")].job_rew[pc.get_job()+2], 1)
			end
			for i = 1, table.getn(settings.NagrodaItem[pc.getqf("biologPoziom")].adma) do
				say_reward("Otrzymałeś "..item_name(settings.NagrodaItem[pc.getqf("biologPoziom")].adma[i][1]))
				pc.give_item2(settings.NagrodaItem[pc.getqf("biologPoziom")].adma[i][1], settings.NagrodaItem[pc.getqf("biologPoziom")].adma[i][2])
			end
			for i = 1, table.getn(settings.NagrodaBonus[pc.getqf("biologPoziom")]) do
				say_reward("Otrzymałeś bonus: "..settings.NagrodaBonus[pc.getqf("biologPoziom")][i].nazwa)
				affect.add_new_bonus(settings.NagrodaBonus[pc.getqf("biologPoziom")][i].aff, settings.NagrodaBonus[pc.getqf("biologPoziom")][i].vnum, settings.NagrodaBonus[pc.getqf("biologPoziom")][i].count, 60*60*24*365*60)
			end
			pc.setqf("biologMisja", pc.getqf("biologMisja")+1)
			clear_letter()
			set_state(start)
		end
	end
end  

 

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...