Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Некоторые пропы сами по себе существуют только в течении одного раунда и их не требуется удалять с карты.
Ну и ещё: я бы создавал менюшки при запуске плагина, а при смене карты (когда читается конфиг) только пересоздавал их (не все, конечно, но с многими так можно поступить, кмк).
И ещё: if(!IsModelPrecached(model)) PrecacheModel(model);можно заменить на PrecacheModel(model);, т.к. если моделька была добавлена в кэш, то функция PrecacheModel() просто вернёт индекс который присвоен этой модельке ранее.
Сообщения автоматически склеены:
Для функции IsPlayerSurv() лучше бы при запуске плагина определить для какой игры был запущен плагин (заявлена поддержка не только L4D).
Потому что выжившие в команде 2 только в L4D/L4D2. В CS:S выжившие в зомбимодах как правило в команде 3.
Ну и бот ли игрок можно определять после определения в какой команде игрок.
Да и вообще в плагине этот код не имело смысла выносить в отдельную функцию, т.к. используется всего один раз (в CallMenuBS())
Кроме того название меню "Ротация объекта" лучше бы поменять на "Поворот" или "Вращение", т.к. в русском языке "Ротация" - это несколько иное.
Глянул исходники оригинала: написано на уровне FSA (т.е. говнокод чуть менее, чем полностью).
Сообщения автоматически склеены:
Некоторые пропы сами по себе существуют только в течении одного раунда и их не требуется удалять с карты.
Ну и ещё: я бы создавал менюшки при запуске плагина, а при смене карты (когда читается конфиг) только пересоздавал их (не все, конечно, но с многими так можно поступить, кмк).
И ещё: if(!IsModelPrecached(model)) PrecacheModel(model);можно заменить на PrecacheModel(model);, т.к. если моделька была добавлена в кэш, то функция PrecacheModel() просто вернёт индекс который присвоен этой модельке ранее.
Сообщения автоматически склеены:
Для функции IsPlayerSurv() лучше бы при запуске плагина определить для какой игры был запущен плагин (заявлена поддержка не только L4D).
Потому что выжившие в команде 2 только в L4D/L4D2. В CS:S выжившие в зомбимодах как правило в команде 3.
Ну и бот ли игрок можно определять после определения в какой команде игрок.
Да и вообще в плагине этот код не имело смысла выносить в отдельную функцию, т.к. используется всего один раз (в CallMenuBS())
Кроме того название меню "Ротация объекта" лучше бы поменять на "Поворот" или "Вращение", т.к. в русском языке "Ротация" - это несколько иное.
Теперь когда меню открыто а игрок умер, при нажатии на пункт оно закроется.
Администраторам в удалении объектов доступен 3 пункт удалить объект на который смотрит. При этом можно удалять entity объекты карты
Исправлено когда игрок в игре не L4D 1 & 2 не мог открыть меню !bs находясь в команде 3 (CS_TEAM_CT)
Исправлено когда перемещение объекта без выбора значения смещения не перемещало предмет.
В проверке валидности энтити под прицелом проверяется, чтобы индекс был больше, чем MaxClients?
А что выдаёт проверка if(GetEngineVersion() == Engine_Left4Dead2 || Engine_Left4Dead) в CS:S, интересно?
Первый раз такую запись вижу. Подозреваю, что результат всегда true.
Вообще я когда-то писал себе плагин для управления пропами на карте (перемещение, вращение, копирование). Получилось вот такое (это не финальная версия, у меня потом ещё несколько билдов было и самая свежая вообще на 5 файлов разбита, 954 строк кода суммарно). Последний билд в октябре 2021г. делал.
В проверке валидности энтити под прицелом проверяется, чтобы индекс был больше, чем MaxClients?
А что выдаёт проверка if(GetEngineVersion() == Engine_Left4Dead2 || Engine_Left4Dead) в CS:S, интересно?
Первый раз такую запись вижу. Подозреваю, что результат всегда true.
Вообще я когда-то писал себе плагин для управления пропами на карте (перемещение, вращение, копирование). Получилось вот такое (это не финальная версия, у меня потом ещё несколько билдов было и самая свежая вообще на 5 файлов разбита, 954 строк кода суммарно). Последний билд в октябре 2021г. делал.
игроки это тоже Entity и когда я не проверял MaxClients < Ent то мог удалить бота и игрока (его кикало с сервера) и мог его переместить и так далее.
По поводу if(GetEngineVersion() == Engine_Left4Dead2 || Engine_Left4Dead) если игра l4d1 или l4d2 то g_bGameLeft4Dead = true; в объявлении всегда bool без точного указания = false
По поводу if(GetEngineVersion() == Engine_Left4Dead2 || Engine_Left4Dead) если игра l4d1 или l4d2 то g_bGameLeft4Dead = true; в объявлении всегда bool без точного указания = false
Я не про это.
Мне интересно оно работает как if((GetEngineVersion() == Engine_Left4Dead2) || true) или как if(GetEngineVersion() == Engine_Left4Dead2 || GetEngineVersion() == Engine_Left4Dead)
Никогда такой записи не видел. =)
Ну так я про то же: чтобы нельзя было удалить энтити игрока даже случайно.
Я не про это.
Мне интересно оно работает как if((GetEngineVersion() == Engine_Left4Dead2) || true) или как if(GetEngineVersion() == Engine_Left4Dead2 || GetEngineVersion() == Engine_Left4Dead)
Никогда такой записи не видел. =)
public void OnPluginStart()
{
EngineVersion ev = GetEngineVersion();
if(ev == Engine_Left4Dead || Engine_Left4Dead2)
{
if(ev == Engine_Left4Dead)
{
PrintToServer("Игра Left 4 Dead 1 Plugin start");
}
else if(ev == Engine_Left4Dead2)
{
PrintToServer("Игра Left 4 Dead 2 Plugin start");
}
}
else PrintToServer("Это не игра Left 4 Dead 1 или 2");
PrintToServer("Игра: %i", view_as<int>(ev));
}
Engine_Left4Dead - это 4
Engine_Left4Dead2 - это 7
Таки код читается как if((GetEngineVersion() == Engine_Left4Dead) || true).
public void OnPluginStart()
{
EngineVersion ev = GetEngineVersion();
if(ev == Engine_Left4Dead || Engine_Left4Dead2)
{
if(ev == Engine_Left4Dead)
{
PrintToServer("Игра Left 4 Dead 1 Plugin start");
}
else if(ev == Engine_Left4Dead2)
{
PrintToServer("Игра Left 4 Dead 2 Plugin start");
}
}
else PrintToServer("Это не игра Left 4 Dead 1 или 2");
PrintToServer("Игра: %i", view_as<int>(ev));
}
Engine_Left4Dead - это 4
Engine_Left4Dead2 - это 7
Таки код читается как if((GetEngineVersion() == Engine_Left4Dead) || true).