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. Przerobiłem trochę jeden quest. Dodałem nową funkcję wymagającą użycia zmiennej globalnej, ale nie wiem jak ją mam zadeklarować.

quest gornik begin
    state start begin
		when 20094.chat."Rozpoczecie gornika" with pc.is_gm() begin
			say_title(mob_name(npc.get_race())..":")
			say("Witaj, jestem "..mob_name(npc.get_race()).." zajmje sie")
			say("oragnizowaniem eventu gorniczego.")
			say("Czy chcesz rozpoczac event gorniczy?")
			local st = select("Rozpocznij", "Narazie nie")
			if st == 2 then
				return
			elseif st == 1 then
				say("Ile osob moze oddac dzis rude?")
				say("")
				max_player = input()
				game.set_event_flag("max_player_flag", max_player)
				notice_all("Zaraz ropocznie sie event gorniczy")
				notice_all("Jesli chcesz wziasc udzial udaj sie na pustynie zapomnienia ch1")
				local x = pc.get_locale_x
				local y = pc.get_locale_y
				mob.spawn(20048, x+10, y+10, 0, 0, 0)
				mob.spawn(20048, x+10, y+14, 0, 0, 0)
				mob.spawn(20048, x+14, y+10, 0, 0, 0)
				mob.spawn(20048, x+14, y+14, 0, 0, 0)
				mob.spawn(20048, x+10, y+18, 0, 0, 0)
				mob.spawn(20048, x+18, y+10, 0, 0, 0)
				mob.spawn(20048, x+14, y+18, 0, 0, 0)
				mob.spawn(20048, x+18, y+14, 0, 0, 0)
				command("m 20048 10")
				game.set_event_flag("event_state", 1)
				game.set_event_flag("player", 0)
			end
		end
		when 20094.chat."Gornik " begin
			if game.get_event_flag("event_state") == 1 and game.get_event_flag("player") <= game.get_event_flag("max_player_flag") then
				say_title(mob_name(npc.get_race())..":")
				say("Witaj! ")
				say("Widze,ze chcesz wziac udzial w evencie gorniczym! ")
				say("Aby otrzymac nagrode musisz przyniesc mi 1000 sztuk: ")
				say_item_vnum(50602)
				say(item_name(50602))
				say("To jak chcesz otrzymac nagrode? ")
				local s = select("Wymien rude ", "Nie dzieki ")
				if s == 2 then
					return
				elseif s == 1 then
					if pc.count_item(50602) >= 1000 then
						say("Hmm.. Skoro masz juz rude powiedz ")
						say("jaka mam Ci dac nagrode! ")
						say("")
						local nagroda = select("Czerwony Ying-Yang x2", "Zielony Ying-Yang x3", "Nibieski YIng-Yang x6", "Worek z paj. truc. x10", "Bryla zlota x 200", "Wyjdz" ) -- 5 oznacza ilosc nagrod, w tym przypadku mamy do wylosowania 5 roznych rzeczy
						if nagroda == 1 then -- jesli trafi liczbe 1 dostaje xxx
							say_title("Jako nagrode wybrales: ")
							say_item_vnum(50115)
							say(item_name(50115))
							pc.give_item2(50115, 2)
							pc.remove_item(50602, 1000)
							say_reward("Gratuluje!")
							game.set_event_flag("player", game.get_event_flag("player")+1)
						elseif nagroda == 2 then
							say_title("Jako nagrode wybrales: ")
							say_item_vnum(50113)
							say(item_name(50113))
							pc.give_item2(50113,3)
							pc.remove_item(50602, 1000)
							say_reward("Gratuluje!")
							game.set_event_flag("player", game.get_event_flag("player")+1)
						elseif nagroda == 3 then
							say_title("Jako nagrode wybrales: ")
							say_item_vnum(50114)
							say(item_name(50114))
							pc.give_item2(50114, 6)
							pc.remove_item(50602, 1000)
							say_reward("Gratuluje!")
							game.set_event_flag("player", game.get_event_flag("player")+1)
						elseif nagroda == 4 then
							say_title("Jako nagrode wybrales: ")
							say_item_vnum(30025)
							say(item_name(30025))
							pc.give_item2(30025, 10)
							pc.remove_item(50602, 1000)
							say_reward("Gratuluje!")
							game.set_event_flag("player", game.get_event_flag("player")+1)
						elseif nagroda == 5 then
							say_title("Jako nagrode wybrales: ")
							say_item_vnum(80008)
							say(item_name(80008))
							pc.give_item2(80008, 200)
							pc.remove_item(50602, 1000)
							say_reward("Gratuluje!")
							game.set_event_flag("player", game.get_event_flag("player")+1)
						end
					elseif pc.count_item(50602) < 1000 then
						say("Nie oszukuj! Nie masz 1000x "..item_name(50602))
					end
				end
				if game.get_event_flag("player") == game.get_event_flag("max_player_flag") then
					game.set_event_flag("event_state", 0)
				end
			elseif  game.get_event_flag("event_state") == 0 then
				say_title(mob_name(npc.get_race())..":")
				say("Witaj, obecnie nie jest aktywny event gorniczy.")
				say("Gdy zostanie on akrywowany zobaczysz informacje na chacie")
				say("")
			end
        end
	end
end 

Proszę o pomoc

 

//Edit

 

Przerobiłem troszkę tego questa, ale niestety teraz nie aktywuje się event. Znaczy pisze, że się aktywuje, ale nie zmienia się flaga.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...