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

[Poprawa] buguja sie 2 questy


Rekomendowane odpowiedzi

Opublikowano

problem wyglada nasetpujaco:

1.wgralem tego questa:

 

 

---------------------------------------------------------------------------------------
--                                                                                   --
-- Quest polowanie by Veygr dla MPCforum                                             --
--                                                                                   --
-- Wszelkie prawa zastrzeżone, zakaz kopiowania całości lub części questu.            --
--                                                                                   --
-- Polowanie na tablicy łatwe do edycji                                              --
--                                                                                   --
---------------------------------------------------------------------------------------
quest polowanie begin
	state start begin
		when login begin
			pc.setqf("misja", 1)
			setstate(polowania)
		end
	end
	state polowania begin
		function daj_tablice()
			local tablicaX = 
				{
				-- 1 kolumna poziom, 
				-- 2 kolumna ilosc, 
				-- 3 ID moba, 
				-- 4 nagroda yang, 
				-- 5, 7, 9 ID 
				-- nagrody 6, 8, 10 ilosc 
					[1] = {5,	2,	8001,	100000,	0,	0,	0,	0,	27994,	1},
					[2] = {10,	2,	8002,	200000,	0,	0,	0,	0,	27994,	1},
					[3] = {15,	2,	8003,	300000,	0,	0,	0,	0,	27994,	1},
					[4] = {20,	2,	8004,	400000,	0,	0,	0,	0,	27994,	1},
					[5] = {25,	5,	8005,	1000000,	0,	0,	0,	0,	27994,	1},
					[6] = {30,	5,	8006,	1500000,	0,	0,	0,	0,	27993,	1},
					[7] = {35,	5,	8007,	2000000,	0,	0,	0,	0,	27993,	1},
					[8] = {40,	5,	8008,	2500000,	0,	0,	0,	0,	27993,	1},
					[9] = {45,	10,	8009,	3000000,	0,	0,	0,	0,	27993,	1},
					[10] = {50,	5,	8010,	3000000,	0,	0,	0,	0,	27993,	1},
					[11] = {55,	5,	8012,	3500000,	0,	0,	0,	0,	27992,	1},
					[12] = {65,	5,	8013,	4000000,	0,	0,	0,	0,	27992,	1},
					[13] = {70,	10,	8014,	5000000,	0,	0,	0,	0,	27992,	1},
					[14] = {75,	10,	8024,	6000000,	0,	0,	0,	0,	27992,	1},
					[15] = {80,	10,	8025,	6000000,	0,	0,	0,	0,	27992,	1},
					[16] = {85,	10,	8026,	10000000,	0,	0,	0,	0,	27992,	1},
					[17] = {90,	10,	8027,	10000000,	0,	0,	0,	0,	27992,	1},
				}
			return tablicaX
		end
		when kill begin
			local tablica = polowanie.daj_tablice()
			local misja = pc.getqf("misja")
			local ilosc = table.getn(tablica)
			if misja <= ilosc then
				if pc.level >= tablica[misja][1] then
					if npc.get_race() == tablica[misja][3] then
						pc.setqf("ilosc", pc.getqf("ilosc")+1)
						q.set_counter(mob_name(tablica[misja][3]), tablica[misja][2]-pc.getqf("ilosc"))
						if pc.getqf("ilosc") >= tablica[misja][2] then
							pc.change_money(tablica[misja][4])
							if tablica[misja][5] > 0 then
								pc.give_item2(tablica[misja][5], tablica[misja][6])
							end
							if tablica[misja][7] > 0 then
								pc.give_item2(tablica[misja][7], tablica[misja][8])
							end
							if tablica[misja][9] > 0 then
								pc.give_item2(tablica[misja][9], tablica[misja][10])
							end
							pc.setqf("misja", misja+1)
							pc.setqf("ilosc", 0)
						end
					end
				end
			end
		end
		when letter begin
			send_letter("Polowanie ")
		end
		when button or info begin
			local tablica = polowanie.daj_tablice()
			local misja = pc.getqf("misja")
			local ilosc = table.getn(tablica)
			if misja <= ilosc then
				q.set_counter(mob_name(tablica[misja][3]), tablica[misja][2]-pc.getqf("ilosc"))
				say_title("[DELAY value;0]Polowanie")
				say("")
				say("Aktualna misja: ")
				if pc.level >= tablica[misja][1] then
					say("Poziom: "..tablica[misja][1])
				else
					say_red("Poziom: "..tablica[misja][1])
				end
				say("Do zabicia: "..mob_name(tablica[misja][3]))
				say("Ilość: "..tablica[misja][2])
				say("Pozostało: "..tablica[misja][2] - pc.getqf("ilosc"))
			else
				say("Ukończyłeś już wszystkie polowania ")
				q.set_counter("Polowanie ukończone", 0)
			end
		end
	end
end

 

 

 

2.wgralem tego questa:

 

 

quest SystemPunktow begin
	state start begin
		when login or levelup with pc.get_level() >= 1 begin
			setstate(odbierz_misje)
		end
	end
	
	state odbierz_misje begin
		when letter begin
			send_letter(" Zdobywaj punkty ")
			local v = find_npc_by_vnum(20011)
				if v != 0 then
					target.vid("__TARGET__", v,"Uriel")
				end
		end
		
		when button or info begin
			say_title(" Punkty za bicie metinów. ")
			say(" Zdobywaj punkty za bicie metinów. Udaj się do Uriela. ")
		end
		
		when __TARGET__.target.click begin
			target.delete("__TARGET__")
			say_title("Uriel:")
			say(" Witaj "..pc.get_name().." mam do Ciebie ")
			say(" dobrą wiadomość. ")
			say(" Za bicie metinów będziesz otrzymywał punkty. ")
			say(" Punktów  otrzymasz tyle o jakim lvl rozbiłeś metina. ")
			say(" Punkty możesz wymieniać na + do statystyk, hp, int, atak, zręczność. ")
			clear_letter()
			setstate(drop)
		end
	end
	
	state drop begin
		when 8001.kill with pc.get_level() >= 1 and pc.get_level() <= 14 begin
			pc.give_item2(9994, 5)
		end
		when 8002.kill with pc.get_level() >= 1 and pc.get_level() <= 19 begin
			pc.give_item2(9994, 10)
		end
		when 8003.kill with pc.get_level() >= 1 and pc.get_level() <= 24 begin
			pc.give_item2(9994, 15)
		end
		when 8004.kill with pc.get_level() >= 4 and pc.get_level() <= 29 begin
			pc.give_item2(9994, 20)
		end
		when 8005.kill with pc.get_level() >= 11 and pc.get_level() <= 34 begin
			pc.give_item2(9994, 25)
		end
		when 8006.kill with pc.get_level() >= 16 and pc.get_level() <= 39 begin
			pc.give_item2(9994, 30)
		end
		when 8007.kill with pc.get_level() >= 21 and pc.get_level() <= 44 begin
			pc.give_item2(9994, 35)
		end
		when 8008.kill with pc.get_level() >= 26 and pc.get_level() <= 49 begin
			pc.give_item2(9994, 40)
		end
		when 8009.kill with pc.get_level() >= 31 and pc.get_level() <= 54 begin
			pc.give_item2(9994, 45)
		end
		when 8010.kill with pc.get_level() >= 36 and pc.get_level() <= 59 begin
			pc.give_item2(9994, 50)
		end
		when 8011.kill with pc.get_level() >= 41 and pc.get_level() <= 64 begin
			pc.give_item2(9994, 55)
		end
		when 8012.kill with pc.get_level() >= 46 and pc.get_level() <= 69 begin
			pc.give_item2(9994, 60)
		end
		when 8013.kill with pc.get_level() >= 51 and pc.get_level() <= 74 begin
			pc.give_item2(9994, 65)
		end
		when 8014.kill with pc.get_level() >= 56 and pc.get_level() <= 79 begin
			pc.give_item2(9994, 70)
		end
		when 8024.kill with pc.get_level() >= 61 and pc.get_level() <= 84 begin
			pc.give_item2(9994, 75)
		end
		when 8025.kill with pc.get_level() >= 66 and pc.get_level() <= 89 begin
			pc.give_item2(9994, 80)
		end
		when 8026.kill with pc.get_level() >= 71 and pc.get_level() <= 99 begin
			pc.give_item2(9994, 85)
		end
		when 8027.kill with pc.get_level() >= 76 and pc.get_level() <= 99 begin
			pc.give_item2(9994, 90)
		end
		
		when 20011.chat."Wymień punkty za metiny" begin
			say_title(" Wymień punkty na statystyki. ")
			say(" Czy chcesz wymienić punkty statystyk? ")
			say(" 20pkt red/blue potki 200 ")
			say(" 50pkt fiol/ziel potki 200 ")
			say(" 150pkt 1Def/1int/2atk/1zre ")
			say(" 250pkt 2Def/2int/3atk/2zre ")
			say(" 500pkt 3Def/5int/7atk/5zre ")
			say(" 750pkt 5Def/8int/12atk/8zre ")
			say(" 1000pkt 7Def/10int/15atk/10zre ")
			say(" 1250pkt 10Def/12int/18atk/12zre ")
			say(" 1500pkt 20Def/15int/20atk/15zre ")
			local s = select("Wymieniam","Nie wymieniam")
				if s == 1 then
					if pc.count_item(9994) >= 1500 then
						local rand = math.random(4)
							if rand == 1 then
								affect.add_collect(apply.CON, 20, 60*60*24*365*60)
							elseif rand == 2 then
								affect.add_collect(apply.INT, 15, 60*60*24*365*60)
							elseif rand == 3 then
								affect.add_collect(apply.STR, 20, 60*60*24*365*60)
							elseif rand == 4 then
								affect.add_collect(apply.DEX, 15, 60*60*24*365*60)
							end
							pc.remove_item(9994, 1500)
					elseif pc.count_item(9994) >= 1250 then
						local rand = math.random(4)
							if rand == 1 then
								affect.add_collect(apply.CON, 10, 60*60*24*365*60)
							elseif rand == 2 then
								affect.add_collect(apply.INT, 12, 60*60*24*365*60)
							elseif rand == 3 then
								affect.add_collect(apply.STR, 18, 60*60*24*365*60)
							elseif rand == 4 then
								affect.add_collect(apply.DEX, 12, 60*60*24*365*60)
							end
							pc.remove_item(9994, 1250)
					elseif pc.count_item(9994) >= 1000 then
						local rand = math.random(4)
							if rand == 1 then
								affect.add_collect(apply.CON, 7, 60*60*24*365*60)
							elseif rand == 2 then
								affect.add_collect(apply.INT, 10, 60*60*24*365*60)
							elseif rand == 3 then
								affect.add_collect(apply.STR, 15, 60*60*24*365*60)
							elseif rand == 4 then
								affect.add_collect(apply.DEX, 10, 60*60*24*365*60)
							end
							pc.remove_item(9994, 1000)
					elseif pc.count_item(9994) >= 750 then
						local rand = math.random(4)
							if rand == 1 then
								affect.add_collect(apply.CON, 5, 60*60*24*365*60)
							elseif rand == 2 then
								affect.add_collect(apply.INT, 8, 60*60*24*365*60)
							elseif rand == 3 then
								affect.add_collect(apply.STR, 12, 60*60*24*365*60)
							elseif rand == 4 then
								affect.add_collect(apply.DEX, 8, 60*60*24*365*60)
							end
							pc.remove_item(9994, 750)
					elseif pc.count_item(9994) >= 500 then
						local rand = math.random(4)
							if rand == 1 then
								affect.add_collect(apply.CON, 3, 60*60*24*365*60)
							elseif rand == 2 then
								affect.add_collect(apply.INT, 5, 60*60*24*365*60)
							elseif rand == 3 then
								affect.add_collect(apply.STR, 7, 60*60*24*365*60)
							elseif rand == 4 then
								affect.add_collect(apply.DEX, 5, 60*60*24*365*60)
							end
							pc.remove_item(9994, 500)
					elseif pc.count_item(9994) >= 250 then
						local rand = math.random(4)
							if rand == 1 then
								affect.add_collect(apply.CON, 2, 60*60*24*365*60)
							elseif rand == 2 then
								affect.add_collect(apply.INT, 2, 60*60*24*365*60)
							elseif rand == 3 then
								affect.add_collect(apply.STR, 3, 60*60*24*365*60)
							elseif rand == 4 then
								affect.add_collect(apply.DEX, 2, 60*60*24*365*60)
							end
							pc.remove_item(9994, 250)
					elseif pc.count_item(9994) >= 150 then
						local rand = math.random(4)
							if rand == 1 then
								affect.add_collect(apply.CON, 1, 60*60*24*365*60)
							elseif rand == 2 then
								affect.add_collect(apply.INT, 1, 60*60*24*365*60)
							elseif rand == 3 then
								affect.add_collect(apply.STR, 2, 60*60*24*365*60)
							elseif rand == 4 then
								affect.add_collect(apply.DEX, 1, 60*60*24*365*60)
							end
							pc.remove_item(9994, 150)
					elseif pc.count_item(9994) >= 50 then
						local rand = math.random(2)
							if rand == 1 then
								pc.give_item2(27105, 200)
							else
								pc.give_item2(27102, 200)
							end
							pc.remove_item(9994, 50)
					elseif pc.count_item(9994) >= 20 then
						local rand = math.random(2)
							if rand == 1 then
								pc.give_item2(27003, 200)
							else
								pc.give_item2(27006, 200)
							end
							pc.remove_item(9994, 20)
					end
				end
		end
	end
end

 

 

 

 

3.Po zalogowaniu i dobiciu odpowiedniego lvl mozna wykonywac misje bicia metinów (1quest)

4.otwieram letter 2 questa

5.nadal moge wykonywac misje polowania (1quest)

6.ide do uriela i odbieram misje (2 quest)

7.Za metiny zdobywam punkty ale nie moge wykonywac misji polowania (nie zalicza ubitych metinow)

 

W czym jest błąd?

 

Opublikowano

Zamiast when id.kill używaj

when kill with npc.get_race() == id

Buguje Ci się to, ponieważ pierdolą sie dane w object, a używając npc.get_race() nie będą z sobą kolidować
np. nie można używać 2 questów wykonywanych na tym samym mobie przy użyciu id.kill
bynajmniej przy npc.get_race() powinno śmigać jeżeli nie to sprawdzę Ci to jak będę w domu i poprawie bo pisze to bez sprawdzania questów.

Opublikowano

Pierwszy quest raczej jest dobry bo nie moj xD .

Zmienilem:

 

 

when 8001.kill with pc.get_level() >= 1 and pc.get_level() <= 14 begin
			pc.give_item2(9994, 5)
		end
		when 8002.kill with pc.get_level() >= 1 and pc.get_level() <= 19 begin
			pc.give_item2(9994, 10)
		end
		when 8003.kill with pc.get_level() >= 1 and pc.get_level() <= 24 begin
			pc.give_item2(9994, 15)
		end
		when 8004.kill with pc.get_level() >= 4 and pc.get_level() <= 29 begin
			pc.give_item2(9994, 20)
		end
		when 8005.kill with pc.get_level() >= 11 and pc.get_level() <= 34 begin
			pc.give_item2(9994, 25)
		end
		when 8006.kill with pc.get_level() >= 16 and pc.get_level() <= 39 begin
			pc.give_item2(9994, 30)
		end
		when 8007.kill with pc.get_level() >= 21 and pc.get_level() <= 44 begin
			pc.give_item2(9994, 35)
		end
		when 8008.kill with pc.get_level() >= 26 and pc.get_level() <= 49 begin
			pc.give_item2(9994, 40)
		end
		when 8009.kill with pc.get_level() >= 31 and pc.get_level() <= 54 begin
			pc.give_item2(9994, 45)
		end
		when 8010.kill with pc.get_level() >= 36 and pc.get_level() <= 59 begin
			pc.give_item2(9994, 50)
		end
		when 8011.kill with pc.get_level() >= 41 and pc.get_level() <= 64 begin
			pc.give_item2(9994, 55)
		end
		when 8012.kill with pc.get_level() >= 46 and pc.get_level() <= 69 begin
			pc.give_item2(9994, 60)
		end
		when 8013.kill with pc.get_level() >= 51 and pc.get_level() <= 74 begin
			pc.give_item2(9994, 65)
		end
		when 8014.kill with pc.get_level() >= 56 and pc.get_level() <= 79 begin
			pc.give_item2(9994, 70)
		end
		when 8024.kill with pc.get_level() >= 61 and pc.get_level() <= 84 begin
			pc.give_item2(9994, 75)
		end
		when 8025.kill with pc.get_level() >= 66 and pc.get_level() <= 89 begin
			pc.give_item2(9994, 80)
		end
		when 8026.kill with pc.get_level() >= 71 and pc.get_level() <= 99 begin
			pc.give_item2(9994, 85)
		end
		when 8027.kill with pc.get_level() >= 76 and pc.get_level() <= 99 begin
			pc.give_item2(9994, 90)
		end

 

 

na

 

 

		function points(z)
				local lvl = {
					[8001] = 5,
					[8002] = 10,
					[8003] = 15,
					[8004] = 20,
					[8005] = 25,
					[8006] = 30,
					[8007] = 35,
					[8008] = 40,
					[8009] = 45,
					[8010] = 50,
					[8011] = 55,
					[8012] = 60,
					[8013] = 65,
					[8014] = 70,
					[8024] = 75,
					[8025] = 80,
					[8026] = 85,
					[8027] = 90
				}
			return lvl[z]
		end
		
		when kill with npc.get_race() == 8001 and pc.get_level() >= 1 and pc.get_level() <= 14 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8002 and pc.get_level() >= 1 and pc.get_level() <= 19 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8003 and pc.get_level() >= 6 and pc.get_level() <= 24 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8004 and pc.get_level() >= 11 and pc.get_level() <= 29 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8005 and pc.get_level() >= 16 and pc.get_level() <= 34 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8006 and pc.get_level() >= 21 and pc.get_level() <= 39 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8007 and pc.get_level() >= 26 and pc.get_level() <= 44 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8008 and pc.get_level() >= 31 and pc.get_level() <= 49 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8009 and pc.get_level() >= 36 and pc.get_level() <= 54 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8010 and pc.get_level() >= 41 and pc.get_level() <= 59 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8011 and pc.get_level() >= 46 and pc.get_level() <= 64 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8012 and pc.get_level() >= 51 and pc.get_level() <= 69 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8013 and pc.get_level() >= 56 and pc.get_level() <= 74 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8014 and pc.get_level() >= 61 and pc.get_level() <= 79 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8024 and pc.get_level() >= 66 and pc.get_level() <= 84 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8025 and pc.get_level() >= 71 and pc.get_level() <= 89 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8026 and pc.get_level() >= 76 and pc.get_level() <= 94 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				when kill with npc.get_race() == 8027 and pc.get_level() >= 81 and pc.get_level() <= 99 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end

 

 

i nadal nie zalicza ubitych metinow

Opublikowano

@odzwiezam

 

Juz wiem chyba w czym jest problem.

 

W folderze

 

/usr/home/mt2/share/locale/poland/quest/object/8001/kill
 

jest plik z nazwa questa i rozszezeniem .drop

przykladowo SystemPunktow.drop o zawartosci:

if pc . get_level ( ) >= 1 and pc . get_level ( ) <= 14 then pc . give_item2 ( 9994 , 5 ) 
 return end 

czy w folderze kill moga byc 2 pliki z rozszezeniem .drop ale inna nazwa np polowanie.drop z inna zawartoscia ?

Jezeli tak to jaka powinna byc zawartosc tego pliku?

zgaduje ze:

if pc . get_level ( ) >=5 and npc . get_race( ) == 8001 and q . pc . getqf == 2 than pc . change_money (100000) and pc . give_item2 (27994, 1)

Lub cos w tym stylu :D

Opublikowano

Najlepiej usuń cały folder object lub po prostu go wyczyść i wgrywaj questy na nowo. Pamiętaj, aby nie pisać

 

when xx.kill begin

lecz za każdym razem

 

when kill with npc.get_race() == id begin

 

umarł

Opublikowano

Nie widze sensu usówania calego folderu obiect bo to rozwaliloby mi pol serwera, zrobie tak:

1.usune foldery 8001-8027 (foldery metkow)

2.wgram 1 questa

3.zobacze co sie pojawilo w folderach

4.zawartosc folderow przekopiuje na pulpit

5. usune foldery 8001-8027

6.wgram 2 questa

7.przekopiuje zabezpieczone pliki .drop z 1 questa do folderu po wgraniu 2 questa

8. zobacze co sie stanie :D

Opublikowano

Nie widze sensu usówania calego folderu obiect bo to rozwaliloby mi pol serwera, zrobie tak:

Dlaczego nie widzisz sensu? Nic nie rozwali serwera, wszystko będzie działać tylko bez questów. Wtedy też nie ma problemu, używaj hongkong_list i przy sh make wszystko wróci do normy i nie będzie zbędnych "syfów" z poprzednich questów(bugowanie).

 

umarł

Opublikowano

czyli co mam zrobic:

1.usunac zawartosc folderu "obiect"

2. cd /usr/home/mt2/share/locale/poland/quest

3./sh make

4.reboot

5.cd /usr/home/mt2

6. ./start.sh

 

i na pewno nic nie wywali? ostatnio poprawialem staruszka w obiect/old_man bo nie znalazlem do niego questa.

Opublikowano

Nie ważne jak, ważne że działa. Ja w Twoim przypadku polecam usunąć zawartość folderu object, wgrać na nowo questy i tyle.

 

umarł

Opublikowano

Wynikly komplikacje, po usuniecu object i hs make sa tylko te quest ktore byly na poczatku.

1.Musze teraz reszte dograc przez qc?

2.Z jakiego pliku sh make bierze liste questow jakie ma wgrywac? locale_list?

 

@edit

juz mam odpowiedzi

1. nie, wystarczy dodac do locale_list

2.

#!/usr/local/bin/bash

LIST_FILE='locale_list'

if [ -r $LIST_FILE ]; then

	rm -rdf object
	mkdir object

	while read line;
		do
			./qc $line
		done < $LIST_FILE
else
	echo $LIST_FILE' is missing'
fi


 

@edit

teraz mi zalicza metki a nie daje punktow za metiny ale mozna je wymieniac na staty

 

object/notarget/kill:

polowanie.polowania

local tablica = polowanie . daj_tablice ( ) 
local misja = pc . getqf ( "misja" ) 
local ilosc = table . getn ( tablica ) 
if misja <= ilosc then 
if pc . level >= tablica [ misja ] [ 1 ] then 
if npc . get_race ( ) == tablica [ misja ] [ 3 ] then 
pc . setqf ( "ilosc" , pc . getqf ( "ilosc" ) + 1 ) 
q . set_counter ( mob_name ( tablica [ misja ] [ 3 ] ) , tablica [ misja ] [ 2 ] - pc . getqf ( "ilosc" ) ) 
if pc . getqf ( "ilosc" ) >= tablica [ misja ] [ 2 ] then 
pc . change_money ( tablica [ misja ] [ 4 ] ) 
if tablica [ misja ] [ 5 ] > 0 then 
pc . give_item2 ( tablica [ misja ] [ 5 ] , tablica [ misja ] [ 6 ] ) 
end 
if tablica [ misja ] [ 7 ] > 0 then 
pc . give_item2 ( tablica [ misja ] [ 7 ] , tablica [ misja ] [ 8 ] ) 
end 
if tablica [ misja ] [ 9 ] > 0 then 
pc . give_item2 ( tablica [ misja ] [ 9 ] , tablica [ misja ] [ 10 ] ) 
end 
pc . setqf ( "misja" , misja + 1 ) 
pc . setqf ( "ilosc" , 0 ) 
end 
end 
end 
end 

i to dziala

 

 

SystemPunktow.drop

if npc . get_race ( ) >= 8001 and npc . get_race ( ) <= 8014 or npc . get_race ( ) >= 8024 and npc . get_race ( ) <= 8027 then local nagrody = { 
[ 8001 ] = "5" , 
[ 8002 ] = "10" , 
[ 8003 ] = "15" , 
[ 8004 ] = "20" , 
[ 8005 ] = "25" , 
[ 8006 ] = "30" , 
[ 8007 ] = "35" , 
[ 8008 ] = "40" , 
[ 8009 ] = "45" , 
[ 8010 ] = "50" , 
[ 8011 ] = "55" , 
[ 8012 ] = "60" , 
[ 8013 ] = "65" , 
[ 8014 ] = "70" , 
[ 8024 ] = "75" , 
[ 8025 ] = "80" , 
[ 8026 ] = "85" , 
[ 8027 ] = "90" 
} 
pc . give_item2 ( 9994 , nagrody [ npc . get_race ( ) ] [ 1 ] ) 
 return end 

to nie dziala

 

 

@edit

moze by zmienic

to co wyzej

na

local lvl = {
[ 8001 ] = "5" ,
[ 8002 ] = "10" ,
[ 8003 ] = "15" ,
[ 8004 ] = "20" ,
[ 8005 ] = "25" ,
[ 8006 ] = "30" ,
[ 8007 ] = "35" ,
[ 8008 ] = "40" ,
[ 8009 ] = "45" ,
[ 8010 ] = "50" ,
[ 8011 ] = "55" ,
[ 8012 ] = "60" ,
[ 8013 ] = "65" ,
[ 8014 ] = "70" ,
[ 8024 ] = "75" ,
[ 8025 ] = "80" ,
[ 8026 ] = "85" ,
[ 8027 ] = "90"
} 
if npc.get_race() == 8001 and pc.get_level() >= 1 and pc.get_level() <= 14 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8002 and pc.get_level() >= 1 and pc.get_level() <= 19 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8003 and pc.get_level() >= 6 and pc.get_level() <= 24 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8004 and pc.get_level() >= 11 and pc.get_level() <= 29 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8005 and pc.get_level() >= 16 and pc.get_level() <= 34 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8006 and pc.get_level() >= 21 and pc.get_level() <= 39 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8007 and pc.get_level() >= 26 and pc.get_level() <= 44 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8008 and pc.get_level() >= 31 and pc.get_level() <= 49 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8009 and pc.get_level() >= 36 and pc.get_level() <= 54 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8010 and pc.get_level() >= 41 and pc.get_level() <= 59 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8011 and pc.get_level() >= 46 and pc.get_level() <= 64 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8012 and pc.get_level() >= 51 and pc.get_level() <= 69 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8013 and pc.get_level() >= 56 and pc.get_level() <= 74 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8014 and pc.get_level() >= 61 and pc.get_level() <= 79 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8024 and pc.get_level() >= 66 and pc.get_level() <= 84 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8025 and pc.get_level() >= 71 and pc.get_level() <= 89 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8026 and pc.get_level() >= 76 and pc.get_level() <= 94 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		end
				if npc.get_race() == 8027 and pc.get_level() >= 81 and pc.get_level() <= 99 begin
			pc.give_item2(9994, lvl[npc.get_race()][1])
		return end

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...