Как сделать автоудаление поломанной техники на базе LVS ?
Делаю WW2RP, нужна помощь. На сервере есть танки (немецкие, французские, советские и т.д.) после их уничтожения они остаются в качестве груды металлолома, как сделать так, чтобы их удаляло автоматически ?
дай адон
для удаления при уничтожении (сразу)
при создании танка пример:
local tank=ents.Create("Tank_T34")--указан как пример
tank.DeleteOnExplode=true
Для создания таймера, где 30 это сколько времени перед удалением.
local tank=ents.Create("Tank_T34")--указан как пример
local old =tank.OnExploded
tank.OnExploded= function (self)
old(self)
timer.Simple(30,function()
if not IsValid(self) then return end
self:Remove()
end)
end
Хуков я не нашёл но если у вас не кастомный спавн то можно обойтись этим хуком
local GetClass = FindMetaTable("Entity").GetClass
hook.Add("InitPostEntity", "InitPostEntity_TankDest___Time", function()
hook.Add("OnEntityCreated", "TankDest___Time", function(ent)
if not Find(GetClass(ent), "lvs_wheeldrive") then return end
timer.Simple(0, function()
local old =ent.OnExploded
ent.OnExploded = function(self)
old(ent)
timer.Simple(30, function()
if not IsValid(ent) then return end
ent:Remove()
end)
end
end)
end)
end)
Всё это SV часть.
1 лайк
А это куда вписывать ? просто не очень понимаю
В SV часть.
lua/autorun/server, к примеру.
1 лайк
Отдельный создай и закинь туда
1 лайк
спасибо, завтра сделаю, если поможет, отпишу
Напридумывали . . .
Хук в хук жесть, что придумали. Зайдите хоть в LVS GitHub или декомпильте аддон и поищите хуки, которые они ранят.
Всё это любой lua/autroun/server называешь sv_deletelvs.lua
local tSimple = timer.Simple
local seconds = 30
hook.Add('LVS.OnVehicleDestroyed', 'LVS:DeleteDestroyed', function(ent)
tSimple(seconds, function()
if not IsValid(ent) then return end
ent:Remove()
end)
end)
1 лайк