Я имею лицензионный Garry's mod 13 Steam, так же я создал свой выделенный сервер с помощью SteamCMD. Далее я установил всё что мне было нужно и запустил сервер на режиме jailbreak. Теперь сама суть. В папке сервера gamemodes/jailbreak/entities/weapons есть lua файл jb_fists.lua. В этом файле прописаны настройки для кулака. Сила удара, дамаг и т.д. Однако, во время игры дальность удара игрока очень большая и я хочу изменить её на нормальную. Вот он сам: --[[ Created by Chessnut for the Chessnut's Corner community. http://chessnut.info --]]
AddCSLuaFile();
if (CLIENT) then SWEP.PrintName = "Fists" SWEP.Slot = 1; SWEP.SlotPos = 1; SWEP.DrawAmmo = false; SWEP.DrawCrosshair = false; end;
SWEP.Author = "\67\104\101\115\115\110\117\116" SWEP.Instructions = "Primary Fire: Punch,\nSecondary Fire: Knock"; SWEP.Purpose = "Hitting things and knocking on doors." SWEP.Drop = false;
timer.Simple(0.055, function() if (IsValid(self) and IsValid(self.Owner)) then local damage = self.Primary.Damage local data = {} data.start = self.Owner:GetShootPos() data.endpos = data.start + self.Owner:GetAimVector()*108 data.filter = self.Owner local trace = util.TraceLine(data)
if (SERVER and trace.Hit) then local entity = trace.Entity
if (IsValid(entity)) then local damageInfo = DamageInfo() damageInfo:SetAttacker(self.Owner) damageInfo:SetInflictor(self) damageInfo:SetDamage(damage) damageInfo:SetDamageType(DMG_SLASH) damageInfo:SetDamagePosition(trace.HitPos) damageInfo:SetDamageForce(self.Owner:GetAimVector()*10000) entity:DispatchTraceAttack(damageInfo, data.start, data.endpos)
self.Owner:EmitSound("physics/body/body_medium_impact_hard"..math.rand om(1, 6)..".wav", 80) end end end end) end;
function SWEP:SecondaryAttack() local trace = self.Owner:GetEyeTraceNoCursor(); local entity = trace.Entity;
if ( SERVER and IsValid(entity) and string.find(entity:GetClass(), "door") ) then local distance = self.Owner:EyePos():Distance(trace.HitPos);