diff options
author | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-09-28 22:39:00 +0200 |
---|---|---|
committer | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-10-22 20:34:46 +0200 |
commit | 22afb99c7977176474f81546bca6b114b05e818f (patch) | |
tree | 911c5f5bd6a766c2fadd16d555fad46fa325fb6b | |
parent | 1afba34aaf6c3379208b61b111cd6e182f35443a (diff) | |
download | manaserv-22afb99c7977176474f81546bca6b114b05e818f.tar.gz manaserv-22afb99c7977176474f81546bca6b114b05e818f.tar.xz manaserv-22afb99c7977176474f81546bca6b114b05e818f.zip |
Added the chr_get_level script function.
Reviewed-by: Ablu.
-rw-r--r-- | example/serverdata/scripts/maps/desert.lua | 1 | ||||
-rw-r--r-- | src/scripting/lua.cpp | 18 |
2 files changed, 19 insertions, 0 deletions
diff --git a/example/serverdata/scripts/maps/desert.lua b/example/serverdata/scripts/maps/desert.lua index 57b4533..54c219d 100644 --- a/example/serverdata/scripts/maps/desert.lua +++ b/example/serverdata/scripts/maps/desert.lua @@ -56,6 +56,7 @@ function Harmony(npc, ch, list) mana.chr_money_change(ch, 100) do_message(npc, ch, string.format("You now have %d shiny coins!", mana.chr_money(ch))) harmony_have_talked_to_someone = true + do_message(npc, ch, string.format("Try to come back with a better level than %i.", mana.chr_get_level(ch))) end do_message(npc, ch, "Have fun!") mana.effect_create(EMOTE_HAPPY, npc) diff --git a/src/scripting/lua.cpp b/src/scripting/lua.cpp index 5f31648..fb71a2a 100644 --- a/src/scripting/lua.cpp +++ b/src/scripting/lua.cpp @@ -476,6 +476,23 @@ static int chr_inv_count(lua_State *s) } /** + * mana.chr_get_level(): int level + * Tells the character current level. + */ +static int chr_get_level(lua_State *s) +{ + Character *ch = getCharacter(s, 1); + if (!ch) + { + raiseScriptError(s, "chr_get_level " + "called for nonexistent character."); + } + + lua_pushinteger(s, ch->getLevel()); + return 1; +} + +/** * mana.npc_trade(NPC*, Character*, bool sell, table items): int * Callback for trading between a player and an NPC. * Let the player buy or sell only a subset of predeterminded items. @@ -2302,6 +2319,7 @@ LuaScript::LuaScript(): { "chr_warp", &chr_warp }, { "chr_inv_change", &chr_inv_change }, { "chr_inv_count", &chr_inv_count }, + { "chr_get_level", &chr_get_level }, { "chr_get_quest", &chr_get_quest }, { "chr_set_quest", &chr_set_quest }, { "getvar_map", &getvar_map }, |