From 9a37ed434152568f13c25c49cbc1efee493203f1 Mon Sep 17 00:00:00 2001 From: Lion Kortlepel Date: Fri, 17 Sep 2021 12:45:34 +0200 Subject: [PATCH] Lua: Add GetPlayerName --- include/TLuaEngine.h | 1 + src/TLuaEngine.cpp | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/include/TLuaEngine.h b/include/TLuaEngine.h index 7a6b5c2..c232629 100644 --- a/include/TLuaEngine.h +++ b/include/TLuaEngine.h @@ -99,6 +99,7 @@ private: sol::table Lua_TriggerLocalEvent(const std::string& EventName); sol::table Lua_GetPlayerIdentifiers(int ID); sol::table Lua_GetPlayers(); + std::string Lua_GetPlayerName(int ID); std::string mName; std::atomic_bool& mShutdown; diff --git a/src/TLuaEngine.cpp b/src/TLuaEngine.cpp index 19df10b..b11c75f 100644 --- a/src/TLuaEngine.cpp +++ b/src/TLuaEngine.cpp @@ -218,6 +218,15 @@ sol::table TLuaEngine::StateThreadData::Lua_GetPlayers() { return Result; } +std::string TLuaEngine::StateThreadData::Lua_GetPlayerName(int ID) { + auto MaybeClient = GetClient(mEngine->Server(), ID); + if (MaybeClient && !MaybeClient.value().expired()) { + return MaybeClient.value().lock()->GetName(); + } else { + return ""; + } +} + TLuaEngine::StateThreadData::StateThreadData(const std::string& Name, std::atomic_bool& Shutdown, TLuaStateId StateId, TLuaEngine& Engine) : mName(Name) , mShutdown(Shutdown) @@ -258,7 +267,9 @@ TLuaEngine::StateThreadData::StateThreadData(const std::string& Name, std::atomi Table.set_function("TriggerClientEvent", &LuaAPI::MP::TriggerClientEvent); Table.set_function("GetPlayerCount", &LuaAPI::MP::GetPlayerCount); Table.set_function("IsPlayerConnected", &LuaAPI::MP::IsPlayerConnected); - //Table.set_function("GetPlayerName", &Lua_GetPlayerName); + Table.set_function("GetPlayerName", [&](int ID) -> std::string { + return Lua_GetPlayerName(ID); + }); Table.set_function("RemoveVehicle", &LuaAPI::MP::RemoveVehicle); //Table.set_function("GetPlayerVehicles", &Lua_GetPlayerVehicles); Table.set_function("SendChatMessage", &LuaAPI::MP::SendChatMessage);