set_task(2.0, "funcDemageVic", id+GLUTON)
no i funkcja do, której odnosi się ten task wygląda tak
public funcDemageVic(id, attacker)
{
id-=GLUTON
if(get_user_health(id) > 10)
set_task(2.0, "funcDemageVic", id+GLUTON)
DoDamage(id, attacker1, 5);
}
Skąd ten "attacker"? I do tego w DoDamage jest "attacker1", chyba w ogóle jakaś pomyłka w kodzie... Nie widzę, żeby tamten task przeniósł ze sobą informacje na temat atakującego (bo nawet nie wiem czy się da to zrobić), więc ten "attacker" tutaj jest raczej nie potrzebny, no i chyba "DoDamage" nie będzie działać tak jak trzeba, bo tam dalej w kodzie jest warunek, jeśli atakujący jest połączony.
No to może teraz przejdźmy do rzeczy... jak przenieść w danym tasku jakiś dodatkowy index?
W dokumentacji jest
set_task ( Float:time, const function[], id = 0, parameter[]="", len = 0, flags[]="", repeat = 0 )
no ale tak skromnie są opisane dane parametry, że nie wiem do czego służy "parameter[]=""" i "len = 0". Czy to właśnie w któryś z nich da się przenieść te dodatkowe informacje? Przeczytałem też set_task - funkcje czasowe - Nieoficjalny polski support AMX Mod X ale jakoś nie bardzo rozumiem na jakiej zasadzie to działa... Trzeba zrobić nową tablicę
new data
potem pod nią
data = attacker
a task dać taki
set_task(2.0, "funcDemageVic", id+GLUTON, data, 1)
i potem id pobrać z id+GLUTON, następnie atakującego z "data"? Czy jednak to wszystko wrzucić do "data"?