• Swep model appearing in torso rather than hands
    4 replies, posted
I'm editing the default lock pick swep for DarkRP and every time I change the model it appears in my torso rather than my hands. AddCSLuaFile() if CLIENT then     SWEP.PrintName = "Lock Pick 3"     SWEP.Slot = 5     SWEP.SlotPos = 1     SWEP.DrawAmmo = false     SWEP.DrawCrosshair = false end -- Variables that are used on both client and server SWEP.Author = "DarkRP Developers" SWEP.Instructions = "Left or right click to pick a lock" SWEP.Contact = "" SWEP.Purpose = "" SWEP.IsDarkRPLockpick = true SWEP.ViewModelFOV = 62 SWEP.ViewModelFlip = false SWEP.ViewModel = Model("models/props_c17/tools_pliers01a.mdl") SWEP.WorldModel = Model("models/props_c17/tools_pliers01a.mdl") SWEP.UseHands = true SWEP.Spawnable = true SWEP.AdminOnly = true SWEP.Category = "DarkRP (Utility)" SWEP.Sound = Sound("physics/wood/wood_box_impact_hard3.wav") SWEP.Primary.ClipSize = -1      -- Size of a clip SWEP.Primary.DefaultClip = 0        -- Default number of bullets in a clip SWEP.Primary.Automatic = false      -- Automatic/Semi Auto SWEP.Primary.Ammo = "" SWEP.Secondary.ClipSize = -1        -- Size of a clip SWEP.Secondary.DefaultClip = -1     -- Default number of bullets in a clip SWEP.Secondary.Automatic = false        -- Automatic/Semi Auto SWEP.Secondary.Ammo = "" --[[------------------------------------------------------- Name: SWEP:Initialize() Desc: Called when the weapon is first loaded ---------------------------------------------------------]] function SWEP:Initialize()     self:SetHoldType("slam") end function SWEP:SetupDataTables()     self:NetworkVar("Bool", 0, "IsLockpicking")     self:NetworkVar("Float", 0, "LockpickStartTime")     self:NetworkVar("Float", 1, "LockpickEndTime")     self:NetworkVar("Float", 2, "NextSoundTime")     self:NetworkVar("Int", 0, "TotalLockpicks")     self:NetworkVar("Entity", 0, "LockpickEnt") end --[[------------------------------------------------------- Name: SWEP:PrimaryAttack() Desc: +attack1 has been pressed ---------------------------------------------------------]] function SWEP:PrimaryAttack()     self:SetNextPrimaryFire(CurTime() + 2)     if self:GetIsLockpicking() then return end     self:GetOwner():LagCompensation(true)     local trace = self:GetOwner():GetEyeTrace()     self:GetOwner():LagCompensation(false)     local ent = trace.Entity     if not IsValid(ent) or ent.DarkRPCanLockpick == false then return end     local canLockpick = hook.Call("canLockpick", nil, self:GetOwner(), ent, trace)     if canLockpick == false then return end     if canLockpick ~= true and (             trace.HitPos:DistToSqr(self:GetOwner():GetShootPos()) > 10000 or             (not GAMEMODE.Config.canforcedooropen and ent:getKeysNonOwnable()) or             (not ent:isDoor() and not ent:IsVehicle() and not string.find(string.lower(ent:GetClass()), "vehicle") and (not GAMEMODE.Config.lockpickfading or not ent.isFadingDoor))         ) then         return     end     self:SetHoldType("revolver")     self:SetIsLockpicking(true)     self:SetLockpickEnt(ent)     self:SetLockpickStartTime(CurTime())     local endDelta = hook.Call("lockpickTime", nil, self:GetOwner(), ent) or util.SharedRandom("DarkRP_Lockpick" .. self:EntIndex() .. "_" .. self:GetTotalLockpicks(), 20, 20)     self:SetLockpickEndTime(CurTime() + endDelta)     self:SetTotalLockpicks(self:GetTotalLockpicks() + 1)     if IsFirstTimePredicted() then         hook.Call("lockpickStarted", nil, self:GetOwner(), ent, trace)     end     if CLIENT then         self.Dots = ""         self.NextDotsTime = SysTime() + 0.5         return     end     local onFail = function(ply) if ply == self:GetOwner() then hook.Call("onLockpickCompleted", nil, ply, false, ent) end end     -- Lockpick fails when dying or disconnecting     hook.Add("PlayerDeath", self, fc{onFail, fn.Flip(fn.Const)})     hook.Add("PlayerDisconnected", self, fc{onFail, fn.Flip(fn.Const)})     -- Remove hooks when finished     hook.Add("onLockpickCompleted", self, fc{fp{hook.Remove, "PlayerDisconnected", self}, fp{hook.Remove, "PlayerDeath", self}}) end function SWEP:Holster()     self:SetIsLockpicking(false)     self:SetLockpickEnt(nil)     return true end function SWEP:Succeed()     self:SetHoldType("slam")     local ent = self:GetLockpickEnt()     self:SetIsLockpicking(false)     self:SetLockpickEnt(nil)     if not IsValid(ent) then return end     local override = hook.Call("onLockpickCompleted", nil, self:GetOwner(), true, ent)     if override then return end     if ent.isFadingDoor and ent.fadeActivate and not ent.fadeActive then         ent:fadeActivate()         if IsFirstTimePredicted() then timer.Simple(5, function() if IsValid(ent) and ent.fadeActive then ent:fadeDeactivate() end end) end     elseif ent.Fire then         ent:keysUnLock()         ent:Fire("open", "", .6)         ent:Fire("setanimation", "open", .6)     end end function SWEP:Fail()     self:SetIsLockpicking(false)     self:SetHoldType("slam")     hook.Call("onLockpickCompleted", nil, self:GetOwner(), false, self:GetLockpickEnt())     self:SetLockpickEnt(nil) end local dots = {     [0] = ".",     [1] = "..",     [2] = "...",     [3] = "" } function SWEP:Think()     if not self:GetIsLockpicking() or self:GetLockpickEndTime() == 0 then return end     if CurTime() >= self:GetNextSoundTime() then         self:SetNextSoundTime(CurTime() + 1)         local snd = {1,3,4}         self:EmitSound("weapons/357/357_reload" .. tostring(snd[math.Round(util.SharedRandom("DarkRP_LockpickSnd" .. CurTime(), 1, #snd))]) .. ".wav", 50, 100)     end     if CLIENT and (not self.NextDotsTime or SysTime() >= self.NextDotsTime) then         self.NextDotsTime = SysTime() + 0.5         self.Dots = self.Dots or ""         local len = string.len(self.Dots)         self.Dots = dots[len]     end     local trace = self:GetOwner():GetEyeTrace()     if not IsValid(trace.Entity) or trace.Entity ~= self:GetLockpickEnt() or trace.HitPos:DistToSqr(self:GetOwner():GetShootPos()) > 10000 then         self:Fail()     elseif self:GetLockpickEndTime() <= CurTime() then         self:Succeed()     end end function SWEP:DrawHUD()     if not self:GetIsLockpicking() or self:GetLockpickEndTime() == 0 then return end     self.Dots = self.Dots or ""     local w = ScrW()     local h = ScrH()     local x, y, width, height = w / 2 - w / 10, h / 2 - 60, w / 5, h / 15     draw.RoundedBox(8, x, y, width, height, Color(10,10,10,120))     local time = self:GetLockpickEndTime() - self:GetLockpickStartTime()     local curtime = CurTime() - self:GetLockpickStartTime()     local status = math.Clamp(curtime / time, 0, 1)     local BarWidth = status * (width - 16)     local cornerRadius = math.Min(8, BarWidth / 3 * 2 - BarWidth / 3 * 2 % 2)     draw.RoundedBox(cornerRadius, x + 8, y + 8, BarWidth, height - 16, Color(255 - (status * 255), 0 + (status * 255), 0, 255))     draw.DrawNonParsedSimpleText(DarkRP.getPhrase("picking_lock") .. self.Dots, "Trebuchet24", w / 2, y + height / 2, Color(255, 255, 255, 255), 1, 1) end function SWEP:SecondaryAttack()     self:PrimaryAttack() end DarkRP.hookStub{     name = "canLockpick",     description = "Whether an entity can be lockpicked.",     parameters = {         {             name = "ply",             description = "The player attempting to lockpick an entity.",             type = "Player"         },         {             name = "ent",             description = "The entity being lockpicked.",             type = "Entity"         },         {             name = "trace",             description = "The trace result.",             type = "table"         }     },     returns = {         {             name = "allowed",             description = "Whether the entity can be lockpicked",             type = "boolean"         }     },     realm = "Shared" } DarkRP.hookStub{     name = "lockpickStarted",     description = "Called when a player is about to pick a lock.",     parameters = {         {             name = "ply",             description = "The player that is about to pick a lock.",             type = "Player"         },         {             name = "ent",             description = "The entity being lockpicked.",             type = "Entity"         },         {             name = "trace",             description = "The trace result.",             type = "table"         }     },     returns = {},     realm = "Shared" } DarkRP.hookStub{     name = "onLockpickCompleted",     description = "Result of a player attempting to lockpick an entity.",     parameters = {         {             name = "ply",             description = "The player attempting to lockpick the entity.",             type = "Player"         },         {             name = "success",             description = "Whether the player succeeded in lockpicking the entity.",             type = "boolean"         },         {             name = "ent",             description = "The entity that was lockpicked.",             type = "Entity"         },     },     returns = {         {             name = "override",             description = "Return true to override default behaviour, which is opening the (fading) door.",             type = "boolean"         }     },     realm = "Shared" } DarkRP.hookStub{     name = "lockpickTime",     description = "The length of time, in seconds, it takes to lockpick an entity.",     parameters = {         {             name = "ply",             description = "The player attempting to lockpick an entity.",             type = "Player"         },         {             name = "ent",             description = "The entity being lockpicked.",             type = "Entity"         },     },     returns = {         {             name = "time",             description = "Seconds in which it takes a player to lockpick an entity",             type = "number"         }     },     realm = "Shared" } Not sure what I am doing wrong on this.
Then u shouldn't pick paid job on gmodstore I guess Steam Community
That's why I am asking, I told the guy that It would be easy and that I could do it quickly because I have changed the model before but this time I have literally no clue wtf I did wrong.
but yea If I see it right, u dont have any SWEP construction kit code in here. And because you are using not a weapon model (which have rigged bones to be used as a weapons) this will appear onto your torso :^) Have a good day
Thank you, I've learned my lesson to read the entire post before I jump to conclusion that I can do it.
Sorry, you need to Log In to post a reply to this thread.