Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/assets/opensb/scripts
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2023-07-24 18:42:55 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2023-07-24 18:42:55 +1000
commitaf31bde03216ba337fb6b3b5ef306c4a0bb745b5 (patch)
treef001ad9f8e59c78a30ebb5e4011de5f2e026b02a /assets/opensb/scripts
parenta2d901bd66178bbaacc2fec3acd07e7a27b9235f (diff)
Handle world creation error when sending world messages, add active world callbacks
Diffstat (limited to 'assets/opensb/scripts')
-rw-r--r--assets/opensb/scripts/opensb/util/modules.lua2
-rw-r--r--assets/opensb/scripts/opensb/worldserver/messages.lua12
-rw-r--r--assets/opensb/scripts/opensb/worldserver/test.lua12
-rw-r--r--assets/opensb/scripts/opensb/worldserver/worldserver.lua2
4 files changed, 15 insertions, 13 deletions
diff --git a/assets/opensb/scripts/opensb/util/modules.lua b/assets/opensb/scripts/opensb/util/modules.lua
index 2ce7086..f1cd245 100644
--- a/assets/opensb/scripts/opensb/util/modules.lua
+++ b/assets/opensb/scripts/opensb/util/modules.lua
@@ -1,3 +1,5 @@
+-- Small helper to organize code for the same context into different Lua scripts without having to "hook" previously defined.
+
modules = setmetatable({}, {__call = function(this, path, names)
for i, name in pairs(names) do
require(path .. name .. ".lua")
diff --git a/assets/opensb/scripts/opensb/worldserver/messages.lua b/assets/opensb/scripts/opensb/worldserver/messages.lua
new file mode 100644
index 0000000..1c51eb4
--- /dev/null
+++ b/assets/opensb/scripts/opensb/worldserver/messages.lua
@@ -0,0 +1,12 @@
+local module = {}
+modules.messages = module
+
+function module.init()
+ message.setHandler("keepAlive", function(_, _, time)
+ return world.setExpiryTime(tonumber(time) or 0)
+ end)
+end
+
+function module.update()
+
+end \ No newline at end of file
diff --git a/assets/opensb/scripts/opensb/worldserver/test.lua b/assets/opensb/scripts/opensb/worldserver/test.lua
deleted file mode 100644
index eaaf08f..0000000
--- a/assets/opensb/scripts/opensb/worldserver/test.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-local module = {}
-modules.test = module
-
-function module.init()
- message.setHandler("type", function()
- return world.type()
- end)
-end
-
-function module.update()
-
-end \ No newline at end of file
diff --git a/assets/opensb/scripts/opensb/worldserver/worldserver.lua b/assets/opensb/scripts/opensb/worldserver/worldserver.lua
index a84fa9d..e66edbc 100644
--- a/assets/opensb/scripts/opensb/worldserver/worldserver.lua
+++ b/assets/opensb/scripts/opensb/worldserver/worldserver.lua
@@ -1,2 +1,2 @@
require "/scripts/opensb/util/modules.lua"
-modules("/scripts/opensb/worldserver/", {"test"}) \ No newline at end of file
+modules("/scripts/opensb/worldserver/", {"messages"}) \ No newline at end of file