diff options
author | Erik Schilling <ablu.erikschilling@googlemail.com> | 2012-03-13 19:05:03 +0100 |
---|---|---|
committer | Erik Schilling <ablu.erikschilling@googlemail.com> | 2012-03-14 17:51:53 +0100 |
commit | ba66fbeda8ef9afb6c33eba66d109bac85ebf628 (patch) | |
tree | 205f4479140b0df1c658a038f8f73826ec0ab442 /src/scripting | |
parent | 1afbfb7e5fb5c133924ed8d376c6064575fc1c36 (diff) | |
download | manaserv-ba66fbeda8ef9afb6c33eba66d109bac85ebf628.tar.gz manaserv-ba66fbeda8ef9afb6c33eba66d109bac85ebf628.tar.bz2 manaserv-ba66fbeda8ef9afb6c33eba66d109bac85ebf628.tar.xz manaserv-ba66fbeda8ef9afb6c33eba66d109bac85ebf628.zip |
Added get_character_by_name lua bind
Step to be able to handle chatcommands by scripts.
Reviewed-by: bjorn.
Diffstat (limited to 'src/scripting')
-rw-r--r-- | src/scripting/lua.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/scripting/lua.cpp b/src/scripting/lua.cpp index 05d1aec8..0087672f 100644 --- a/src/scripting/lua.cpp +++ b/src/scripting/lua.cpp @@ -1547,6 +1547,23 @@ static int get_beings_in_rectangle(lua_State *s) } /** + * get_character_by_name(string name): Character* + * Returns the character handle or NULL if there is none + */ +static int get_character_by_name(lua_State *s) +{ + const char *name = luaL_checkstring(s, 1); + + Character *ch = gameHandler->getCharacterByNameSlow(name); + if (!ch) + lua_pushnil(s); + else + lua_pushlightuserdata(s, ch); + + return 1; +} + +/** * chr_get_post(Character*): void * Gets the post for the character. */ @@ -2260,6 +2277,7 @@ LuaScript::LuaScript(): { "chat_message", &chat_message }, { "get_beings_in_circle", &get_beings_in_circle }, { "get_beings_in_rectangle", &get_beings_in_rectangle }, + { "get_character_by_name", &get_character_by_name }, { "being_register", &being_register }, { "effect_create", &effect_create }, { "chr_shake_screen", &chr_shake_screen }, |