Usuwanie bytu co rundę
Zapalka
06.10.2010
Witam, chciałbym aby ktoś mi powiedział jak mogę zrobić aby byt usuwany był na koniec każdej rundy.
Byt ten to model który może postawić w miejscu gracz po wpisaniu komendy.
Nazwa klasy tego bytu to ludzik.
Próbowałem robić to na kilka sposobów lecz żaden z nich nie działał.
np. tak:
lub tak:
Lecz nie działa. Oczywiście wkleiłem to do funkcji(event) która wykonuje się na koniec rundy.
Jednak gdy zrobiłem aby ten byt usuwał się po 20 sek. po jego stworzeniu to wszystko działa.
Byt ten to model który może postawić w miejscu gracz po wpisaniu komendy.
Nazwa klasy tego bytu to ludzik.
Próbowałem robić to na kilka sposobów lecz żaden z nich nie działał.
np. tak:
new ent = -1
while((ent = fm_find_ent_by_class(ent, "ludzik")))
{
engfunc(EngFunc_RemoveEntity,ent)
}
lub tak:
remove_entity(ent)
Lecz nie działa. Oczywiście wkleiłem to do funkcji(event) która wykonuje się na koniec rundy.
Jednak gdy zrobiłem aby ten byt usuwał się po 20 sek. po jego stworzeniu to wszystko działa.
Ortega
06.10.2010
Do logevent round end:
Do sprawdzania lepiej używać modułu engine
new ent;
ent = -1;
while( ( ent = find_ent_by_class( ent, "ludzik" ) ) != -1 )
{
engfunc( EngFunc_RemoveEntity, ent );
}
Do sprawdzania lepiej używać modułu engine
Zapalka
06.10.2010
identycznie miałem.
Nic to nie zmieniło
Nadal byt się nie usuwa.
I jeszcze mam jeden problem.
ten byt ma leczyć gdy ktoś w nim stoi, lecz on czasami leczy a czasami jak się w to wejdzie to dostaje się tak jakby Noclipa. Można latać gdzie się chce tak ja na free cam.
oto kod z kolizji.
Dodano 07 październik 2010 - 17:43:
#refresh
Użytkownik Zapalka edytował ten post 09.10.2010 11:05
Nic to nie zmieniło
Nadal byt się nie usuwa.
I jeszcze mam jeden problem.
ten byt ma leczyć gdy ktoś w nim stoi, lecz on czasami leczy a czasami jak się w to wejdzie to dostaje się tak jakby Noclipa. Można latać gdzie się chce tak ja na free cam.
oto kod z kolizji.
public leczenie(ent,player)
{
if(czekaj[player]>=1)
{
return PLUGIN_HANDLED;
}
if(!is_user_alive(player) || !is_user_connected(player))
{
return PLUGIN_HANDLED
}
if(get_user_health(player)<100)
{
set_user_health(player,get_user_health(player)+2)
//entity_set_float ( player, EV_FL_health, get_user_health(player)+2.0 )
czekaj[player]++
set_task(1.0,"odczekaj",player)
}
else
{
return PLUGIN_HANDLED;
}
entity_set_float(player,EV_FL_nextthink,halflife_time() + 0.01)
return PLUGIN_HANDLED
}
Dodano 07 październik 2010 - 17:43:
#refresh
Użytkownik Zapalka edytował ten post 09.10.2010 11:05