Как сделать так что бы из за дамага энтити ломалось(исчезало)
А потом по таймеру появлялось на том же месте?
Памагите:skull:
Странно что не ответили, у энтити уже есть хп или нужно регистрировать отдельно?
Как сделать удаление я понял, все сделал, а как сделать что бы оно появлялось на том же месте по таймеру?
перед удалением:
local ang=ent:GetAngles()
local pos=ent:GetPos()
local class=ent:GetClass()
ent:Remove()
timer.Simple(60,function()
local ent=ents.Create(class)
ent:SetAngle(ang)
ent:SetPos(pos)
ent:Spawn()
end)
no work,в ициализацию вставлял не робит,вставил в ontake damage урон перестал проходить.
Держи код мб поймёшь в чём проблема
AddCSLuaFile(‘cl_init.lua’)
AddCSLuaFile(‘shared.lua’)
include(‘shared.lua’)
function ENT:Initialize()
self:SetModel(‘models/props/de_inferno/tree_small.mdl’)
self:PhysicsInit(SOLID_VPHYSICS)
self:SetMoveType(MOVETYPE_NONE)
self:SetSolid(SOLID_VPHYSICS)
self:SetHealth(100)
end
function ENT:OnTakeDamage(dmg)
self:SetHealth(self:Health() - dmg:GetDamage())
if not (self:Health() <= 0) then return end
self:Remove()
end
Решение:
function ENT:OnTakeDamage(dmg)
self:SetHealth(self:Health() - dmg:GetDamage())
if self:Health() <= 0 then
self:Remove()
local ang=self:GetAngles()
local pos=self:GetPos()
local class=self:GetClass()
timer.Simple(5,function()
local ent = ents.Create(class)
ent:SetAngles(ang)
ent:SetPos(pos)
ent:Spawn()
end)
end
end
При поддержке Galo4ka.
В коде попытка обращение в объекту, который был удалён.
Вот изменённый код
function ENT:OnTakeDamage(dmg)
self:SetHealth(self:Health() - dmg:GetDamage())
if self:Health() <= 0 then
local class, pos, ang = self:GetClass(), self:GetPos(), self:GetAngles()
self:Remove()
timer.Simple(5,function()
local ent = ents.Create(class)
ent:SetPos(pos)
ent:SetAngles(ang)
ent:Spawn()
end)
end
end
Что ты высер брат, дерево будет удаляться после одного удара, ты ваще понял что ты написал?
Почему она должна удаляться после одного удара?
У человека была проверка if self:Health() > 0 then
А сейчас изменил.