05.12.2016, 12:49
PHP код:
BanCheck(playerid)
{
new
retrieveName[MAX_PLAYER_NAME],
retrieveBannedBy[MAX_PLAYER_NAME],
retrieveReason[50],
retrieveBanDate,
retrieveDuration,
retrieveGCPI[60],
retrieveIP[16 + 1],
Query[380]
;
GetPlayerIp(playerid, retrieveIP, sizeof(retrieveIP));
gpci(playerid, retrieveGCPI, sizeof(retrieveGCPI));
format(Query, sizeof(Query), "SELECT * FROM `Bans` WHERE `Name` = '%s' COLLATE NOCASE OR `GPCI` = '%s' OR `IP` = '%s' LIMIT 1", GetPlayerName(playerid), retrieveGCPI, retrieveIP);
queryresult = db_query(Database, Query);
if(db_num_rows(queryresult))
{
db_get_field_assoc(queryresult, "Name", retrieveName, sizeof(retrieveName));
db_get_field_assoc(queryresult, "BannerName", retrieveBannedBy, sizeof(retrieveBannedBy));
db_get_field_assoc(queryresult, "Reason", retrieveReason, sizeof(retrieveReason));
retrieveBanDate = db_get_field_assoc_int(queryresult, "BANDATE");
retrieveDuration = db_get_field_assoc_int(queryresult, "UNBANDATE");
if(gettime() - retrieveDuration > (retrieveDuration - retrieveBanDate))
{
format(Query, sizeof(Query), "Your ban expired on %s \nWelcome back %s!", TimestampToDateTime(retrieveDuration), GetPlayerName(playerid));
SendClientMessage(playerid, COLOR_SERVER, Query);
format(Query, sizeof(Query), "DELETE * FROM `Bans` WHERE `Name` = '%s'", retrieveName);
db_query(Database, Query)
}
else
{
new globalString[400]; //solo es una prueba, yo le asigno el mismo Query para no crear otro string
format(globalString, sizeof(globalString), "Username: %s - Banned IP: %s - Admin banned you: %s - Reason of Ban: %s - Date of Ban: %s - Date of Unban: %s", retrieveName, retrieveIP, retrieveBannedBy, retrieveReason, TimestampToDateTime(retrieveBanDate), TimestampToDateTime(retrieveDuration));
SendClientMessage(playerid, COLOR_SERVER, globalString);
return 1;
}
}
return 1;
}