←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Set Task będzie odliczał czas dalej, mimo...


Najlepsza odpowiedź Drago36 16.05.2014 13:46

#include <amxmodx>
#include <amxmisc>

public plugin_init() {
	register_plugin("Event", "1.0", "author")
	
	set_task(240.0, "wlaczevent") // 240sec = 4min; czas mapy ustawiony na 3 min
	register_clcmd("say /log", "Log")
}

public Log()
{
	log_amx("Wpisales Log")
}

public wlaczevent()
{
	log_amx("Event sie wlaczyl")
}

Niestety task się usuwa, przy zmianie mapy.

Wpisując komendę /log, w logach wyskakiwała wiadomość. Task nie aktywował swojej funkcji, po zmianie mapy - szkoda.

Przejdź do postu
Zablokowany

  • +
  • -
Drago36 - zdjęcie Drago36 14.05.2014

Witam.

Mam pytanie, set task użyty w plugin_init na czas większy niż czas trwania mapy, zostanie zresetowany, gdy ta mapa się skończy?

 

Może jaśniej, mam taki oto pluginek:

#include <amxmodx>
#include <amxmisc>

public plugin_init() {
	register_plugin("Event", "1.0", "author")
	
	set_task(1800.0, "wlaczevent") // 1800 sec = 30 min
}

public wlaczevent()
{
	// event wlaczony
}

Na serwerze czas trwania mapy ustawiony jest na 20min., a funkcja włącza się co 30min. Użyty set task nie usunie się, gdy zmieni się mapa?

Odpowiedz

  • +
  • -
speedkill - zdjęcie speedkill 14.05.2014

Ciekawe pytanie, jednak w 99% jestem przekonany, że task się usunie i zostanie na nowo stworzony na początku mapy.
Odpowiedz

  • +
  • -
Drago36 - zdjęcie Drago36 15.05.2014

Hmm.. przed twoją wypowiedzią, myślałem że task będzie kontynuowany, ale chyba plugin wczytuje się ponownie i task się usuwa.

Sprawdzę jak wróce.
Odpowiedz

  • +
  • -
MAGNET - zdjęcie MAGNET 15.05.2014

http://amxx.pl/topic...we/#entry533988

"task bedzie zapetlany do momentu przerwania go lub zmiany mapy"

Tyczy sie to taska z parametrem "b", jednak nwm, czy tyczy sie to tez taska po mapie (najprawdopodobniej tak)
Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 15.05.2014

Task zostanie usunięty z końcem mapy, gdyż cały plugin jest w tym momencie przeładowywany.
Odpowiedz

  • +
  • -
Najlepsza odpowiedź Drago36 - zdjęcie Drago36 16.05.2014

#include <amxmodx>
#include <amxmisc>

public plugin_init() {
	register_plugin("Event", "1.0", "author")
	
	set_task(240.0, "wlaczevent") // 240sec = 4min; czas mapy ustawiony na 3 min
	register_clcmd("say /log", "Log")
}

public Log()
{
	log_amx("Wpisales Log")
}

public wlaczevent()
{
	log_amx("Event sie wlaczyl")
}

Niestety task się usuwa, przy zmianie mapy.

Wpisując komendę /log, w logach wyskakiwała wiadomość. Task nie aktywował swojej funkcji, po zmianie mapy - szkoda.

Odpowiedz
Zablokowany