mp_armor_ratio 50
Полезная вещь. Вчера смотрел всякие штуки и обнаружил вот это:Вспомнил одну вещь, которую хотел когда-то реализовать.
Надо env_fog лимитировать через некий func_fogarea или trigger_fogarea с текстурой АААtrigger.
Зачем? Сейчас туман создается по всей карте одинаково. В итоге мы можем видеть его и снаружи, где он нужен, и где-то в коридорах офиса, где ему делать нечего. + иногда требуются разные оттенки и разные плотности тумана. К примеру, если на ограниченной базе кт/т включить легкую дымку, то на длине уже будет не очень просто рассмотреть игроков.
Как сделать? В теории можно просто дать весь функционал от env_fog новой энтити, и при вхождении игрока в эту зону сервер будет посылать изменения в клиентском env_fog. Ну и разумеется, все косяки с резким появлением тумана будут на совести маппера.
Как ответвление от данного вопроса, хотелось бы иметь в функционале эмиттеры. Подобные вещи есть в CSNZ. И в качестве референса можно использовать код от дымовой гранаты.
-1 — Empty — пусто (по умолчанию),
-3 — Water — вода без волн,
-4 — Slime — жижа,
-5 — Lava — и без перевода ясно, что лава,
? — Fog — туман,
-7 — Volumetric Light — объёмный свет, блок похож на воду, т.к. можно начать задыхаться,
-16 — make ladder — создаёт лестницу.
не лучшая практика. Думать надо, перед тем, как писать код. У многих не получается. А, тебе Soft skills похоже качать.принимать туда каждый PULL REQUEST и фиксы
все нужное в общем доступе на гитхабе, форкайте, вносите свои изменения, развивайте, продвигайте в массы и поддерживайте все это. На одном хостинге так и делают.Я уже давно предлагал "плюнуть" на этого разработчика и свой ReReGameDLL сделать и принимать туда каждый PULL REQUEST и фиксы из его ReGameDLL )))
Можно в нём расширить немного настройку;// Auto balancing of teams
// 0 - disabled
// 1 - on after next round (default behaviour)
// 2 - on next round
//
// Default value: "1"
mp_autoteambalance 2
#include <amxmodx>
#include <reapi>
new HookChain:HookCanSwitchTeam, HookChain:HookSwitchTeam;
public plugin_init() {
RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed_Post", true);
HookCanSwitchTeam = RegisterHookChain(RG_CBasePlayer_CanSwitchTeam, "CBasePlayer_CanSwitchTeam_Pre", false);
HookSwitchTeam = RegisterHookChain(RG_CBasePlayer_SwitchTeam, "CBasePlayer_SwitchTeam_Post", true);
DisableHookChain(HookCanSwitchTeam);
DisableHookChain(HookSwitchTeam);
}
public CBasePlayer_Killed_Post(const id) {
if (abs(get_member_game(m_iNumTerrorist) - get_member_game(m_iNumCT)) > 2) {
EnableHookChain(HookCanSwitchTeam);
EnableHookChain(HookSwitchTeam);
rg_balance_teams();
DisableHookChain(HookCanSwitchTeam);
DisableHookChain(HookSwitchTeam);
}
}
public CBasePlayer_CanSwitchTeam_Pre(const id) {
if (is_user_alive(id)) {
SetHookChainReturn(ATYPE_BOOL, false);
return HC_SUPERCEDE;
}
return HC_CONTINUE;
}
public CBasePlayer_SwitchTeam_Post(const id) {
// Notify client
}
По каким силам? Как это должно определяться? Есть rg_balance_teamsБалансировку по силам не вариант сделать сюда? )