1
0
mirror of https://github.com/Wyrrrd/Gun_Turret_Alerts.git synced 2026-06-30 20:10:44 +02:00

Compare commits

..

57 Commits

Author SHA1 Message Date
Wyrrrd c08b964a8d Update README.md 2024-12-19 19:41:35 +01:00
Wyrrrd 771c0f2950 Increment version 2024-12-19 19:38:14 +01:00
Factorio Mods Helper 2515aafd7b Update translations from Crowdin 2024-12-14 04:33:35 +00:00
Factorio Mods Helper 4ebeb9c664 Update translations from Crowdin 2024-11-16 04:27:28 +00:00
Wyrrrd 86820c48c3 Up version 2024-11-10 15:06:40 +01:00
Wyrrrd 037d321604 Fix empty table cleanup 2024-11-10 15:01:04 +01:00
Wyrrrd c837b99a01 Handle surface workaround on built, cleanup empty global tables 2024-11-10 14:54:21 +01:00
Wyrrrd 4c8b05b930 Small cleanup and commenting 2024-11-10 11:49:00 +01:00
Wyrrrd d6d426ddc7 Mutlisurface support and some fixes 2024-11-10 01:17:47 +01:00
Wyrrrd 2b91680aa2 Fix surface handling fuckup for real 2024-11-09 17:55:59 +01:00
Wyrrrd 861dd1fa7d Add extra safety checks 2024-11-09 17:05:03 +01:00
Wyrrrd b6df0ba763 Fix surface handling fuckup 2024-11-09 16:14:34 +01:00
Factorio Mods Helper e99c0e0505 Update translations from Crowdin 2024-11-09 04:27:21 +00:00
Wyrrrd 3c86e315f4 Fix crash on invalid entity 2024-11-09 00:01:41 +01:00
Wyrrrd 3c2316878a Quick fix setting for manual turret fill 2024-11-08 17:09:49 +01:00
Wyrrrd ad2e1d597b Fix typo 2024-11-06 21:50:31 +01:00
Wyrrrd 0eabcfc23e Add surface cleanup 2024-11-06 20:30:08 +01:00
Wyrrrd 4bf3081c31 Update README.md 2024-11-06 13:13:10 +01:00
Wyrrrd c7278419c5 Update README.md 2024-11-06 13:07:56 +01:00
Wyrrrd 4bf505130f Update README.md 2024-11-06 13:07:31 +01:00
Wyrrrd 2608b11ead Added russian locale, small fixes 2024-11-06 13:05:51 +01:00
Factorio Mods Helper 7288dd8af7 Update translations from Crowdin 2024-11-02 04:27:11 +00:00
Wyrrrd 00a63f81c8 Update README.md 2024-10-28 22:35:49 +01:00
Wyrrrd 9d7b4f4c09 Update README.md 2024-10-28 22:33:38 +01:00
Wyrrrd d5a1f47667 Update README.md 2024-10-27 22:33:41 +01:00
Wyrrrd 19e8d91e7b Fix locales (again) 2024-10-27 22:28:45 +01:00
Wyrrrd 95ba24d2f9 Migration to 2.0
- Renamed car group to vehicle group in all languages
- Added spidertrons to vehicle group
2024-10-27 22:24:16 +01:00
Wyrrrd 0b343029e9 Added static script event listeners 2023-03-12 23:15:14 +01:00
Wyrrrd 445691bd04 Update README.md 2022-08-07 17:31:55 +02:00
Wyrrrd 9df748dead Add artillery alert group 2022-08-07 17:24:46 +02:00
Wyrrrd ec0564f167 Fix migrations folder location 2022-08-07 16:28:15 +02:00
Wyrrrd c261e1bc5c Update README.md 2021-08-08 09:51:24 +00:00
Wyrrrd ba581ac1a1 Fixed modes not being translated 2021-08-07 16:01:26 +02:00
Wyrrrd d7f853f1a5 Added french locale (by d0ob) 2021-08-07 00:08:34 +02:00
Wyrrrd 9ee6474408 Merge pull request #3 from snouz/master
Adaptive threshold based on automated ammo count
2021-06-22 15:59:46 +00:00
snouz 33c9bbe783 Fixed missing signal names 2021-06-22 17:13:30 +02:00
snouz ad4ae53c97 Adaptive threshold based on automated ammo count
-Threshold for alert comes is never higher than then number of ammo loaded by an inserter.
-This fixes annoying alerts in Space Exploration's meteor defence, where the default ammo loaded is 4, and fixes the problem for any other mod.
2021-06-21 15:06:34 +02:00
Wyrrrd 9545d088eb Fix crash on load
"selected" mode defaulting to first slot now
2021-04-22 09:14:37 +02:00
Wyrrrd 87c2c17d72 Scan rework, car fix & multislot fix
- only scanning for forces with connected players
- only scanning on init, updating with entities when they are built/removed
- no alerts for cars without guns
- added multislot behaviour
2021-04-21 10:28:24 +02:00
Wyrrrd fa2781aee2 Update control.lua
- commentary
- fix for multislot turrets
- small fixes
2021-04-20 10:07:26 +02:00
Wyrrrd 72e8b5509d Update control.lua 2021-04-20 09:24:40 +02:00
Wyrrrd 15a8590a76 Some quick fixes 2021-04-19 23:42:11 +02:00
Wyrrrd 0d7676d71e Added multislot logic for cars
- "correctly" handling multiple ammo slots (three solutions)
- not scanning surfaces twice anymore
2021-04-19 22:38:50 +02:00
Wyrrrd 48bcdc2ba5 Update README.md 2021-04-02 20:22:28 +02:00
Wyrrrd bd8049999b Update README.md 2021-04-02 20:16:06 +02:00
Wyrrrd 846fb1412e Fixed migration breaking multiplayer
Removed migration, fixed missing car index through on_config_changed
2021-04-02 14:20:20 +02:00
Wyrrrd 2b5f19052e Localisation tweaks
- Added alerts to locale
- Customized alerts with localised name of entities
2021-03-29 09:42:18 +02:00
Wyrrrd db141f81ca Icon meta changes 2021-03-29 08:50:35 +02:00
Wyrrrd 1eb12f0f28 Merge pull request #2 from snouz/master
New ammo icons, new thumbnail
2021-03-29 06:44:45 +00:00
snouz eb3b6cf0e6 graphics
-mod icon
-actual yellow and red ammo alerts (yellow derivated from existing vanilla ammo alert)
2021-03-29 01:24:55 +02:00
Wyrrrd 7f0fa8bbcf Fix game crash on existing save 2021-03-28 17:49:53 +02:00
Wyrrrd d2bdd2663f Update README.md 2021-03-28 15:38:53 +02:00
Wyrrrd f42afe756a Added car ammo alerts 2021-03-28 15:36:13 +02:00
Wyrrrd 52e8d69938 Version bump for base game 1.1 2020-12-02 18:58:24 +01:00
Wyrrrd 230c093dc8 Update README.md
Matched to mod portal description
2020-03-27 12:57:17 +01:00
Wyrrrd ff7c5aab24 Performance
- moved turret index init to on_init
- migrated on_event to on_nth_tick
- typo in changelog
2020-03-21 14:20:23 +01:00
Wyrrrd 8a707a0c8b Bugfix & style
- added initialization of turret index
- removed unnecessary variable
2020-03-21 14:00:26 +01:00
15 changed files with 642 additions and 44 deletions
+1
View File
@@ -1 +1,2 @@
*.zip *.zip
.vscode/*
+8 -6
View File
@@ -1,10 +1,12 @@
# Gun Turret Alerts # Ammo Alerts
<img src=https://raw.githubusercontent.com/Wyrrrd/Gun_Turret_Alerts/master/thumbnail.png width="128" height="128"> <img src=https://raw.githubusercontent.com/Wyrrrd/Gun_Turret_Alerts/master/thumbnail.png width="128" height="128">
(Please note: This is a quick and dirty port to 0.18. As soon as the original is ported to 0.18, this will be removed.) ### Description
Adds alerts when a gun turret, vehicle or artillery is out of ammo or has low ammo. The amount of ammo considered low can be configured. Alerts for turrets, vehicles and artillery can be disabled separately. Behaviour on vehicles with multiple ammo slots can be configured (for all vehicles at once). Alerts on other planets or space platforms can be enabled.
Description ### Locale
- Adds alerts when a gun turret is out of ammo or has low ammo. If you want to contribute by translating this mod, you can view the existing translations on [Crowdin](https://crowdin.com/project/factorio-mods-localization). I'd be happy to add your language to the next release.
Credit: ### Credit
- Thanks to [unhott](https://mods.factorio.com/user/unhott) for the [original mod](https://mods.factorio.com/mod/GunTurretAlerts). Thanks to [unhott](https://mods.factorio.com/user/unhott) for the [original mod](https://mods.factorio.com/mod/GunTurretAlerts).
Thanks to [snouz](https://mods.factorio.com/user/snouz) for the new icons and thumbnail.
+145 -1
View File
@@ -1,8 +1,152 @@
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Version: 2.0.8
Date: 2024-12-19
Changes:
---------------------------------------------------------------------------------------------------
Version: 2.0.7
Date: 2024-11-10
Optimizations:
- Add cleanup of empty global tables
- Move global table creation from on_surface_created to on_built_entity to save on event
listeners
- Review force rename/removal handling
- Code cleanup and comments
---------------------------------------------------------------------------------------------------
Version: 2.0.6
Date: 2024-11-10
Features:
- Add support to enable alerts for other surfaces (before, alerts were only generated for the
current surface)
Bugfixes:
- Fix additional surface handling (when a new surface was created, from then on entities were
not added to the global list until all players of a force leave and join again, which is
technically impossible in single player)
---------------------------------------------------------------------------------------------------
Version: 2.0.5
Date: 2024-11-09
Bugfixes:
- Really fix the crash on surface deletion
---------------------------------------------------------------------------------------------------
Version: 2.0.4
Date: 2024-11-09
Bugfixes:
- Fix another crash on surface deletion
---------------------------------------------------------------------------------------------------
Version: 2.0.3
Date: 2024-11-08
Bugfixes:
- Fixed crash on invalid entity
---------------------------------------------------------------------------------------------------
Version: 2.0.2
Date: 2024-11-08
Changes:
- Cleanup tracking table on surface rename/deletion
Bugfixes:
- Quick fix setting for manual turret fill
---------------------------------------------------------------------------------------------------
Version: 2.0.1
Date: 2024-11-06
Locale:
- Added ukranian locale (thanks to Met_en_Bouldry)
- Added russian locale (thanks to eugenikus8)
---------------------------------------------------------------------------------------------------
Version: 2.0.0
Date: 2024-10-27
Changes:
- Migration to base game 2.0
Locale:
- Renamed car group to vehicle group in all languages
Features:
- Added spidertrons to vehicle group
---------------------------------------------------------------------------------------------------
Version: 1.1.11
Date: 2023-03-12
Bugfixes:
- Added static script event listeners to fix missing alerts for script built entities
---------------------------------------------------------------------------------------------------
Version: 1.1.10
Date: 2022-08-07
Features:
- Added artillery as third alert group (off by default)
---------------------------------------------------------------------------------------------------
Version: 1.1.9
Date: 2021-08-07
Locale:
- Fixed modes not being translated
---------------------------------------------------------------------------------------------------
Version: 1.1.8
Date: 2021-08-06
Locale:
- Addedd french locale (thanks to d0ob)
---------------------------------------------------------------------------------------------------
Version: 1.1.7
Date: 2021-06-21
Compatibility:
- Added compatibility to Space Exploration's Meteor defence and other mods (no longer displays
alert when ammo is dynamically loaded) (by snouz)
---------------------------------------------------------------------------------------------------
Version: 1.1.6
Date: 2021-04-22
Bugfixes:
- Defaulting multislot mode "selected" to first slot, if no slot selected. Defaulting to
"added" mode caused a crash.
Scripting:
- Simplified some boolean logic misusing it as ternary
---------------------------------------------------------------------------------------------------
Version: 1.1.5
Date: 2021-04-21
Features:
- Added config option to change behaviour on multiple ammo slots (mainly for cars)
Bugfixes:
- Fixed only checking first ammo slot in cars
- Fixed modded cars without guns causing ammo empty alerts (AAI)
Optimisations:
- Only scanning surfaces for forces with connected players
- Only scanning surfaces on init now, updating by single entities as they are build or removed
- Only scanning surfaces once instead of twice (once for turrets and once for cars)
---------------------------------------------------------------------------------------------------
Version: 1.1.4
Date: 2021-04-02
Bugfixes:
- Fix multiplayer incompatibility by clearing index on game version/mod version/config change
Locale:
- Added alerts to locale
- Customized alerts with localised name of entities
---------------------------------------------------------------------------------------------------
Version: 1.1.3
Date: 2021-03-29
Changes:
- Icon and message overhaul (by snouz)
---------------------------------------------------------------------------------------------------
Version: 1.1.2
Date: 2021-03-28
Bugfixes:
- Added migration to add car index to existing saves
---------------------------------------------------------------------------------------------------
Version: 1.1.1
Date: 2021-03-28
Changes:
- Added car ammo alerts, if car has guns (this should apply to modded cars and tanks)
- Added config options to display/hide car and/or turret ammo alerts
- Added german locale
- Mod display name is now less focused on turrets
---------------------------------------------------------------------------------------------------
Version: 1.1.0
Date: 2020-12-02
Changes:
- Version bump for base game 1.1
---------------------------------------------------------------------------------------------------
Version: 0.18.3
Date: 2020-03-21
Changes:
- Migrated on_event to on_nth_tick for performance
Bugfixes:
- Added missing initialization of turret index
---------------------------------------------------------------------------------------------------
Version: 0.18.2 Version: 0.18.2
Date: 2020-03-20 Date: 2020-03-20
Changes: Changes:
- Redesigned surface handling again to be more perfomant - Redesigned surface handling again to be more performant
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Version: 0.18.1 Version: 0.18.1
Date: 2020-03-19 Date: 2020-03-19
+265 -23
View File
@@ -1,36 +1,278 @@
--control.lua --control.lua
--This mod scans the map for gun-turrets and places alerts when turrets are low. --This mod scans the map for gun-turrets, vehicles and artillery and places alerts when they are low on ammo.
script.on_event({defines.events.on_tick}, function (event) --util functions
--Every minute the surface is rescanned for ammo-turret type entities. This is stored in the global table.
if event.tick%3600 == 0 or global.turret_entities == nil then function table_is_empty(table)
local planet = game.surfaces for _,_ in pairs(table) do
for index,_ in pairs(planet) do return false
global.turret_entities[index] = planet[index].find_entities_filtered{type = "ammo-turret"} end
return true
end
--local functions
local get_ammo_flag = {
--Applies mode to inventory, calculates and returns respective inventory flags
--Uses boolean return value as ternary, with true = no ammo, false = low ammo and nil = enough ammo
["added"] = function (inventory,player_threshold)
if inventory.is_empty() then
return true
else
local ammo_count = 0
for i=1, #inventory do
ammo_count = ammo_count + inventory[i].count
end
if ammo_count == 0 then
return true
elseif ammo_count < player_threshold then
return false
end end
end end
if event.tick%600 == 0 then end,
--Every 10 seconds recheck and give alerts to players for ammo-turret entities on the same force as them.
["individually"] = function (inventory,player_threshold)
if inventory.is_empty() then
return true
else
for i=1, #inventory do
if inventory[i].count == 0 then
return true
elseif inventory[i].count < player_threshold then
return false
end
end
end
end,
["selected"] = function (inventory,player_threshold,gun_index)
if inventory.is_empty() then
return true
else
if not gun_index then
-- default to first slot if no slot selected (probably multislot turret)
gun_index = 1
end
if inventory[gun_index].count == 0 then
return true
elseif inventory[gun_index].count < player_threshold then
return false
end
end
end
}
local function add_entity_to_list(event)
--Whenever an ammo-turret, vehicle or artillery type entity is built, add it to the global table.
local entity = event.created_entity or event.entity
local index = entity.surface.name.."_"..entity.force.name
-- Add table if it doesn't exist and a player of this force is connected
if entity.force.connected_players[1] and not storage.ammo_entities[index] then
storage.ammo_entities[index] = {}
end
-- Add entity to table
if storage.ammo_entities[index] then
table.insert(storage.ammo_entities[index], entity)
end
end
local function remove_entity_from_list(event)
--Whenever an ammo-turret, vehicle or artillery type entity dies / is mined, remove it from the global table.
local index = event.entity.surface.name.."_"..event.entity.force.name
if storage.ammo_entities[index] then
for i,entity in pairs(storage.ammo_entities[index]) do
if (entity == event.entity) then
table.remove(storage.ammo_entities[index], i)
break
end
end
end
end
local function add_force_to_list(event)
--Whenever a player of an unscanned force joins the game or a force is created, add all ammo-turret, vehicle or artillery type entities of that force to the global table.
local player, force
if event.player_index then
player = game.get_player(event.player_index)
if player and player.valid then
force = player.force
end
elseif event.force then
force = event.force
if force.valid and force.connected_players then
player = force.connected_players[1]
end
end
if player and player.valid and force and force.valid and not storage.ammo_entities[player.surface.name.."_"..force.name] then
for _,surface in pairs(game.surfaces) do
storage.ammo_entities[surface.name.."_"..force.name] = surface.find_entities_filtered{type = {"ammo-turret","car","artillery-turret","artillery-wagon","spider-vehicle"}, force = force, to_be_deconstructed = false}
end
end
end
local function remove_force_from_list(event)
--Whenever the last player of a force leaves the game or forces are merged, remove all entities of that force from the global table.
local force
local param = {}
if event.player_index and event.force then
param.player_index = event.player_index
add_force_to_list(param)
force = event.force
elseif event.player_index then
force = game.get_player(event.player_index).force
elseif event.force then
force = event.force
elseif event.source and event.destination then
param.force = event.destination
add_force_to_list(param)
force = event.source
end
if force then
if not force.valid or (force.valid and table_is_empty(force.connected_players)) then
for surface_name,_ in pairs(game.surfaces) do
storage.ammo_entities[surface_name.."_"..force.name] = nil
end
end
end
end
local function remove_surface_from_list(event)
--Whenever a surface is renamed or deleted, move/remove all entities in/from the global table.
for _,force in pairs(game.forces) do
local index
if event.new_name then
storage.ammo_entities[event.new_name.."_"..force.name] = table.deepcopy(storage.ammo_entities[event.old_name.."_"..force.name])
index = event.old_name.."_"..force.name
elseif event.surface_index then
index = game.surfaces[event.surface_index].name.."_"..force.name
end
if index then
storage.ammo_entities[index] = nil
end
end
end
local function init_list()
--Create global table for existing forces
storage.ammo_entities = {}
local param = {}
for _,force in pairs(game.forces) do
param.force = force
add_force_to_list(param)
end
end
local function generate_alerts()
--Every 10 seconds recheck and give alerts to players for ammo-turret, vehicle, spidertron or artillery type entities on the same force as them.
for _,player in pairs(game.connected_players) do for _,player in pairs(game.connected_players) do
GTA_enabled = player.mod_settings["gun-turret-alerts-enabled"].value local turret_enabled = player.mod_settings["gun-turret-alerts-enabled"].value
player_threshold = player.mod_settings["gun-turret-alerts-threshold"].value local car_enabled = player.mod_settings["gun-turret-alerts-car-enabled"].value
turret_entities = global.turret_entities[player.surface.name] local artillery_enabled = player.mod_settings["gun-turret-alerts-artillery-enabled"].value
local mode = player.mod_settings["gun-turret-alerts-mode"].value
local player_threshold = player.mod_settings["gun-turret-alerts-threshold"].value
local auto_full = player.mod_settings["gun-turret-alerts-z-automated-full"].value
local show_planets = player.mod_settings["gun-turret-alerts-z-show-planets"].value
local show_platforms = player.mod_settings["gun-turret-alerts-z-show-platforms"].value
if GTA_enabled and turret_entities then for _,surface in pairs(game.surfaces) do
for _,turret_entity in pairs(turret_entities) do local ammo_entities
if turret_entity.valid and turret_entity.force == player.force then
inv_var = turret_entity.get_inventory(defines.inventory.turret_ammo) if surface == player.surface or (show_platforms and surface.platform) or (show_planets and surface.planet) then
if inv_var.is_empty() then ammo_entities = storage.ammo_entities[surface.name.."_"..player.force.name]
end
if ammo_entities then
if not table_is_empty(ammo_entities) then
for index,entity in pairs(ammo_entities) do
if entity.valid then
if entity.force == player.force then
--Get ammo inventory based on entity type, skip vehicles without guns
local inventory
if turret_enabled and entity.type == "ammo-turret" then
inventory = entity.get_inventory(defines.inventory.turret_ammo)
elseif car_enabled and (entity.type == "car" or entity.type == "spider-vehicle") and not table_is_empty(entity.prototype.guns) then
inventory = entity.get_inventory(defines.inventory.car_ammo)
elseif artillery_enabled then
if entity.type == "artillery-turret" then
inventory = entity.get_inventory(defines.inventory.artillery_turret_ammo)
elseif entity.type == "artillery-wagon" then
inventory = entity.get_inventory(defines.inventory.artillery_wagon_ammo)
end
end
--Check for states of no or low ammo based on mode
local ammo_flag
if inventory and get_ammo_flag[mode] then
if entity.type == "ammo-turret" or entity.type == "artillery-turret" or entity.type == "artillery-wagon" then
ammo_flag = get_ammo_flag[mode](inventory, player_threshold)
-- Automated amme count override (if activated)
if auto_full and entity.prototype.automated_ammo_count then
if entity.prototype.automated_ammo_count < player_threshold then
ammo_flag = get_ammo_flag[mode](inventory, entity.prototype.automated_ammo_count)
end
end
elseif entity.type == "car" or entity.type == "spider-vehicle" then
ammo_flag = get_ammo_flag[mode](inventory, player_threshold, entity.selected_gun_index)
end
end
--Create alert for present state
if ammo_flag then
-- no ammo alert -- no ammo alert
player.add_custom_alert(turret_entity, {type = "item", name = "piercing-rounds-magazine"}, "Out of ammo", true) player.add_custom_alert(entity, {type = "virtual", name = "ammo-icon-red"}, {"gun-turret-alerts.message-empty", entity.localised_name}, true)
elseif inv_var[1].count < player_threshold then elseif ammo_flag == false then
-- low ammo alert -- low ammo alert
player.add_custom_alert(turret_entity, {type = "item", name = "firearm-magazine"}, "Ammo low", true) player.add_custom_alert(entity, {type = "virtual", name = "ammo-icon-yellow"}, {"gun-turret-alerts.message-low", entity.localised_name}, true)
end
end
else
-- Cleanup if entity is invalid
table.remove(ammo_entities, index)
end
end
else
-- Cleanup if table is empty
storage.ammo_entities[surface.name.."_"..player.force.name] = nil
end end
end end
end end
end end
end end
end
end)
-- Event handlers
script.on_init(init_list)
script.on_configuration_changed(init_list)
script.on_event(defines.events.on_player_joined_game, add_force_to_list)
script.on_event(defines.events.on_player_left_game, remove_force_from_list)
script.on_event(defines.events.on_player_changed_force, remove_force_from_list)
script.on_event(defines.events.on_force_created, add_force_to_list)
script.on_event(defines.events.on_forces_merged, remove_force_from_list)
script.on_event(defines.events.on_surface_renamed, remove_surface_from_list)
script.on_event(defines.events.on_pre_surface_deleted, remove_surface_from_list)
script.on_event(defines.events.on_built_entity, add_entity_to_list, {{filter="type", type = "ammo-turret"},{filter="type", type = "car"},{filter="type", type = "spider-vehicle"},{filter="type", type = "artillery-turret"},{filter="type", type = "artillery-wagon"}})
script.on_event(defines.events.on_robot_built_entity, add_entity_to_list, {{filter="type", type = "ammo-turret"},{filter="type", type = "car"},{filter="type", type = "spider-vehicle"},{filter="type", type = "artillery-turret"},{filter="type", type = "artillery-wagon"}})
script.on_event(defines.events.on_space_platform_built_entity, add_entity_to_list, {{filter="type", type = "ammo-turret"},{filter="type", type = "car"},{filter="type", type = "spider-vehicle"},{filter="type", type = "artillery-turret"},{filter="type", type = "artillery-wagon"}})
script.on_event(defines.events.script_raised_built, add_entity_to_list, {{filter="type", type = "ammo-turret"},{filter="type", type = "car"},{filter="type", type = "spider-vehicle"},{filter="type", type = "artillery-turret"},{filter="type", type = "artillery-wagon"}})
script.on_event(defines.events.script_raised_revive, add_entity_to_list, {{filter="type", type = "ammo-turret"},{filter="type", type = "car"},{filter="type", type = "spider-vehicle"},{filter="type", type = "artillery-turret"},{filter="type", type = "artillery-wagon"}})
script.on_event(defines.events.on_player_mined_entity, remove_entity_from_list, {{filter="type", type = "ammo-turret"},{filter="type", type = "car"},{filter="type", type = "spider-vehicle"},{filter="type", type = "artillery-turret"},{filter="type", type = "artillery-wagon"}})
script.on_event(defines.events.on_robot_mined_entity, remove_entity_from_list, {{filter="type", type = "ammo-turret"},{filter="type", type = "car"},{filter="type", type = "spider-vehicle"},{filter="type", type = "artillery-turret"},{filter="type", type = "artillery-wagon"}})
script.on_event(defines.events.on_space_platform_mined_entity, remove_entity_from_list, {{filter="type", type = "ammo-turret"},{filter="type", type = "car"},{filter="type", type = "spider-vehicle"},{filter="type", type = "artillery-turret"},{filter="type", type = "artillery-wagon"}})
script.on_event(defines.events.on_entity_died, remove_entity_from_list, {{filter="type", type = "ammo-turret"},{filter="type", type = "car"},{filter="type", type = "spider-vehicle"},{filter="type", type = "artillery-turret"},{filter="type", type = "artillery-wagon"}})
script.on_event(defines.events.script_raised_destroy, remove_entity_from_list, {{filter="type", type = "ammo-turret"},{filter="type", type = "car"},{filter="type", type = "spider-vehicle"},{filter="type", type = "artillery-turret"},{filter="type", type = "artillery-wagon"}})
script.on_nth_tick(600, generate_alerts)
+16 -1
View File
@@ -1 +1,16 @@
--data.lua -- data.lua
data:extend({
{
type = "virtual-signal",
name = "ammo-icon-red",
icon = "__Gun_Turret_Alerts__/graphics/ammo-icon-red.png",
icon_size = 64,
},
{
type = "virtual-signal",
name = "ammo-icon-yellow",
icon = "__Gun_Turret_Alerts__/graphics/ammo-icon-yellow.png",
icon_size = 64,
}
})
Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1007 B

+5 -5
View File
@@ -1,9 +1,9 @@
{ {
"name": "Gun_Turret_Alerts", "name": "Gun_Turret_Alerts",
"version": "0.18.2", "version": "2.0.8",
"title": "Gun_Turret_Alerts", "title": "Ammo Alerts",
"author": "Wyrrrd", "author": "Wyrrrd",
"factorio_version": "0.18", "factorio_version": "2.0",
"dependencies": ["base >= 0.18"], "dependencies": ["base >= 2.0.0"],
"description": "Adds map alerts for players when a turret is either out of ammo or has low ammo" "description": "Adds map alerts for players when a turret or car is either out of ammo or has low ammo"
} }
+32
View File
@@ -0,0 +1,32 @@
[mod-setting-name]
gun-turret-alerts-enabled=Alarme für Geschützturmmunition aktiviert
gun-turret-alerts-car-enabled=Alarme für Vehikelmunition aktiviert
gun-turret-alerts-artillery-enabled=Alarme für Artillerie aktiviert
gun-turret-alerts-mode=Mehrplatz-Modus
gun-turret-alerts-threshold=Grenze für wenig Munition
gun-turret-alerts-z-show-planets=Auf allen Planeten anzeigen
[mod-setting-description]
gun-turret-alerts-enabled=Aktiviert Alarme für Geschützturmmunition für deinen Spieler
gun-turret-alerts-car-enabled=Aktiviert Alarme für Vehikelmunition für deinen Spieler
gun-turret-alerts-artillery-enabled=Aktiviert Alarme für Artillerie für deinen Spieler
gun-turret-alerts-mode=Bestimmt, ob die Munitionsplätze aufaddiert, jeder Platz einzeln oder nur der ausgewählte Platz gezählt wird.\n(Greift nur bei mehr als einem Munitionsplatz, zum Beispiel in Vehikeln.)
gun-turret-alerts-threshold=Wenn ein Geschützturm, Vehikel oder eine Artillerie weniger als diese Anzahl Munition hat, wird ein Alarm zu deinem Spieler hinzugefügt
[string-mod-setting]
gun-turret-alerts-mode-added=Aufaddiert
gun-turret-alerts-mode-individually=Einzeln
gun-turret-alerts-mode-selected=Auswahl
[gun-turret-alerts]
message-empty=__1__ hat keine Munition
message-low=__1__ hat wenig Munition
[virtual-signal-name]
ammo-icon-red=Hat keine Munition
ammo-icon-yellow=Hat wenig Munition
[mod-name]
[mod-description]
+34 -3
View File
@@ -1,7 +1,38 @@
[mod-setting-name] [mod-setting-name]
gun-turret-alerts-enabled=Gun turret alerts enabled gun-turret-alerts-enabled=Turret ammo alerts enabled
gun-turret-alerts-car-enabled=Vehicle ammo alerts enabled
gun-turret-alerts-artillery-enabled=Artillery ammo alerts enabled
gun-turret-alerts-mode=Multi slot mode
gun-turret-alerts-threshold=Low ammo threshold gun-turret-alerts-threshold=Low ammo threshold
gun-turret-alerts-z-automated-full=Automated amount equals full
gun-turret-alerts-z-show-planets=Show on all planets
gun-turret-alerts-z-show-platforms=Show on all space platforms
[mod-setting-description] [mod-setting-description]
gun-turret-alerts-enabled=Enables alerts to be added to your player gun-turret-alerts-enabled=Enables turret ammo alerts to be added to your player.
gun-turret-alerts-threshold=If a turret has less than this much ammo an alert will be added to your player gun-turret-alerts-car-enabled=Enables vehicle ammo alerts to be added to your player.
gun-turret-alerts-artillery-enabled=Enables artillery ammo alerts to be added to your player.
gun-turret-alerts-mode=Controls, if the ammo slots are added up, every slot is counted individually, or just the selected slot is counted.\n(Only applies for more than one ammo slot, for example in vehicles.)
gun-turret-alerts-threshold=If a turret, vehicle or artillery has less than this much ammo, an alert will be added to your player.
gun-turret-alerts-z-automated-full=Send no alerts when a turret or artillery has an amount of ammo equal or higher than what inserters would automatically insert into them.
gun-turret-alerts-z-show-planets=Show alerts for other planets, even if you are not there. (Default is to only show current planet/space platform.)
gun-turret-alerts-z-show-platforms=Show alerts for other space platforms, even if you are not there. (Default is to only show current planet/space platform.)
[string-mod-setting]
gun-turret-alerts-mode-added=Added up
gun-turret-alerts-mode-individually=Individually
gun-turret-alerts-mode-selected=Selected
[gun-turret-alerts]
message-empty=__1__ is out of ammo
message-low=__1__ is low on ammo
[virtual-signal-name]
ammo-icon-red=Out of ammo signal
ammo-icon-yellow=Low ammo signal
[mod-name]
Gun_Turret_Alerts=Ammo Alerts
[mod-description]
Gun_Turret_Alerts=Adds map alerts for players when a gun turret, vehicle or artillery is either out of ammo or has low ammo.
+31
View File
@@ -0,0 +1,31 @@
[mod-setting-name]
gun-turret-alerts-enabled=Activer les alertes de manque de munitions dans les tourelles.
gun-turret-alerts-car-enabled=Activer les alertes de manque de munitions dans les véhicules.
gun-turret-alerts-artillery-enabled=Activer les alertes de manque de munitions dans la artillerie.
gun-turret-alerts-mode=Prendre en considération plusieurs compartiments de munitions.
gun-turret-alerts-threshold=Nombre de munitions restantes avant d'être alerté.
[mod-setting-description]
gun-turret-alerts-enabled=Le manque de munitions dans une tourelle enverra une alerte au joueur.
gun-turret-alerts-car-enabled=Le manque de munitions dans un véhicule enverra une alerte au joueur.
gun-turret-alerts-artillery-enabled=Le manque de munitions dans une artillerie enverra une alerte au joueur.
gun-turret-alerts-mode=Surveiller tous les compartiments de l'unité, un seul, ou une sélection.\n(Certaines unités, principalement des véhicules, peuvent posséder plusieurs compartiments. À laisser décoché s'il n'y en a qu'un seul.)
gun-turret-alerts-threshold=Le nombre de munitions, dans une tourelle, un véhicule ou une artillerie, qui déclenchera un alerte une fois atteint.
[string-mod-setting]
gun-turret-alerts-mode-added=Tous
gun-turret-alerts-mode-individually=Unique
gun-turret-alerts-mode-selected=Sélection
[gun-turret-alerts]
message-empty=__1__ plus de munition
message-low=__1__ peu de munitions
[virtual-signal-name]
ammo-icon-red=Signal d'absence de munition
ammo-icon-yellow=Signal de manque de munitions
[mod-name]
[mod-description]
+26
View File
@@ -0,0 +1,26 @@
[mod-setting-name]
gun-turret-alerts-enabled=Включить оповещения о боезапасе турелей
gun-turret-alerts-car-enabled=Включить оповещения о боезапасе транспортных средств
gun-turret-alerts-artillery-enabled=Включить оповещения о боезапасе артиллерии
gun-turret-alerts-mode=Режим с несколькими слотами
gun-turret-alerts-threshold=Порог низкого уровня боеприпасов
[mod-setting-description]
gun-turret-alerts-enabled=Показать оповещения о боеприпасах в турелях для вашего игрока.
gun-turret-alerts-car-enabled=Показать оповещения о боеприпасах в транспортных средствах для вашего игрока.
gun-turret-alerts-artillery-enabled=Показать оповещения о боеприпасах в артиллерии для вашего игрока.
gun-turret-alerts-mode=Управляет тем, как учитываются слоты для боеприпасов: суммируются ли все слоты, подсчитывается ли каждый слот отдельно или учитывается только выбранный слот.\n(Применяется только для случаев с несколькими слотами для боеприпасов, например, в транспортных средствах.)
gun-turret-alerts-threshold=Если боезапас меньше этого количества, вам будет показано предупреждение.
[string-mod-setting]
gun-turret-alerts-mode-added=В сумме
gun-turret-alerts-mode-individually=По отдельности
gun-turret-alerts-mode-selected=Выбранный
[gun-turret-alerts]
message-empty=__1__ - нет боеприпасов
message-low=__1__ - мало боеприпасов
[virtual-signal-name]
ammo-icon-red=Сигнал отсутствия боеприпасов
ammo-icon-yellow=Сигнал о низком боезапасе
+39
View File
@@ -0,0 +1,39 @@
[mod-setting-name]
gun-turret-alerts-enabled=Ввімкнено оповіщення про боєприпаси у вежах
gun-turret-alerts-car-enabled=Ввімкнено оповіщення про боєприпаси у транспортах
gun-turret-alerts-artillery-enabled=Ввімкнено оповіщення про артилерійські боєприпаси
gun-turret-alerts-mode=Багатослотовий режим
gun-turret-alerts-threshold=Низький поріг боєприпасів
gun-turret-alerts-z-automated-full=Автоматична сума дорівнює повній
gun-turret-alerts-z-show-planets=Показати на всіх планетах
gun-turret-alerts-z-show-platforms=Показати на всіх космічних платформах
[mod-setting-description]
gun-turret-alerts-enabled=Дозволяє додати сповіщення про боєприпаси у вежі до вашого плеєра.
gun-turret-alerts-car-enabled=Дозволяє додавати сповіщення про наявність боєприпасів у транспорті до плеєра.
gun-turret-alerts-artillery-enabled=Дозволяє додати сповіщення про артилерійські боєприпаси до вашого плеєра.
gun-turret-alerts-mode=Керує, якщо гнізда для боєприпасів підсумовуються, кожен гніздо рахується окремо, або рахується лише вибране гніздо.\n(Застосовується лише для більш ніж одного гнізда для боєприпасів, наприклад, у транспортах)
gun-turret-alerts-threshold=Якщо у вежі, транспорті або артилерії менше боєприпасів, гравцеві буде оголошено попередження.
gun-turret-alerts-z-automated-full=Не надсилати сповіщення, коли у вежі або артилерії кількість боєприпасів дорівнює або перевищує кількість, яку автоматично вставляють в них маніпулятори.
gun-turret-alerts-z-show-planets=Показувати сповіщення для інших планет, навіть якщо вас там немає. (За замовчуванням показувати тільки поточну планету/космічну платформу)
gun-turret-alerts-z-show-platforms=Показувати сповіщення для інших космічних платформ, навіть якщо ви там не перебуваєте. (За замовчуванням показувати лише поточну планету/космічну платформу)
[string-mod-setting]
gun-turret-alerts-mode-added=Підсумок
gun-turret-alerts-mode-individually=Індивідуально
gun-turret-alerts-mode-selected=Вибрані
[gun-turret-alerts]
message-empty=У __1__ закінчилися набої
message-low=У __1__ мало боєприпасів
[virtual-signal-name]
ammo-icon-red=Сигнал про закінчення набоїв
ammo-icon-yellow=Сигнал про низький рівень набоїв
[mod-name]
Gun_Turret_Alerts=Попередження про боєприпаси
[mod-description]
Gun_Turret_Alerts=Додає сповіщення на мапі для гравців, коли у гарматній вежі, транспортному засобі або артилерії закінчуються боєприпаси або у них мало боєприпасів.
+38 -3
View File
@@ -7,6 +7,25 @@ data:extend({
name = "gun-turret-alerts-enabled", name = "gun-turret-alerts-enabled",
setting_type = "runtime-per-user", setting_type = "runtime-per-user",
default_value = true default_value = true
},
{
type = "bool-setting",
name = "gun-turret-alerts-car-enabled",
setting_type = "runtime-per-user",
default_value = true
},
{
type = "bool-setting",
name = "gun-turret-alerts-artillery-enabled",
setting_type = "runtime-per-user",
default_value = false
},
{
type = "string-setting",
name = "gun-turret-alerts-mode",
setting_type = "runtime-per-user",
allowed_values = {"added","individually","selected"},
default_value = "selected"
}, },
{ {
type = "int-setting", type = "int-setting",
@@ -14,7 +33,23 @@ data:extend({
setting_type = "runtime-per-user", setting_type = "runtime-per-user",
default_value = 8, default_value = 8,
minimum_value = 0 minimum_value = 0
},
} {
type = "bool-setting",
name = "gun-turret-alerts-z-automated-full",
setting_type = "runtime-per-user",
default_value = true
},
{
type = "bool-setting",
name = "gun-turret-alerts-z-show-planets",
setting_type = "runtime-per-user",
default_value = false
},
{
type = "bool-setting",
name = "gun-turret-alerts-z-show-platforms",
setting_type = "runtime-per-user",
default_value = false
},
}) })
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 23 KiB