Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <dini>
- #include <dutils>
- #pragma unused ret_memcpy
- #define FILTERSCRIPT
- #if defined FILTERSCRIPT
- #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_ACTIVEBORDER 0xB4B4B4FF
- #define COLOR_ACTIVECAPTION 0x99B4D1FF
- #define COLOR_ACTIVECAPTIONTEXT 0x000000FF
- #define COLOR_ALICEBLUE 0xF0F8FFFF
- #define COLOR_ANTIQUEWHITE 0xFAEBD7FF
- #define COLOR_APPWORKSPACE 0xABABABFF
- #define COLOR_AQUA 0x00FFFFFF
- #define COLOR_AQUAMARINE 0x7FFFD4FF
- #define COLOR_AZURE 0xF0FFFFFF
- #define COLOR_BEIGE 0xF5F5DCFF
- #define COLOR_BISQUE 0xFFE4C4FF
- #define COLOR_BLACK 0x000000FF
- #define COLOR_BLANCHEDALMOND 0xFFEBCDFF
- #define COLOR_BLUE 0x0000FFFF
- #define COLOR_BLUEVIOLET 0x8A2BE2FF
- #define COLOR_BROWN 0xA52A2AFF
- #define COLOR_BURLYWOOD 0xDEB887FF
- #define COLOR_BUTTONFACE 0xF0F0F0FF
- #define COLOR_BUTTONHIGHLIGHT 0xFFFFFFFF
- #define COLOR_BUTTONSHADOW 0xA0A0A0FF
- #define COLOR_CADETBLUE 0x5F9EA0FF
- #define COLOR_CHARTREUSE 0x7FFF00FF
- #define COLOR_CHOCOLATE 0xD2691EFF
- #define COLOR_CONTROL 0xF0F0F0FF
- #define COLOR_CONTROLDARK 0xA0A0A0FF
- #define COLOR_CONTROLDARKDARK 0x696969FF
- #define COLOR_CONTROLLIGHT 0xE3E3E3FF
- #define COLOR_CONTROLLIGHTLIGHT 0xFFFFFFFF
- #define COLOR_CONTROLTEXT 0x000000FF
- #define COLOR_CORAL 0xFF7F50FF
- #define COLOR_CORNFLOWERBLUE 0x6495EDFF
- #define COLOR_CORNSILK 0xFFF8DCFF
- #define COLOR_CRIMSON 0xDC143CFF
- #define COLOR_CYAN 0x00FFFFFF
- #define COLOR_DARKBLUE 0x00008BFF
- #define COLOR_DARKCYAN 0x008B8BFF
- #define COLOR_DARKGOLDENROD 0xB8860BFF
- #define COLOR_DARKGRAY 0xA9A9A9FF
- #define COLOR_DARKGREEN 0x006400FF
- #define COLOR_DARKKHAKI 0xBDB76BFF
- #define COLOR_DARKMAGENTA 0x8B008BFF
- #define COLOR_DARKOLIVEGREEN 0x556B2FFF
- #define COLOR_DARKORANGE 0xFF8C00FF
- #define COLOR_DARKORCHID 0x9932CCFF
- #define COLOR_DARKRED 0x8B0000FF
- #define COLOR_DARKSALMON 0xE9967AFF
- #define COLOR_DARKSEAGREEN 0x8FBC8BFF
- #define COLOR_DARKSLATEBLUE 0x483D8BFF
- #define COLOR_DARKSLATEGRAY 0x2F4F4FFF
- #define COLOR_DARKTURQUOISE 0x00CED1FF
- #define COLOR_DARKVIOLET 0x9400D3FF
- #define COLOR_DEEPPINK 0xFF1493FF
- #define COLOR_DEEPSKYBLUE 0x00BFFFFF
- #define COLOR_DESKTOP 0x000000FF
- #define COLOR_DIMGRAY 0x696969FF
- #define COLOR_DODGERBLUE 0x1E90FFFF
- #define COLOR_FIREBRICK 0xB22222FF
- #define COLOR_FLORALWHITE 0xFFFAF0FF
- #define COLOR_FORESTGREEN 0x228B22FF
- #define COLOR_FUCHSIA 0xFF00FFFF
- #define COLOR_GAINSBORO 0xDCDCDCFF
- #define COLOR_GHOSTWHITE 0xF8F8FFFF
- #define COLOR_GOLD 0xFFD700FF
- #define COLOR_GOLDENROD 0xDAA520FF
- #define COLOR_GRADIENTACTIVECAPTION 0xB9D1EAFF
- #define COLOR_GRADIENTINACTIVECAPTION 0xD7E4F2FF
- #define COLOR_GRAY 0x808080FF
- #define COLOR_GRAYTEXT 0x808080FF
- #define COLOR_GREEN 0x008000FF
- #define COLOR_GREENYELLOW 0xADFF2FFF
- #define COLOR_HIGHLIGHT 0x3399FFFF
- #define COLOR_HIGHLIGHTTEXT 0xFFFFFFFF
- #define COLOR_HONEYDEW 0xF0FFF0FF
- #define COLOR_HOTPINK 0xFF69B4FF
- #define COLOR_HOTTRACK 0x0066CCFF
- #define COLOR_INACTIVEBORDER 0xF4F7FCFF
- #define COLOR_INACTIVECAPTION 0xBFCDDBFF
- #define COLOR_INACTIVECAPTIONTEXT 0x434E54FF
- #define COLOR_INDIANRED 0xCD5C5CFF
- #define COLOR_INDIGO 0x4B0082FF
- #define COLOR_INFO 0xFFFFE1FF
- #define COLOR_INFOTEXT 0x000000FF
- #define COLOR_IVORY 0xFFFFF0FF
- #define COLOR_KHAKI 0xF0E68CFF
- #define COLOR_LAVENDER 0xE6E6FAFF
- #define COLOR_LAVENDERBLUSH 0xFFF0F5FF
- #define COLOR_LAWNGREEN 0x7CFC00FF
- #define COLOR_LEMONCHIFFON 0xFFFACDFF
- #define COLOR_LIGHTBLUE 0xADD8E6FF
- #define COLOR_LIGHTCORAL 0xF08080FF
- #define COLOR_LIGHTCYAN 0xE0FFFFFF
- #define COLOR_LIGHTGOLDENRODYELLOW 0xFAFAD2FF
- #define COLOR_LIGHTGRAY 0xD3D3D3FF
- #define COLOR_LIGHTGREEN 0x90EE90FF
- #define COLOR_LIGHTPINK 0xFFB6C1FF
- #define COLOR_LIGHTSALMON 0xFFA07AFF
- #define COLOR_LIGHTSEAGREEN 0x20B2AAFF
- #define COLOR_LIGHTSKYBLUE 0x87CEFAFF
- #define COLOR_LIGHTSLATEGRAY 0x778899FF
- #define COLOR_LIGHTSTEELBLUE 0xB0C4DEFF
- #define COLOR_LIGHTYELLOW 0xFFFFE0FF
- #define COLOR_LIME 0x00FF00FF
- #define COLOR_LIMEGREEN 0x32CD32FF
- #define COLOR_LINEN 0xFAF0E6FF
- #define COLOR_MAGENTA 0xFF00FFFF
- #define COLOR_MAROON 0x800000FF
- #define COLOR_MEDIUMAQUAMARINE 0x66CDAAFF
- #define COLOR_MEDIUMBLUE 0x0000CDFF
- #define COLOR_MEDIUMORCHID 0xBA55D3FF
- #define COLOR_MEDIUMPURPLE 0x9370DBFF
- #define COLOR_MEDIUMSEAGREEN 0x3CB371FF
- #define COLOR_MEDIUMSLATEBLUE 0x7B68EEFF
- #define COLOR_MEDIUMSPRINGGREEN 0x00FA9AFF
- #define COLOR_MEDIUMTURQUOISE 0x48D1CCFF
- #define COLOR_MEDIUMVIOLETRED 0xC71585FF
- #define COLOR_MENU 0xF0F0F0FF
- #define COLOR_MENUBAR 0xF0F0F0FF
- #define COLOR_MENUHIGHLIGHT 0x3399FFFF
- #define COLOR_MENUTEXT 0x000000FF
- #define COLOR_MIDNIGHTBLUE 0x191970FF
- #define COLOR_MINTCREAM 0xF5FFFAFF
- #define COLOR_MISTYROSE 0xFFE4E1FF
- #define COLOR_MOCCASIN 0xFFE4B5FF
- #define COLOR_NAVAJOWHITE 0xFFDEADFF
- #define COLOR_NAVY 0x000080FF
- #define COLOR_OLDLACE 0xFDF5E6FF
- #define COLOR_OLIVE 0x808000FF
- #define COLOR_OLIVEDRAB 0x6B8E23FF
- #define COLOR_ORANGE 0xFFA500FF
- #define COLOR_ORANGERED 0xFF4500FF
- #define COLOR_ORCHID 0xDA70D6FF
- #define COLOR_PALEGOLDENROD 0xEEE8AAFF
- #define COLOR_PALEGREEN 0x98FB98FF
- #define COLOR_PALETURQUOISE 0xAFEEEEFF
- #define COLOR_PALEVIOLETRED 0xDB7093FF
- #define COLOR_PAPAYAWHIP 0xFFEFD5FF
- #define COLOR_PEACHPUFF 0xFFDAB9FF
- #define COLOR_PERU 0xCD853FFF
- #define COLOR_PINK 0xFFC0CBFF
- #define COLOR_PLUM 0xDDA0DDFF
- #define COLOR_POWDERBLUE 0xB0E0E6FF
- #define COLOR_PURPLE 0x800080FF
- #define COLOR_RED 0xFF0000FF
- #define COLOR_ROSYBROWN 0xBC8F8FFF
- #define COLOR_ROYALBLUE 0x4169E1FF
- #define COLOR_SADDLEBROWN 0x8B4513FF
- #define COLOR_SALMON 0xFA8072FF
- #define COLOR_SANDYBROWN 0xF4A460FF
- #define COLOR_SCROLLBAR 0xC8C8C8FF
- #define COLOR_SEAGREEN 0x2E8B57FF
- #define COLOR_SEASHELL 0xFFF5EEFF
- #define COLOR_SIENNA 0xA0522DFF
- #define COLOR_SILVER 0xC0C0C0FF
- #define COLOR_SKYBLUE 0x87CEEBFF
- #define COLOR_SLATEBLUE 0x6A5ACDFF
- #define COLOR_SLATEGRAY 0x708090FF
- #define COLOR_SNOW 0xFFFAFAFF
- #define COLOR_SPRINGGREEN 0x00FF7FFF
- #define COLOR_STEELBLUE 0x4682B4FF
- #define COLOR_TAN 0xD2B48CFF
- #define COLOR_TEAL 0x008080FF
- #define COLOR_THISTLE 0xD8BFD8FF
- #define COLOR_TOMATO 0xFF6347FF
- #define COLOR_TRANSPARENT 0xFFFFFF00
- #define COLOR_TURQUOISE 0x40E0D0FF
- #define COLOR_VIOLET 0xEE82EEFF
- #define COLOR_WHEAT 0xF5DEB3FF
- #define COLOR_WHITE 0xFFFFFFFF
- #define COLOR_WHITESMOKE 0xF5F5F5FF
- #define COLOR_WINDOW 0xFFFFFFFF
- #define COLOR_WINDOWFRAME 0x646464FF
- #define COLOR_WINDOWTEXT 0x000000FF
- #define COLOR_YELLOW 0xFFFF00FF
- #define COLOR_YELLOWGREEN 0x9ACD32FF
- #define STEALTH_ORANGE 0xFF880000
- #define STEALTH_OLIVE 0x66660000
- #define STEALTH_GREEN 0x33DD1100
- #define STEALTH_PINK 0xFF22EE00
- #define STEALTH_BLUE 0x0077BB00
- #define PlayerFile "Admin/Users/%s.ini"
- #define CommandFile "Admin/Settings/Commands.ini"
- #endif
- enum PLAYER_MAIN {
- PLAYER_NAME[MAX_PLAYER_NAME],
- PLAYER_IP[16],
- PLAYER_REGGED,
- PLAYER_PASS,
- PLAYER_LEVEL,
- PLAYER_MONEY,
- }
- new gPlayerInfo[MAX_PLAYERS][PLAYER_MAIN];
- new gPlayerLogged[MAX_PLAYERS];
- enum COMMANDS_MAIN {
- KICK,
- BAN
- }
- new gCommands[COMMANDS_MAIN];
- public OnFilterScriptInit()
- {
- print("\n************************************");
- print("* *");
- print("* Admin Filterscript by Hipflop *");
- print("* *");
- print("************************************\n");
- // Level 0 = Noob
- // Level 1 = Trusted Player
- // Level 2 = Member
- // Level 3 = Moderator
- // Level 4 = Administrator
- // Level 5 = Server owner
- if(!fexist(CommandFile))
- {
- dini_Create(CommandFile);
- dini_IntSet(CommandFile, "Kick", 2);
- dini_IntSet(CommandFile, "Ban", 3);
- }
- gCommands[KICK] = dini_Int(CommandFile, "Kick");
- gCommands[BAN] = dini_Int(CommandFile, "Ban");
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new file[100], name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- format(file, sizeof(file), PlayerFile, name);
- if(!fexist(file))
- {
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Register", "Please fill in your username as a password.", "Register", "Exit");
- }
- else if(fexist(file))
- {
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Logon", "Please fill in your password.", "Logon", "Exit");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new file[100];
- format(file, sizeof(file), PlayerFile, gPlayerInfo[playerid][PLAYER_NAME]);
- dini_Set(file, "Name", gPlayerInfo[playerid][PLAYER_NAME]);
- dini_Set(file, "Ip", gPlayerInfo[playerid][PLAYER_IP]);
- dini_IntSet(file, "Registered", gPlayerInfo[playerid][PLAYER_REGGED]);
- dini_IntSet(file, "Password", gPlayerInfo[playerid][PLAYER_PASS]);
- dini_IntSet(file, "Level", gPlayerInfo[playerid][PLAYER_LEVEL]);
- dini_IntSet(file, "Money", GetPlayerMoney(playerid));
- gPlayerLogged[playerid] = 0;
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == 1)
- {
- if(response)
- {
- if(strlen(inputtext))
- {
- new file[100], name[MAX_PLAYER_NAME], ip[16], string[128];
- GetPlayerName(playerid, name, sizeof(name));
- GetPlayerIp(playerid, ip, sizeof(ip));
- format(file, sizeof(file), PlayerFile, name);
- dini_Create(file);
- dini_Set(file, "Name", name);
- dini_Set(file, "Ip", ip);
- dini_IntSet(file, "Registered", 1);
- dini_IntSet(file, "Password", num_hash(inputtext));
- dini_IntSet(file, "Level", 0);
- dini_IntSet(file, "Money", 50);
- format(string, sizeof(string), "[SYSTEM] You succesfully registered the player %s.", name);
- SendClientMessage(playerid, COLOR_LIGHTGREEN, string);
- strcat(gPlayerInfo[playerid][PLAYER_NAME], dini_Get(file, "Name"));
- strcat(gPlayerInfo[playerid][PLAYER_IP], dini_Get(file, "Ip"));
- gPlayerInfo[playerid][PLAYER_PASS] = dini_Int(file, "Password");
- gPlayerInfo[playerid][PLAYER_LEVEL] = dini_Int(file, "Level");
- GivePlayerMoney(playerid, dini_Int(file, "Money"));
- gPlayerLogged[playerid] = 1;
- }
- else if(!strlen(inputtext))
- {
- SendClientMessage(playerid, COLOR_RED, "[SYSTEM] You must fill in a password!");
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Register", "Please fill in your username as a password.", "Register", "Exit");
- }
- }
- else if(!response)
- {
- SendClientMessage(playerid, COLOR_RED, "[SYSTEM] You need to register in order to play!");
- Kick(playerid);
- }
- }
- if(dialogid == 2)
- {
- if(response)
- {
- if(strlen(inputtext))
- {
- new file[100], name[MAX_PLAYER_NAME], string[128];
- GetPlayerName(playerid, name, sizeof(name));
- format(file, sizeof(file), PlayerFile, name);
- if(num_hash(inputtext) == dini_Int(file, "Password"))
- {
- strcat(gPlayerInfo[playerid][PLAYER_NAME], dini_Get(file, "Name"));
- strcat(gPlayerInfo[playerid][PLAYER_IP], dini_Get(file, "Ip"));
- gPlayerInfo[playerid][PLAYER_PASS] = dini_Int(file, "Password");
- gPlayerInfo[playerid][PLAYER_LEVEL] = dini_Int(file, "Level");
- GivePlayerMoney(playerid, dini_Int(file, "Money"));
- gPlayerLogged[playerid] = 1;
- format(string, sizeof(string), "[SYSTEM] Welcome back, %s", name);
- SendClientMessage(playerid, COLOR_LIGHTGREEN, string);
- }
- else if(num_hash(inputtext) != dini_Int(file, "Password"))
- {
- SendClientMessage(playerid, COLOR_RED, "[SYSTEM] Wrong password!");
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Logon", "Please fill in your password.", "Logon", "Exit");
- }
- }
- else if(!strlen(inputtext))
- {
- SendClientMessage(playerid, COLOR_RED, "[SYSTEM] You must fill in your password!");
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Logon", "Please fill in your password.", "Logon", "Exit");
- }
- }
- else if(!response)
- {
- SendClientMessage(playerid, COLOR_RED, "[SYSTEM] You need to logon in order to play!");
- Kick(playerid);
- }
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(kick, 4, cmdtext);
- dcmd(ban, 3, cmdtext);
- return 0;
- }
- dcmd_kick(playerid, params[])
- {
- if(gPlayerInfo[playerid][PLAYER_LEVEL] < gCommands[KICK])
- {
- new string[128];
- format(string, sizeof(string), "You must be a level %d administrator to use that command!", gCommands[KICK]);
- SendClientMessage(playerid, COLOR_ORANGE, string);
- }
- else
- {
- new tmp[256], tmp2[256], index, id;
- tmp = strtok(params, index);
- tmp2 = strtok(params, index);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_ORANGE, "[KICK] Usage: /kick [ID] [REASON]");
- }
- else if(!strlen(tmp2))
- {
- SendClientMessage(playerid, COLOR_ORANGE, "[KICK] Usage: /kick [ID] [REASON]");
- }
- else
- {
- id = strval(tmp);
- if(!IsPlayerConnected(id))
- {
- SendClientMessage(playerid, COLOR_ORANGE, "[KICK] That player is not connected.");
- }
- else if(id == playerid)
- {
- SendClientMessage(playerid, COLOR_ORANGE, "[KICK] You can't kick yourself.");
- }
- else if(gPlayerInfo[id][PLAYER_LEVEL] > gPlayerInfo[playerid][PLAYER_LEVEL])
- {
- SendClientMessage(playerid, COLOR_ORANGE, "[KICK] That player has a higher level than you.");
- }
- else
- {
- new string[256], name[MAX_PLAYER_NAME];
- GetPlayerName(id, name, sizeof(name));
- if(id >= 0 && id <= 9)
- {
- format(string, sizeof(string), "[KICK] You have been kicked. Reason: %s.", params[2]);
- SendClientMessage(id, COLOR_ORANGE, string);
- Kick(id);
- format(string, sizeof(string), "[KICK] Player %s has been kicked. Reason: %s.", name, params[2]);
- SendClientMessageToAll(COLOR_ORANGE, string);
- }
- else if(id >= 10 && id <= 99)
- {
- format(string, sizeof(string), "[KICK] You have been kicked. Reason: %s.", params[3]);
- SendClientMessage(id, COLOR_ORANGE, string);
- Kick(id);
- format(string, sizeof(string), "[KICK] Player %s has been kicked. Reason: %s.", name, params[3]);
- SendClientMessageToAll(COLOR_ORANGE, string);
- }
- }
- }
- }
- return 1;
- }
- dcmd_ban(playerid, params[])
- {
- if(gPlayerInfo[playerid][PLAYER_LEVEL] < gCommands[BAN])
- {
- new string[128];
- format(string, sizeof(string), "You must be a level %d administrator to use that command!", gCommands[BAN]);
- SendClientMessage(playerid, COLOR_ORANGE, string);
- }
- else
- {
- new tmp[256], tmp2[256], index, id;
- tmp = strtok(params, index);
- tmp2 = strtok(params, index);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_ORANGE, "[BAN] Usage: /ban [ID] [REASON]");
- }
- else if(!strlen(tmp2))
- {
- SendClientMessage(playerid, COLOR_ORANGE, "[BAN] Usage: /ban [ID] [REASON]");
- }
- else
- {
- id = strval(tmp);
- if(!IsPlayerConnected(id))
- {
- SendClientMessage(playerid, COLOR_ORANGE, "[BAN] That player is not connected.");
- }
- else if(id == playerid)
- {
- SendClientMessage(playerid, COLOR_ORANGE, "[BAN] You can't ban yourself.");
- }
- else if(gPlayerInfo[id][PLAYER_LEVEL] > gPlayerInfo[playerid][PLAYER_LEVEL])
- {
- SendClientMessage(playerid, COLOR_ORANGE, "[BAN] That player has a higher level than you.");
- }
- else
- {
- new string[256], name[MAX_PLAYER_NAME];
- GetPlayerName(id, name, sizeof(name));
- if(id >= 0 && id <= 9)
- {
- format(string, sizeof(string), "[BAN] You have been banned. Reason: %s.", params[2]);
- SendClientMessage(id, COLOR_ORANGE, string);
- BanEx(id, params[2]);
- format(string, sizeof(string), "[BAN] Player %s has been kicked. Reason: %s.", name, params[2]);
- SendClientMessageToAll(COLOR_ORANGE, string);
- }
- else if(id >= 10 && id <= 99)
- {
- format(string, sizeof(string), "[BAN] You have been banned. Reason: %s.", params[3]);
- SendClientMessage(id, COLOR_ORANGE, string);
- BanEx(id, params[3]);
- format(string, sizeof(string), "[BAN] Player %s has been kicked. Reason: %s.", name, params[3]);
- SendClientMessageToAll(COLOR_ORANGE, string);
- }
- }
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement