05.12.2016, 17:55
PHP код:
//----------------------------------------------
//-------------[CHECK BAN]--------------
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), "[SERVER]"COL_WHITE" Your ban expired on %s "COL_SEXYGREEN"Welcome back"COL_WHITE" %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
{
format(Query, sizeof(Query), "\
"COL_RED"Username: "COL_WHITE"%s\n\
"COL_RED"Banned IP: "COL_WHITE"%s\n\
"COL_RED"Admin banned you: "COL_WHITE"%s\n\
"COL_RED"Reason of Ban: "COL_WHITE"%s\n\
"COL_RED"Date of Ban: "COL_WHITE"%s\n\
"COL_RED"Date of Unban: "COL_WHITE"%s", retrieveName, retrieveIP, retrieveBannedBy,
retrieveReason, TimestampToDateTime(retrieveBanDate), TimestampToDateTime(retrieveDuration));
ShowPlayerDialog(playerid, DIALOG_BANINFO, DIALOG_STYLE_MSGBOX, ""COL_RED"Account BANNED!", Query, "Exit", "");
db_free_result(queryresult);
return 1;
}
}
else
{
//----------------------------------------------
//-------------[Login-Register]--------------
pInfo[playerid][USER_LOGGED_IN] = false;
format(Query, sizeof(Query), "SELECT `Username` FROM `users` WHERE `Username` = '%s' COLLATE NOCASE", DB_Escape(GetPlayerName(playerid)));
queryresult = db_query(Database, Query);
if(db_num_rows(queryresult))
{
format(Query, sizeof(Query), ""COL_WHITE"Welcome, this account ("COL_BLUE"%s)"COL_WHITE" is registered\nPlease enter the password to login\n\n"COL_GRIS"If you are not the owner of this account, leave and rejoin with a different nickname", GetPlayerName(playerid), playerid);
ShowPlayerDialog(playerid, dlogin, DIALOG_STYLE_PASSWORD, ""COL_BLUE"Login Panel", Query, "Login", "Leave");
}
else
{
format(Query, sizeof(Query), ""COL_WHITE"Welcome, this account ("COL_RED"%s)"COL_WHITE" is not registered\nPlease enter your desired password for this account\n\n"COL_GRIS"Once you are registered, do not share your password with anyone besides yourself!", GetPlayerName(playerid), playerid);
ShowPlayerDialog(playerid, dregister, DIALOG_STYLE_PASSWORD, ""COL_BLUE"Register Panel", Query, "Register", "Leave");
}
db_free_result(queryresult);
}