mirror of
https://github.com/Wyrrrd/Gun_Turret_Alerts.git
synced 2026-06-30 12:05:44 +02:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d2bdd2663f | |||
| f42afe756a | |||
| 52e8d69938 | |||
| 230c093dc8 | |||
| ff7c5aab24 | |||
| 8a707a0c8b | |||
| 7c1e998c86 |
@@ -1,10 +1,8 @@
|
|||||||
# 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 car or gun turret is out of ammo or has low ammo.
|
||||||
|
|
||||||
Description
|
### Credit
|
||||||
- Adds alerts when a gun turret is out of ammo or has low ammo.
|
Thanks to [unhott](https://mods.factorio.com/user/unhott) for the [original mod](https://mods.factorio.com/mod/GunTurretAlerts).
|
||||||
|
|
||||||
Credit:
|
|
||||||
- Thanks to [unhott](https://mods.factorio.com/user/unhott) for the [original mod](https://mods.factorio.com/mod/GunTurretAlerts).
|
|
||||||
@@ -1,4 +1,29 @@
|
|||||||
---------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------
|
||||||
|
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
|
||||||
|
Date: 2020-03-20
|
||||||
|
Changes:
|
||||||
|
- Redesigned surface handling again to be more performant
|
||||||
|
---------------------------------------------------------------------------------------------------
|
||||||
Version: 0.18.1
|
Version: 0.18.1
|
||||||
Date: 2020-03-19
|
Date: 2020-03-19
|
||||||
Changes:
|
Changes:
|
||||||
|
|||||||
+52
-25
@@ -1,30 +1,57 @@
|
|||||||
--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 cars and gun-turrets and places alerts when they are low.
|
||||||
|
|
||||||
script.on_event({defines.events.on_tick}, function (event)
|
script.on_init(function (event)
|
||||||
if event.tick%600 == 0 then
|
-- turret index init
|
||||||
--Every 10 seconds recheck and give alerts to players for ammo-turret entities on the same force as them.
|
global.turret_entities = {}
|
||||||
for index,player in pairs(game.connected_players) do
|
global.car_entities = {}
|
||||||
|
end)
|
||||||
GTA_enabled = player.mod_settings["gun-turret-alerts-enabled"].value
|
|
||||||
player_threshold = player.mod_settings["gun-turret-alerts-threshold"].value
|
script.on_nth_tick(3600, function (event)
|
||||||
turret_entities = player.surface.find_entities_filtered{type = "ammo-turret"}
|
--Every minute the surface is rescanned for car and ammo-turret type entities. This is stored in two global tables.
|
||||||
if GTA_enabled then
|
for index,surface in pairs(game.surfaces) do
|
||||||
for index2, turret_entity in pairs(turret_entities) do
|
global.turret_entities[index] = surface.find_entities_filtered{type = "ammo-turret"}
|
||||||
if turret_entity.valid then
|
global.car_entities[index] = surface.find_entities_filtered{type = "car"}
|
||||||
inv_var = turret_entity.get_inventory(defines.inventory.turret_ammo)
|
end
|
||||||
if inv_var.is_empty() then
|
end)
|
||||||
ammo_left = 0
|
|
||||||
else
|
script.on_nth_tick(600, function (event)
|
||||||
ammo_left = inv_var[1].count
|
--Every 10 seconds recheck and give alerts to players for car and ammo-turret entities on the same force as them.
|
||||||
end
|
for _,player in pairs(game.connected_players) do
|
||||||
if turret_entity.force == player.force then
|
|
||||||
if ammo_left == 0 then
|
GTA_turret_enabled = player.mod_settings["gun-turret-alerts-enabled"].value
|
||||||
player.add_custom_alert(turret_entity, {type = "item", name = "piercing-rounds-magazine"}, "Out of ammo", true)
|
GTA_car_enabled = player.mod_settings["gun-turret-alerts-car-enabled"].value
|
||||||
elseif ammo_left < player_threshold then
|
player_threshold = player.mod_settings["gun-turret-alerts-threshold"].value
|
||||||
player.add_custom_alert(turret_entity, {type = "item", name = "firearm-magazine"}, "Ammo low", true)
|
turret_entities = global.turret_entities[player.surface.name]
|
||||||
end
|
car_entities = global.car_entities[player.surface.name]
|
||||||
end
|
|
||||||
|
if GTA_turret_enabled and turret_entities then
|
||||||
|
for _,turret_entity in pairs(turret_entities) do
|
||||||
|
if turret_entity.valid and turret_entity.force == player.force then
|
||||||
|
inv_var = turret_entity.get_inventory(defines.inventory.turret_ammo)
|
||||||
|
if inv_var.is_empty() then
|
||||||
|
-- no ammo alert
|
||||||
|
player.add_custom_alert(turret_entity, {type = "item", name = "piercing-rounds-magazine"}, "Out of ammo", true)
|
||||||
|
elseif inv_var[1].count < player_threshold then
|
||||||
|
-- low ammo alert
|
||||||
|
player.add_custom_alert(turret_entity, {type = "item", name = "firearm-magazine"}, "Ammo low", true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
if GTA_car_enabled and car_entities then
|
||||||
|
for _,car_entity in pairs(car_entities) do
|
||||||
|
-- extra check if car has gun
|
||||||
|
if car_entity.valid and car_entity.force == player.force and car_entity.selected_gun_index then
|
||||||
|
inv_var = car_entity.get_inventory(defines.inventory.car_ammo)
|
||||||
|
if inv_var.is_empty() then
|
||||||
|
-- no ammo alert
|
||||||
|
player.add_custom_alert(car_entity, {type = "item", name = "piercing-rounds-magazine"}, "Out of ammo", true)
|
||||||
|
elseif inv_var[1].count < player_threshold then
|
||||||
|
-- low ammo alert
|
||||||
|
player.add_custom_alert(car_entity, {type = "item", name = "firearm-magazine"}, "Ammo low", true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"name": "Gun_Turret_Alerts",
|
"name": "Gun_Turret_Alerts",
|
||||||
"version": "0.18.1",
|
"version": "1.1.1",
|
||||||
"title": "Gun_Turret_Alerts",
|
"title": "Ammo Alerts",
|
||||||
"author": "Wyrrrd",
|
"author": "Wyrrrd",
|
||||||
"factorio_version": "0.18",
|
"factorio_version": "1.1",
|
||||||
"dependencies": ["base >= 0.18"],
|
"dependencies": ["base >= 1.1.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"
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
[mod-setting-name]
|
||||||
|
gun-turret-alerts-enabled=Alarme für Geschützturmmunition aktiviert
|
||||||
|
gun-turret-alerts-car-enabled=Alarme für Fahrzeugmunition aktiviert
|
||||||
|
gun-turret-alerts-threshold=Grenze für wenig Munition
|
||||||
|
|
||||||
|
[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 Fahrzeugmunition für deinen Spieler
|
||||||
|
gun-turret-alerts-threshold=Wenn ein Fahrzeug oder Geschützturm weniger als diese Anzahl Munition hat, wird ein Alarm zu deinem Spieler hinzugefügt
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
[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=Car ammo alerts enabled
|
||||||
gun-turret-alerts-threshold=Low ammo threshold
|
gun-turret-alerts-threshold=Low ammo threshold
|
||||||
|
|
||||||
[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 car ammo alerts to be added to your player
|
||||||
|
gun-turret-alerts-threshold=If a car or turret has less than this much ammo an alert will be added to your player
|
||||||
@@ -7,6 +7,12 @@ 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 = "int-setting",
|
type = "int-setting",
|
||||||
|
|||||||
Reference in New Issue
Block a user