• Durgzmod Injector help1!!
    2 replies, posted
So, we have darkrp and durgz mod on our server and it all works like a charm, drug dealers can buy drugs, the only problem we are having is the injector can't pick up bought drugs and I'm guessing it is because dakrrp makes bought entities blocked so... I was wandering if you could help :) here is the injector code [lua] if (SERVER) then AddCSLuaFile( "shared.lua" ); end if ( CLIENT ) then SWEP.PrintName = "Injector/Lacer"; SWEP.Author = "cheesylard"; SWEP.DrawCrosshair = false; SWEP.SlotPos = 4; SWEP.Slot = 5; SWEP.WepSelectIcon = surface.GetTextureID( "vgui/entities/weapon_durgz" ); SWEP.BounceWeaponIcon = true; function SWEP:DrawHUD() local rand = math.random(0,2); local r,g,b r = 0; g = 0; b = 0; if(rand == 0)then r = 255; elseif(rand == 1)then g = 255; else b = 255; end surface.SetDrawColor(r,g,b,200) surface.DrawLine( ScrW()/2 - 10, ScrH()/2, ScrW()/2 + 10, ScrH()/2 ) surface.DrawLine( ScrW()/2, ScrH()/2-10, ScrW()/2, ScrH()/2+10 ) draw.DrawText(self:Drug(), "ScoreboardHead", ScrW()-10, 10, Color(255,255,255,255),TEXT_ALIGN_RIGHT) end end SWEP.Category = "Drugs"; SWEP.Spawnable = true; SWEP.AdminSpawnable = true; SWEP.ViewModel = "models/weapons/v_models/v_syringegun_medic.mdl"; SWEP.WorldModel = "models/weapons/w_models/w_syringegun.mdl"; SWEP.AutoSwitchTo = false; SWEP.AutoSwitchFrom = false; SWEP.Primary.ClipSize = -1; SWEP.Primary.DefaultClip = -1; SWEP.Primary.Automatic = true; SWEP.Primary.Ammo = "none"; SWEP.Primary.DelayHoldDown = 0.5; SWEP.Primary.DelayManual = 0.01; SWEP.Secondary.ClipSize = -1; SWEP.Secondary.DefaultClip = -1; SWEP.Secondary.Automatic = true; SWEP.Secondary.Ammo = "none"; SWEP.Secondary.DelayHoldDown = 1.2; SWEP.Secondary.DelayManual = 1.2; SWEP.Primary.Released = true; SWEP.Secondary.Released = true; SWEP.Loaded = ""; local drugs = {}; drugs['durgz_heroine'] = true; drugs['durgz_cocaine'] = true; drugs['durgz_weed'] = true; drugs['durgz_lsd'] = true; drugs['durgz_mushroom'] = true; drugs['durgz_cigarette'] = true; drugs['durgz_water'] = true; drugs['durgz_alcohol'] = true; drugs['durgz_aspirin'] = true; //??? drugs['durgz_pcp'] = true; drugs['durgz_ecstasy'] = true; drugs['durgz_meth'] = true; drugs['durgz_caffeine'] = true; drugs['durgz_opium'] = true; function SWEP:Initialize() self:SetLastAttack1(0); self:SetLastAttack2(0); self:SetDrug(""); end function SWEP:PrimaryAttack() if( self.Loaded == "" ) || self:LastAttack1() + self.Primary.DelayManual > CurTime() then return end local ent = self.Owner:GetEyeTrace().Entity; local pos = self.Owner:GetEyeTrace().HitPos; local shootit = true; if( self.Owner:EyePos():Distance(pos) < 150 )then if( drugs[ent:GetClass()] )then shootit = false; /*local drug = ents.Create(self.Loaded); drug:Spawn(); drug:SetColor(0,0,0,255); drug:SetModel(ent:GetModel()); constraint.NoCollide( drug, ent, 0, 0 ) drug:SetPos(ent:GetPos()); drug:SetAngles(ent:GetAngles()); drug:SetParent(ent);*/ table.insert(ent.LACED, self.Loaded); elseif( ent:IsPlayer() )then shootit = false; if( SERVER )then local drug = ents.Create(self.Loaded); drug:Spawn(); drug:Use(ent,ent); drug:Remove(); end local bullet = {} bullet.damage = 0; bullet.Num = 1; bullet.Src = self.Owner:GetShootPos(); bullet.Dir = self.Owner:GetAimVector(); bullet.Spread = Vector( 0, 0, 0 ); bullet.Tracer = 0; bullet.Force = 1; self.Owner:FireBullets(bullet) end end if( shootit && SERVER )then local ent = ents.Create(self.Loaded) ent:SetPos (self.Owner:EyePos() + (self.Owner:GetAimVector() * 16)); ent:SetAngles (self.Owner:EyeAngles()); ent:Spawn(); local phys = ent:GetPhysicsObject(); local shot_length = self.Owner:GetEyeTrace().HitPos:Length(); local normalized_aim = self.Owner:GetAimVector():GetNormalized(); phys:ApplyForceCenter (normalized_aim * (shot_length^3) ); end self.Weapon:EmitSound("weapons/syringegun_shoot.wav", 100, 100) self.Weapon:SendWeaponAnim(ACT_VM_PRIMARYATTACK); self.Loaded = ""; self:SetDrug(""); self:SetLastAttack1(CurTime()); self:SetLastAttack2(CurTime() + self.Primary.DelayManual - self.Secondary.DelayManual ); end function SWEP:SecondaryAttack() if( self:LastAttack2() + self.Secondary.DelayManual > CurTime() )then return end local doanim = false; local ent = self.Owner:GetEyeTrace().Entity; local pos = self.Owner:GetEyeTrace().HitPos; if( self.Loaded != "" )then if( SERVER )then local drug = ents.Create(self.Loaded); drug:SetPos( self.Owner:GetPos() + Vector(0,0,20) ); drug:Spawn(); end self.Loaded = ""; self:SetDrug(""); doanim = true; elseif( self.Owner:EyePos():Distance(pos) < 150 && ent && drugs[ent:GetClass()] )then if(ent:IsPlayer())then return; end self.Loaded = ent:GetClass(); self:SetDrug(ent.PrintName); if (SERVER) then ent:Remove(); end doanim = true; end if( doanim )then local curtime = CurTime(); self.Weapon:SendWeaponAnim(ACT_VM_RELOAD); self:SetLastAttack2(curtime); self:SetLastAttack1(curtime + self.Secondary.DelayManual - self.Primary.DelayManual ); end end function SWEP:LastAttack1() return self:GetNetworkedFloat("weapon_durgz_lastattack1") ; end function SWEP:LastAttack2() return self:GetNetworkedFloat("weapon_durgz_lastattack2") ; end function SWEP:SetLastAttack1(set) self:SetNetworkedFloat("weapon_durgz_lastattack1", set); end function SWEP:SetLastAttack2(set) self:SetNetworkedFloat("weapon_durgz_lastattack2", set); end function SWEP:SetDrug(set) self:SetNetworkedString("weapon_durgz_drug", set); end function SWEP:Drug(set) return self:GetNetworkedString("weapon_durgz_drug"); end [/lua] Thanks in advance, Gomedun
Theres a fix for the injector on the newest durgzmod download on gmod.org.
i have that version
Sorry, you need to Log In to post a reply to this thread.