• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lua Function Player( guid )

Marcelo Druida

Intermediate OT User
Joined
Nov 17, 2014
Messages
429
Solutions
1
Reaction score
134
Location
Brazil
Hello!!

This code enables the parameter be the GUID when you need player userdata.

tested on TFS 1.x

luascripts.cpp
Code:
// Player
int LuaScriptInterface::luaPlayerCreate(lua_State* L)
{
  // Player(id or name or userdata)
   Player* player;
   if (isNumber(L, 2)) {
     if (getNumber<uint32_t>(L, 2) > 268435455)
       player = g_game.getPlayerByID(getNumber<uint32_t>(L, 2));
     else
       player = g_game.getPlayerByGUID(getNumber<uint32_t>(L, 2));
   } else if (isString(L, 2)) {

...

Enjoy!
 
Last edited:
I do not recommend this. You can't be 100% sure you will get the player you want.

1000 = Player 1 uid
1000 = Player 2 guid - you want to get

Player(1000) - you get the player 1, which you don't want ;]

better use this
Code:
function getPlayerByGUID(guid)
  for _, player in ipairs(Game.getPlayers()) do
  if (player:getGuid() == guid) then
  return player:getId()
  end
  end
  return nil
end
 
It wont happens
Only you got 268.435.456+ players in database
 
Last edited:
Back
Top