Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //------------------------------------Include ----------------------------------
- #include <a_samp>
- #include <a_mysql>
- #include <sscanf2>
- #include <zcmd>
- #include <foreach>
- #include <a_http>
- #define MAILER_URL "extrapolative-hamme.000webhostapp.com/mailer.php" // Altere
- #include <mailer>
- //------------------------------------ Define ----------------------------------
- //Configuracoes
- #define NOMESERVER "MEU RPG" //ALTERE
- #define SERVEREMAIL "marlonallvezz@gmail.com" //ALTERE
- //conexão Mysql
- #define host "localhost"
- #define usuario "root"
- #define database "samp"
- #define senha ""
- //Dialogs ID
- #define REGISTRO 1
- #define LOGIN 2
- #define MDSNAOSABEASENHA 3
- #define EMAIL 4
- #define SEXO 5
- #define EMAIL 4
- #define MDSNAOSABEASENHA 3
- //Settime ao kika o player
- #define KickZ(%0) SetTimerEx("KickP", 500, false, "i", %0)
- #define SalvaRT SetTimer("SalvarInformacoes", 15000, true)
- //------------------------------------ forwards --------------------------------
- forward KickP(playerid);
- forward KickP2(playerid);
- forward SalvarInformacoes(playerid);
- //------------------------------------ Variáveis -------------------------------
- new MySQL:Conexao;
- new query[900];
- new zsl[90];
- enum PlayerD
- {
- ID,
- Senha,
- Dinheiro,
- Skin,
- Matou,
- Email,
- Morreu,
- Nivel,
- bool:Logado,
- float:IP,
- Admin,
- }
- static
- Float:pPosX[MAX_PLAYERS],
- Float:pPosY[MAX_PLAYERS],
- Float:pPosZ[MAX_PLAYERS],
- Float:pPosA[MAX_PLAYERS],
- SpawnarInPos[MAX_PLAYERS],
- Player[MAX_PLAYERS][PlayerD],
- Logadoo[MAX_PLAYERS],
- szString[30],
- pInterior[MAX_PLAYERS],
- Invalido[MAX_PLAYERS],
- id,
- Logou[MAX_PLAYERS]= 0,
- PrimeiraVezOn[MAX_PLAYERS],
- SS[350]
- ;
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------------------------------------------------");
- print("Fs beta por Marllun agradecimentos IlanZ pelo gamemode, SammyJ por tira as dúvidas");
- print("--------------------------------------------------------------------------------\n");
- SalvaRT;
- Conexao = mysql_connect(host, usuario, senha, database);
- if(mysql_errno() != 0) print("Nao foi possivel conectar na database MySQL"), SendRconCommand("exit");
- else print("Conectado com sucesso na database MySQL");
- query[0] = EOS;
- strcat(query, "CREATE TABLE IF NOT EXISTS usuarios(ID int AUTO_INCREMENT PRIMARY KEY, Nick varchar(20) NOT NULL,Senha int(20) NOT NULL,Dinheiro int NOT NULL DEFAULT 5000, Nivel int NOT NULL DEFAULT 1,Skin int NOT NULL DEFAULT 299,Admin int NOT NULL DEFAULT 0,Morreu int NOT NULL DEFAULT 0,Matou int NOT NULL DEFAULT 0,PosX float NOT NULL DEFAULT 1958.3783,PosY float NOT NULL DEFAULT 1343.1572,PosZ float NOT NULL DEFAULT 15.3746,PosA float NOT NULL DEFAULT 269.1425,Interior int NOT NULL DEFAULT 0,Logou int NOT NULL DEFAULT 0,Email varchar(90) NOT NULL DEFAULT 0,IP varchar(15) NOT NULL DEFAULT 0)");
- mysql_query(Conexao, query, false);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(IsPlayerConnected(killerid))
- {
- Player[playerid][Morreu] ++;
- Player[playerid][Nivel] ++;
- GameTextForPlayer(killerid,"~>~~r~Matou + 1 Level.!!!",2000,3);
- }
- if(IsPlayerConnected(playerid))
- {
- Player[playerid][Morreu] ++;
- GameTextForPlayer(playerid,"~>~~r~Morto - 1 Level!!!",2000,3);
- Player[playerid][Nivel] --;
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new row;
- Logadoo[playerid] = 0;
- SpawnarInPos[playerid] = 1;
- format(query, sizeof(query), "SELECT * FROM usuarios WHERE Nick='%s' LIMIT 1", PlayerName(playerid));
- mysql_query(Conexao, query, true);
- cache_get_row_count(row);
- cache_get_value_name_int(0, "Senha", Player[playerid][Senha]);
- if(row > 0)
- {
- PlayAudioStreamForPlayer(playerid, "https://dl.dropboxusercontent.com/s/n31l22dw0vejwwq/11%20Queen%20-%20Under%20Pressure.mp3");
- format(SS, sizeof(SS), "{FFFFFF}Bem-vindo(a) ao {FF1E1E}NOME DO SERVER \n\nConta: %s\nStatus: {FF0000}registrado{FFFFFF} \n Insira sua senha abaixo para registrar-se", PlayerName(playerid));
- ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login", SS, "Logar", "Sair");
- }else{
- PlayAudioStreamForPlayer(playerid, "https://dl.dropboxusercontent.com/s/n31l22dw0vejwwq/11%20Queen%20-%20Under%20Pressure.mp3");
- format(SS, sizeof(SS), "{FFFFFF}Bem-vindo(a) ao {FF1E1E}NOME DO SERVER \n\nConta: %s\nStatus: {FF0000}Não registrada{FFFFFF} \n Insira sua senha abaixo para registrar-se", PlayerName(playerid));
- ShowPlayerDialog(playerid,REGISTRO, DIALOG_STYLE_PASSWORD, "Registro", SS, "Registrar", "Sair");
- }
- for(new a = 0; a < 20; a++)
- {
- SendClientMessageToAll(0x33CCFFAA, " ");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(Player[playerid][Logado]) SalvarConta(playerid);
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == REGISTRO)
- {
- if(response)
- {
- if(strlen(inputtext) < 4 || strlen(inputtext) > 20)
- {
- new niss[255];
- SendClientMessage(playerid, -1, "Digite uma senha de mais de 4 caracteres e menos de 20");
- format(niss, sizeof(niss), "{FFFFFF}Bem-vindo(a) ao {FF1E1E}NOME DO SERVER \n\nConta: %s\nStatus: {FF0000}Não registrada{FFFFFF} \n Insira sua senha abaixo para registrar-se", PlayerName(playerid));
- ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD,"Registro 1/3" ,niss, "Proximo", "Sair");
- return 1;
- }
- CriarConta(playerid, inputtext);
- ShowPlayerDialog(playerid, EMAIL, DIALOG_STYLE_INPUT, "{FFFFFF}Registro 2/3", "{FF1E1E}Digite seu email a baixo\n{A52A2A}UM VALIDO!! ", "Proximo", "Sair");
- return true;
- }
- else
- {
- SendClientMessage(playerid, 0xFF0000AA, "Você Foi Kickado Porque Não Quis Se Registrar!!");
- KickZ(playerid);
- return true;
- }
- }
- if(dialogid == EMAIL)
- {
- if(response)
- {
- if(!strlen(inputtext))
- {
- ShowPlayerDialog(playerid, EMAIL, DIALOG_STYLE_INPUT, "{FFFFFF}Registro 2/3", "{FF1E1E}Digite seu email a baixo\n{A52A2A}UM VALIDO!! ", "Proximo", "Sair");
- SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Email inválido!");
- return 1;
- }
- format(zsl, sizeof(zsl), "%s", inputtext);
- SendClientMessage(playerid, -1, zsl),
- ShowPlayerDialog(playerid, SEXO, DIALOG_STYLE_MSGBOX, "{9400D3}SEXO 3/3", "Selecione seu sexo a baixo", "Homem", "Mulher");
- return 1;
- }
- else
- {
- SendClientMessage(playerid, 0xFF0000AA, "Você Foi Kickado Porque Não Quis Se Registrar!!");
- KickZ(playerid);
- return true;
- }
- }
- if(dialogid == SEXO)
- {
- if(response)
- {
- Player[playerid][Skin]=7;
- cache_get_value_name_int(0, "Skin", Player[playerid][Skin]);
- SetPlayerSkin(playerid,Player[playerid][Skin]);
- Registrando(playerid);
- return 1;
- }
- else
- {
- Player[playerid][Skin]=11;
- cache_get_value_name_int(0, "Skin", Player[playerid][Skin]);
- SetPlayerSkin(playerid,Player[playerid][Skin]);
- Registrando(playerid);
- return true;
- }
- }
- if(dialogid == MDSNAOSABEASENHA)
- {
- if(response)
- {
- SendClientMessage(playerid, -1, "O enviamos um email para sua caixa de email!!");
- new enemls[300];
- cache_get_value_name_int(0, "Senha",Player[playerid][Senha]);
- format(enemls, sizeof(enemls),"Depois de logar troque a senha! n/n/ {4169E1} Senha: %s",Player[playerid][Senha]);
- cache_get_value_name_int(0, "Email",Player[playerid][Email]);
- format(zsl, sizeof(zsl), "%s", Player[playerid][Email]);
- SendMail(SERVEREMAIL, zsl, "NOME DO SERVER", NOMESERVER, enemls);
- KickZ(playerid);
- return 1;
- }
- else
- {
- SendClientMessage(playerid, 0xFF0000FF, "Você Foi Kickado Porque Não Quis recuperar a senha!!");
- KickZ(playerid);
- return true;
- }
- }
- if(dialogid == LOGIN)
- {
- if(!response)
- {
- KickZ(playerid);
- }
- if(strlen(inputtext) < 4 || strlen(inputtext) > 20)
- {
- SendClientMessage(playerid, -1, "Digite uma senha de mais de 4 caracteres e menos de 20");
- format(SS, sizeof(SS), "{FFFFFF}Bem-vindo(a) ao {FF1E1E}NOME DO SERVER \n\nConta: %s\nStatus: {FF0000}Registrada{FFFFFF} \n Insira sua senha abaixo para registrar-se", PlayerName(playerid));
- ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login no servidor", SS, "Logar", "Sair");
- return 1;
- }
- if(strval(inputtext) == Player[playerid][Senha])
- {
- Logandoo(playerid);
- SpawnPlayer(playerid);
- Logou[playerid] ++;
- Logadoo[playerid] = 1;
- SendClientMessage(playerid, -1, "Logado com sucesso");
- }
- else
- {
- Invalido[playerid] += 1;
- if(Invalido[playerid] == 3)
- {
- ShowPlayerDialog(playerid, MDSNAOSABEASENHA, DIALOG_STYLE_MSGBOX, "Recuperação de senha", "Aperte em 'Enviar para enviar um email para o seu email contendo sua senha", "Enviar", "Cancelar");
- return 1;
- }
- if(Invalido[playerid] == 1)
- {
- SendClientMessage(playerid,0xFF0000AA,"| CONTA | Senha errada!");
- format(SS, sizeof(SS), "{FFFFFF}Bem-vindo(a) ao {FF1E1E}NOME DO SERVER \n\nConta: %s\nStatus: {FF0000}Registrada{FFFFFF} \n Insira sua senha abaixo para registrar-se", PlayerName(playerid));
- ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login no servidor", SS, "Logar", "Sair");
- }
- if(Invalido[playerid] == 2)
- {
- SendClientMessage(playerid, 0xFF0000AA, "| CONTA | Próxima vez que você errar será kickado!");
- ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login no servidor", "", "Logar", "Sair");
- }
- ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login no servidor", SS, "Logar", "Sair");
- return 1;
- }
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SetCameraBehindPlayer(playerid);
- StopAudioStreamForPlayer(playerid);
- SetPlayerPos(playerid, pPosX[playerid], pPosY[playerid], pPosZ[playerid]);
- SetPlayerFacingAngle(playerid, pPosA[playerid]);
- SetCameraBehindPlayer(playerid);
- SetPlayerSkin(playerid, Player[playerid][Skin]);
- SetPlayerScore(playerid, Player[playerid][Nivel]);
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- if(Logadoo[playerid] == 0)
- {
- SendClientMessage(playerid, -1, "Registre-se/logue para spawnar!");
- return 0;
- }
- if(Logadoo[playerid] == 1)
- {
- return 1;
- }
- return 1;
- }
- PlayerName(playerid)
- {
- new nome[24];
- GetPlayerName(playerid, nome, 24);
- return nome;
- }
- stock CriarConta(playerid, senhaz[])
- {
- query[0] = EOS;
- format(query, sizeof(query), "INSERT INTO usuarios(Nick, Senha) VALUES ('%s', '%s')", PlayerName(playerid), senhaz);
- mysql_query(Conexao, query, true);
- return 1;
- }
- stock SalvarConta(playerid)
- {
- format(query, sizeof(query), "SELECT * FROM usuarios WHERE Nick='%s'", PlayerName(playerid));
- mysql_query(Conexao,query,true);
- format(query, sizeof(query), "UPDATE usuarios SET Nick='%s', Admin='%d', Nivel='%d', Skin='%d' ,Dinheiro='%d', Matou='%d', Morreu='%d', PosX='%f', PosY='%f', PosZ='%f', PosA='%f',Interior='%d',IP='%s',Logou='%d',Email='%s' WHERE ID='%d'", PlayerName(playerid),Player[playerid][Admin] ,GetPlayerScore(playerid), GetPlayerSkin(playerid),GetPlayerMoney(playerid),Player[playerid][Matou],Player[playerid][Morreu],pPosX[playerid],pPosY[playerid],pPosZ[playerid],pPosA[playerid],pInterior[playerid],szString,Logou[playerid],zsl,Player[playerid][ID]);
- mysql_query(Conexao, query, false);
- GetPlayerIp(playerid, szString, MAX_PLAYER_NAME);
- pInterior[playerid] = GetPlayerInterior(playerid);
- return 1;
- }
- stock CarregarConta(playerid)
- {
- format(query, sizeof(query), "SELECT * FROM usuarios WHERE Nick='%s'", PlayerName(playerid));
- mysql_query(Conexao,query,true);
- cache_get_value_name_int(0, "ID", Player[playerid][ID]);
- cache_get_value_name_int(0, "Nivel", Player[playerid][Nivel]);
- cache_get_value_name_int(0, "Admin", Player[playerid][Admin]);
- cache_get_value_name_int(0, "Matou", Player[playerid][Matou]);
- cache_get_value_name_int(0, "Email", Player[playerid][Email]);
- cache_get_value_name_int(0, "Morreu", Player[playerid][Morreu]);
- cache_get_value_name_int(0, "Logou", Logou[playerid]);
- cache_get_value_name_int(0, "Dinheiro", Player[playerid][Dinheiro]);
- cache_get_value_name_int(0, "Interior", pInterior[playerid]);
- cache_get_value_name_float(0, "PosX", pPosX[playerid]);
- cache_get_value_name_float(0, "PosY", pPosY[playerid]);
- cache_get_value_name_float(0, "PosZ", pPosZ[playerid]);
- cache_get_value_name_float(0, "PosA", pPosA[playerid]);
- SetPlayerPos(playerid, pPosX[playerid], pPosY[playerid], pPosZ[playerid]);
- GetPlayerFacingAngle(playerid, pPosA[playerid]);
- GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
- if(PrimeiraVezOn[playerid] == 1)
- {
- if(Player[playerid][Skin] == 7) return SetPlayerSkin(playerid,7);
- if(Player[playerid][Skin] == 14) return SetPlayerSkin(playerid, 14);
- }else{
- if(PrimeiraVezOn[playerid] != 1) return cache_get_value_name_int(0, "Skin", Player[playerid][Skin]), SetPlayerSkin(playerid,Player[playerid][Skin]);
- }
- SpawnarInPos[playerid] = 0;
- SpawnPlayer(playerid);
- return 1;
- }
- stock Logandoo(playerid)
- {
- CarregarConta(playerid);
- SpawnPlayer(playerid);
- if(PrimeiraVezOn[playerid] != 1)
- {
- //Coloque aqui os sistemas de quando ele logar
- }
- else format(SS, sizeof(SS), "Bem Vindo na sua Primeira Vez no Servidor ! Você Começou com 5000 reias e Level 1"),
- SendClientMessage(playerid, -1, SS),
- PrimeiraVezOn[playerid] = 0;
- SendClientMessage(playerid, -1, "autenticado com sucesso.");
- return true;
- }
- stock Registrando(playerid)//Coloque aqui o sistema de primeira vez no server
- {
- new row;
- format(query, sizeof(query), "SELECT * FROM usuarios WHERE Nick='%s' LIMIT 1", PlayerName(playerid));
- mysql_query(Conexao, query, true);
- cache_get_row_count(row);
- cache_get_value_name_int(0, "Senha", Player[playerid][Senha]);
- if(row > 0)
- {
- format(SS, sizeof(SS), "{FFFFFF}Bem-vindo(a) ao {FF1E1E}NOME DO SERVER \n\nConta: %s\nStatus: {FF0000}registrada{FFFFFF} \n Insira sua senha abaixo para registrar-se", PlayerName(playerid));
- ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login", SS, "Logar", "Sair");
- }
- PrimeiraVezOn[playerid] = 1;
- return 1;
- }
- public SalvarInformacoes(playerid)
- {
- foreach(Player, i) SalvarConta(i);
- if(IsPlayerAdmin(playerid))
- {
- if(Player[playerid][Admin] == 5)
- return SendClientMessage(playerid, -1,"Salvando todas as contas online");
- }
- mysql_query(Conexao, query, true);
- return 1;
- }
- CMD:daradministrador(playerid, params[])
- {
- new levelAdmin;
- if(!IsPlayerAdmin(playerid))
- {
- if(Player[playerid][Admin] < 5) return SendClientMessage(playerid, -1,"Seu nível é insuficiente para setar como admin");
- }
- if(sscanf(params, "ui",id,levelAdmin)) return SendClientMessage(playerid,-1,"Use: /DarAdministrador [id] [level 1 - 5]");
- if(levelAdmin > 5 ||levelAdmin < 1) return SendClientMessage(playerid, -1,"Bote um nivel maior que 1 e menor que 5!");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Jogador(a) não está conectado!");
- Player[playerid][Admin] = levelAdmin;
- format(SS, sizeof(SS), "O administrador %s setou admin nivel %d ao jogador %s",PegarNome(playerid),levelAdmin,PegarNome(playerid));
- SendClientMessageToAll(0x4169E1,SS);
- return 1;
- }
- CMD:status(playerid, params[])
- {
- static DialogStatus[250];
- static String[550];
- format(String, sizeof(String),"{FFFFFF}Status De {1E90FF}%s\n\n",PegarNome(playerid));
- strcat(DialogStatus, String);
- format(String, sizeof(String),"{FFFFFF}Email: {1E90FF}%s\n", zsl);
- strcat(DialogStatus, String);
- format(String, sizeof(String),"{FFFFFF}Level: {1E90FF}%d\n", Player[playerid][Nivel]);
- strcat(DialogStatus, String);
- format(String, sizeof(String),"{FFFFFF}Skin: {1E90FF}%d\n", Player[playerid][Skin]);
- strcat(DialogStatus, String);
- format(String, sizeof(String),"{FFFFFF}Dinheiro: {1E90FF}%d\n", Player[playerid][Dinheiro]);
- strcat(DialogStatus, String);
- format(String, sizeof(String),"{FFFFFF}Matou: {1E90FF}%d\n", Player[playerid][Matou]);
- strcat(DialogStatus, String);
- format(String, sizeof(String),"{FFFFFF}Morreu: {1E90FF}%d\n",Player[playerid][Morreu]);
- strcat(DialogStatus, String);
- format(String, sizeof(String),"{FFFFFF}Você Já Logou {1E90FF}%d{FFFFFF} Vezes Neste Servidor",Logou[playerid]);
- strcat(DialogStatus, String);
- ShowPlayerDialog(playerid, 5732, DIALOG_STYLE_MSGBOX, "{00F6F6}Minhas Informações", DialogStatus, "Fechar", "");
- return true;
- }
- stock PegarNome(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- return name;
- }
- public KickP(playerid) return SetTimerEx("KickP2", 1, false, "i", playerid);
- public KickP2(playerid) return Kick(playerid);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement