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

Zwoje przywołania bossów


Rekomendowane odpowiedzi

Opublikowano

Napisałem questa, dzięki któremu możemy łatwo dodawać nowe Zwoje przywołania oraz miejsca, w których nie można ich zrzucać. Nie mam niestety gdzie przetestować tego questa dlatego zwracam się do Was z prośbą o to.

quest zwojPrzywolania begin
	state start begin
		when 71036.use or 71037.use or 71038.use or 71039.use or 71040.use or 71041.use or 71042.use or 71043.use begin
			local id = item.get_vnum() - 71035
			local boss = {691, 791, 2091, 2191, 2206, 1901, 1091, 1304}
			if zwojPrzywolania.canUse() then
				mob.spawn(boss[id], pc.get_local_x(), pc_get_local_y(), number(-5, 5), number(-5, 5), 1)
				item.remove()
			else
				syschat("Nie możesz użyć tego zwoju w tym miejscu.")
			end
		end
		
		function canUse()
			local pcIndex = pc.get_map_index()
			local mapIndex = {20, 50, 123}
			for i = 1, table.getn(mapIndex) do
				if pcIndex == mapIndex[i] then
					break
					return false
				end
			end
			
			local safeZone = {
				{1, 523, 475, 20},
				{1, 264, 342, 10},
				{21, 575, 376, 20},
			}
			for i = 1, table.getn(safeZone) do
				if pcIndex == safeZone[i][1] then
					local dlOdcinka = math.sqrt(zwojPrzywolania.sqr(pc.get_local_x() - safeZone[i][2]) + ZwojPrzywolania.sqr(pc.get_local_y() - safeZone[i][3]))
					if dlOdcinka < safeZone[i][4] then
						break
						return false
					end
				end
			end
			
			return true
		end
		
		function sqr(x)
			return x*x
		end
	end
end
local mapIndex = {20, 50, 123} - do tej tablicy dodajemy indexy map, na których nie ma możliwości zrzucania bossów (np Lochy pająków itp)

 

local safeZone = {

{1, 523, 475, 20},

...

} - ta tablica jest natomiast nieco bardziej skomplikowana. Składa się z następujących elementów:

  • index mapy
  • x określający środek safezone
  • y określający środek safezone
  • promień okręgu
Na podstawie podanych koordów i aktualnych koordów gracza oblicza nam długość odcinka, po czym sprawdza czy jest mniejszy niż promień. Jeśli warunek jest prawdziwy to nie możemy przywołać bossa.

 

Warto pamiętać o tym, aby zmienić type i subtype zwojów na 18/10 oraz dodać do quest_function funkcję math.sqrt (pierwiastek)

Masz pomysł na ciekawego questa? Wejdź na mój profil by poznać szczegóły!


Opublikowano

Dobry system co do tych przywoływań, ale bardziej zastanawia mnie strefa SafeZone. Czy chodzi o to, aby nie można było ich zrzucać w owym miejscu? Z tego co kojarzę to standardowe przywołania ze szkatułek podczas gdy miały "zrzucać" potwory, właśnie tego nie robiły a szkatułka znikała. Quest w sumie daje dużo do myślenia. Dzięki.

 

umarł

Opublikowano

Ciekawy quest.

z4z0l ma racje. Quest daje duzo do myslenia.

Oby tak dalej!

table_name,9,10,11 from information_schema.tables

 

Opublikowano

Ogólne założenie było takie, że przeciętny użyszkodnik nie ma wpływu na to gdzie można a gdzie nie zrzucać bossów. Ten quest właśnie to umożliwia. Niestety nie wiem jak całość działa w praktyce lecz na kartce wyglądało, że wszystko będzie działać.

 

P.S. jeśli możecie to powiedzcie mi na jaki temat tak rozmyślacie? :)

Masz pomysł na ciekawego questa? Wejdź na mój profil by poznać szczegóły!


Opublikowano

Ogólne założenie było takie, że przeciętny użyszkodnik nie ma wpływu na to gdzie można a gdzie nie zrzucać bossów. Ten quest właśnie to umożliwia. Niestety nie wiem jak całość działa w praktyce lecz na kartce wyglądało, że wszystko będzie działać.

 

P.S. jeśli możecie to powiedzcie mi na jaki temat tak rozmyślacie? :)

Bo jak nie masz nic mądrego do napisania poza 'Ciekawy Quest' to trzeba coś dopisać żeby warna nie było :D

@Wsadź sobie tego warna w twoją zagrzybiałą twarz :)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...