[FilterScript] [Ultimate] Registro/Login - Box/Dialog
#1

------------------------------------------------------------------------------------------------------------------
FilterScript - Ultimate Login/Registro em Dialog/Box!
------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------
Introduзгo
------------------------------------------------------------------------------------------------------------------
Boa Noite Pessoal, venho aqui disponibilizar o FilterScript de Login/Registro em Box/Dialog da Equipe/Familia Ultimate, vou citar suas funзхes abaixo.

------------------------------------------------------------------------------------------------------------------
Funзхes
------------------------------------------------------------------------------------------------------------------
-Registro/Login em Dialog Box
-Comando /creditos com os crйditos do filterscript
-Ao clicar em um player no TAB aparecem suas informaзхes
-Quando um player sair, aparecesse se foi, kickado/banido, crash/perda de conexгo, ou /q.
-Quando um player logar, aparece [Quantidade de players ON/50]. Nota: Modifique o 50 para o valor mбximo de players do seu servidor.
-Salva e Carrega: Dinheiro,Skin,Score.
-Possibilidade de mudar o local do arquivo dos jogadores(#define LOCAL_JOGADORES "Players/%s.ini")
-Ao realizar o registro aparecesse para o jogador, seu nick registrado e sua senha registrada.
------------------------------------------------------------------------------------------------------------------
Screenshots
------------------------------------------------------------------------------------------------------------------

Informaзхes sobre o player(Clicar nele no TAB):


Sistema de Registro:


Sistema de Login:


Comando /creditos:


------------------------------------------------------------------------------------------------------------------
Cуdigo
------------------------------------------------------------------------------------------------------------------

Код:
#include <a_samp>
#include <dini>
#include <dudb>

#pragma tabsize 0
#pragma unused ret_memcpy

#define LOCAL_JOGADORES "Players/%s.ini"
#define GOLD_COLOR 0xEEC900AA
#define ERRO_COLOR 0xFF0000AA
#define AVISO_COLOR 0xFF8C00AA

enum pInfo
{
pSenha,
pScore,
pSkin,
pNome,
pDinheiro
};

new Jogador[MAX_PLAYERS][pInfo];
new logado[MAX_PLAYERS];
new players;

public OnFilterScriptInit()
{
	print("\n--------------------------------------");
	print("    FilterScript - Login/Registro Dialog");
    print("    Por: Giovanni_Ultimate");
	print("--------------------------------------\n");
	return 1;
}

public OnPlayerConnect(playerid)
{
SendClientMessageToAll(GOLD_COLOR, "Esse GameMode usa o Login/Registro feito por Giovanni_Ultimate!");
SendClientMessageToAll(GOLD_COLOR, "Vocк pode retirar essas mensagens se desejar!");
SendClientMessageToAll(GOLD_COLOR, "Cheque o comando /creditos no filterscript!");
SendClientMessageToAll(GOLD_COLOR, "Se quiser usa-lo. Edite-o a seu gosto!");
new nome[MAX_PLAYER_NAME], arquivo[256], string[56];
players += 1;
GetPlayerName(playerid,nome, sizeof(nome));
format(arquivo, sizeof(arquivo), LOCAL_JOGADORES, nome);
format(string, sizeof(string), "%s connectou-se no servidor. [%d/50]", nome, players, MAX_PLAYERS);
SendClientMessageToAll(AVISO_COLOR, string);
if(dini_Exists(arquivo))
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Logue-se!", "Bem-Vindo ao Filterscript \n Login/Register Dialog \n De Giovanni_Ultimate! \n Logue na sua conta colocando sua senha abaixo:","Logar", "Sair");
}
else
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registre-se", "Bem-Vindo ao Filterscript \n Login/Register Dialog \n De Giovanni_Ultimate! \n Registre sua conta colocando a senha abaixo:", "Registrar", "Sair");
}
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
new nome[MAX_PLAYER_NAME], arquivo[256], string[64];
players -= 1;
GetPlayerName(playerid, nome, sizeof(nome));
switch(reason)
{
case 0: format(string, sizeof(string), "%s saiu do servidor(Crash/Conexгo) [%d/50]", nome, players, MAX_PLAYERS);
case 1: format(string, sizeof(string), "%s saiu do servidor(/q) [%d/50]", nome, players, MAX_PLAYERS);
case 2: format(string, sizeof(string), "%s saiu do servidor(Kickado/Banido) [%d/50]", nome, players, MAX_PLAYERS);
}
SendClientMessageToAll(AVISO_COLOR, string);
format(arquivo, sizeof(arquivo), LOCAL_JOGADORES, nome);
dini_IntSet(arquivo, "Score", Jogador[playerid][pScore]);
dini_IntSet(arquivo, "Dinheiro", Jogador[playerid][pDinheiro]);
dini_IntSet(arquivo, "Skin", Jogador[playerid][pSkin]);
dini_IntSet(arquivo, "Senha", Jogador[playerid][pSenha]);
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp("/creditos", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid, GOLD_COLOR, "Creditos - Sistema: Giovanni_Ultimate");
SendClientMessage(playerid, GOLD_COLOR, "Creditos - Includes: Dini, Dudb");
SendClientMessage(playerid, GOLD_COLOR, "Creditos - Familia e Apoio: Ultimate");
return 1;
}
	return 0;
}

