Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- #pragma tabsize 0
- //Colors
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_RED 0xFF0000AA
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- enum Player
- {
- AFKstatus
- }
- new PlayerInfo[MAX_PLAYERS][Player];
- new OldName[MAX_PLAYER_NAME];
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Simple AFK/BRB System By Sufyan \n Loading.....\nLoaded Successfully !");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- PlayerInfo[playerid][AFKstatus] = 0;
- GetPlayerName(playerid,OldName,sizeof(OldName));
- return 1;
- }
- dcmd_afk(playerid, params[])
- {
- #pragma unused params
- new string[256];
- if (PlayerInfo[playerid][AFKstatus] == 1)
- {
- SendClientMessage(playerid, COLOR_RED, "ERROR: Your status is already AFK/BRB!");
- return 1;
- }
- else if (PlayerInfo[playerid][AFKstatus] == 0)
- {
- new pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(string, sizeof(string), "<!> {00C0FF}%s{FFFFFF}[{33AA33}ID:{F81414}%d{FFFFFF}]{00C0FF} is away from keyboard!", pname,playerid);
- SendClientMessageToAll(COLOR_WHITE, string);
- new NewName[256];
- format(NewName,sizeof(NewName),"%s[AFK]",pname);
- SetPlayerName(playerid,NewName);
- TogglePlayerControllable(playerid,0);
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid) + 50);
- PlayerInfo[playerid][AFKstatus] = 1;
- return 1;
- }
- return 0;
- }
- dcmd_brb(playerid, params[])
- {
- #pragma unused params
- new string[256];
- if (PlayerInfo[playerid][AFKstatus] == 1)
- {
- SendClientMessage(playerid, COLOR_RED, "ERROR: Your status is already AFK/BRB!");
- return 1;
- }
- else if (PlayerInfo[playerid][AFKstatus] == 0)
- {
- new pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(string, sizeof(string), "<!> {00C0FF}%s{FFFFFF}[{33AA33}ID:{F81414}%d{FFFFFF}]{00C0FF} will be right back!", pname,playerid);
- SendClientMessageToAll(COLOR_WHITE, string);
- new NewName[256];
- format(NewName,sizeof(NewName),"%s[AFK]",pname);
- SetPlayerName(playerid,NewName);
- TogglePlayerControllable(playerid,0);
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid) + 50);
- PlayerInfo[playerid][AFKstatus] = 1;
- return 1;
- }
- return 0;
- }
- dcmd_back(playerid, params[])
- {
- #pragma unused params
- new string [256];
- if (PlayerInfo[playerid][AFKstatus] == 0)
- {
- SendClientMessage(playerid, COLOR_RED, "ERROR: Your status is already BACK!");
- return 1;
- }
- else if (PlayerInfo[playerid][AFKstatus] == 1)
- {
- new pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(string, sizeof(string), "<!> {00C0FF}%s{FFFFFF}[{33AA33}ID:{F81414}%d{FFFFFF}]{00C0FF} has returned!", pname,playerid);
- SendClientMessageToAll(COLOR_WHITE, string);
- TogglePlayerControllable(playerid,1);
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid) - 50);
- PlayerInfo[playerid][AFKstatus] = 0;
- new Name[256];
- format(Name,sizeof(Name),"%s",OldName);
- SetPlayerName(playerid,Name);
- return 1;
- }
- return 0;
- }
- dcmd_afkplayers( playerid, params[ ] )
- {
- #pragma unused params
- new count = 0;
- new name[MAX_PLAYER_NAME];
- new string[128];
- //
- SendClientMessage(playerid, COLOR_WHITE, "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "AFK Players List:");
- SendClientMessage(playerid, COLOR_WHITE, "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i))
- {
- if(PlayerInfo[i][AFKstatus] == 1)
- {
- GetPlayerName(i, name, sizeof(name));
- format(string, 256, "%s{FFFFFF}[{6EF83C}ID:{F81414}%d{FFFFFF}]", name,i );
- SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
- count++;
- }
- }
- }
- if (count == 0)
- {
- SendClientMessage(playerid, COLOR_RED, "There Are No Players in the AFK/BRB List");
- }
- SendClientMessage(playerid, COLOR_WHITE, "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- PlayerInfo[playerid][AFKstatus] = 0;
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if (PlayerInfo[playerid][AFKstatus] == 1)
- {
- SendClientMessage(playerid, COLOR_RED, "You need to be /back to use the chatbox.");
- return 0;
- }
- else if (PlayerInfo[playerid][AFKstatus] == 0)
- {
- return 1;
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(afk,3,cmdtext);
- dcmd(brb,3,cmdtext);
- dcmd(back,4,cmdtext);
- dcmd(afkplayers,10,cmdtext);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement