Помогите плиз разобраться почему не работает функция fm_cs_remove_decals(id) для конкретного игрока.
Как бы пишет что если указывать id игрока то только ему будет очищать. По факту всем.
Уже пробовал менять на
- не помогает.
Хочу сделать на КСДМ сервере чтобы при смерте очищало декали пуль из-за чего у игроков лаги после пару минут игры на aim_ картах (ибо они не знают о r_decals и mp_decals).
П.С. Так же заметил что когда отправляю функцию - на клиентах идёт дикий фриз на 2-3 сек после чего КС отлагивает и очищает. Тестирую с пару клиентов стим кс.
Но если лаг не избежен то между смертью и респавном игроку это не будет мешать. Осталось решить как очищать только конкретному игроку.
П.С. П.С. Сервер на reHLDS - может для reAPI есть что-то подобное?
Код:
// fakemeta_util.inc
#define FEV_RELIABLE (1<<1)
#define FEV_GLOBAL (1<<2)
// removes all created decals and players' corpses from the world
// set a specific index to remove decals only for the given client
stock fm_cs_remove_decals(index = 0) {
static eventindex_decal_reset;
if (!eventindex_decal_reset)
eventindex_decal_reset = engfunc(EngFunc_PrecacheEvent, 1, "events/decal_reset.sc");
new flags = FEV_RELIABLE;
if (!index)
flags |= FEV_GLOBAL;
engfunc(EngFunc_PlaybackEvent, flags, index, eventindex_decal_reset, 0.0, Float:{0.0, 0.0, 0.0}, Float:{0.0, 0.0, 0.0}, 0.0, 0.0, 0, 0, 0, 0);
}
Как бы пишет что если указывать id игрока то только ему будет очищать. По факту всем.
Уже пробовал менять на
Код:
#define FEV_CLIENT (1<<6)
Хочу сделать на КСДМ сервере чтобы при смерте очищало декали пуль из-за чего у игроков лаги после пару минут игры на aim_ картах (ибо они не знают о r_decals и mp_decals).
Код:
#include amxmodx
#include fakemeta_util
#define FEV_RELIABLE (1<<1)
#define FEV_GLOBAL (1<<2)
#define FEV_UPDATE (1<<3)
#define FEV_CLIENT (1<<6)
public plugin_init()
{
register_plugin("Remove Decals", "1.0", "xxx)
register_srvcmd("FuncRemoveDecals", "FuncRemoveDecals")
register_clcmd("FuncRemoveDecals", "FuncRemoveDecals")
}
public FuncRemoveDecals(id)
{
server_cmd("say [DEBUG 1] Remove decals for client %d", id)
fm_cs_remove_decals_test(id)
}
stock fm_cs_remove_decals_test(index = 0) {
static eventindex_decal_reset;
if (!eventindex_decal_reset)
eventindex_decal_reset = engfunc(EngFunc_PrecacheEvent, 1, "events/decal_reset.sc");
new flags = FEV_RELIABLE;
if (!index)
flags |= FEV_GLOBAL;
engfunc(EngFunc_PlaybackEvent, flags, index, eventindex_decal_reset, 0.0, Float:{0.0, 0.0, 0.0}, Float:{0.0, 0.0, 0.0}, 0.0, 0.0, 0, 0, 0, 0);
server_cmd("say [DEBUG 2] EngFunc_PlaybackEvent flags %d | index %d", flags, index);
}
П.С. Так же заметил что когда отправляю функцию - на клиентах идёт дикий фриз на 2-3 сек после чего КС отлагивает и очищает. Тестирую с пару клиентов стим кс.
Но если лаг не избежен то между смертью и респавном игроку это не будет мешать. Осталось решить как очищать только конкретному игроку.
П.С. П.С. Сервер на reHLDS - может для reAPI есть что-то подобное?