No Fall Damage

No Fall Damage 1.0.1

Grey83

не пишу плагины с весны 2022
Сообщения
8,519
Реакции
4,979
@Felton, хз что не так.
Если у него есть флаг a, то должно было работать.
М/б сделать чтобы просто любой игрок с админкой не мог получать урон при падении?
Просто заменить CheckCommandAccess(victim, "sm_admin", ADMFLAG_GENERIC, true) на GetUserFlagBits(victim) в строке 63
 

Ganter1234

Участник
Сообщения
1,149
Реакции
667

Ganter1234

чтобы плагин работал как для z так и для "ab" но чтобы я мог если вслучае чего в admin_overrides "CFG" установить права d.
В 63 строчке добавь рядом с ADMFLAG_GENERIC "| ADMFLAG_ROOT" (должно получиться ADMFLAG_GENERIC | ADMFLAG_ROOT) я просто не понимаю что ты именно хочешь, попробуй вот это если не сработает то хз
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,519
Реакции
4,979
@Felton, тогда проще в кваре флаги указывать
C-подобный:
#pragma semicolon 1

#include <sdkhooks>

#define PLUGIN_VERSION "0.6.3 (rewritten by Grey83)"

new bool:bLate,
    iAdmin,
    iMode;

public Plugin:myinfo =
{
    name        = "No Fall Damage",
    version        = PLUGIN_VERSION,
    description    = "Prevents players from taking damage by falling to the ground",
    author        = "Impact"
}

public APLRes:AskPluginLoad2(Handle:myself, bool:late, String:error[], err_max)
{
    bLate = late;
}

public OnPluginStart()
{
    CreateConVar("sm_nofalldamage_version", PLUGIN_VERSION, "Version of this plugin (Not changeable)", FCVAR_DONTRECORD|FCVAR_NOTIFY|FCVAR_SPONLY);

    new Handle:cvar;
    cvar = CreateConVar("sm_nofalldamage_mode", "0", "Team that should be protected from falldamage, 0 = disabled, 1 = Any, 2 = RED, 3 = BLUE", _, true, _, true, 3.0);
    HookConVarChange(cvar, CVarChanged_Team);
    iMode = GetConVarInt(cvar);

    cvar = CreateConVar("sm_nofalldamage_admin", "az", "Clients that should be protected from falldamage: empty = any, flag letters = only admins with these flags", FCVAR_PRINTABLEONLY);
    HookConVarChange(cvar, CVarChanged_Admin);
    CVarChanged_Admin(cvar, NULL_STRING, NULL_STRING);

    AutoExecConfig(true, "nofalldamage");

    if(bLate) for(new i; i <= MaxClients; i++) OnClientPostAdminCheck(i);
}

public CVarChanged_Team(Handle:cvar, const String:oldValue[], const String:newValue[])
{
    iMode = GetConVarInt(cvar);
}

public CVarChanged_Admin(Handle:cvar, const String:oldValue[], const String:newValue[])
{
    new String:flags[24];
    GetConVarString(cvar, flags, sizeof(flags));
    iAdmin = ReadFlagString(flags);
}

public OnClientPostAdminCheck(client)
{
    if(0 < client && client <= MaxClients && IsClientInGame(client)) SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)
{
    if(!iMode || !(damagetype & DMG_FALL))
        return Plugin_Continue;

    if((iMode == 1 || GetClientTeam(victim) == iMode)
    && (IsFakeClient(victim) || !iAdmin || iAdmin & GetUserFlagBits(victim)))
        return Plugin_Handled;

    return Plugin_Continue;
}
Сообщения автоматически склеены:

@Ganter1234, тогда, если не будет одного из флагов, то не будет считать админом
 

Ganter1234

Участник
Сообщения
1,149
Реакции
667

Grey83 у человека права "ab" а он разбиваетя с большой высоты у меня​

"z" и у людей с такими правами "1:abcdefgjk" все ок!Но если просто прописать​

"ab" то чел разбивается с большой высоты.​

В предыдущей теме ты скидывал плагин на бхоп для админов, возьми эту функцию и пропиши в этот же плагин
 

Felton

Участник
Сообщения
799
Реакции
59
Я конечно но силен в плагинах но хз команда "sm_admin" в этом плагине наверно лищнее
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,519
Реакции
4,979
@Felton, плагину без разницы что там прописано: он проверяет только флаги у игрока, а не то, что ты для доступа к команде пишешь.
Да и собственно, если удалить там команду (сделать ""), то ничего ровным счётом не изменится.
 

Felton

Участник
Сообщения
799
Реакции
59
Все разобрался.Работает как надо.Косяк был у меня.
 
Сверху Снизу