Jailbreak

0
Посетители
0
Новичок
Я имею лицензионный 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;

SWEP.ViewModelFOV = 48;
SWEP.ViewModelFlip = false;
SWEP.AnimPrefix = "rpg";

SWEP.ViewTranslation = 4;

SWEP.Primary.ClipSize = -1;
SWEP.Primary.DefaultClip = -1;
SWEP.Primary.Automatic = false;
SWEP.Primary.Ammo = "";
SWEP.Primary.Damage = 20;
SWEP.Primary.Delay = 0.75;

SWEP.Secondary.ClipSize = -1;
SWEP.Secondary.DefaultClip = 0;
SWEP.Secondary.Automatic = false;
SWEP.Secondary.Ammo = "";

SWEP.ViewModel = Model("models/weapons/v_fists.mdl");
SWEP.WorldModel = ""

SWEP.UseHands = true;

function SWEP:PreDrawViewModel(viewModel, weapon, client)
local hands = player_manager.RunClass(client, "GetHandsModel");

if (hands and hands.model) then
viewModel:SetModel(hands.model);
end;
end;

ACT_VM_FISTS_DRAW = 3;
ACT_VM_FISTS_HOLSTER = 2;

function SWEP:Deploy()
if ( !IsValid(self.Owner) ) then
return;
end;

local viewModel = self.Owner:GetViewModel();

if ( IsValid(viewModel) ) then
viewModel:SetPlaybackRate(0.5);
viewModel:ResetSequence(ACT_VM_FISTS_DRAW);
end;

return true;
end;

function SWEP:Holster()
if ( !IsValid(self.Owner) ) then
return;
end;

local viewModel = self.Owner:GetViewModel();

if ( IsValid(viewModel) ) then
viewModel:SetPlaybackRate(0.5);
viewModel:ResetSequence(ACT_VM_FISTS_HOLSTER);
end;

return true;
end;

function SWEP:Precache()
util.PrecacheSound("npc/vort/claw_swing1.wav");
util.PrecacheSound("npc/vort/claw_swing2.wav");
util.PrecacheSound("physics/plastic/plastic_box_impact_hard1.wav");
util.PrecacheSound("physics/plastic/plastic_box_impact_hard2.wav");
util.PrecacheSound("physics/plastic/plastic_box_impact_hard3.wav");
util.PrecacheSound("physics/plastic/plastic_box_impact_hard4.wav");
end;

function SWEP:Initialize()
self:SetWeaponHoldType("fist");
self.LastHand = 0;
end;

function SWEP:DoPunchAnimation()
self.LastHand = math.abs(1 - self.LastHand);

local sequence = 4 + self.LastHand;
local viewModel = self.Owner:GetViewModel();

if ( IsValid(viewModel) ) then
viewModel:SetPlaybackRate(0.525);
viewModel:SetSequence(sequence);
end;
end;

function SWEP:PrimaryAttack()
if ( !IsFirstTimePredicted() ) then
return
end

self:SetNextPrimaryFire(CurTime() + self.Primary.Delay)
self:EmitSound("npc/vort/claw_swing"..math.random(1, 2)..".wav")

local damage = self.Primary.Damage

self:DoPunchAnimation()
self.Owner:SetAnimation(PLAYER_ATTACK1)
self.Owner:ViewPunch( Angle(self.LastHand + 2, self.LastHand + 5, 0.125) )

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);

if (distance > 72) then
return;
end;

self.Owner:ViewPunch( Angle(-1.3, 1.8, 0) );
self.Owner:EmitSound("physics/plastic/plastic_box_impact_hard"..math.r
andom(1, 4)..".wav");
self.Owner:SetAnimation(PLAYER_ATTACK1);

self:DoPunchAnimation();
self:SetNextSecondaryFire(CurTime() + 0.4);
self:SetNextPrimaryFire(CurTime() + 1);
end;
end;


Прошу помощи!
И сам вопрос:
Как изменить дальность удара/стрельбы.
Журналисты
0
Ветеран!
А ты делал оружее при помощи MakeRs_SWEP
Посетители
0
Новичок
Нет. Оружие уже было в самом gamemod'e!
Журналисты
0
Ветеран!
Тоесть оружее действует как чит?
Посетители
0
Новичок
Скорее не совсем.
Просто бьет дальше необходимого.
Журналисты
0
Ветеран!
matvei555,в строке дальности нет это во всех оружия.
Посетители
0
Новичок
Как изменить?
На других серверах все отлично.
Журналисты
0
Ветеран!
Тогда попробуй изменить Delay = 0.75.
Посетители
0
Новичок
Хорошо

Давай через скайп лучше.
Мой скайп:
matveila
Журналисты
0
Ветеран!
Ну ок.
Посетители
0
Новичок
Это изменило скорость удара.
Дистанция как и была.
Журналисты
0
Ветеран!
Вот инструкцыя:

Ammo - патроны
Damage-урон

и измени ClipSize = -1,.DefaultClip = -1,FOV = 48,по очереди должно пойти.
Посетители
0
Новичок
Не помогает
Журналисты
0
Ветеран!
Тогда всё что со словом SWEP. где цыфры меняй всё по очереди.
Посетители
0
Житель форума
matvei555, Обратись к тому кто умеет кодить пушки.
Посетители
0
Новичок
Тема закрыта.
Проблема решена.
data.endpos = data.start + self.Owner:GetAimVector()*108
108-дальность удара.
 
Тема закрыта.
  • Данная тема закрыта. Вы не можете отвечать в ней.