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

Status eventów, wyświetlanie, wyłączanie


Rekomendowane odpowiedzi

Opublikowano

Witam.

 

Podsyłam wam quesciora, a poniżej uwagi do niego. Quest jest roboczy, jego zadaniem bylo sprawdzenie działania i wyszło co wyszło.

http://wklej.to/f40Yr

 

 

			
quest Eventy begin
	state start begin
		when login with pc.is_gm() begin
		set_state(ev)
		end
	end
	state ev begin
		when letter begin
			send_letter(" Eventy ")
		end
		when button or info begin
			local s= select(" Wszystkie eventy ", "Aktywne", "Wyjdź ")
			if s == 3 then
				return
			elseif s == 1 then
				local e = select(" Event1", "Event2", "Event3")
				if e == 1 then
					say_title(" Event1")
					say("")
					say(" Ten event polega na ... ")
					say("")
					say_title(" Chcesz włączyć event? ")
					say("")
					local w = select(" Tak ", "Nie" )
					if w == 2 then
						return
					else
						if game.get_event_flag("Event1") > 0 then
							say_title("Event1")
							say("")
							say(" Zabawa jest już aktywna! ")
							say("")
							say_title(" Chcesz wyłączyć event ?")
							local c = select(" Tak", "Nie")
							if c == 2 then
								return
							else
							say_title("Event1")
							say("")
							say(" Event został z powodzeniem wyłączony")
							game.set_event_flag("Event1", 0)
							end
						else
							
							say_title(" Event1")
							say("")
							say( " Zabawa została aktywowana ")
							game.set_event_flag("Event1", 1)
						end
					end
				elseif e == 2 then
					say_title(" Event2")
					say("")
					say(" Ten event polega na ... ")
					say("")
					say_title(" Chcesz włączyć event? ")
					say("")
					local w = select(" Tak ", "Nie" )
					if w == 2 then
						return
					else
						if game.get_event_flag("Event2") > 0 then
							
							say_title("Event2")
							say("")
							say(" Zabawa jest już aktywna! ")
							say("")
							say_title(" Chcesz wyłączyć event ?")
							local c = select(" Tak", "Nie")
							if c == 2 then
								return
							else
							say_title("Event2")
							say("")
							say(" Event został z powodzeniem wyłączony")
							game.set_event_flag("Event2", 0)
							end
						else
							say_title(" Event2")
							say("")
							say( " Zabawa została aktywowana ")
							game.set_event_flag("Event2", 1)
						end
					end
				else
					say_title(" Event3")
					say("")
					say(" Ten event polega na ... ")
					say("")
					say_title(" Chcesz włączyć event? ")
					say("")
					local w = select(" Tak ", "Nie" )
					if w == 2 then
						return
					else
						if game.get_event_flag("Event3") > 0 then
							say_title("Event3")
							say("")
							say(" Zabawa jest już aktywna! ")
							say("")
							say_title(" Chcesz wyłączyć event ?")
							local c = select(" Tak", "Nie")
							if c == 2 then
								return
							else
							say_title("Event3")
							say("")
							say(" Event został z powodzeniem wyłączony")
							game.set_event_flag("Event3", 0)
							end
						else
							say_title(" Event3")
							say("")
							say( " Zabawa została aktywowana ")
							game.set_event_flag("Event3", 1)
						end
					end
				end
			else
				say_title(" Aktualnie trwajace eventy: ")
				local eventy = {
					{"Event1", "nazwa eventu", "opis eventu"},
					{"Event2", "nazwa eventu2", "opis eventu2"},
					{"Event3", "nazwa eventu3", "opis eventu3"},
				}
				
				local pokazEventy = {}
				local pokazEventyId = {}
				
				for i = 1, table.getn(eventy) do
					if game.get_event_flag(eventy[i][1]) > 0 then
						table.insert(pokazEventy, eventy[i][2])
						table.insert(pokazEventyId, i)
						local wybierz = select_table(pokazEventy)
						local wybrany = eventy[wybierz]
						say("Wybrałeś event:")
						say(wybrany[3]) -- opis
						if select("Wyłącz", "Wyjdź ") == 1 then
							say(" Wyłączyłeś zabawę.. ")
							game.set_event_flag(wybrany[1], 0)
						end
					else
					say_title("Informacja")
					say("")
					say(" Obecnie żadna z zabaw nie jest aktywna ")
					end
				end
			end
		end
	end
end

 

 

Uwagi:

 

+ Quest do 119 lini działa bez zarzutów

+ Później zaczynają się schody ( ostatni "else" głównego selecta, przed "Aktualnie trwające eventy" )

+ Quest nie wyświetla wszystkich aktywnych ewentów w zakładce "Aktywne " ( zawsze wyświetla jeden z trzech )

+ Gdy aktywny jest event 1, wyświetla prawidłowo nazwe eventu oraz prawidłowo można go wyłączyć ( wszystko smiga )

+ Gdy są aktywne wszystkie eventy, w zakładce "Aktywne" wyświetla mimo to tylko 1 aktywny event

+ Włączając pojedyńczo event 2 lub 3 wyświetlanie ich statusu działa poprawnie, natomiast nie mozna ich wyłączyć.

+ Najmniejszym problemem jest tutaj dublowanie przez pętle say`ów ..

+ Aktywowanie 2 eventów zawiera takie same błędy. ( wyswietla 1 aktywny event, tylko event 1 można wyłączyć, dubluja sie say`e  etc.. )

 

By w pełni zrozumieć  błędy polecam samemu przetestować skrypt.

 

 

I na końcu moje pytanko ? Jak to naprawić :)?

Posiadam aktywny serwer testowy także wszelkie korekcje błędów będą natychmiast sprawdzane.

Proszę o pomoc kogoś, kto na co dzień zajmuje się tablicami.




 





I'm here for You, not for myself

Always help You


 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...