[LUA] Предотвращение бага с лестницей

Данный скрипт предназначен для предотвращения “лестничного бага” (ladderbug) в Garry’s Mod. Этот баг позволяет игрокам подниматься по лестницам с использованием физгана, таким образом они могут взлететь в воздух при помощи обычного пропа.

В основном данным багом пользуются/пользовались на нашей всеми любимой карте rp_bangclaw.

Путь установки: lua\autorun\server

Скрипт с предупреждением в консоль:

hook.Add("CanPlayerSuicide", "AntiLadderBug", function(ply)
    if IsValid(ply) and ply:GetMoveType() == MOVETYPE_LADDER then
        ply:PrintMessage(HUD_PRINTCONSOLE, "На данном сервере запрещено использовать баг с лестницей")
        return false
    end
end)

hook.Add("KeyPress", "AntiLadderBugFly", function(ply, key)
    if key == IN_USE and IsValid(ply) and ply:GetActiveWeapon():GetClass() == "weapon_physgun" then
        if ply:GetMoveType() == MOVETYPE_LADDER then
            ply:ConCommand("-attack")
            ply:PrintMessage(HUD_PRINTCONSOLE, "На данном сервере запрещено использовать баг с лестницей")
        end
    end
end)

Скрипт без предупреждения в консоль:

hook.Add("CanPlayerSuicide", "AntiLadderBug", function(ply)
    if IsValid(ply) and ply:GetMoveType() == MOVETYPE_LADDER then
        return false
    end
end)

hook.Add("KeyPress", "AntiLadderBugFly", function(ply, key)
    if key == IN_USE and IsValid(ply) and ply:GetActiveWeapon():GetClass() == "weapon_physgun" then
        if ply:GetMoveType() == MOVETYPE_LADDER then
            ply:ConCommand("-attack")
        end
    end
end)
1 лайк