Убираем отдачу и разброс.
Код
new Handle:weapon_accuracy_nospread;
new Handle:weapon_recoil_variance;
new Handle:weapon_recoil_view_punch_extra;
new Handle:weapon_recoil_scale;
public OnPluginStart()
{
weapon_accuracy_nospread = FindConVar("weapon_accuracy_nospread");
weapon_recoil_variance = FindConVar("weapon_recoil_variance");
weapon_recoil_view_punch_extra = FindConVar("weapon_recoil_view_punch_extra");
weapon_recoil_scale = FindConVar("weapon_recoil_scale");
HookEvent("round_start", OnRoundStart, EventHookMode_Post);
}
public OnMapStart()
{
SetConVarInt(weapon_accuracy_nospread, 1);
SetConVarFloat(weapon_recoil_view_punch_extra, 0.000);
SetConVarInt(weapon_recoil_scale, 0);
SetConVarFloat(weapon_recoil_variance, 0.0);
}
public OnClientPostAdminCheck(client)
{
if(!IsFakeClient(client) && GetAdminFlag(GetUserAdmin(client), Admin_Root))
{
SendConVarValue(client, weapon_accuracy_nospread, "1");
SendConVarValue(client, weapon_recoil_variance, "0.0");
SendConVarValue(client, weapon_recoil_view_punch_extra, "0.0");
SendConVarValue(client, weapon_recoil_scale, "0");
}
}
public Action:OnRoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
for (new i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i) && !IsFakeClient(i) && GetAdminFlag(GetUserAdmin(i), Admin_Root))
{
CreateTimer(0.1, SendFakeConVar, i);
}
}
return Plugin_Continue;
}
public Action:SendFakeConVar(Handle:timer, any:client)
{
if(!IsFakeClient(client) && GetAdminFlag(GetUserAdmin(client), Admin_Root))
{
SendConVarValue(client, weapon_accuracy_nospread, "1");
SendConVarValue(client, weapon_recoil_variance, "0.0");
SendConVarValue(client, weapon_recoil_view_punch_extra, "0.000");
SendConVarValue(client, weapon_recoil_scale, "0");
}
}