diff --git a/src/otclient/game.h b/src/otclient/game.h index c9f5d336..44a9f585 100644 --- a/src/otclient/game.h +++ b/src/otclient/game.h @@ -229,7 +229,7 @@ public: // dynamic support for game features void enableFeature(Otc::GameFeature feature) { m_features.set(feature, true); } void disableFeature(Otc::GameFeature feature) { m_features.set(feature, false); } - void setFeature(Otc::GameFeature feature) { m_features.set(feature, false); } + void setFeature(Otc::GameFeature feature, bool enabled) { m_features.set(feature, enabled); } bool getFeature(Otc::GameFeature feature) { return m_features.test(feature); } void setClientVersion(int version); diff --git a/src/otclient/luafunctions.cpp b/src/otclient/luafunctions.cpp index 83cc5251..cfcc0471 100644 --- a/src/otclient/luafunctions.cpp +++ b/src/otclient/luafunctions.cpp @@ -200,6 +200,8 @@ void OTClient::registerLuaFunctions() g_lua.bindSingletonFunction("g_game", "getWorldName", &Game::getWorldName, &g_game); g_lua.bindSingletonFunction("g_game", "getGMActions", &Game::getGMActions, &g_game); g_lua.bindSingletonFunction("g_game", "getFeature", &Game::getFeature, &g_game); + g_lua.bindSingletonFunction("g_game", "setFeature", &Game::setFeature, &g_game); + g_lua.bindSingletonFunction("g_game", "enableFeature", &Game::enableFeature, &g_game); g_lua.registerSingletonClass("g_shaders"); g_lua.bindSingletonFunction("g_shaders", "createShader", &ShaderManager::createShader, &g_shaders); diff --git a/src/otclient/protocolgamesend.cpp b/src/otclient/protocolgamesend.cpp index d1af5d5f..1459a09d 100644 --- a/src/otclient/protocolgamesend.cpp +++ b/src/otclient/protocolgamesend.cpp @@ -50,7 +50,7 @@ void ProtocolGame::sendLoginPacket(uint challangeTimestamp, uint8 challangeRando msg->addU8(Proto::ClientEnterGame); - msg->addU16(g_lua.callGlobalField("g_game", "getOs")); + msg->addU16(g_lua.callGlobalField("g_game", "getOsType")); msg->addU16(g_game.getClientVersion()); int paddingBytes = 128;