static cell_t sm_GetClientSerial(IPluginContext *pContext, const cell_t *params) { int client = params[1]; IGamePlayer *pPlayer = playerhelpers->GetGamePlayer(client); if (!pPlayer) { return pContext->ThrowNativeError("Client index %d is invalid", client); } return pPlayer->GetSerial(); }
void CookieManager::OnClientAuthorized(int client, const char *authstring) { IGamePlayer *player = playerhelpers->GetGamePlayer(client); if (player == NULL) { return; } connected[client] = true; TQueryOp *op = new TQueryOp(Query_SelectData, player->GetSerial()); strcpy(op->m_params.steamId, authstring); g_ClientPrefs.AddQueryToQueue(op); }
void CookieManager::OnClientDisconnecting(int client) { connected[client] = false; statsLoaded[client] = false; statsPending[client] = false; CookieData *current = NULL; g_ClientPrefs.AttemptReconnection(); /* Save this cookie to the database */ IGamePlayer *player = playerhelpers->GetGamePlayer(client); const char *pAuth = NULL; int dbId; if (player) { pAuth = GetPlayerCompatAuthId(player); g_ClientPrefs.ClearQueryCache(player->GetSerial()); } ke::Vector<CookieData *> &clientvec = clientData[client]; for (size_t iter = 0; iter < clientvec.length(); ++iter) { current = clientvec[iter]; dbId = current->parent->dbid; if (player == NULL || pAuth == NULL || !current->changed || dbId == -1) { current->parent->data[client] = NULL; delete current; continue; } TQueryOp *op = new TQueryOp(Query_InsertData, client); UTIL_strncpy(op->m_params.steamId, pAuth, MAX_NAME_LENGTH); op->m_params.cookieId = dbId; op->m_params.data = current; g_ClientPrefs.AddQueryToQueue(op); current->parent->data[client] = NULL; } clientvec.clear(); }
void CookieManager::OnClientAuthorized(int client, const char *authstring) { IGamePlayer *player = playerhelpers->GetGamePlayer(client); if (player == NULL) { return; } connected[client] = true; statsPending[client] = true; g_ClientPrefs.AttemptReconnection(); TQueryOp *op = new TQueryOp(Query_SelectData, player->GetSerial()); UTIL_strncpy(op->m_params.steamId, GetPlayerCompatAuthId(player), MAX_NAME_LENGTH); g_ClientPrefs.AddQueryToQueue(op); }