Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <Pawn.CMD>
- enum pew{
- tempoafk,
- bool:afk
- }
- #define DialogAfk 100
- new pInfo[MAX_PLAYERS][pew];
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print("Desenvolvido por Gguiz, não retire os créditos!");
- print("--------------------------------------\n");
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- #else
- main()
- {
- print("\n----------------------------------");
- print(" Sistema de AFK carregado com sucesso!");
- print("----------------------------------\n");
- }
- #endif
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
- forward afktime();
- public afktime()
- {
- for (new i = 0; i < MAX_PLAYERS; i++)
- {
- pInfo[i][tempoafk]++;
- }
- }
- public OnGameModeInit()
- {
- SetTimer("afktime", 1000, true);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- pInfo[playerid][tempoafk] = 0;
- pInfo[playerid][afk] = false;
- return 1;
- }
- //////////////////////////////////////////////////COMANDOS////////////////////////////////////////////////////////
- CMD:afk(playerid)
- {
- new msg[39];
- if(pInfo[playerid][afk]) return SendClientMessage(playerid, 0xff0000FF, "Você já está ausente!");
- pInfo[playerid][afk] = true;
- pInfo[playerid][tempoafk] = false;
- TogglePlayerControllable(playerid, false);
- SendClientMessage(playerid, -1, "Use: /afksair, para sair do modo ausente");
- format(msg, sizeof(msg), "O jogador %s está ausente", rNome(playerid));
- SendClientMessageToAll(-1, msg);
- return true;
- }
- CMD:afksair(playerid)
- {
- new mensagem[37];
- if(!pInfo[playerid][afk]) return SendClientMessage(playerid, 0xff0000FF, "Você não está ausente!");
- pInfo[playerid][afk] = false;
- pInfo[playerid][tempoafk] = 0;
- TogglePlayerControllable(playerid, true);
- format(mensagem, sizeof(mensagem), "O jogador %s saiu do /AFK", rNome(playerid));
- SendClientMessageToAll(-1, mensagem);
- return 1;
- }
- CMD:meutempoafk(playerid)
- {
- if (!pInfo[playerid][afk]) return SendClientMessage(playerid, 0xff0000FF, "Você não está ausente!");
- new string[40];
- format(string, sizeof(string), "Esse é seu tempo ausente: [%s]", Convert(pInfo[playerid][tempoafk]));
- SendClientMessage(playerid, -1, string);
- return 1;
- }
- CMD:ausentes(playerid)
- {
- new mensagem2[128], nome[MAX_PLAYER_NAME];
- for (new i;i <MAX_PLAYERS; i++)
- {
- if(pInfo[i][afk] == true)
- {
- GetPlayerName(i, nome, sizeof(nome));
- format(mensagem2, sizeof(mensagem2), "%s O jogador %s está ausente por: [%s]\n", mensagem2, nome, Convert(pInfo[i][tempoafk]));
- }
- }
- if (strlen(mensagem2) > 0)
- ShowPlayerDialog(playerid, DialogAfk, DIALOG_STYLE_MSGBOX, "Jogadores ausentes:", mensagem2, "FECHAR", "");
- else
- SendClientMessage(playerid, 0xFF0000FF, "{FF0000}Não há jogadores ausentes.");
- return 1;
- }
- stock rNome(playerid)
- {
- new nome[MAX_PLAYER_NAME];
- GetPlayerName(playerid, nome, MAX_PLAYER_NAME);
- return nome;
- }
- stock Convert(number)
- {
- new hours = 0, mins = 0, secs = 0, string[100];
- hours = floatround(number / 3600);
- mins = floatround((number / 60) - (hours * 60));
- secs = floatround(number - ((hours * 3600) + (mins * 60)));
- new days = 0;
- if(hours >= 24)
- {
- days = floatround((hours/24), floatround_floor);
- hours = hours % 24;
- }
- if(days > 0)
- {
- format(string, 100, "%ddias, %dh %dm e %ds", days, hours, mins, secs);
- }
- else if(hours > 0)
- {
- format(string, 100, "%dh %dm e %ds", hours, mins, secs);
- }
- else
- {
- format(string, 100, "%dm e %ds", mins, secs);
- }
- return string;
- }
- //Uma ajuda do seu colega Gguiz
- // ;)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement