• Damage doesnt register on entity.
    3 replies, posted
I am trying to make a destroyble barricade. I cant get it to detect the damage that the entity wouldve taken. Heres my client ,server, and shard files. Shared [CODE]/*--------------------------------------------------------------------------- This is an example of a custom entity. ---------------------------------------------------------------------------*/ ENT.Type = "anim" ENT.Base = "base_gmodentity" ENT.PrintName = "Money Printer" ENT.Author = "DarkRP Developers and <enter name here>" ENT.Spawnable = false ENT.AdminSpawnable = false function ENT:SetupDataTables() end [/CODE] Client [CODE]/*--------------------------------------------------------------------------- This is an example of a custom entity. ---------------------------------------------------------------------------*/ include("shared.lua") function ENT:Initialize() end function ENT:Draw() self:DrawModel() end function ENT:Think() end [/CODE] Server [CODE]/*--------------------------------------------------------------------------- This is an example of a custom entity. ---------------------------------------------------------------------------*/ AddCSLuaFile("cl_init.lua") AddCSLuaFile("shared.lua") include("shared.lua") local PrintMore function ENT:Initialize() self:SetModel("models/props_c17/consolebox01a.mdl") self:PhysicsInit(SOLID_VPHYSICS) self:SetMoveType(MOVETYPE_VPHYSICS) self:SetSolid(SOLID_VPHYSICS) local phys = self:GetPhysicsObject() phys:Wake() self.sound:PlayEx(1, 100) end function ENT:OnTakeDamage(dmg) print("test") self.damage = (self.damage or 100) - dmg:GetDamage() self:SetNWInt("health",self.damage) return end [/CODE]
Try this add to Initialize - [code] self:SetNWInt("health", 100) [/code] your OnTakeDamage hook - [code] function ENT:OnTakeDamage(dmg) print("test") self:SetNWInt("health", self:GetNWInt("health") - dmg:GetDamage()) end [/code] works for me
All the stuff you were talking about was handled from another file, shown below. What you showed didnt work for me either though. CODE FOR WHAT I SAID ABOVE [CODE]barricadeTypes = { {"models/props_c17/FurnitureCouch002a.mdl", 100,1}, {"models/props_c17/concrete_barrier001a.mdl",250,1}, {"models/props_c17/display_cooler01a.mdl",300,1}, {"models/props_borealis/bluebarrel001.mdl",50,1}, {"models/props_c17/furnitureStove001a.mdl",200,1} } colors = { {255,0,0,255}, {0,255,0,255}, {0,0,255,255}, {255,255,0,255}, {255,0,255,255}, {0,255,0,255}, {0,255,255,255}, {255,255,255,255}, {0,0,0,255} } function createBarricade(owner,type,colorr,colorg,colorb,x,y,z,rx,ry,rz) local barricade = ents.Create( "barricade" ) barricade:SetModel(barricadeTypes[type][1]) barricade:SetPos(Vector(x,y,z)) barricade:SetAngles(Angle(rx,ry,rz)) barricade:PhysicsInit( SOLID_VPHYSICS ) -- Make us work with physics, barricade:SetMoveType( MOVETYPE_VPHYSICS ) -- after all, gmod is a physics barricade:SetSolid( SOLID_VPHYSICS ) -- Toolbox local phys = barricade:GetPhysicsObject() if phys:IsValid() then phys:Wake() end if(colorr==nil and colandg==nil and colorb==nil)then local random = math.random(0,#colors) barricade:SetColor(colors[random][1],colors[random][2],colors[random][3],255) else barricade:SetColor(colorr,colorg,colorb,255) end barricade:SetNWEntity("owner",owner) barricade:SetNWInt("health",barricadeTypes[type][2]) barricade.damage = barricadeTypes[type][2] barricade:SetNWInt("maxhealth",barricadeTypes[type][2]) barricade.maxHealth = barricadeTypes[type][2] end hook.Add( "GravGunPickupAllowed", "checkIfOwner", function(ply,ent) if(ply==ent:GetNWEntity("owner"))then return true else return false end end ) createBarricade(nil,1,255,255,255,332.962982 ,350.273773, -83.968796,0,0,0)[/CODE]
bymp
Sorry, you need to Log In to post a reply to this thread.