public OnPlayerRequestSpawn(playerid)
{
if(logado[playerid] == 0)
{
SendClientMessage(playerid, ERRO_COLOR, "Vocк foi kickado por clicar em spawn antes de logar!");
Kick(playerid);
}
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
new nome[MAX_PLAYER_NAME], arquivo[256], string[128];
GetPlayerName(playerid, nome, sizeof(nome));
format(arquivo, sizeof(arquivo), LOCAL_JOGADORES, nome);
if(!response) Kick(playerid);
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registre-se", "Bem-Vindo ao Filterscript \n Login/Register Dialog \n De Giovanni_Ultimate! \n Registre sua conta colocando a senha abaixo:", "Registrar", "Sair");
dini_Create(arquivo);
dini_IntSet(arquivo, "Senha", udb_hash(inputtext));
dini_IntSet(arquivo, "Dinheiro", Jogador[playerid][pDinheiro] = 100);
dini_IntSet(arquivo, "Skin", Jogador[playerid][pSkin] = 0);
dini_IntSet(arquivo, "Score", Jogador[playerid][pScore] = 0);
format(string, sizeof(string), "Vocк foi logado automaticamente. Nick: %s. Senha: %s", nome, inputtext);
Jogador[playerid][pSenha] = dini_Int(arquivo, "Senha");
SendClientMessage(playerid, AVISO_COLOR, string);
logado[playerid] = 1;
}
if(dialogid == 2)
{
new nome[MAX_PLAYER_NAME], arquivo[256];
GetPlayerName(playerid, nome, sizeof(nome));
format(arquivo, sizeof(arquivo), LOCAL_JOGADORES, nome);
if(!response) return Kick(playerid);
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Logue-se!", "Bem-Vindo ao Filterscript \n Login/Register Dialog \n De Giovanni_Ultimate! \n Logue na sua conta colocando sua senha abaixo:","Logar", "Sair");
new senha;
senha = dini_Int(arquivo, "Senha")
if(udb_hash(inputtext) != senha)
{
SendClientMessage(playerid, ERRO_COLOR, "[Erro] Vocк errou a senha. Tente novamente!");
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Logue-se!", "Bem-Vindo ao Filterscript \n Login/Register Dialog \n De Giovanni_Ultimate! \n Logue na sua conta colocando sua senha abaixo:","Logar", "Sair");
}
if(udb_hash(inputtext) == senha)
{
logado[playerid] = 1;
printf("%s logou no server.", nome);
Jogador[playerid][pDinheiro] = dini_Int(arquivo, "Dinheiro");
GivePlayerMoney(playerid, Jogador[playerid][pDinheiro]);
Jogador[playerid][pScore] = dini_Int(arquivo, "Score");
Jogador[playerid][pSkin] = dini_Int(arquivo, "Skin");
SetPlayerSkin(playerid, Jogador[playerid][pSkin]);
Jogador[playerid][pSenha] = dini_Int(arquivo, "Senha");
SendClientMessage(playerid, AVISO_COLOR, "[Aviso] Logado com sucesso!");
}
}
	return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
new info[512],info0[70],info1[600],info2[70],info3[70],info4[512], nome[MAX_PLAYER_NAME];
GetPlayerName(clickedplayerid, nome, sizeof(nome));
Jogador[clickedplayerid][pSkin] = GetPlayerSkin(clickedplayerid);
Jogador[clickedplayerid][pScore] = GetPlayerScore(clickedplayerid);
Jogador[clickedplayerid][pDinheiro] = GetPlayerMoney(clickedplayerid);
format(info0, 70, "Nome: %s", nome);
format(info1, 70, "Dinheiro: %d", Jogador[clickedplayerid][pDinheiro]);
format(info2, 70, "Skin: %d", Jogador[clickedplayerid][pSkin]);
format(info3, 70, "Score: %d", Jogador[clickedplayerid][pScore]);
format(info4, 70, "%s", nome);
format(info,  70, "%s\n%s\n%s\n%s",info0,info1,info2,info3);
ShowPlayerDialog(playerid, 13444, DIALOG_STYLE_MSGBOX, info4, info, "Ok","Sair");
return 1;
}
------------------------------------------------------------------------------------------------------------------
Requerimentos
------------------------------------------------------------------------------------------------------------------
-Include dini
-Include dudb

------------------------------------------------------------------------------------------------------------------
Crйditos
------------------------------------------------------------------------------------------------------------------
Sistema: Giovanni_Ultimate
Includes: dini e dudb
Apoio: Famнlia/Equipe Ultimate.

Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)