Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <utils>
- #define COLOR_GRAD1 0xB4B5B7FF
- #define COLOR_GRAD2 0xBFC0C2FF
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_ORANGE 0xFF9900AA
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_HELPER 0x00D087AA
- forward SendHelperMessage(color, string[]);
- forward SendHelperAdminMessage(color, string[]);
- new anhelper[MAX_PLAYERS];
- new meavaliehelper[MAX_PLAYERS];
- new meavalie[MAX_PLAYERS];
- new clickplay[MAX_PLAYERS];
- forward TempoAvalieHelper(playerid);
- #define DIALOG_MEAVALIE 100
- #define DIALOG_HELPER 101
- #define DIALOG_PAR 102
- #define TEMPO_MEAVALIE 90000
- enum pInfo
- {
- pAdmin,
- pHelper,
- pHelperTrab
- };
- new PlayerInfo[MAX_PLAYERS][pInfo];
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- print("\n--------------------");
- print(" Sistema de Helpers ");
- print("--------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- #else
- main()
- {
- print("\n--------------------");
- print(" Sistema de Helpers ");
- print("--------------------\n");
- }
- #endif
- public OnPlayerConnect(playerid)
- {
- PlayerInfo[playerid][pHelper] = 0;
- PlayerInfo[playerid][pHelperTrab] = 0;
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return PlayerInfo[playerid][pHelperTrab] = 0;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new sendername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, sendername, sizeof(sendername));
- new giveplayer[MAX_PLAYER_NAME];
- new cmd[128];
- new tmp[128];
- //new giveplayerid, idx;
- new idx;
- new string[128];
- cmd = strtok(cmdtext, idx); // adicione isso.
- if (strcmp(cmd, "/helpers", true) == 0)
- {
- SendClientMessage(playerid, COLOR_GREY, "||=====|| Helpers Online ||=====||");
- for(new i = 0; i <= MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) == 1 && PlayerInfo[i][pHelper] > 0)
- {
- if(PlayerInfo[i][pHelperTrab] == 1)
- {
- GetPlayerName(i, sendername, sizeof(sendername));
- if(PlayerInfo[i][pHelper] == 1)
- {
- format(string, 256, "Nome: %s [Helper Inicante] (Trabalhando)", sendername);
- SendClientMessage(playerid, COLOR_HELPER, string);
- }
- if(PlayerInfo[i][pHelper] >= 2 && PlayerInfo[i][pAdmin] < 10)
- {
- format(string, 256, "Nome: %s [Helper] (Trabalhando)", sendername);
- SendClientMessage(playerid, COLOR_HELPER, string);
- }
- if(PlayerInfo[i][pHelper] >= 10 && PlayerInfo[i][pAdmin] < 30)
- {
- format(string, 256, "Nome: %s [Helper Master] (Trabalhando)", sendername);
- SendClientMessage(playerid, COLOR_HELPER, string);
- }
- if(PlayerInfo[i][pHelper] >= 30)
- {
- format(string, 256, "Nome: %s [Helper Lider] (Trabalhando)", sendername);
- SendClientMessage(playerid, COLOR_HELPER, string);
- }
- }
- else
- {
- GetPlayerName(i, sendername, sizeof(sendername));
- if(PlayerInfo[i][pHelper] == 1)
- {
- format(string, 256, "Nome: %s [Helper Inicante] (Jogando)", sendername);
- SendClientMessage(playerid, COLOR_HELPER, string);
- }
- if(PlayerInfo[i][pHelper] >= 2 && PlayerInfo[i][pAdmin] < 10)
- {
- format(string, 256, "Nome: %s [Helper] (Jogando)", sendername);
- SendClientMessage(playerid, COLOR_HELPER, string);
- }
- if(PlayerInfo[i][pHelper] >= 10 && PlayerInfo[i][pAdmin] < 30)
- {
- format(string, 256, "Nome: %s [Helper Master] (Jogando)", sendername);
- SendClientMessage(playerid, COLOR_HELPER, string);
- }
- if(PlayerInfo[i][pHelper] >= 30)
- {
- format(string, 256, "Nome: %s [Helper Lider] (Jogando)", sendername);
- SendClientMessage(playerid, COLOR_HELPER, string);
- }
- }
- }
- }
- return 1;
- }
- if(strcmp(cmd, "/ah", true) == 0 || strcmp(cmd, "/ajudahelper", true) == 0 || strcmp(cmd, "/helperajuda", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- SendClientMessage(playerid, COLOR_WHITE, "||=====|| Ajuda Helper ||=====||");
- if (PlayerInfo[playerid][pHelper] >= 1)
- {
- SendClientMessage(playerid, 0x33CCFFAA, "Helper == /ha [Trabalhar] /h [Chat] /irh [+10] /meavalie");
- }
- if (PlayerInfo[playerid][pHelper] >= 1)
- {
- SendClientMessage(playerid, 0x33CCFFAA, "Helper == /avh [Aviso] /ahc [Chat com ADMINS] /h [Chat] ");
- }
- }
- return 1;
- }
- if(!strcmp(cmdtext, "/LogarADMhelper", true))
- {
- PlayerInfo[playerid][pAdmin] = 1337;
- SendClientMessage(playerid, 0x33CCFFAA, "Você virou Administrador do FS Sistema de Helpers.");
- return true;
- }
- if(strcmp(cmd, "/avisohelper", true) == 0 || strcmp(cmd, "/avh", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- new result[128];
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
- {
- result[idx - offset] = cmdtext[idx];
- idx++;
- }
- result[idx - offset] = EOS;
- if(!strlen(result))
- {
- SendClientMessage(playerid, COLOR_GRAD2, "USE: (/[av]iso[h]elper) [mensagem]");
- return 1;
- }
- if(PlayerInfo[playerid][pHelperTrab] == 0)
- {
- return SendClientMessage(playerid,COLOR_GRAD2,"Você não está em trabalho!Use: /ha");
- }
- if(PlayerInfo[playerid][pHelper] < 2)
- {
- return SendClientMessage(playerid,COLOR_GRAD1,"Você não tem autorização para usar este comando");
- }
- if(anhelper[playerid] == 1)
- {
- return SendClientMessage(playerid,COLOR_GRAD1,"Você ainda não pode fazer um novo anuncio!Espere...");
- }
- SendClientMessageToAll(COLOR_WHITE,"||=====||Aviso dos Helpers||=====||");
- if(PlayerInfo[playerid][pHelper] >= 3)
- {
- format(string, sizeof(string), "[HELPER]: Helper %s: %s", sendername, result);
- }
- else if(PlayerInfo[playerid][pHelper] >= 10)
- {
- format(string, sizeof(string), "[HELPER]: Helper Master %s: %s", sendername, result);
- }
- else if(PlayerInfo[playerid][pHelper] >= 30)
- {
- format(string, sizeof(string), "[HELPER]: Helper Lider %s: %s", sendername, result);
- }
- SendClientMessageToAll(COLOR_HELPER, string);
- anhelper[playerid] = 1;
- }
- return 1;
- }
- if(strcmp(cmd, "/ahelperchat", true) == 0 || strcmp(cmd, "/ahc", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- GetPlayerName(playerid, sendername, sizeof(sendername));
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- new result[126];
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
- {
- result[idx - offset] = cmdtext[idx];
- idx++;
- }
- result[idx - offset] = EOS;
- if(!strlen(result))
- {
- SendClientMessage(playerid, COLOR_GRAD2, "USE: (/ahc) [Chat dos helpers e admins]");
- return 1;
- }
- if (PlayerInfo[playerid][pHelper] >= 1)
- {
- format(string, sizeof(string), "Helper %s[%d]: %s", sendername, PlayerInfo[playerid][pHelper], result);
- SendHelperAdminMessage(COLOR_HELPER, string);
- }
- else if (PlayerInfo[playerid][pAdmin] >= 1 || IsPlayerAdmin(playerid))
- {
- format(string, sizeof(string), "Helper %s[%d]: %s", sendername, PlayerInfo[playerid][pHelper], result);
- SendHelperAdminMessage(COLOR_HELPER, string);
- }
- else
- {
- SendClientMessage(playerid, COLOR_GRAD1, "** você não está autorizado a usar esse comando!");
- }
- }
- return 1;
- }
- if(strcmp(cmd, "/hc", true) == 0 || strcmp(cmd, "/h", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- GetPlayerName(playerid, sendername, sizeof(sendername));
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- new result[126];
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
- {
- result[idx - offset] = cmdtext[idx];
- idx++;
- }
- result[idx - offset] = EOS;
- if(!strlen(result))
- {
- SendClientMessage(playerid, COLOR_GRAD2, "USE: (/hc) [Chat dos helpers]");
- return 1;
- }
- format(string, sizeof(string), "Helper %s[%d]: %s", sendername, PlayerInfo[playerid][pHelper], result);
- if (PlayerInfo[playerid][pHelper] >= 1)
- {
- SendHelperMessage(COLOR_HELPER, string);
- }
- else
- {
- SendClientMessage(playerid, COLOR_GRAD1, "** você não está autorizado a usar esse comando!");
- }
- }
- return 1;
- }
- if(strcmp(cmd,"/duvida",true) == 0 || strcmp(cmd,"/duv",true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- new result[64];
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
- {
- result[idx - offset] = cmdtext[idx];
- idx++;
- }
- result[idx - offset] = EOS;
- if(!strlen(result))
- {
- SendClientMessage(playerid, COLOR_GRAD2, "Use: /duvida [Pergunta]");
- return 1;
- }
- format(string, sizeof(string), "Dúvida de %s(ID:%d): %s", sendername, playerid, (result));
- SendHelperMessage(COLOR_HELPER, string);
- SendClientMessage(playerid, COLOR_GRAD2, "Sua dúvida foi enviada aos Helpers.");
- }
- return 1;
- }
- if(strcmp(cmd, "/helpajudar", true) == 0 || strcmp(cmd, "/ha", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- if(PlayerInfo[playerid][pHelper] >= 1)
- {
- if(PlayerInfo[playerid][pHelperTrab] == 0)
- {
- SendClientMessageToAll(COLOR_WHITE,"||=====||Aviso dos Helpers||=====||");
- format(string, 256, "Helper %s [%d] está em trabalho, use /helpers para mais informações.",sendername, playerid);
- SendClientMessageToAll(COLOR_HELPER, string);
- PlayerInfo[playerid][pHelperTrab] = 1;
- }
- else if(PlayerInfo[playerid][pHelperTrab] == 1)
- {
- SendClientMessageToAll(COLOR_WHITE,"||=====||Aviso dos Helpers||=====||");
- format(string, 256, "Helper %s [%d] está em jogo, use /helpers para mais informações.",sendername, playerid);
- SendClientMessageToAll(COLOR_HELPER, string);
- PlayerInfo[playerid][pHelperTrab] = 0;
- }
- }
- else
- {
- SendClientMessage(playerid, COLOR_GRAD1, "** você não está autorizado a usar esse comando!");
- }
- }
- return 1;
- }
- if(strcmp(cmd, "/meavalie", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GRAD2, "USE: /meavalie [ID/Nome]");
- return 1;
- }
- new giveplayerid;
- giveplayerid = ReturnUser(tmp);
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- if(IsPlayerConnected(giveplayerid))
- {
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- if(PlayerInfo[playerid][pHelper] >= 1)
- {
- if(PlayerInfo[playerid][pHelperTrab] == 0)
- {
- return SendClientMessage(playerid,COLOR_GRAD2,"Você não está em trabalho!Use: /ha");
- }
- if(meavaliehelper[playerid] == 1)
- {
- return SendClientMessage(playerid,COLOR_GRAD1,"Você já foi avaliado recentemente!Espere...");
- }
- meavalie[giveplayerid] = playerid;
- meavaliehelper[playerid] = 1;
- SetTimer("TempoAvalieHelper",TEMPO_MEAVALIE,false);
- format(string,sizeof(string),"Olá %s\nO Helper %s[ID:%d]\nPediu a você que o avalia-se como helper\nCaso ele tenha o ajudado aperte em SIM\nCaso contrario aperte NÃO",giveplayer, sendername, playerid);
- ShowPlayerDialog(playerid, DIALOG_MEAVALIE, DIALOG_STYLE_MSGBOX, "Avaliação do Helper", string, "Sim", "Não");
- }
- else
- {
- SendClientMessage(playerid, COLOR_GRAD1, "** você não está autorizado a usar esse comando!");
- }
- }
- }
- else
- {
- format(string, sizeof(string), "O jogador não está conectado!", giveplayerid);
- SendClientMessage(playerid, COLOR_GRAD1, string);
- }
- }
- return 1;
- }
- if(strcmp(cmd, "/irh", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GRAD2, "USE: /irh [ID/Nome]");
- return 1;
- }
- new giveplayerid;
- giveplayerid = ReturnUser(tmp);
- new Float:givepx,Float:givepy,Float:givepz,Float:givepang;
- GetPlayerPos(giveplayerid, givepx, givepy, givepz);
- GetPlayerFacingAngle(giveplayerid,givepang);
- if(IsPlayerConnected(giveplayerid))
- {
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- if(PlayerInfo[playerid][pHelper] >= 10)
- {
- if(PlayerInfo[playerid][pHelperTrab] == 0)
- {
- return SendClientMessage(playerid,COLOR_GRAD2,"Você não está em trabalho!Use: /ha");
- }
- SetPlayerInterior(playerid,GetPlayerInterior(giveplayerid));
- SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(giveplayerid));
- SetPlayerPos(playerid,givepx,givepy+2, givepz);
- SetPlayerFacingAngle(playerid,givepang);
- }
- else
- {
- SendClientMessage(playerid, COLOR_GRAD1, "** você não está autorizado a usar esse comando!");
- }
- }
- }
- else
- {
- format(string, sizeof(string), "O jogador não está conectado!", giveplayerid);
- SendClientMessage(playerid, COLOR_GRAD1, string);
- }
- }
- return 1;
- }
- if(strcmp(cmd, "/darhelper", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GRAD2, "USE: /darhelper [playerid/ParteDoNome] [level(0-30)]");
- return 1;
- }
- new playa;
- new level;
- playa = ReturnUser(tmp);
- tmp = strtok(cmdtext, idx);
- level = strval(tmp);
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] >= 1337)
- {
- if(IsPlayerConnected(playa))
- {
- if(playa != INVALID_PLAYER_ID)
- {
- if(level < 0 || level > 30) { SendClientMessage(playerid, COLOR_GREY, "** Nível não pode ser inferior a 0 ou acima de 100!"); return 1; }
- GetPlayerName(playa, giveplayer, sizeof(giveplayer));
- PlayerInfo[playa][pHelper] = level;
- format(string, sizeof(string), "** Você definiu o nivel de helper de %s[ID:%d] para [%d]",giveplayer,playa,level);
- SendClientMessage(playerid, COLOR_ORANGE, string);
- format(string, sizeof(string), "** Admin %s[ID:%d] definiu seu nivel de helper para [%d]",sendername,playerid,level);
- SendClientMessage(playa, COLOR_ORANGE, string);
- format(string, sizeof(string), "[HELPER]%s[ID %d] é o novo helper do servidor",giveplayer,playa);
- SendHelperMessage(COLOR_HELPER,string);
- format(string, sizeof(string), "~b~Parabens %s voce agora e um Helper",giveplayer);
- GameTextForPlayer(playa, string, 4500,3);
- }
- }
- }
- else
- {
- SendClientMessage(playerid, COLOR_GRAD1, "** você não está autorizado a usar esse comando!");
- }
- }
- return 1;
- }
- return 0;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new string[128];
- new giveplayer[MAX_PLAYER_NAME];
- GetPlayerName(meavalie[playerid], giveplayer, sizeof(giveplayer));
- new sendername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, sendername, sizeof(sendername));
- if(dialogid == DIALOG_MEAVALIE)
- {
- if(response == 1)
- {
- SendClientMessage(meavalie[playerid],COLOR_GRAD2,"O Jogador qualificou a sua ajuda como {9EC73D}POSITIVA");
- PlayerInfo[meavalie[playerid]][pHelper] = PlayerInfo[meavalie[playerid]][pHelper]+1;
- format(string, sizeof(string), "Você classificou a ajuda do Helper %s como {9EC73D}positiva!",giveplayer);
- SendClientMessage(playerid,COLOR_HELPER,string);
- }
- if(response == 0)
- {
- SendClientMessage(meavalie[playerid],COLOR_GRAD2,"O Jogador qualificou a sua ajuda como {FF0000}NEGATIVA");
- format(string, sizeof(string), "Você classificou a ajuda do Helper %s como {FF0000}negativa!",giveplayer);
- SendClientMessage(playerid,COLOR_HELPER,string);
- }
- return 1;
- }
- if(dialogid == DIALOG_PAR)
- {
- if(response)
- {
- format(string, sizeof(string), "Helper %s[ID %d]: %s",sendername,playerid,strlen(inputtext));
- SendClientMessage(clickplay[playerid], COLOR_GREY,string);
- }
- }
- if(dialogid == DIALOG_HELPER)
- {
- if(response)
- {
- if(listitem == 0)
- {
- format(string, sizeof(string), "/irh %d",clickplay[playerid]);
- OnPlayerCommandText(playerid,string);
- }
- else if(listitem == 1)
- {
- format(string, sizeof(string), "/meavalie %d",clickplay[playerid]);
- OnPlayerCommandText(playerid,string);
- }
- else if(listitem == 2)
- {
- ShowPlayerDialog(playerid, DIALOG_PAR,DIALOG_STYLE_INPUT,"Mensagem","Digite sua mensagem abaixo","Ok","Cancel");
- }
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- if(PlayerInfo[playerid][pHelper] >= 1)
- {
- clickplay[playerid] = clickedplayerid;
- ShowPlayerDialog(playerid,DIALOG_HELPER,DIALOG_STYLE_LIST,"Menu Helper","1\tIr\n2\tSolicitar Avaliação\n3\tMensagem Particular","Selecionar","Cancelar");
- }
- return 1;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- public SendHelperMessage(color, string[])
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pHelper] >= 1 || IsPlayerAdmin(i))
- {
- SendClientMessage(i, color, string);
- }
- }
- }
- printf("[Helper]%s", string);
- }
- public SendHelperAdminMessage(color, string[])
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pHelper] >= 1 || IsPlayerAdmin(i) || PlayerInfo[i][pAdmin] >= 1)
- {
- SendClientMessage(i, color, string);
- }
- }
- }
- printf("[Helper]%s", string);
- }
- public TempoAvalieHelper(playerid)
- {
- meavaliehelper[playerid] = 0;
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement