Postado Fevereiro 1, 2018 7 anos Autor Deu erro nos setField Cara tentei fazer aqui int32_t LuaScriptInterface::luaGetItemAttributeMap(lua_State* L) { //getItemAttributeMap(uid) ScriptEnviroment* env = getEnv(); Item* item = env->getItemByUID(popNumber(L)); if(!item) { errorEx(getError(LUA_ERROR_ITEM_NOT_FOUND)); lua_pushnil(L); return 1; } std::map<std::string, ItemAttribute>* attrMap = item->getAttributeMap(); std::map<std::string, ItemAttribute>::iterator it; lua_newtable(L); for(it = attrMap->begin(); it != attrMap->end(); it++) { boost::any value = item->getAttribute(it->first); if(value.empty()) lua_pushnil(L); else if(value.type() == typeid(std::string)) lua_pushstring(L, boost::any_cast<std::string>(value).c_str()); else if(value.type() == typeid(int32_t)) lua_pushnumber(L, boost::any_cast<int32_t>(value)); else if(value.type() == typeid(float)) lua_pushnumber(L, boost::any_cast<float>(value)); else if(value.type() == typeid(bool)) lua_pushboolean(L, boost::any_cast<bool>(value)); else lua_pushnil(L); } return 1; } @Mono Singed Olha o code ali que fiz Editado Fevereiro 1, 2018 7 anos por DboExplorer (veja o histórico de edições) Te ajudei ?? Que tal fazer uma contribuição ?
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.