summaryrefslogtreecommitdiff
path: root/src/scripting
diff options
context:
space:
mode:
Diffstat (limited to 'src/scripting')
-rw-r--r--src/scripting/luascript.cpp11
-rw-r--r--src/scripting/luascript.hpp5
-rw-r--r--src/scripting/script.hpp5
3 files changed, 19 insertions, 2 deletions
diff --git a/src/scripting/luascript.cpp b/src/scripting/luascript.cpp
index cb6ba3a6..b48ec511 100644
--- a/src/scripting/luascript.cpp
+++ b/src/scripting/luascript.cpp
@@ -156,3 +156,14 @@ void LuaScript::getPostCallback(Character *q, const std::string &sender,
s->nbArgs = 3;
s->execute();
}
+
+bool LuaScript::load_global_event_script(const std::string &file)
+{
+ Script::global_event_script = new LuaScript();
+ if (!Script::global_event_script->loadFile(file))
+ {
+ Script::global_event_script = NULL;
+ return false;
+ }
+ return true;
+}
diff --git a/src/scripting/luascript.hpp b/src/scripting/luascript.hpp
index 25fc997a..315c759f 100644
--- a/src/scripting/luascript.hpp
+++ b/src/scripting/luascript.hpp
@@ -67,6 +67,11 @@ class LuaScript: public Script
void processRemoveEvent(Thing* thing);
+ /**
+ * Loads the global event script file
+ */
+ static bool load_global_event_script(const std::string &file);
+
private:
lua_State *mState;
diff --git a/src/scripting/script.hpp b/src/scripting/script.hpp
index 2c8481dd..96df0859 100644
--- a/src/scripting/script.hpp
+++ b/src/scripting/script.hpp
@@ -132,13 +132,14 @@ class Script
virtual void processRemoveEvent(Thing* thing) = 0;
/**
- * Runs a function in the global event script file
+ * Runs a function from the global event script file
*/
static bool execute_global_event_function(const std::string &function, Being *obj);
- static Script* global_event_script; // the global event script
+
protected:
+ static Script* global_event_script; // the global event script
std::string mScriptFile;
private: