Skip to content

Commit b26affe

Browse files
committed
update(scripting/player): Adding GetConnectedTime
1 parent f1c4bce commit b26affe

File tree

4 files changed

+24
-4
lines changed

4 files changed

+24
-4
lines changed

plugin_files/scripting/includes/swiftly/player.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,15 @@ class Player
126126
if (player_SendMessage)
127127
reinterpret_cast<Player_SendMessage>(player_SendMessage)(this->m_playerSlot, dest, buffer);
128128
}
129+
130+
uint32_t GetConnectedTime()
131+
{
132+
void *player_GetConnectedTime = FetchFunctionPtr(nullptr, "scripting_Player_GetConnectedTime");
133+
if (player_GetConnectedTime)
134+
return reinterpret_cast<Player_GetConnectedTime>(player_GetConnectedTime)(this->m_playerSlot);
135+
else
136+
return 0;
137+
}
129138
};
130139

131140
#endif

plugin_files/scripting/includes/swiftly/swiftly_memory.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ typedef void (*Player_SetClanTag)(uint32_t, const char *);
3535
typedef void (*Player_SetVar)(uint32_t, const char *, int, ...);
3636
typedef const char *(*Player_GetVar)(uint32_t, const char *);
3737

38+
typedef uint32_t (*Player_GetConnectedTime)(uint32_t);
39+
3840
typedef void (*Player_SendMessage)(uint32_t, HudDestination, const char *);
3941
typedef void (*Players_SendMessage)(HudDestination, const char *);
4042

src/components/Plugins/src/scripting/Player.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,4 +278,13 @@ SMM_API const char *scripting_Player_GetVar(uint32 playerId, const char *name)
278278
std::any value = player->GetInternalVar(name);
279279

280280
return SerializeData(value).c_str();
281+
}
282+
283+
SMM_API uint32 scripting_Player_GetConnectedTime(uint32 playerId)
284+
{
285+
Player *player = g_playerManager->GetPlayer(playerId);
286+
if (!player)
287+
return 0;
288+
289+
return player->GetConnectedTime();
281290
}

src/player/PlayerManager.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@ void OnClientConnectedOnServer(const OnClientConnected *e)
2727
Player *player = new Player(true, e->slot->Get(), e->pszName, 0);
2828
g_playerManager->RegisterPlayer(player);
2929
}
30-
};
30+
}
3131

3232
void OnClientConnectOnServer(const OnClientConnect *e)
3333
{
3434
Player *player = new Player(false, e->slot->Get(), e->pszName, e->xuid);
3535
g_playerManager->RegisterPlayer(player);
3636

3737
player->SetConnected(true);
38-
};
38+
}
3939

4040
void OnClientDisconnected(const OnClientDisconnect *e)
4141
{
@@ -44,7 +44,7 @@ void OnClientDisconnected(const OnClientDisconnect *e)
4444
return;
4545

4646
g_playerManager->UnregisterPlayer(e->slot);
47-
};
47+
}
4848

4949
void OnClientSpawn(const OnPlayerSpawn *e)
5050
{
@@ -58,7 +58,7 @@ void OnClientSpawn(const OnPlayerSpawn *e)
5858
return;
5959

6060
player->SetEHandlerIdx(controller->GetRefEHandle().GetEntryIndex());
61-
};
61+
}
6262

6363
void PlayerManager::SetupHooks()
6464
{

0 commit comments

Comments
 (0)