From 1f706e0791bc7e721fd53cd61c68c1675932f026 Mon Sep 17 00:00:00 2001 From: Nico <122193236+Nico8340@users.noreply.github.com> Date: Fri, 10 Jan 2025 08:47:08 +0100 Subject: [PATCH 1/8] Header --- .../mods/deathmatch/logic/luadefs/CLuaTeamDefs.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h index 815801bac8..987b946fc7 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h +++ b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h @@ -2,8 +2,6 @@ * * PROJECT: Multi Theft Auto * LICENSE: See LICENSE in the top level directory - * FILE: mods/shared_logic/luadefs/CLuaTeamDefs.cpp - * PURPOSE: Lua team definitions class * * Multi Theft Auto is available from http://www.multitheftauto.com/ * @@ -11,6 +9,7 @@ #pragma once #include "CLuaDefs.h" +#include class CLuaTeamDefs : public CLuaDefs { @@ -18,10 +17,11 @@ class CLuaTeamDefs : public CLuaDefs static void LoadFunctions(); static void AddClass(lua_State* luaVM); - LUA_DECLARE(GetTeamFromName); - LUA_DECLARE(GetTeamName); - LUA_DECLARE(GetTeamColor); - LUA_DECLARE(GetTeamFriendlyFire); - LUA_DECLARE(GetPlayersInTeam); - LUA_DECLARE(CountPlayersInTeam); +private: + static CClientTeam* GetTeamFromName(const std::string name) noexcept; + static std::string GetTeamName(CClientTeam* team) noexcept; + static CLuaMultiReturn GetTeamColor(CClientTeam* team) noexcept; + static bool GetTeamFriendlyFire(CClientTeam* team) noexcept; + static std::vector GetPlayersInTeam(CClientTeam* team) noexcept; + static std::uint32_t CountPlayersInTeam(CClientTeam* team) noexcept; }; From 66277ecbba60fdcaa02f577c67def177fe7606d8 Mon Sep 17 00:00:00 2001 From: Nico <122193236+Nico8340@users.noreply.github.com> Date: Fri, 10 Jan 2025 08:47:14 +0100 Subject: [PATCH 2/8] Source --- .../deathmatch/logic/luadefs/CLuaTeamDefs.cpp | 155 ++++-------------- 1 file changed, 31 insertions(+), 124 deletions(-) diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp index e06cbeb260..915183072e 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp +++ b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp @@ -2,21 +2,23 @@ * * PROJECT: Multi Theft Auto * LICENSE: See LICENSE in the top level directory - * FILE: mods/shared_logic/luadefs/CLuaTeamDefs.cpp - * PURPOSE: Lua team definitions class * * Multi Theft Auto is available from http://www.multitheftauto.com/ * *****************************************************************************/ #include "StdInc.h" -using std::list; +#include void CLuaTeamDefs::LoadFunctions() { constexpr static const std::pair functions[]{ - {"getTeamFromName", GetTeamFromName}, {"getTeamName", GetTeamName}, {"getTeamColor", GetTeamColor}, - {"getTeamFriendlyFire", GetTeamFriendlyFire}, {"getPlayersInTeam", GetPlayersInTeam}, {"countPlayersInTeam", CountPlayersInTeam}, + {"getTeamFromName", ArgumentParserWarn}, + {"getTeamName", ArgumentParserWarn}, + {"getTeamColor", ArgumentParserWarn}, + {"getTeamFriendlyFire", ArgumentParserWarn}, + {"getPlayersInTeam", ArgumentParserWarn}, + {"countPlayersInTeam", ArgumentParserWarn} }; // Add functions @@ -28,7 +30,6 @@ void CLuaTeamDefs::AddClass(lua_State* luaVM) { lua_newclass(luaVM); - lua_classfunction(luaVM, "create", "getTeamFromName"); lua_classfunction(luaVM, "getFromName", "getTeamFromName"); lua_classfunction(luaVM, "countPlayers", "countPlayersInTeam"); lua_classfunction(luaVM, "getFriendlyFire", "getTeamFriendlyFire"); @@ -36,148 +37,54 @@ void CLuaTeamDefs::AddClass(lua_State* luaVM) lua_classfunction(luaVM, "getColor", "getTeamColor"); lua_classfunction(luaVM, "getPlayers", "getPlayersInTeam"); - lua_classvariable(luaVM, "playerCount", NULL, "countPlayersInTeam"); - lua_classvariable(luaVM, "friendlyFire", NULL, "getTeamFriendlyFire"); - lua_classvariable(luaVM, "players", NULL, "getPlayersInTeam"); - lua_classvariable(luaVM, "name", NULL, "getTeamName"); + lua_classvariable(luaVM, "playerCount", nullptr, "countPlayersInTeam"); + lua_classvariable(luaVM, "friendlyFire", nullptr, "getTeamFriendlyFire"); + lua_classvariable(luaVM, "players", nullptr, "getPlayersInTeam"); + lua_classvariable(luaVM, "name", nullptr, "getTeamName"); lua_registerclass(luaVM, "Team", "Element"); } -int CLuaTeamDefs::GetTeamFromName(lua_State* luaVM) +CClientTeam* CLuaTeamDefs::GetTeamFromName(const std::string name) noexcept { - SString strName = ""; - CScriptArgReader argStream(luaVM); - argStream.ReadString(strName); - - if (!argStream.HasErrors()) - { - CClientTeam* pTeam = m_pTeamManager->GetTeam(strName); - if (pTeam) - { - lua_pushelement(luaVM, pTeam); - return 1; - } - } - else - m_pScriptDebugging->LogCustom(luaVM, argStream.GetFullErrorMessage()); - - lua_pushboolean(luaVM, false); - return 1; + return m_pTeamManager->GetTeam(name.c_str()); } -int CLuaTeamDefs::GetTeamName(lua_State* luaVM) +std::string CLuaTeamDefs::GetTeamName(CClientTeam* team) noexcept { - CClientTeam* pTeam = NULL; - CScriptArgReader argStream(luaVM); - argStream.ReadUserData(pTeam); - - if (!argStream.HasErrors()) - { - const char* szName = pTeam->GetTeamName(); - if (szName) - { - lua_pushstring(luaVM, szName); - return 1; - } - } - else - m_pScriptDebugging->LogCustom(luaVM, argStream.GetFullErrorMessage()); - - lua_pushboolean(luaVM, false); - return 1; + return std::string(team->GetTeamName()); } -int CLuaTeamDefs::GetTeamColor(lua_State* luaVM) +CLuaMultiReturn CLuaTeamDefs::GetTeamColor(CClientTeam* team) noexcept { - CClientTeam* pTeam = NULL; - CScriptArgReader argStream(luaVM); - argStream.ReadUserData(pTeam); + std::uint8_t red; + std::uint8_t green; + std::uint8_t blue; - if (!argStream.HasErrors()) - { - unsigned char ucRed, ucGreen, ucBlue; - pTeam->GetColor(ucRed, ucGreen, ucBlue); + team->GetColor(red, green, blue); - lua_pushnumber(luaVM, ucRed); - lua_pushnumber(luaVM, ucGreen); - lua_pushnumber(luaVM, ucBlue); - return 3; - } - else - m_pScriptDebugging->LogCustom(luaVM, argStream.GetFullErrorMessage()); - - lua_pushboolean(luaVM, false); - return 1; + return {red, green, blue}; } -int CLuaTeamDefs::GetTeamFriendlyFire(lua_State* luaVM) +bool CLuaTeamDefs::GetTeamFriendlyFire(CClientTeam* team) noexcept { - CClientTeam* pTeam = NULL; - CScriptArgReader argStream(luaVM); - argStream.ReadUserData(pTeam); - - if (!argStream.HasErrors()) - { - bool bFriendlyFire = pTeam->GetFriendlyFire(); - lua_pushboolean(luaVM, bFriendlyFire); - return 1; - } - else - m_pScriptDebugging->LogCustom(luaVM, argStream.GetFullErrorMessage()); - - lua_pushboolean(luaVM, false); - return 1; + return team->GetFriendlyFire(); } -int CLuaTeamDefs::GetPlayersInTeam(lua_State* luaVM) +std::vector CLuaTeamDefs::GetPlayersInTeam(CClientTeam* team) noexcept { - CClientTeam* pTeam = NULL; - CScriptArgReader argStream(luaVM); - argStream.ReadUserData(pTeam); + std::vector players; - if (!argStream.HasErrors()) + for (auto iter = team->IterBegin(); iter != team->IterEnd(); ++iter) { - lua_newtable(luaVM); - - unsigned int uiIndex = 0; - - list::const_iterator iter = pTeam->IterBegin(); - for (; iter != pTeam->IterEnd(); iter++) - { - CClientPlayer* pPlayer = *iter; - if (!pPlayer->IsBeingDeleted()) - { - lua_pushnumber(luaVM, ++uiIndex); - lua_pushelement(luaVM, pPlayer); - lua_settable(luaVM, -3); - } - } - - return 1; + if (!(*iter)->IsBeingDeleted()) + players.push_back(*iter); } - else - m_pScriptDebugging->LogCustom(luaVM, argStream.GetFullErrorMessage()); - lua_pushboolean(luaVM, false); - return 1; + return players; } -int CLuaTeamDefs::CountPlayersInTeam(lua_State* luaVM) +std::uint32_t CLuaTeamDefs::CountPlayersInTeam(CClientTeam* team) noexcept { - CClientTeam* pTeam = NULL; - CScriptArgReader argStream(luaVM); - argStream.ReadUserData(pTeam); - - if (!argStream.HasErrors()) - { - unsigned int uiCount = pTeam->CountPlayers(); - lua_pushnumber(luaVM, uiCount); - return 1; - } - else - m_pScriptDebugging->LogCustom(luaVM, argStream.GetFullErrorMessage()); - - lua_pushboolean(luaVM, false); - return 1; + return team->CountPlayers(); } From d4a29edc3ae2280fce1be94a90ad618c4e00ac01 Mon Sep 17 00:00:00 2001 From: Nico <122193236+Nico8340@users.noreply.github.com> Date: Fri, 10 Jan 2025 09:16:46 +0100 Subject: [PATCH 3/8] Make suggested changes --- Client/mods/deathmatch/logic/CClientTeam.cpp | 15 ++++++++++++++- Client/mods/deathmatch/logic/CClientTeam.h | 1 + .../deathmatch/logic/luadefs/CLuaTeamDefs.cpp | 10 +--------- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/Client/mods/deathmatch/logic/CClientTeam.cpp b/Client/mods/deathmatch/logic/CClientTeam.cpp index 3813986695..fd71acc36e 100644 --- a/Client/mods/deathmatch/logic/CClientTeam.cpp +++ b/Client/mods/deathmatch/logic/CClientTeam.cpp @@ -64,6 +64,19 @@ void CClientTeam::RemoveAll() m_List.clear(); } +std::vector CClientTeam::GetPlayers() noexcept +{ + std::vector players; + + for (auto iter = IterBegin(); iter != IterEnd(); ++iter) + { + if (!(*iter)->IsBeingDeleted()) + players.push_back(*iter); + } + + return players; +} + bool CClientTeam::Exists(CClientPlayer* pPlayer) { list::const_iterator iter = m_List.begin(); @@ -96,4 +109,4 @@ void CClientTeam::SetColor(unsigned char ucRed, unsigned char ucGreen, unsigned m_ucRed = ucRed; m_ucGreen = ucGreen; m_ucBlue = ucBlue; -} \ No newline at end of file +} diff --git a/Client/mods/deathmatch/logic/CClientTeam.h b/Client/mods/deathmatch/logic/CClientTeam.h index 05e4468481..f208f45b40 100644 --- a/Client/mods/deathmatch/logic/CClientTeam.h +++ b/Client/mods/deathmatch/logic/CClientTeam.h @@ -44,6 +44,7 @@ class CClientTeam final : public CClientEntity void AddPlayer(CClientPlayer* pPlayer, bool bChangePlayer = false); void RemovePlayer(CClientPlayer* pPlayer, bool bChangePlayer = false); void RemoveAll(); + std::vector GetPlayers() noexcept; bool Exists(CClientPlayer* pPlayer); diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp index 915183072e..7e17e599f4 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp +++ b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp @@ -73,15 +73,7 @@ bool CLuaTeamDefs::GetTeamFriendlyFire(CClientTeam* team) noexcept std::vector CLuaTeamDefs::GetPlayersInTeam(CClientTeam* team) noexcept { - std::vector players; - - for (auto iter = team->IterBegin(); iter != team->IterEnd(); ++iter) - { - if (!(*iter)->IsBeingDeleted()) - players.push_back(*iter); - } - - return players; + return team->GetPlayers(); } std::uint32_t CLuaTeamDefs::CountPlayersInTeam(CClientTeam* team) noexcept From 867aee1eec236591e291027f2aaa2ac71c9dbb1f Mon Sep 17 00:00:00 2001 From: Nico <122193236+Nico8340@users.noreply.github.com> Date: Fri, 10 Jan 2025 09:24:38 +0100 Subject: [PATCH 4/8] Make suggested changes --- Client/mods/deathmatch/logic/CClientTeam.cpp | 2 +- Client/mods/deathmatch/logic/CClientTeam.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Client/mods/deathmatch/logic/CClientTeam.cpp b/Client/mods/deathmatch/logic/CClientTeam.cpp index fd71acc36e..28dd562e27 100644 --- a/Client/mods/deathmatch/logic/CClientTeam.cpp +++ b/Client/mods/deathmatch/logic/CClientTeam.cpp @@ -64,7 +64,7 @@ void CClientTeam::RemoveAll() m_List.clear(); } -std::vector CClientTeam::GetPlayers() noexcept +std::vector CClientTeam::GetPlayers() const { std::vector players; diff --git a/Client/mods/deathmatch/logic/CClientTeam.h b/Client/mods/deathmatch/logic/CClientTeam.h index f208f45b40..11e5dc71e1 100644 --- a/Client/mods/deathmatch/logic/CClientTeam.h +++ b/Client/mods/deathmatch/logic/CClientTeam.h @@ -44,12 +44,12 @@ class CClientTeam final : public CClientEntity void AddPlayer(CClientPlayer* pPlayer, bool bChangePlayer = false); void RemovePlayer(CClientPlayer* pPlayer, bool bChangePlayer = false); void RemoveAll(); - std::vector GetPlayers() noexcept; + std::vector GetPlayers() const; bool Exists(CClientPlayer* pPlayer); - std::list::const_iterator IterBegin() { return m_List.begin(); } - std::list::const_iterator IterEnd() { return m_List.end(); } + std::list::const_iterator IterBegin() const noexcept { return m_List.begin(); } + std::list::const_iterator IterEnd() const noexcept { return m_List.end(); } void GetPosition(CVector& vecPosition) const { vecPosition = m_vecPosition; } void SetPosition(const CVector& vecPosition) { m_vecPosition = vecPosition; } From c0720ae64bc41f55081bab7c5c0f373ed4a41dc3 Mon Sep 17 00:00:00 2001 From: Nico <122193236+Nico8340@users.noreply.github.com> Date: Fri, 10 Jan 2025 11:29:23 +0100 Subject: [PATCH 5/8] Make requested changes --- Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp | 9 +++++++-- Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp index 7e17e599f4..8f5f2f2a00 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp +++ b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp @@ -45,9 +45,14 @@ void CLuaTeamDefs::AddClass(lua_State* luaVM) lua_registerclass(luaVM, "Team", "Element"); } -CClientTeam* CLuaTeamDefs::GetTeamFromName(const std::string name) noexcept +std::variant CLuaTeamDefs::GetTeamFromName(const std::string name) noexcept { - return m_pTeamManager->GetTeam(name.c_str()); + CClientTeam* team = m_pTeamManager->GetTeam(name.c_str()); + + if (!team) + return false; + + return team; } std::string CLuaTeamDefs::GetTeamName(CClientTeam* team) noexcept diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h index 987b946fc7..dea9e67257 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h +++ b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h @@ -18,7 +18,7 @@ class CLuaTeamDefs : public CLuaDefs static void AddClass(lua_State* luaVM); private: - static CClientTeam* GetTeamFromName(const std::string name) noexcept; + static std::variant GetTeamFromName(const std::string name) noexcept; static std::string GetTeamName(CClientTeam* team) noexcept; static CLuaMultiReturn GetTeamColor(CClientTeam* team) noexcept; static bool GetTeamFriendlyFire(CClientTeam* team) noexcept; From 517ed57dedae1a9e166326acd8875d20bde5fbde Mon Sep 17 00:00:00 2001 From: Nico <122193236+Nico8340@users.noreply.github.com> Date: Fri, 10 Jan 2025 11:48:56 +0100 Subject: [PATCH 6/8] Make requested changes --- Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp | 4 ++-- Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp index 8f5f2f2a00..6cf87a3bfa 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp +++ b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp @@ -45,9 +45,9 @@ void CLuaTeamDefs::AddClass(lua_State* luaVM) lua_registerclass(luaVM, "Team", "Element"); } -std::variant CLuaTeamDefs::GetTeamFromName(const std::string name) noexcept +std::variant CLuaTeamDefs::GetTeamFromName(const std::string_view name) noexcept { - CClientTeam* team = m_pTeamManager->GetTeam(name.c_str()); + CClientTeam* team = m_pTeamManager->GetTeam(name.data()); if (!team) return false; diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h index dea9e67257..df0c3e8213 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h +++ b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h @@ -18,7 +18,7 @@ class CLuaTeamDefs : public CLuaDefs static void AddClass(lua_State* luaVM); private: - static std::variant GetTeamFromName(const std::string name) noexcept; + static std::variant GetTeamFromName(const std::string_view name) noexcept; static std::string GetTeamName(CClientTeam* team) noexcept; static CLuaMultiReturn GetTeamColor(CClientTeam* team) noexcept; static bool GetTeamFriendlyFire(CClientTeam* team) noexcept; From 9cf287a080471088edb504bb15dce8fe26e74962 Mon Sep 17 00:00:00 2001 From: Nico <122193236+Nico8340@users.noreply.github.com> Date: Fri, 10 Jan 2025 22:34:13 +0100 Subject: [PATCH 7/8] Make suggested changes --- Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp | 7 ++++--- Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp index 6cf87a3bfa..970d13aac4 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp +++ b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp @@ -47,7 +47,8 @@ void CLuaTeamDefs::AddClass(lua_State* luaVM) std::variant CLuaTeamDefs::GetTeamFromName(const std::string_view name) noexcept { - CClientTeam* team = m_pTeamManager->GetTeam(name.data()); + std::string string(name); + CClientTeam* team = m_pTeamManager->GetTeam(string.c_str()); if (!team) return false; @@ -55,7 +56,7 @@ std::variant CLuaTeamDefs::GetTeamFromName(const std::string return team; } -std::string CLuaTeamDefs::GetTeamName(CClientTeam* team) noexcept +std::string CLuaTeamDefs::GetTeamName(CClientTeam* team) { return std::string(team->GetTeamName()); } @@ -76,7 +77,7 @@ bool CLuaTeamDefs::GetTeamFriendlyFire(CClientTeam* team) noexcept return team->GetFriendlyFire(); } -std::vector CLuaTeamDefs::GetPlayersInTeam(CClientTeam* team) noexcept +std::vector CLuaTeamDefs::GetPlayersInTeam(CClientTeam* team) { return team->GetPlayers(); } diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h index df0c3e8213..d0243c65c4 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h +++ b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h @@ -19,9 +19,9 @@ class CLuaTeamDefs : public CLuaDefs private: static std::variant GetTeamFromName(const std::string_view name) noexcept; - static std::string GetTeamName(CClientTeam* team) noexcept; + static std::string GetTeamName(CClientTeam* team); static CLuaMultiReturn GetTeamColor(CClientTeam* team) noexcept; static bool GetTeamFriendlyFire(CClientTeam* team) noexcept; - static std::vector GetPlayersInTeam(CClientTeam* team) noexcept; + static std::vector GetPlayersInTeam(CClientTeam* team); static std::uint32_t CountPlayersInTeam(CClientTeam* team) noexcept; }; From 45f09df09c012d0a8bf1e5a4db2e3341103b299c Mon Sep 17 00:00:00 2001 From: Nico <122193236+Nico8340@users.noreply.github.com> Date: Fri, 10 Jan 2025 22:50:53 +0100 Subject: [PATCH 8/8] Make changes --- Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp | 5 ++--- Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp index 970d13aac4..b8772b4b88 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp +++ b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.cpp @@ -45,10 +45,9 @@ void CLuaTeamDefs::AddClass(lua_State* luaVM) lua_registerclass(luaVM, "Team", "Element"); } -std::variant CLuaTeamDefs::GetTeamFromName(const std::string_view name) noexcept +std::variant CLuaTeamDefs::GetTeamFromName(const std::string name) noexcept { - std::string string(name); - CClientTeam* team = m_pTeamManager->GetTeam(string.c_str()); + CClientTeam* team = m_pTeamManager->GetTeam(name.c_str()); if (!team) return false; diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h index d0243c65c4..6dddee7aa7 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h +++ b/Client/mods/deathmatch/logic/luadefs/CLuaTeamDefs.h @@ -18,7 +18,7 @@ class CLuaTeamDefs : public CLuaDefs static void AddClass(lua_State* luaVM); private: - static std::variant GetTeamFromName(const std::string_view name) noexcept; + static std::variant GetTeamFromName(const std::string name) noexcept; static std::string GetTeamName(CClientTeam* team); static CLuaMultiReturn GetTeamColor(CClientTeam* team) noexcept; static bool GetTeamFriendlyFire(CClientTeam* team) noexcept;