Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This is a comment
- // uncomment the line below if you want to write a filterscript
- //#define FILTERSCRIPT
- #include <a_samp>
- #include <DOF2>
- #define DIALOG_REGISTRO 1
- #define DIALOG_LOGAR 2
- enum pDados
- {
- Nick,
- Senha,
- Sexo,
- Nivel,
- Skin,
- Dinheiro,
- Matou,
- Morreu,
- HorasJogadas,
- Organizacao,
- Cargo,
- Emprego,
- AdminLevel,
- Helper,
- VIP,
- }
- new Player[MAX_PLAYERS][pDados];
- new Erro[MAX_PLAYERS];
- public OnPlayerConnect(playerid)
- {
- new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
- GetPlayerName(playerid, name, 32); //Pega o nome do playerid
- format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
- if(DOF2_FileExists(arquivo)) //Verifica se a pasta existe
- { //Caso existir, irá retornar a dialog de Login
- ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Você é Registrado, digite sua senha para logar!\nSe errar 5 vezes você será kickado !", "Confirma", "Cancelar");
- }
- else //Caso o arquivo não exista
- { //Irá retornar a dialog de registro
- ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Você ainda não é Registrado, digite uma senha para se registrar!", "Confirma", "Cancelar");
- }
- return 1;
- }
- // <?
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
- GetPlayerName(playerid, name, 32); //Para pegar o nome do playerid
- format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
- if(dialogid == DIALOG_REGISTRO)
- {
- if(!strval(inputtext)) //Verifica se o player digitou LETRAS, caso for true
- { //Retorna a dialog de registro novamente para ele digitar NÚMEROS
- ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite apenas números!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
- return 1;
- }
- if(!response) //Verifica se ele clicar em 'Cancelar"
- { //Caso ele clicar em cancelar, irá retornar ao playerid KICK
- Kick(playerid);
- return 1;
- }
- else //Verifica se ele Confirma o Registro
- { //Caso for true, ira criar o arquivo na pasta CONTAS
- Player[playerid][Senha] = strval(inputtext); //Player[playerid][Senha] vai ser igual ao que ele digitar na dialog Registro
- DOF2_CreateFile(arquivo); //Vai criar o arquvivo na pasta Contas
- DOF2_SetInt(arquivo, "Nick", Player[playerid][Nick]);
- DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
- DOF2_SetInt(arquivo, "Sexo", Player[playerid][Sexo]);
- DOF2_SetInt(arquivo, "Nivel", Player[playerid][Nivel]);
- DOF2_SetInt(arquivo, "Skin", Player[playerid][Skin]);
- DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
- DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
- DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
- DOF2_SetInt(arquivo, "HorasJogadas", Player[playerid][HorasJogadas]);
- DOF2_SetInt(arquivo, "Organizacao", Player[playerid][Organizacao]);
- DOF2_SetInt(arquivo, "Cargo", Player[playerid][Cargo]);
- DOF2_SetInt(arquivo, "Emprego", Player[playerid][Emprego]);
- DOF2_SetInt(arquivo, "AdminLevel", Player[playerid][AdminLevel]);
- DOF2_SetInt(arquivo, "Helper", Player[playerid][Helper]);
- DOF2_SetInt(arquivo, "VIP", Player[playerid][Helper]);
- DOF2_SaveFile(); //E finalmente salvando o arquivo, sem essa função o arquivo não será salvo!
- //Retornando a dialog de Login ao player no final para ele logar no server
- ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Você se cadastrou, agora é só logar com sua senha registrada!", "Confirma", "Cancelar");
- }
- }
- if(dialogid == DIALOG_LOGAR)
- {
- if(!strval(inputtext)) //Verifica se o player digitou letras, caso for true
- { //Retorna a dialog de Login novamente para ele digitar NÚMEROS
- ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas números!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes você será kickado !", "Confirma", "Cancelar");
- return 1;
- }
- if(!response) //Verifica se ele clicar em 'Cancelar"
- { //Caso ele clicar em cancelar, irá retornar ao playerid KICK
- Kick(playerid);
- return 1;
- }
- else //Verifica se ele Confirma o Login
- { //Caso for true, ira verificar se o que ele digitar será a mesma senha que ele se registrou anteriormente
- Player[playerid][Senha] = DOF2_GetInt(arquivo, "Senha"); //Pega a senha do jogador no arquivo da conta
- if(strval(inputtext) == Player[playerid][Senha]) //Se o que ele digitar for igual ao valor que carregou aqui em cima /\
- {
- Player[playerid][Matou] = DOF2_GetInt(arquivo, "Matou"); //Pega quantos ele matou no arquivo
- Player[playerid][Morreu] = DOF2_GetInt(arquivo, "Morreu"); //Pega quantos ele morreu no arquivo
- Player[playerid][Dinheiro] = DOF2_GetInt(arquivo, "Dinheiro"); //Pega o dinheiro e iguala ao Player[playerid][Dinheiro]
- Player[playerid][Nivel] = DOF2_GetInt(arquivo, "Nivel", Player[playerid][Nivel]);
- Player[playerid][Organizacao] = DOF2_GetInt(arquivo, "Organizacao", Player[playerid][Organizacao]);
- Player[playerid][Cargo] = DOF2_GetInt(arquivo, "Cargo", Player[playerid][Cargo]);
- Player[playerid][Emprego] = DOF2_GetInt(arquivo, "Emprego", Player[playerid][Emprego]);
- Player[playerid][AdminLevel] = DOF2_GetInt(arquivo, "AdminLevel", Player[playerid][AdminLevel]);
- Player[playerid][Helper] = DOF2_GetInt(arquivo, "Helper", Player[playerid][Helper]);
- Player[playerid][Nick] = DOF2_GetInt(arquivo, "Nick", Player[playerid][Nick]);
- Player[playerid][VIP] = DOF2_GetInt(arquivo, "VIP", Player[playerid][VIP]);
- Player[playerid][Skin] = DOF2_GetInt(arquivo, "Skin", Player[playerid][Skin]);
- SetPlayerName(playerid, Player[playerid][Nick]);
- SetPlayerSkin(playerid, Player[playerid][Skin]);
- SetPlayerScore(playerid, Player[playerid][Nivel]);
- GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
- DOF2_GetInt(arquivo, "Sexo", Player[playerid][Sexo]);
- DOF2_GetInt(arquivo, "HorasJogadas", Player[playerid][HorasJogadas]);
- SpawnPlayer(playerid); //Spawna o player
- }
- if(strval(inputtext) != Player[playerid][Senha])
- {
- ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Você digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes você será kickado !", "Confirma", "Cancelar");
- Erro[playerid]++; //O erro vai aumentar cada vez que ele errar
- if(Erro[playerid] == 5) //Quando chegar à 5 vezes, irá retornar a msg e o Ban
- {
- SendClientMessage(playerid, -1, "Você foi kickado por errar a senha por mais de 5 vezes !");
- Kick(playerid);
- }
- }
- }
- }
- return 1;
- public OnPlayerDisconnect(playerid)
- {
- new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
- GetPlayerName(playerid, name, 32); //Para pegar o nome do playerid
- format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
- if(DOF2_FileExists(arquivo)) //Verifica se o arquivo da conta do playerid existe
- {
- Player[playerid][Dinheiro] = GetPlayerMoney(playerid); //Pega o dinheiro que o player tem no momento e iguala a Var de informações dele
- DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]); //Salva a senha, caso ele tenha modificado
- DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]); //Salva quantos players ele matou
- DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]); //Salva quantas vezes ele morreu
- DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]); //Salva o dinheiro que foi igualado ao GetPlayerMoney logo acima no começo da função
- DOF2_SetInt(arquivo, "Nick", Player[playerid][Nick]);
- DOF2_SetInt(arquivo, "Sexo", Player[playerid][Sexo]);
- DOF2_SetInt(arquivo, "Skin", Player[playerid][Skin]);
- DOF2_SetInt(arquivo, "Nivel", Player[playerid][Nivel]);
- DOF2_SetInt(arquivo, "HorasJogadas", Player[playerid][HorasJogadas]);
- DOF2_SetInt(arquivo, "Organizacao", Player[playerid][Organizacao]);
- DOF2_SetInt(arquivo, "Cargo", Player[playerid][Cargo]);
- DOF2_SetInt(arquivo, "Emprego", Player[playerid][Emprego]);
- DOF2_SetInt(arquivo, "AdminLevel", Player[playerid][AdminLevel]);
- DOF2_SetInt(arquivo, "Helper", Player[playerid][Helper]);
- DOF2_SetInt(arquivo, "VIP", Player[playerid][Helper]);
- DOF2_SaveFile(); //E finalmente salvando o arquivo
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnGameModeExit()
- {
- DOF2_Exit();
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment