Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <DOF2>
- #include <zcmd>
- #include <sscanf>
- #define FileUsers "Contas/%s.ini"
- #define DIALOG_REGISTRO 1
- #define DIALOG_LOGIN 2
- #define DIALOG_MUDAR_NICK 3
- #define DIALOG_MUDAR_SENHA 4
- #define DIALOG_RELATORIO 5
- enum pDados
- {
- pAdmin,
- pVIP
- };
- new PlayerDados[MAX_PLAYERS][pDados];
- new SenhaErrada[MAX_PLAYERS];
- new bool:Autorizado[MAX_PLAYERS] = false;
- stock ReturnFileUser(playerid)
- {
- new File[156],Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,Name,sizeof(Name));
- format(File,sizeof(File),FileUsers,Name);
- return File;
- }
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" FS criado por Aninhaah");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- DOF2_Exit();
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new string[70];
- format(string,sizeof(string),"{00FF7F}%s {FFFAFA}entrou!",PlayerName(playerid));
- SendClientMessageToAll(-1,string);
- if(!DOF2_FileExists(ReturnFileUser(playerid))) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT,"[NOME] - Registro","Se registre para poder jogar, se clicar em sair será kickado.", "Registrar","Cancelar");
- else if(DOF2_FileExists(ReturnFileUser(playerid))) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[Nome] - Login", "Para logar digite sua senha", "Logar","Cancelar");
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new string[90];
- switch(reason)
- {
- case 0: format(string,sizeof(string),"{00FF7F}%s {FFFAFA}saiu (Crash/Conexão).",PlayerName(playerid));
- case 1: format(string,sizeof(string),"{00FF7F}%s {FFFAFA}saiu (Vontade própria).",PlayerName(playerid));
- case 2: format(string,sizeof(string),"{00FF7F}%s {FFFAFA}saiu (Kickado/Banido).",PlayerName(playerid));
- }
- SendClientMessageToAll(-1,string);
- SalvarPlayer(playerid);
- return 1;
- }
- new giveplayerid,nivel;
- CMD:mudarsenha(playerid, params[])
- {
- ShowPlayerDialog(playerid, DIALOG_MUDAR_SENHA, DIALOG_STYLE_INPUT,"[Nome do server] - Mudança de senha","Digite sua nova senha!","Trocar","Cancelar");
- return 1;
- }
- CMD:mudarnick(playerid, params[])
- {
- if(PlayerDados[playerid][pVIP] < 1 || Autorizado[playerid] == false) return SendClientMessage(playerid,-1,"Você não é VIP ou não está autorizado a troca de nick.");
- ShowPlayerDialog(playerid, DIALOG_MUDAR_NICK, DIALOG_STYLE_INPUT,"[Nome do server] - Mudança de nick","Digite seu novo nick!","Trocar","Cancelar");
- return 1;
- }
- CMD:autorizartroca(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 1000) return SendClientMessage(playerid,-1,"Você não pode usar esse comando.");
- if(sscanf(params,"u", giveplayerid)) return SendClientMessage(playerid,-1,"Use: /autorizartroca [id/nome]");
- if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,-1,"Jogador não está conectado.");
- if(Autorizado[giveplayerid] == true) return SendClientMessage(playerid,-1,"Jogador já está autorizado.");
- Autorizado[giveplayerid] = true;
- new string[120];
- format(string,sizeof(string),"{14E5FF}%s {FFFAFA}autorizou {14E5FF}%s {FFFAFA}a trocar seu nick!",PlayerName(playerid), PlayerName(giveplayerid));
- SendClientMessage(giveplayerid,-1,string);
- SendClientMessage(giveplayerid,-1,"Use: /mudarnick.");
- print(string);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(PlayerDados[i][pAdmin] >= 1 || IsPlayerAdmin(i))
- {
- SendClientMessage(i, -1,string);
- }
- }
- return 1;
- }
- CMD:daradmin(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 1000) return SendClientMessage(playerid,-1,"Você não pode usar esse comando.");
- if(sscanf(params,"ud", giveplayerid, nivel)) return SendClientMessage(playerid, -1, "Use: /daradmin [ID/Nome] [Level]");
- if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,-1,"Jogador não está conectado.");
- if(nivel < 1 || nivel > 1000) return SendClientMessage(playerid,-1,"Os niveis são de 1 a 1000 (Para tirar admin use /tiraradmin)");
- PlayerDados[giveplayerid][pAdmin] = nivel;
- new string[100];
- format(string,sizeof(string),"{14E5FF}%s{FFFAFA} deu nivel {14E5FF}%d {FFFAFA}de administrador para {14E5FF}%s", PlayerName(playerid), nivel, PlayerName(giveplayerid));
- SendClientMessageToAll(-1,string);
- print(string);
- SalvarPlayer(giveplayerid);
- return 1;
- }
- CMD:admins(playerid, params[])
- {
- SendClientMessage(playerid,0xFFF00093,"|============== Admins Online ============ |");
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(PlayerDados[i][pAdmin] >= 1)
- {
- new string[50];
- format(string,sizeof(string),"[Admin: %d] {F6E500}%s", PlayerDados[i][pAdmin], PlayerName(i));
- SendClientMessage(playerid,-1,string);
- }
- }
- SendClientMessage(playerid,0xFFF00093,"|===========================================|");
- return 1;
- }
- CMD:relatorio(playerid, params[])
- {
- ShowPlayerDialog(playerid, DIALOG_RELATORIO, DIALOG_STYLE_INPUT,"[Nome do server] - Relátorio","Digite seu relátorio","Enviar","Cancelar");
- return 1;
- }
- CMD:darvip(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 1000) return SendClientMessage(playerid,-1,"Você não pode usar esse comando.");
- if(sscanf(params,"ud", giveplayerid, nivel)) return SendClientMessage(playerid, -1, "Use: /darvip [ID/Nome] [Level]");
- if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,-1,"Jogador não está conectado.");
- if(nivel < 1 || nivel > 3) return SendClientMessage(playerid,-1,"Os niveis são de 1 a 3(Para tirar o vip use /tirarvip)");
- PlayerDados[giveplayerid][pVIP] = nivel;
- new string[100];
- format(string,sizeof(string),"{14E5FF}%s {FFFAFA}deu nivel {14E5FF}%d {FFFAFA}de VIP para {14E5FF}%s", PlayerName(playerid), nivel, PlayerName(giveplayerid));
- SendClientMessage(giveplayerid,-1,string);
- print(string);
- SalvarPlayer(giveplayerid);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(PlayerDados[i][pAdmin] >= 1 || IsPlayerAdmin(i))
- {
- SendClientMessage(i, -1,string);
- }
- }
- return 1;
- }
- CMD:aviso(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 1) return SendClientMessage(playerid,-1,"Você não pode usar esse comando.");
- if(params[0] == 1) return SendClientMessage(playerid,-1,"Use: {F6E500}/av(iso) [texto]");
- new string[150];
- format(string, sizeof(string),"{FFD700}Admin %s: {FFFAFA}%s",PlayerName(playerid),params);
- SendClientMessageToAll(-1,string);
- return 1;
- }
- CMD:av(playerid, params[])
- {
- cmd_aviso(playerid,params);
- return 1;
- }
- CMD:kick(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 2) return SendClientMessage(playerid,-1,"Você precisa estar logado na RCON ou ser admin level 2.");
- new motivo[60];
- if(sscanf(params,"us", giveplayerid, motivo)) return SendClientMessage(playerid,-1,"Use: /kick [ID/Nome] [Motivo]");
- if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,-1,"Jogador não está conectado.");
- new string[140];
- format(string,sizeof(string),"{00BFFF}%s {FFFAFA}foi kickado por {00BFFF}%s{FFFAFA}. Motivo: {00BFFF}%s", PlayerName(giveplayerid), PlayerName(playerid), motivo);
- SendClientMessageToAll(-1,string);
- Kick(giveplayerid);
- return 1;
- }
- CMD:ban(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 3) return SendClientMessage(playerid,-1,"Você precisa estar logado na RCON ou ser admin level 3.");
- new motivo[60];
- if(sscanf(params,"us", giveplayerid, motivo)) return SendClientMessage(playerid,-1,"Use: /ban [ID/Nome] [Motivo]");
- if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,-1,"Jogador não está conectado.");
- new string[140];
- format(string,sizeof(string),"{F6E500}%s {FFFAFA}foi banido por {F6E500}%s{FFFAFA}. Motivo: {F6E500}%s", PlayerName(giveplayerid), PlayerName(playerid), motivo);
- SendClientMessageToAll(-1,string);
- Ban(giveplayerid);
- return 1;
- }
- CMD:setskin(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 2) return SendClientMessage(playerid,-1,"Você precisa estar logado na RCON ou ser admin level 2.");
- new skin;
- if(sscanf(params,"ud", giveplayerid, skin)) return SendClientMessage(playerid,-1,"Use: /setskin [ID] [Skin]");
- if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,-1,"Jogador não está conectado.");
- new string[120];
- format(string,sizeof(string),"{FF4040}%s {FFFAFA}trocou a skin de {FF4040}%s {FFFAFA}para {FF4040}%d", PlayerName(playerid), PlayerName(giveplayerid), skin);
- SendClientMessage(playerid,-1,string);
- SendClientMessage(giveplayerid,-1,string);
- SetPlayerSkin(giveplayerid,skin);
- return 1;
- }
- CMD:ir(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 2) return SendClientMessage(playerid,-1,"Você precisa estar logado na RCON ou ser admin level 2.");
- if(sscanf(params,"u",giveplayerid)) return SendClientMessage(playerid,-1,"Use: /ir [ID]");
- if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,-1,"Jogador não conectado.");
- new Float:X,Float:Y, Float:Z;
- new intgiveplayerid = GetPlayerInterior(giveplayerid);
- GetPlayerPos(giveplayerid, X,Y,Z);
- SetPlayerPos(playerid, X+1, Y,Z);
- SetPlayerInterior(playerid, intgiveplayerid);
- new string[80];
- format(string,sizeof(string),"%s foi até %s", PlayerName(playerid), PlayerName(giveplayerid));
- SendClientMessage(playerid,-1,string);
- SendClientMessage(giveplayerid,-1,string);
- return 1;
- }
- CMD:trazer(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 2) return SendClientMessage(playerid,-1,"Você precisa estar logado na RCON ou ser admin level 2.");
- if(sscanf(params,"u",giveplayerid)) return SendClientMessage(playerid,-1,"Use: /trazer [ID]");
- if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,-1,"Jogador não conectado.");
- new Float:X,Float:Y, Float:Z;
- new intplayerid = GetPlayerInterior(playerid);
- GetPlayerPos(playerid, X,Y,Z);
- SetPlayerPos(giveplayerid, X+1, Y,Z);
- SetPlayerInterior(giveplayerid, intplayerid);
- new string[90];
- format(string,sizeof(string),"%s levou %s até ele(a).", PlayerName(playerid), PlayerName(giveplayerid));
- SendClientMessage(playerid,-1,string);
- SendClientMessage(giveplayerid,-1,string);
- return 1;
- }
- CMD:gmx(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Você não é administrador.");
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- SalvarPlayer(i);
- GameTextForPlayer(i,"GMX... Nao saia do servidor", 2000, 4);
- SendRconCommand("gmx");
- }
- return 1;
- }
- public OnPlayerCommandPerformed(playerid, cmdtext[], success)
- {
- if(!success)
- {
- new string[85];
- format(string, sizeof(string), "{FF0000}[ERRO] O comando {FF6EB4}%s{FF0000} não existe! Use: /ajuda ou /comandos",cmdtext);
- SendClientMessage(playerid, -1, string);
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_REGISTRO)
- {
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTRO,DIALOG_STYLE_INPUT,"[NOME] - Registro","Digite uma senha para se registrar","Registrar","Cancelar");
- if(strlen(inputtext) < 3 || strlen(inputtext) > 15) return ShowPlayerDialog(playerid,DIALOG_REGISTRO,DIALOG_STYLE_INPUT,"[NOME] - Registro","A senha deve ter de 3 a 15 caracteres","Registrar","Cancelar");
- new string[70];
- format(string,sizeof(string),"Conta registrada com sucesso! Senha: {F6E500}%s", inputtext);
- SendClientMessage(playerid,-1,string);
- DOF2_CreateFile(ReturnFileUser(playerid));
- DOF2_SetString(ReturnFileUser(playerid),"Senha",inputtext);
- DOF2_SaveFile();
- SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
- SpawnPlayer(playerid);
- GivePlayerMoney(playerid, 1000);
- SetPlayerScore(playerid,1);
- }
- else if(!response)
- {
- SendClientMessage(playerid,-1,"Você foi kickado por não se registrar.");
- Kick(playerid);
- }
- return 1;
- }
- if(dialogid == DIALOG_LOGIN)
- {
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[NOME] - Login","Digite sua senha","Logar","Cancelar");
- if(strcmp(inputtext,DOF2_GetString(ReturnFileUser(playerid),"Senha"),true) == 0)
- {
- SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
- SpawnPlayer(playerid);
- GivePlayerMoney(playerid, 1000);
- CarregarPlayer(playerid);
- SendClientMessage(playerid,0x2CB60AAA,"<!>Logado com sucesso!");
- }
- else
- {
- if(SenhaErrada[playerid] == 4)
- {
- SendClientMessage(playerid,0xC5B43AAA,"Você foi banido por errar a senha 5 vezes.");
- Ban(playerid);
- }
- else if(SenhaErrada[playerid] < 4)
- {
- SenhaErrada[playerid] ++;
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[NOME] - Login","Senha incorreta, tente novamente. Se errar a senha 5 vezes será banido!","Logar","Sair");
- }
- }
- }
- else if(!response)
- {
- SendClientMessage(playerid,0xC5B43AAA,"Você foi kickado por não logar");
- Kick(playerid);
- }
- return 1;
- }
- if(dialogid == DIALOG_MUDAR_NICK)
- {
- if(!response) return SendClientMessage(playerid,0xC5B43AAA,"Você cancelou a troca do nick.");
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_MUDAR_NICK, DIALOG_STYLE_INPUT,"[Nome do server] - Mudança de nick","Digite seu novo nick","Trocar","Cancelar");
- new arq[70];
- format(arq,sizeof(arq),"Contas/%s.ini", inputtext);
- if(fexist(arq)) return ShowPlayerDialog(playerid,DIALOG_MUDAR_NICK,DIALOG_STYLE_INPUT, "[Nome do server] - Mudança de nick","ERRO: Esse nick já existe","Trocar","Cancelar");
- new string[60];
- if(fexist(ReturnFileUser(playerid)))
- {
- new string2[50];
- format(string2,sizeof(string2),"Contas/%s.ini", inputtext);
- DOF2_RenameFile(ReturnFileUser(playerid),string2);
- DOF2_SaveFile();
- }
- format(string, sizeof(string), "Parabéns! Seu novo nome é {FFFF34}%s", inputtext);
- SendClientMessage(playerid, -1, string);
- SetPlayerName(playerid, inputtext);
- Autorizado[playerid] = false;
- return 1;
- }
- if(dialogid == DIALOG_MUDAR_SENHA)
- {
- if(!response) return SendClientMessage(playerid,0xC5B43AAA,"Você cancelou a troca da senha.");
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_MUDAR_SENHA,DIALOG_STYLE_INPUT,"[Nome do server] - Mudança de senha","Digite sua nova senha.","Trocar","Cancelar");
- if(fexist(ReturnFileUser(playerid)))
- {
- DOF2_SetString(ReturnFileUser(playerid),"Senha",inputtext);
- DOF2_SaveFile();
- }
- new string[60];
- format(string, sizeof(string), "Parabéns! Sua nova senha é {FFFF34}%s", inputtext);
- SendClientMessage(playerid, -1, string);
- return 1;
- }
- if(dialogid == DIALOG_RELATORIO)
- {
- if(!response) return SendClientMessage(playerid,-1,"Você cancelou o envio do relátorio.");
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_RELATORIO, DIALOG_STYLE_INPUT,"[Nome do server] - Relátorio","Digite seu relátorio","Enviar","Cancelar");
- new string[160];
- format(string,sizeof(string),"Relátorio de %s: {25E500}%s",PlayerName(playerid), inputtext);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(PlayerDados[i][pAdmin] > 1 || IsPlayerAdmin(i))
- {
- if(PlayerDados[playerid][pVIP] >= 1) return SendClientMessage(i,0x00FF40AA, string);// vai mandar a mensagem com uma cor mais bonitinha se for vip
- else if(PlayerDados[playerid][pVIP] < 1) return SendClientMessage(i, -1, string);//se nao for vip a mensagem sera mandada com a cor branca
- }
- }
- return 1;
- }
- return 1;
- }
- stock SalvarPlayer(playerid)
- {
- if(DOF2_FileExists(ReturnFileUser(playerid)))
- {
- DOF2_SetInt(ReturnFileUser(playerid),"Level",GetPlayerScore(playerid));
- DOF2_SetInt(ReturnFileUser(playerid),"Dinheiro",GetPlayerMoney(playerid));
- DOF2_SetInt(ReturnFileUser(playerid),"Admin Level",PlayerDados[playerid][pAdmin]);
- DOF2_SetInt(ReturnFileUser(playerid),"Skin",GetPlayerSkin(playerid));
- DOF2_SetInt(ReturnFileUser(playerid),"VIP", PlayerDados[playerid][pVIP]);
- DOF2_SaveFile();
- }
- }
- stock CarregarPlayer(playerid)
- {
- if(DOF2_FileExists(ReturnFileUser(playerid)))
- {
- SetPlayerScore(playerid, DOF2_GetInt(ReturnFileUser(playerid), "Level"));
- SetPlayerMoney(playerid, DOF2_GetInt(ReturnFileUser(playerid), "Dinheiro"));
- PlayerDados[playerid][pAdmin] = DOF2_GetInt(ReturnFileUser(playerid),"Admin Level");
- SetPlayerSkin(playerid, DOF2_GetInt(ReturnFileUser(playerid),"Skin"));
- PlayerDados[playerid][pVIP] = DOF2_GetInt(ReturnFileUser(playerid),"VIP");
- }
- }
- stock PlayerName(playerid)
- {
- new Name[MAX_PLAYERS];
- GetPlayerName(playerid, Name, sizeof(Name));
- return Name;
- }
- stock SetPlayerMoney(playerid,ammount)
- {
- ResetPlayerMoney(playerid);
- GivePlayerMoney(playerid,ammount);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement