grehoff партикли тут не при чем совершенно - партикли ток на клиенте
тут все просто
спавним на стороне сервера дымовые шашки ниже уровня земли - метров 5
ну и включаем
EntityAI Effect = EntityAI.Cast(GetGame().CreateObject( "класснеймдымовойшашки", "1000 2 1000" )); //Создаем обьект шашки
SmokeGrenadeBase smokegrenade = NULL; //инициализируем переменную класса SmokeGrenadeBase (дымовой шашки)
smokegrenade = SmokeGrenadeBase.Cast(Effect); //апкастим созданный обьект в класс дамовой шашки
if (smokegrenade) smokegrenade.Unpin(); //если все успешно прошло включаем гранату
smokegrenade.SetSynchDirty(); //вызываем принудительную синхру этой шашки с клиентами / хотя и без этого работает
усе - пошел дым - и игроки это у видят
на и что бы дым не заканчивался в процессе проверок зон я проверяю гранату на предмет состояния и если она потухла - делаю переспавн
if (smokegrenade)
if (smokegrenade.GetSmokeGrenadeState() == ESmokeGrenadeState.NO_SMOKE)
{
//граната не дымит вызываем респавн
smokegrenadeю.SetHealth(0);
smokegrenade.Delete(); //Удаляем - но она не всегда удаляется, однако она пропадет сама со временем
}
//граната исчезла вызываем респавн
}
Немного изменил про проверку и респавн