X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fscript%2Flua_api%2Fl_inventory.cpp;h=6e7afa4a4e67bf67575341f79af1ee72b1397d6e;hb=91eef646a59575bd9ae792e257bb6ad12fafc0b1;hp=f3097582e7971a41be96726416eb484134426007;hpb=1c1c97cbd1d7913ac12bf550ec02c97f843a0fd3;p=dragonfireclient.git diff --git a/src/script/lua_api/l_inventory.cpp b/src/script/lua_api/l_inventory.cpp index f3097582e..6e7afa4a4 100644 --- a/src/script/lua_api/l_inventory.cpp +++ b/src/script/lua_api/l_inventory.cpp @@ -336,7 +336,7 @@ int InvRef::l_contains_item(lua_State *L) InventoryList *list = getlist(L, ref, listname); bool match_meta = false; if (lua_isboolean(L, 4)) - match_meta = lua_toboolean(L, 4); + match_meta = readParam(L, 4); if (list) { lua_pushboolean(L, list->containsItem(item, match_meta)); } else { @@ -525,7 +525,7 @@ int ModApiInventory::l_create_detached_inventory_raw(lua_State *L) { NO_MAP_LOCK_REQUIRED; const char *name = luaL_checkstring(L, 1); - const char *player = lua_isstring(L, 2) ? lua_tostring(L, 2) : ""; + std::string player = readParam(L, 2, ""); if (getServer(L)->createDetachedInventory(name, player) != NULL) { InventoryLocation loc; loc.setDetached(name); @@ -536,8 +536,18 @@ int ModApiInventory::l_create_detached_inventory_raw(lua_State *L) return 1; } +// remove_detached_inventory_raw(name) +int ModApiInventory::l_remove_detached_inventory_raw(lua_State *L) +{ + NO_MAP_LOCK_REQUIRED; + const std::string &name = luaL_checkstring(L, 1); + lua_pushboolean(L, getServer(L)->removeDetachedInventory(name)); + return 1; +} + void ModApiInventory::Initialize(lua_State *L, int top) { API_FCT(create_detached_inventory_raw); + API_FCT(remove_detached_inventory_raw); API_FCT(get_inventory); }