25/05/2023 22:10
Você pode fazer com que quando alguém saia do seu Discord e tenha Whitelist, ela será removida, irei deixar os dois exemplos abaixos:
Verificando quando o jogador tem seus dados carregados
Verificando quando algum membro sai do Discord.
Caso tenha dúvida, fique a vontade.
Verificando quando o jogador tem seus dados carregados
Código PHP:
// Suponho que você tenha uma função que carregue os dados do jogador, irei utilizar SQLite como exemplo, mas você pode adaptar ao seu tipo de salvamento e como você geta/seta as informações
Load_Player(playerid)
{
static
DCC_User:user,
query[128],
DBResult:result;
format(query, sizeof query, "SELECT * FROM `accounts` WHERE `name`='%q';", GetName(playerid));
result = db_query(database, query);
if(db_num_rows(result)) {
db_get_field_assoc(result, "userid", PlayerData[playerid][pUserID], DCC_ID_SIZE);
if((user = DCC_FindUserById(PlayerData[playerid][pUserID])) == DCC_INVALID_USER)
{
// O jogador não foi encontrado, pode ter saído do servidor, não sei pode ocorrer algum problema em relação a isso no exemplo de bugar...
}
}
db_free_result(result);
return 1;
}
Verificando quando algum membro sai do Discord.
Código PHP:
public DCC_OnGuildMemberRemove(DCC_Guild:guild, DCC_User:user)
{
if(guild == YOUR_GUILD_ID) // Coloca o seu servidor aí
{
static
query[128],
DBResult:result;
format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `userid`='%q';", GetUserId(user));
result = db_query(database, query);
if(db_num_rows(result)) // Caso a consulta acima retornar alguma linha, significa que quem saiu tem uma conta, aí eu deleto abaixo
{
format(query, sizeof(query), "DELETE FROM `accounts` WHERE `userid`='%q';", GetUserId(user));
db_free_result(db_query(database, query));
}
}
return 1;
}
Caso tenha dúvida, fique a vontade.