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

[TuT] Funkcja wykonująca się po zginięciu...


michal13gwwk

Rekomendowane odpowiedzi

Opublikowano

Siemka.

Chciałbym wam zaprezentować funkcję sprawdzającą czy dedneliśmy.

(Zapewne każdy już to ma na swoim serwerze i tak jak zawsze będzie mega hejt, ale co mi tam).

 

Okej. Aby sprawdzić czy dedneliśmy musimy najpierw wywołać funkcję, która będzie wykonywała się ciąglę, czyli tą funkcją będzie loop_timer. Więc ustawmy go sobie w ten sposób:

 

loop_timer("nazwa_timera", 1)

 

Jest to najlepsze(moim zdaniem) ustawienie.

 

Proste? No pewnie, że tak... no to teraz przejdźmy dalej.

Musimy sprawdzić czy żyjemy, w tym celu przyda nam się funkcja pc.is_dead().

Teraz część naszego questa będzie wyglądała następująco:

 

 

when nazwa_timera.timer begin
 if pc.is_dead() then
		 chat("Właśnie nie żyjesz")
		 cleartimer("nazwa_timera")
 end
end

 

Jak widać w quescie pojawiła się nowa funkcja, a mianowicie cleartimer.

Funkcja ta odpowiada za wyłączenie timera po wykonaniu funkcji.

Jednak teraz zadziała to tylko raz, czyli jak dedniemy, a potem dedniemy jeszcze raz to quest już nie zadziała.

W tym celu po cleartimer dodajemy funkcję loop_timer("nazwa_timera2", 1).

 

Część naszego questa będzie teraz wyglądała następująco:

 

when nazwa_timera.timer begin
	 if pc.is_dead() then
			 chat("Właśnie nie żyjesz")
			 cleartimer("nazwa_timera")
			 timer("nazwa_timera2", 1)
	 end
end
when nazwa_timera2.timer begin
 if not pc.is_dead() then
		 timer("nazwa_timera", 1)
		 cleartimer("nazwa_timera2")
 end
end

 

Czyli jeżeli timer zostanie "użyty" wtedy gdy nie żyjemy wyskoczy nam na czacie wiadomość, że nie żyjemy, nasz timer zostanie usunięty oraz zostanie "uruchomiony" nasz 2 timer, który sprawdza czy żyjemy i jeżeli żyjemy "uruchamia" nasz 1 timer i usuwa 2 timer.

 

Nie liczę na lajki, bo i tak ich nie dostanę, ale za to hejt on.

Pozdro. ;)

Opublikowano

@UP

Nie chodzi o to, żeby timer był wykonywany ciągle.

Może on być wykorzystywany, np. do mountów.

To jest tylko przykład jego użycia. Oczywiście przy użyciu mountów, po ściągnięciu pieczęci musimy usunąć timery.

Pozatym funkcja letter jest wykonywana co kilka sekund, jeżeli na taki sam czas ustawimy timer to możesz hejtować. :)

Opublikowano

Przy dobrze prosperującym serwerze ~700 osób i każda ma z nich przypisany timer.

...

Nie no, to bije licznik online na game.set_event_lag

Teraz każdy taki cwaniaczek, ale gdyby Balon nie powiedział o user_count i bodajże Nagahiga (sorry, jeżeli przekrecilem nick) nie dał gotowego skryptu to dalej wszyscy mielibyscie liczniki na flagach, netstatach czy ostatnim logowaniu w mysql.

 

topic.

Nie rozumiem dawania timeru sekundowego skoro postać leży na ziemi ok. 10 sec to wystarczy dać timer co 9 sec.

Opublikowano

Przy dobrze prosperującym serwerze ~700 osób i każda ma z nich przypisany timer.

...

Nie no, to bije licznik online na game.set_event_lag

o.O, to bije Twoje profesjonalnie rozbudowane funkcje. pc.leveup, mName... Irytuje mnie Twoje zachowanie od dłuższego czasu, sam nic nie potrafisz a krytykujesz innych, którzy choć coś próbują a nie trollują na forum, bo na resztę mają serdecznie wbite.

 

@up:

Istnieje jeszcze jedna metoda w lua, bardziej innowacyjna i sprawna od tej z timerami.

Your superman is here, bitch!

Opublikowano

@UP

Nie chodzi o to, żeby timer był wykonywany ciągle.

Może on być wykorzystywany, np. do mountów.

To jest tylko przykład jego użycia. Oczywiście przy użyciu mountów, po ściągnięciu pieczęci musimy usunąć timery.

 

po co używać timera do mountów, skoro da się je w 100% odbugować by działały bez timerów?

 

@AW/TOP: Mniej więcej zrozumiałem zasadę działania dwóch timerów zależnych od siebie. Dzięki :)

57199140501148694665.png

Opublikowano

@UP

Wiem, że można.

Wystarczy dodać pieczęcie do special_item_group, a w quescie odbugować tylko teleport i garnitur.

Dodatkowo tym sposobem możemy odbugować garnitur w ten sposób, że po wejściu na mounta z garniturem pieczęć "schodzi" do eq.

Opublikowano

o.O, to bije Twoje profesjonalnie rozbudowane funkcje. pc.leveup, mName... Irytuje mnie Twoje zachowanie od dłuższego czasu, sam nic nie potrafisz a krytykujesz innych, którzy choć coś próbują a nie trollują na forum, bo na resztę mają serdecznie wbite.

 

@up:

Istnieje jeszcze jedna metoda w lua, bardziej innowacyjna i sprawna od tej z timerami.

Chyba mnie z kimś pomyliłeś.

Opublikowano

@UP

Dobra, już nie udawaj.

Po tym poście uświadomiłem sobie jaki jesteś tępy. Myślisz, że ludzie się nie dowiedzą?

o.O Kim Ty jesteś, żeby mnie oceniać to raz. Dwa, nawet nie mam bladego pojęcia kim jest ten cały NISM0, nawet mnie to nie obchodzi.

  • 3 tygodnie później...
  • 2 tygodnie później...

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...