diff options
Diffstat (limited to 'entities')
| -rw-r--r-- | entities/entities/gms_gravestone.lua | 40 |
1 files changed, 34 insertions, 6 deletions
diff --git a/entities/entities/gms_gravestone.lua b/entities/entities/gms_gravestone.lua index 76f46f0..3037e47 100644 --- a/entities/entities/gms_gravestone.lua +++ b/entities/entities/gms_gravestone.lua @@ -12,16 +12,31 @@ ENT.Model = "models/props_c17/gravestone004a.mdl" ENT.deathResources = {} ENT.deathWeapons = {} +local defaultRemoveTime = 120 // 2 minutes + + function ENT:OnInitialize() + self:SetNetworkedInt("removeTime", defaultRemoveTime) + + if (CLIENT) then + for k,v in pairs(GMS.graveTime) do + + if (LocalPlayer():IsUserGroup("Test")) then + self:SetNetworkedInt("removeTime", v['time']) + end + + end - self:SetMoveType( MOVETYPE_NONE ) + end + self:SetMoveType( MOVETYPE_NONE ) end function ENT:SetupDataTables() self:NetworkVar( "String", 0, "plName" ) + self:NetworkVar( "Int", 1, "removeTime" ) end @@ -46,8 +61,7 @@ if ( CLIENT ) then outline = true, } ) - - + function ENT:Draw() self:DrawModel() @@ -63,9 +77,16 @@ if ( CLIENT ) then local plName = self:GetplName() cam.Start3D2D(position + offset, angles, 0.1); + + rmTime = self:GetNetworkedInt("removeTime") + minutes = math.floor(rmTime/60) + seconds = rmTime - (minutes*60) + if (seconds < 10) then seconds = "0"..seconds end - draw.SimpleText(plName, "GraveFont", 80.5, 46, Color(255, 255, 255, 255), 1, 1); - + draw.SimpleText(plName, "GraveFont", 80.5, 40, Color(255, 255, 255, 255), 1, 1); + draw.SimpleText(minutes..":"..seconds, "GraveFont", 80.5, 105, Color(255, 255, 255, 255), 1, 1); + + cam.End3D2D(); end @@ -83,9 +104,16 @@ end if ( SERVER ) then function ENT:Think() - if (table.Count(self.deathWeapons) == 0 and table.Count(self.deathResources) == 0) then + if ((table.Count(self.deathWeapons) == 0 and table.Count(self.deathResources) == 0) || self:GetNetworkedInt("removeTime") == 0) then self:Remove() end + + self:SetNetworkedInt("removeTime", self:GetNetworkedInt("removeTime")-1) + + + self:NextThink( CurTime() + 1 ) + return true -- Note: You need to return true to override the default next think timew + end end |
