41 lines
1.0 KiB
Plaintext
41 lines
1.0 KiB
Plaintext
|
local HI = has_alife_info
|
||
|
local GI = give_info
|
||
|
function NI(str)
|
||
|
return not (has_alife_info(str))
|
||
|
end
|
||
|
|
||
|
local storage_data = {}
|
||
|
|
||
|
function clean_mess(actor,smart,p)
|
||
|
if (HI("remove_objects")) then
|
||
|
return
|
||
|
end
|
||
|
local zone = db.zone_by_name["yan_attack_zombies_space_restrictor"]
|
||
|
if (smart and zone) then
|
||
|
local section_list = {
|
||
|
["physic_destroyable_object"] = true,
|
||
|
["explosive_fuelcan"] = true,
|
||
|
}
|
||
|
for id = 1,65534 do
|
||
|
local se = alife():object(id)
|
||
|
if (se and section_list[se:section_name()] and simulation_objects.is_on_the_same_level(se,smart) and zone:inside(se.position)) then
|
||
|
safe_release_manager.release(se)
|
||
|
printf("Release [%s]",se:name())
|
||
|
end
|
||
|
end
|
||
|
GI("remove_objects")
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function save_state(m_data)
|
||
|
m_data.gameplay_labx16_redone_storage_data = storage_data
|
||
|
end
|
||
|
|
||
|
function load_state(m_data)
|
||
|
storage_data = m_data.gameplay_labx16_redone_storage_data or {}
|
||
|
end
|
||
|
|
||
|
function on_game_start()
|
||
|
RegisterScriptCallback("save_state",save_state)
|
||
|
RegisterScriptCallback("load_state",load_state)
|
||
|
end
|