Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <zcmd>
- #define DIALOG_WARN 9000
- #define DIALOG_UNWARN 9001
- new InvalidWords[][100] =
- {
- "ass",
- "fuck",
- "pussy",
- "dick",
- "gay",
- "suck",
- "cum"
- };
- enum wInfo
- {
- Warns,
- }
- new WarnInfo[MAX_PLAYERS][wInfo];
- CMD:warn(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}ERROR: {FFFFFF}You are not authorized to use this command.");
- ShowPlayerDialog(playerid, DIALOG_WARN, DIALOG_STYLE_INPUT, "{FFFFFF}Warn", "{FFFFFF}Please input below the player's name who will got warned:", "Warn", "Exit");
- return 1;
- }
- CMD:unwarn
- (playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}ERROR: {FFFFFF}You are not authorized to use this command.");
- ShowPlayerDialog(playerid, DIALOG_UNWARN, DIALOG_STYLE_INPUT, "{FFFFFF}UnWarn", "{FFFFFF}Please, input below the player's name who will got unwarned:", "Unwarn", "Exit");
- return 1;
- }
- CMD:mywarns(playerid, params[])
- {
- new string[128];
- if(WarnInfo[playerid][Warns] == 0) return SendClientMessage(playerid, -1, "{FF0000}[INFO]: {FFFFFF}Congrats. You have {FF0000}0 {FFFFFF}warnings.");
- format(string, sizeof(string), "{FF0000}[INFO]: {FFFFFF}You have currentlly {FF0000}%d {FFFFFF}warnings.", WarnInfo[playerid][Warns]);
- SendClientMessage(playerid, -1, string);
- return 1;
- }
- CMD:warnall(playerid, params[])
- {
- new string[80], name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}ERROR: {FFFFFF}You are not authorized to use this command.");
- format(string, sizeof(string), "{FF0000}[INFO]: {FFFFFF}Administrator {FF0000}%s {FFFFFF}has warned all players.", name);
- SendClientMessage(playerid, -1, string);
- WarnAll();
- return 1;
- }
- CMD:unwarnall(playerid, params[])
- {
- new string[80], name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}ERROR: {FFFFFF}You are not authorized to use this command.");
- ResetWarnsToAll();
- format(string, sizeof(string), "{FF0000}[INFO]: {FFFFFF}Administrator {FF0000}%s {FFFFFF}has warned all players.", name);
- SendClientMessage(playerid, -1, string);
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_WARN)
- {
- if(response)
- {
- new name[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], ID, string[128], year, month, day, fileini[128];
- getdate(year, month, day);
- ID = strval(inputtext);
- if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "{FF0000}ERROR: {FFFFFF}That player is not connected.");
- GetPlayerName(playerid, name, sizeof(name));
- GetPlayerName(ID, pname, sizeof(pname));
- format(string, sizeof(string), "{FF0000}[INFO]: {FFFFFF}You got warned by Administrator {FF0000}%s{FFFFFF}.", name);
- SendClientMessage(ID, -1, string);
- format(string, sizeof(string), "{FF0000}[INFO]: {FFFFFF}You warned player {FF0000}%s{FFFFFF}.", pname);
- SendClientMessage(playerid, -1, string);
- printf("Administrator %s has warned player %s.", name, pname);
- WarnPlayer(playerid);
- new File:warnsa=fopen("warns.cfg", io_append);
- format(fileini, sizeof(fileini), "[%d/%d/%d] --> Administrator %s has warned player %s.", day, month, year, name, pname);
- fwrite(warnsa, fileini);
- fclose(warnsa);
- }
- }
- if(dialogid == DIALOG_UNWARN)
- {
- if(response)
- {
- new name[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], ID, string[128], year, month, day, fileini[128];
- getdate(year, month, day);
- ID = strval(inputtext);
- if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "{FF0000}ERROR: {FFFFFF}That player is not connected.");
- if(WarnInfo[ID][Warns] == 0) return SendClientMessage(playerid, -1, "{FF0000}ERROR: {FFFFFF}That player it's havin' {FF0000}0 {FFFFFF}warnings.");
- GetPlayerName(playerid, name, sizeof(name));
- GetPlayerName(ID, pname, sizeof(pname));
- format(string, sizeof(string), "{FF0000}[INFO]: {FFFFFF}You got unwarned by Administrator {FF0000}%s{FFFFFF}.", name);
- SendClientMessage(ID, -1, string);
- format(string, sizeof(string), "{FF0000}[INFO]: {FFFFFF}You unwarned player {FF0000}%s{FFFFFF}.", pname);
- SendClientMessage(playerid, -1, string);
- printf("Administrator %s has unwarned player %s.", name, pname);
- ResetWarns(ID);
- new File:warnsa=fopen("unwarns.cfg", io_append);
- format(fileini, sizeof(fileini), "[%d/%d/%d] --> Administrator %s has unwarned player %s.", day, month, year, name, pname);
- fwrite(warnsa, fileini);
- fclose(warnsa);
- }
- }
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- for(new cnt = 0; cnt < sizeof(InvalidWords); cnt++)
- {
- if(strfind(text, InvalidWords[cnt], true) != -1)
- {
- WarnPlayer(playerid);
- SendClientMessage(playerid, -1, "{FF0000}[INFO]: {FFFFFF}You got warned for saying a bad word.");
- return 0;
- }
- }
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- if(WarnInfo[playerid][Warns] == 3)
- {
- SendClientMessage(playerid, -1, "{FF0000}[INFO]: {FFFFFF}You got kicked because you get {FF0000}3 {FFFFFF}warnings.");
- SetTimerEx("KickPlayerForWarn", 2000, false, "i", playerid);
- }
- return 1;
- }
- forward KickPlayerForWarn(playerid);
- public KickPlayerForWarn(playerid)
- {
- Kick(playerid);
- return 1;
- }
- stock ResetWarns(playerid)
- {
- WarnInfo[playerid][Warns] = 0;
- }
- stock ResetWarnsToAll()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- WarnInfo[i][Warns] = 0;
- }
- }
- stock WarnPlayer(playerid)
- {
- WarnInfo[playerid][Warns]++;
- }
- stock WarnAll()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- WarnInfo[i][Warns]++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment