Я люблю придираться к чужому коду.
ОффтопПока никто не видит мой код, который я использую у себя на серверах...
Ну что ж, поехали...
if(StrContains(sNameMap, "35hp_", false) != -1)
{
g_bIsKnifeMap = true;
}
else g_bIsKnifeMap = false;
if(g_bIsKnifeMap)
-->
if((g_bIsKnifeMap = (StrContains(sNameMap, "35hp_", false) != -1)))
-----
for(int i = 0; i < 4; i++)
-->
for(int i; i < sizeof(g_sServerConVarsName); ++i)
Значения переменных, которые выставляет плагин, имеет смысл хранить в int. Хотя если в будущем там будет реально string использоваться, то ладно.
-----
public Action Fixer35hp(Handle hTimer, any iUserid)
{
int iClient = GetClientOfUserId(iUserid);
if(GetEntProp(iClient, Prop_Data, "m_iHealth") > 35)
Если игрок успеет выйти, получим ошибку Invalid client ID 0.
public Action Fixer35hp(Handle hTimer, any iClient)
{
if ((iClient = GetClientOfUserId(iClient)) == 0) {
return;
}
if(GetEntProp(iClient, Prop_Data, "m_iHealth") > 35)
--- Добавлено позже ---
Тут
@Samoletik1337 в ЛС подсказывает, что самое верхнее условие с
35hp_ можно так записать:
if((g_bIsKnifeMap = !strncmp(sNameMap, "35hp_", 5)))
Тоже, в принципе, верно. Даже быстрее в итоге будет.