Удаление выпавших предметов
Примечание!!!
Пример работы консольной команды
Удаление предметов (В радиусе)
Этот скрипт удаляет все предметы, лежащие на земле в радиусе 1000 блоков от игрока. Он используется, например, для очистки карты от ненужных предметов, чтобы снизить нагрузку на процессор или устранить визуальный беспорядок.
Важно: Этот скрипт нельзя запускать бездумно, так как он необратимо удаляет предметы на земле.
/c local player = game.player
if player then
for k, v in pairs(player.surface.find_entities_filtered{type="item-entity",
position=player.position, radius=1000}) do
v.destroy()
end
end
⠀⠀⠀Описание кода:
/c local player = game.player
Эта строка создает локальную переменную player и присваивает ей значение текущего игрока в игре. Объект game.player содержит данные о текущем игроке, например его положение.
if player then
Проверяется, существует ли объект игрока. Это важно, чтобы избежать ошибок, если скрипт будет выполнен в контексте, где игрок не определен.
for k, v in pairs(player.surface.find_entities_filtered{type="item-entity", position=player.position, radius=1000}) do
- player.surface: Получает поверхность (карту), на которой находится игрок.
- .find_entities_filtered{}: Находит все объекты на поверхности, соответствующие заданным фильтрам.
- type="item-entity": Фильтр по типу объектов — здесь это предметы, которые лежат на земле.
- position=player.position: Начальная точка поиска — текущая позиция игрока.
- radius=1000: Радиус поиска в 1000 единиц от позиции игрока.
- Цикл for перебирает найденные объекты, передавая их в переменную v.
v.destroy()
Для каждого найденного объекта вызывается метод destroy(), который удаляет объект с карты.
end
Удаление предметов (По всей карте)
Код удаляет все выброшенные предметы (или "предметные сущности") на поверхности, где находится текущий игрок. Это полезно для очистки мира от нежелательных или случайно выброшенных предметов.
Важно: Этот скрипт нельзя запускать бездумно, так как он необратимо удаляет предметы на земле.
Важно: Этот скрипт нельзя запускать бездумно, так как он необратимо удаляет предметы на земле.
/c local player = game.player
if player then
for k, v in pairs(player.surface.find_entities_filtered{type="item-entity"}) do
v.destroy()
end
end
⠀⠀⠀Описание кода:
/c local player = game.player
Эта строка создает локальную переменную player, которая ссылается на текущего игрока, выполняющего команду. Если команда выполняется от лица игрока, то game.player будет ссылаться на объект игрока.
if player then
Если объект игрока существует, то выполнение кода продолжается. Это предохраняет от ошибок, если команда будет вызвана вне контекста игрока.
for k, v in pairs(player.surface.find_entities_filtered{type="item-entity"}) do
Этот цикл ищет на текущей поверхности игрока (player.surface) все сущности, которые имеют тип item-entity. Эти сущности представляют собой предметы, выброшенные на землю (например, из инвентаря или разрушенных объектов).
v.destroy()
Для каждого найденного объекта (представленного переменной v) вызывается метод destroy(), который удаляет этот объект из игры.
Дополнительное руководство
Вступай в ТГ группу: t.me/FCTostin
This guide was created by its original author on the Steam Community. Are you the author and want it removed? Request removal.