Você está na página 1de 3

#include <DOF2>

#define varGet(%0) getproperty(0,%0)


#define varSet(%0,%1) setproperty(0, %0, %1)
#define new_strcmp(%0,%1) \
(varSet(%0, 1), varGet(%1) == varSet(%0, 0))

#define DIALOGSENHA 0
#define DIALOGREGISTRO 1

new String[128];

public OnPlayerRequestClass(playerid, classid)


{
format(String, sizeof(String), "Contas/%s.ini", PlayerName(playerid));
if(DOF2_FileExists(String))
{
format(String, sizeof(String), "\n{FFFFFF}Conta: %s\n\nStatus:
{00FF00}Registrado\n\n{FFFFFF}Digite sua senha para logar",
PlayerName(playerid));
ShowPlayerDialog(playerid, DIALOGSENHA, DIALOG_STYLE_PASSWORD, "Login",
String, "Login", "Cancelar");
}
else
{
format(String, sizeof(String), "\n{FFFFFF}Conta: %s\n\nStatus:
{FF0000}Não Registrado\n\n{FFFFFF}Digite uma senha para se registrar",
PlayerName(playerid));
ShowPlayerDialog(playerid, DIALOGREGISTRO, DIALOG_STYLE_PASSWORD,
"Registro", String, "Registro", "Cancelar");
}
LimparChat(playerid, 20);
SendClientMessage(playerid, -1, "| INFO | Bem vindo(a) ao servidor.");
SetSpawnInfo(playerid, -1, 217, 819.3722,-1341.9734,13.5236,359.1848, 0, 0,
0, 0, 0, 0 );
InterpolateCameraPos(playerid, 2233.7678, 2082.3232, 163.2898, 2215.3149,
2173.4766, 163.2898, 10000);
InterpolateCameraLookAt (playerid, 2253.3149, 2101.3767, 158.2740, 2241.5039,
2177.4595, 158.3741, 10000);
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])


{
if(dialogid == DIALOGREGISTRO)
{
if(response)
{
if(strlen(inputtext) >= 5 && strlen(inputtext) <= 20)
{
SendClientMessage(playerid, -1, "| INFO | Conta registrada com
sucesso! Faça o login para jogar!");
format(String, sizeof(String), "Contas/%s.ini",
PlayerName(playerid));
if(!DOF2_FileExists(String))
{
DOF2_CreateFile(String);
DOF2_SetString(String, "Nick", PlayerName(playerid));
DOF2_SetString(String, "Senha", inputtext);
DOF2_SaveFile();
}
format(String, sizeof(String), "\n{FFFFFF}Conta: %s\n\nStatus:
{00FF00}Registrado\n\n{FFFFFF}Digite sua senha para logar", PlayerName(playerid));
ShowPlayerDialog(playerid, DIALOGSENHA, DIALOG_STYLE_PASSWORD,
"Login", String, "Login", "Cancelar");
}
else
{
SendClientMessage(playerid, 0xDF3A01FF, "| ERRO | A senha que
você digitou tem que ter de 5 a 20 caracteres");
format(String, sizeof(String), "\n{FF0000}Senha muito pequena
ou muito grande\n\n{FFFFFF}Conta: %s\n\nStatus: {FF0000}Não
Registrado\n\n{FFFFFF}Digite uma senha para se registrar", PlayerName(playerid));
ShowPlayerDialog(playerid, DIALOGREGISTRO,
DIALOG_STYLE_PASSWORD, "Registro", String, "Registro", "Cancelar");
}
}
else
{
SendClientMessage(playerid, 0xDF3A01FF, "| ERRO | Você cancelou o
registro e foi kickado do servidor");
Kick(playerid);
}
}
else if(dialogid == DIALOGSENHA)
{
if(response)
{
if(strlen(inputtext) > 0)
{
format(String, sizeof(String), "Contas/%s.ini",
PlayerName(playerid));
if(new_strcmp(inputtext, DOF2_GetString(String, "Senha")))
{
LimparChat(playerid, 20);
SendClientMessage(playerid, -1, "| INFO | Senha correta!
Você foi spawnado com sucesso!");
SpawnPlayer(playerid);
SetPlayerInterior(playerid, 0);
}
else
{
SendClientMessage(playerid, 0xDF3A01FF, "| ERRO | Senha
Incorreta");
format(String, sizeof(String), "\n{FF0000}Senha
Incorreta\n\n{FFFFFF}Conta: %s\n\nStatus: {00FF00}Registrado\n\n{FFFFFF}Digite sua
senha para logar", PlayerName(playerid));
ShowPlayerDialog(playerid, DIALOGSENHA,
DIALOG_STYLE_PASSWORD, "Login", String, "Login", "Cancelar");
}
}
else
{
SendClientMessage(playerid, 0xDF3A01FF, "| ERRO | Senha
Incorreta");
format(String, sizeof(String), "\n{FF0000}Senha
Incorreta\n\n{FFFFFF}Conta: %s\n\nStatus: {00FF00}Registrado\n\n{FFFFFF}Digite sua
senha para logar", PlayerName(playerid));
ShowPlayerDialog(playerid, DIALOGSENHA, DIALOG_STYLE_PASSWORD,
"Login", String, "Login", "Cancelar");
}
}
else
{
SendClientMessage(playerid, 0xDF3A01FF, "| ERRO | Você cancelou o
login e foi kickado do servidor");
Kick(playerid);
}
}
return 1;
}

public OnGameModeExit()
{
DOF2_Exit();
return 1;
}

stock PlayerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
return name;
}
stock LimparChat(playerid, linhas)
{
for(new b = 0; b <= linhas; b++) SendClientMessage(playerid, -1, "");
}

Você também pode gostar