-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathcontrol.lua
More file actions
57 lines (49 loc) · 1.81 KB
/
control.lua
File metadata and controls
57 lines (49 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
-- Carl Frank Otto III
-- carlotto81@gmail.com
-- GitHub: https://github.com/M45-Science/SoftMod
-- License: MPL 2.0
local SM_VERSION = require("version")
require "banish" -- Banish system
require "commands" -- Slash commands
require "event" -- Event/tick handler
require "info" -- Welcome/Info window
require "log" -- Action logging
require "logo" -- Spawn logo
require "onelife" -- Hardcore / one life to live mode
require "online" -- Players online window
require "perms" -- Permissions system
require "storage" -- Global variable init
require "todo" -- To-Do-list
require "utility" -- Widely used general utility
require "quickbar" -- Save or Restore Quickbar
require "stash" -- Save or Restore Weapon/Ammo/Armor
require "forcedel" -- Admin force-delete helper
script.on_init(function()
RunSetup()
game.print("M45 Soft-Mod v" .. (storage.SM_Version or SM_VERSION or "?") .. " loaded.")
end)
script.on_configuration_changed(function()
RunSetup()
end)
function RunSetup()
storage.SM_Version = SM_VERSION
storage.SM_OldVersion = storage.SM_OldVersion or "OldVersion"
-- Ensure state exists even when versions match (hot reload / partial upgrades)
STORAGE_CreateGlobal()
TODO_Init()
PERMS_EnsureGroups()
PERMS_ApplyStaticPermissions()
PERMS_SetPermissions()
for _, player in pairs(game.players) do
FORCEDEL_MakeButton(player)
end
-- Only rerun expensive setup on version change
if storage.SM_OldVersion ~= SM_VERSION then
storage.SM_OldVersion = SM_VERSION
BANISH_MakeJail()
UTIL_MapPin()
game.forces["player"].friendly_fire = false -- disable friendly fire
game.disable_replay() -- Smaller saves, prevent desync on script upgrade
game.surfaces[1].show_clouds = false
end
end