SA-MP Forums Archive
[Ajuda] Sistema de Profissгo em DOF2. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Sistema de Profissгo em DOF2. (/showthread.php?tid=648196)



Sistema de Profissгo em DOF2. - GuiKommander - 17.01.2018

Ainda nгo saquei como salvar a Variбvel Prof e a profissгo definida CAMINHONEIRO.. Como faz msm? '-'
PHP код:
#include <a_samp>
#include <DOF2>
#include <zcmd>
#include <sscanf2>
#define     GivePlayerCash(%0,%1) SetPVarInt(%0,"Money",GetPlayerCash(%0)+%1),GivePlayerMoney(%0,%1)
#define     ResetPlayerCash(%0) SetPVarInt(%0,"Money",0),ResetPlayerMoney(%0)
#define     GetPlayerCash(%0) GetPVarInt(%0,"Money")
#define PASTA_CONTAS                   "Contas/%s.ini"
#define DIALOG_LOGIN      638
#define DIALOG_REGISTRO   639
/* EMPREGOS */
#define DESEMPREGADO      500
#define CAMINHONEIRO      501 // 0% FEITO
/* CORES */
#define AZUL 0x0000FFFF
new MensagensServidor [][]=
{
    
"[!] Precisa de Ajuda? Digite: /AJUDA",
    
"Em Branco"
};
forward KickPlayer(playerid);
forward KickPlayerTwo(playerid);
enum PlayerInfo
{
    
Dinheiro,
    
Gerente,
    
Prof,
    
Score
}
new 
pInfo[MAX_PLAYERS][PlayerInfo];
new 
tentativas[MAX_PLAYERS];
main()
{
    print(
"\n----------------------------------");
    print(
"GameMode Por Guilherme henrique.");
    print(
"----------------------------------\n");
}
public 
OnPlayerSpawn(playerid)
{
    return 
1;
}
public 
OnGameModeInit()
{
    
SetGameModeText("Blank Script");
    
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    
SetTimer("SendMensagem", 120000, true); // 120000 = dois minutos em milйsimos.
    
return 1;
}
public 
OnGameModeExit()
{
    
DOF2_Exit();
    return 
1;
}
public 
OnPlayerRequestClass(playerid, classid)
{
    
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    new 
string[150];
    
tentativas[playerid] = 0;
    
CarregarConta(playerid);
    if(
DOF2_FileExists(ContaPlayer(playerid)))
    {
        
// DIALOG LOGIN
        
format(string, sizeof(string), "Olб, %s sua conta й {33FF00}Registrada\nInsira sua senha abaixo para se logar\nno servidor", PlayerName(playerid));
        
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logar no Servidor", string, "Logar","Sair");
    }
    else
    {
        
// DIALOG REGISTRO
        
format(string, sizeof(string), "Olб, %s sua conta й {FF0000}Nгo Registrada\nInsira sua senha abaixo para se registrar no servidor", PlayerName(playerid));
        
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Logar no Servidor", string, "Registrar","Sair");
    }
    return 
1;
}
public 
OnPlayerDisconnect(playerid, reason)
{
    
DOF2_SetInt(ContaPlayer(playerid), "Dinheiro", GetPlayerCash(playerid));
    
DOF2_SetInt(ContaPlayer(playerid), "Score", GetPlayerScore(playerid));
    
DOF2_SetInt(ContaPlayer(playerid), "Gerente", pInfo[playerid][Gerente]);
    
DOF2_SetInt(ContaPlayer(playerid), "Prof", pInfo[playerid][Prof]);
    
pInfo[ playerid ][ Prof ] = DESEMPREGADO;
    
DOF2_SaveFile();
    return 
1;
}
public 
OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new 
string[350];
    if(
dialogid == DIALOG_LOGIN)
    {
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        if(
strlen(inputtext) < 4 || strlen(inputtext) > 20)
        {
            
format(string, sizeof(string), "Olб, %s sua conta й {33FF00}Registrada\nInsira sua senha abaixo para se logar\nno servidor", PlayerName(playerid));
            
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logar no Servidor", string, "Logar","Sair");
            
SendClientMessage(playerid, -1, "Digite uma senha entre 4 a 20 caracteres.");
            return 
1;
        }
        if(
strcmp(inputtext, DOF2_GetString(ContaPlayer(playerid), "Senha"), true) == 0)
        {
            
CarregarConta(playerid);
            
SendClientMessage(playerid, -1, "[ SERVER ] Login efetuado com sucesso");
            return 
1;
        }
        else
        {
            if(
tentativas[playerid] == 3)
            {
                
format(string, sizeof(string), "[ SERVER ] %s foi kickado por errar 3 vezes a senha", PlayerName(playerid));
                
SendClientMessageToAll(-1, string);
                
KickPlayer(playerid);
                return 
1;
            }
            else
            {
                
tentativas[playerid]++;
                
format(string, sizeof(string), "ERROR: Senha digitada estб incorreta tentativas: (%d/3)", tentativas[playerid]);
                
SendClientMessage(playerid, -1, string);
                
format(string, sizeof(string), "Olб, %s sua conta й {33FF00}Registrada\nInsira sua senha abaixo para se logar\nno servidor", PlayerName(playerid));
                
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logar no Servidor", string, "Logar","Sair");
            }
        }
    }
    if(
dialogid == DIALOG_REGISTRO)
    {
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        if(
strlen(inputtext) < 4 || strlen(inputtext) > 20)
        {
            
format(string, sizeof(string), "Olб, %s sua conta й {FF0000}Nгo Registrada\nInsira sua senha abaixo para se registrar no servidor", PlayerName(playerid));
            
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registrar no Servidor", string, "Registrar","Sair");
            
SendClientMessage(playerid, -1, "Digite uma senha entre 4 a 20 caracteres.");
            return 
1;
        }
        else
        {
            if(!
DOF2_FileExists(ContaPlayer(playerid)))
            {
                
DOF2_CreateFile(ContaPlayer(playerid));
                
DOF2_SetString(ContaPlayer(playerid), "Senha", inputtext);
                
DOF2_SetInt(ContaPlayer(playerid), "Dinheiro", 7500);
                
DOF2_SetInt(ContaPlayer(playerid), "Prof", 0);
                
DOF2_SetInt(ContaPlayer(playerid), "Score", 1);
                
DOF2_SetInt(ContaPlayer(playerid), "Gerente", 0);
                
DOF2_SaveFile();
                
SendClientMessage(playerid, -1, "[ SERVER ] Registro efetuado com sucesso");
                return 
1;
            }
        }
    }
    return 
false;
}
stock PlayerName(playerid)
{
    new 
aname[24];
    
GetPlayerName(playerid, aname, 24);
    return 
aname;
}
stock ContaPlayer(playerid)
{
    new 
file[50];
    
format(file, sizeof(file), PASTA_CONTAS, PlayerName(playerid));
    return 
file;
}
stock CarregarConta(playerid)
{
    
pInfo[playerid][Dinheiro] = DOF2_GetInt(ContaPlayer(playerid),"Dinheiro");
    
pInfo[playerid][Prof] = DOF2_GetInt(ContaPlayer(playerid), "Prof");
    
pInfo[playerid][Score] = DOF2_GetInt(ContaPlayer(playerid), "Score");
    
pInfo[playerid][Gerente] = DOF2_GetInt(ContaPlayer(playerid), "Gerente");
    
GivePlayerMoney(playerid, pInfo[playerid][Dinheiro]);
    
SetPlayerScore(playerid, pInfo[playerid][Score]);
    
SendClientMessage(playerid, -1, "[ SERVER ] Suas informaзхes foram carregadas com sucesso");
    return 
1;
}
stock sGivePlayerCash( playerid, quantia )
{
    
GivePlayerCash( playerid, quantia );
    
DOF2_SetInt(ContaPlayer(playerid), "Dinheiro", GetPlayerCash(playerid));
}
forward SendMensagem(); // Mensagens Randфmicas
public SendMensagem ()
{
    new 
rand = random(sizeof(MensagensServidor));
    
SendClientMessageToAll(AZUL, MensagensServidor[rand]);
    return 
true;
}
public 
KickPlayer(playerid)
{
    
SetTimerEx("KickPlayerTwo", 1000, false, "i", playerid);
    return 
1;
}
public 
KickPlayerTwo(playerid)
{
    
Kick(playerid);
    return 
1;
}
stock Nick(playerid)
{
    new 
nome[MAX_PLAYER_NAME + 1];
    
GetPlayerName(playerid, nome, 44);
    return 
nome;
}
CMD:creditos(playerid)
{
    
SendClientMessage(playerid, -1, "Crйditos ao IlanZ pelo sistema de Registro/Login");
    
SendClientMessage(playerid, -1, "Crйditos a Guilherme pelo sistema de Profissхes");
    return 
1;
}
CMD:caminhoneiro(playerid, params[])
{
    new 
level;
    if(
GetPlayerScore(level > 0))
    {
    
DOF2_SetInt(ContaPlayer(playerid), "Prof", CAMINHONEIRO);
    
SendClientMessage(playerid, -1, "| INFO | Vocк virou caminhoneiro, Parabйns!");
    
pInfo[ playerid ][ Prof ] = CAMINHONEIRO;
    }
    else
    {
    
SendClientMessage(playerid, -1, "| ERRO | Vocк nгo tem Level Suficiente (0)!");
    return 
1;
    }
    return 
1;
} 



Re: Sistema de Profissгo em DOF2. - Don_Speed - 17.01.2018

https://sampforum.blast.hk/showthread.php?tid=503866
Se esta todas setadas em uma variavel numerica , aprincipio esta correto , vale a resalta que dei uma olhada super rapida .



Re: Sistema de Profissгo em DOF2. - GuiKommander - 17.01.2018

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
https://sampforum.blast.hk/showthread.php?tid=503866
Se esta todas setadas em uma variavel numerica , aprincipio esta correto , vale a resalta que dei uma olhada super rapida .
Mano, Mt bom seu tutorial, mais ve meu script e pega oque for de profissгo e salva pra mim e me da um exemplo, Pq aqui sem sucesso kkk. e inclusive vou usar seu tutorial pra montar minhas Profs.


Re: Sistema de Profissгo em DOF2. - AdrianoStk - 17.01.2018

Testa ai e ve se funciona, dei uma pequena corrigida!

PHP код:
#include <a_samp>
#include <DOF2>
#include <zcmd>
#include <sscanf2>
#define     GivePlayerCash(%0,%1) SetPVarInt(%0,"Money",GetPlayerCash(%0)+%1),GivePlayerMoney(%0,%1)
#define     ResetPlayerCash(%0) SetPVarInt(%0,"Money",0),ResetPlayerMoney(%0)
#define     GetPlayerCash(%0) GetPVarInt(%0,"Money")
#define PASTA_CONTAS                   "Contas/%s.ini"
#define DIALOG_LOGIN      638
#define DIALOG_REGISTRO   639
/* EMPREGOS */
#define DESEMPREGADO      500
#define CAMINHONEIRO      501 // 0% FEITO
/* CORES */
#define AZUL 0x0000FFFF
new MensagensServidor [][]=
{
    
"[!] Precisa de Ajuda? Digite: /AJUDA",
    
"Em Branco"
};
forward KickPlayer(playerid);
forward KickPlayerTwo(playerid);
enum PlayerInfo
{
    
Dinheiro,
    
Gerente,
    
Prof,
    
Score
}
new 
pInfo[MAX_PLAYERS][PlayerInfo];
new 
tentativas[MAX_PLAYERS];
main()
{
    print(
"\n----------------------------------");
    print(
"GameMode Por Guilherme henrique.");
    print(
"----------------------------------\n");
}
public 
OnPlayerSpawn(playerid)
{
    return 
1;
}
public 
OnGameModeInit()
{
    
SetGameModeText("Blank Script");
    
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    
SetTimer("SendMensagem", 120000, true); // 120000 = dois minutos em milйsimos.
    
return 1;
}
public 
OnGameModeExit()
{
    
DOF2_Exit();
    return 
1;
}
public 
OnPlayerRequestClass(playerid, classid)
{
    
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    new 
string[150];
    
tentativas[playerid] = 0;
    
CarregarConta(playerid);
    if(
DOF2_FileExists(ContaPlayer(playerid)))
    {
        
// DIALOG LOGIN
        
format(string, sizeof(string), "Olб, %s sua conta й {33FF00}Registrada\nInsira sua senha abaixo para se logar\nno servidor", PlayerName(playerid));
        
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logar no Servidor", string, "Logar","Sair");
    }
    else
    {
        
// DIALOG REGISTRO
        
format(string, sizeof(string), "Olб, %s sua conta й {FF0000}Nгo Registrada\nInsira sua senha abaixo para se registrar no servidor", PlayerName(playerid));
        
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Logar no Servidor", string, "Registrar","Sair");
    }
    return 
1;
}
public 
OnPlayerDisconnect(playerid, reason)
{
    
DOF2_SetInt(ContaPlayer(playerid), "Dinheiro", GetPlayerCash(playerid));
    
DOF2_SetInt(ContaPlayer(playerid), "Score", GetPlayerScore(playerid));
    
DOF2_SetInt(ContaPlayer(playerid), "Gerente", pInfo[playerid][Gerente]);
    
DOF2_SetInt(ContaPlayer(playerid), "Prof", pInfo[playerid][Prof]);
    
//pInfo[ playerid ][ Prof ] = DESEMPREGADO; //Desnecessбrio, assim que o outro player logar, ele recebera a profissгo salva kkk
    
DOF2_SaveFile();
    return 
1;
}
public 
OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new 
string[350];
    if(
dialogid == DIALOG_LOGIN)
    {
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        if(
strlen(inputtext) < 4 || strlen(inputtext) > 20)
        {
            
format(string, sizeof(string), "Olб, %s sua conta й {33FF00}Registrada\nInsira sua senha abaixo para se logar\nno servidor", PlayerName(playerid));
            
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logar no Servidor", string, "Logar","Sair");
            
SendClientMessage(playerid, -1, "Digite uma senha entre 4 a 20 caracteres.");
            return 
1;
        }
        if(
strcmp(inputtext, DOF2_GetString(ContaPlayer(playerid), "Senha"), true) == 0)
        {
            
CarregarConta(playerid);
            
SendClientMessage(playerid, -1, "[ SERVER ] Login efetuado com sucesso");
            return 
1;
        }
        else
        {
            if(
tentativas[playerid] == 3)
            {
                
format(string, sizeof(string), "[ SERVER ] %s foi kickado por errar 3 vezes a senha", PlayerName(playerid));
                
SendClientMessageToAll(-1, string);
                
KickPlayer(playerid);
                return 
1;
            }
            else
            {
                
tentativas[playerid]++;
                
format(string, sizeof(string), "ERROR: Senha digitada estб incorreta tentativas: (%d/3)", tentativas[playerid]);
                
SendClientMessage(playerid, -1, string);
                
format(string, sizeof(string), "Olб, %s sua conta й {33FF00}Registrada\nInsira sua senha abaixo para se logar\nno servidor", PlayerName(playerid));
                
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logar no Servidor", string, "Logar","Sair");
            }
        }
    }
    if(
dialogid == DIALOG_REGISTRO)
    {
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        if(
strlen(inputtext) < 4 || strlen(inputtext) > 20)
        {
            
format(string, sizeof(string), "Olб, %s sua conta й {FF0000}Nгo Registrada\nInsira sua senha abaixo para se registrar no servidor", PlayerName(playerid));
            
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registrar no Servidor", string, "Registrar","Sair");
            
SendClientMessage(playerid, -1, "Digite uma senha entre 4 a 20 caracteres.");
            return 
1;
        }
        else
        {
            if(!
DOF2_FileExists(ContaPlayer(playerid)))
            {
                
DOF2_CreateFile(ContaPlayer(playerid));
                
DOF2_SetString(ContaPlayer(playerid), "Senha", inputtext);
                
DOF2_SetInt(ContaPlayer(playerid), "Dinheiro", 7500);
                
DOF2_SetInt(ContaPlayer(playerid), "Prof", DESEMPREGADO);
                
DOF2_SetInt(ContaPlayer(playerid), "Score", 1);
                
DOF2_SetInt(ContaPlayer(playerid), "Gerente", 0);
                
DOF2_SaveFile();
                
SendClientMessage(playerid, -1, "[ SERVER ] Registro efetuado com sucesso");
                return 
1;
            }
        }
    }
    return 
false;
}
stock PlayerName(playerid)
{
    new 
aname[24];
    
GetPlayerName(playerid, aname, 24);
    return 
aname;
}
stock ContaPlayer(playerid)
{
    new 
file[50];
    
format(file, sizeof(file), PASTA_CONTAS, PlayerName(playerid));
    return 
file;
}
stock CarregarConta(playerid)
{
    
pInfo[playerid][Dinheiro] = DOF2_GetInt(ContaPlayer(playerid),"Dinheiro");
    
pInfo[playerid][Prof] = DOF2_GetInt(ContaPlayer(playerid), "Prof");
    
pInfo[playerid][Score] = DOF2_GetInt(ContaPlayer(playerid), "Score");
    
pInfo[playerid][Gerente] = DOF2_GetInt(ContaPlayer(playerid), "Gerente");
    
GivePlayerMoney(playerid, pInfo[playerid][Dinheiro]);
    
SetPlayerScore(playerid, pInfo[playerid][Score]);
    
SendClientMessage(playerid, -1, "[ SERVER ] Suas informaзхes foram carregadas com sucesso");
    return 
1;
}
stock sGivePlayerCash( playerid, quantia )
{
    
GivePlayerCash( playerid, quantia );
    
DOF2_SetInt(ContaPlayer(playerid), "Dinheiro", GetPlayerCash(playerid));
}
forward SendMensagem(); // Mensagens Randфmicas
public SendMensagem ()
{
    new 
rand = random(sizeof(MensagensServidor));
    
SendClientMessageToAll(AZUL, MensagensServidor[rand]);
    return 
true;
}
public 
KickPlayer(playerid)
{
    
SetTimerEx("KickPlayerTwo", 1000, false, "i", playerid);
    return 
1;
}
public 
KickPlayerTwo(playerid)
{
    
Kick(playerid);
    return 
1;
}
CMD:creditos(playerid)
{
    
SendClientMessage(playerid, -1, "Crйditos ao IlanZ pelo sistema de Registro/Login");
    
SendClientMessage(playerid, -1, "Crйditos a Guilherme pelo sistema de Profissхes");
    return 
1;
}
CMD:caminhoneiro(playerid, params[])
{
    new 
level;
    if(
GetPlayerScore(level > 0))
    {
         
DOF2_SetInt(ContaPlayer(playerid), "Prof", CAMINHONEIRO);
         
DOF2_SaveFile();//Falta isso? Embora nгo acho nescessario salvar no meio do jogo, pois salva na hora que ele desconecta tambem!
        
SendClientMessage(playerid, -1, "| INFO | Vocк virou caminhoneiro, Parabйns!");
        
pInfo[ playerid ][ Prof ] = CAMINHONEIRO;
    }
    else
    {
        
SendClientMessage(playerid, -1, "| ERRO | Vocк nгo tem Level Suficiente (0)!");
    }
    return 
1;
}
stock Nick(playerid)
{
    new 
nome[MAX_PLAYER_NAME + 1];
    
GetPlayerName(playerid, nome, sizeof(nome));//kkkkk 44??
    
return nome;
} 



Re: Sistema de Profissгo em DOF2. - GuiKommander - 17.01.2018

Quote:
Originally Posted by AdrianoStk
Посмотреть сообщение
Testa ai e ve se funciona, dei uma pequena corrigida!

PHP код:
#include <a_samp>
#include <DOF2>
#include <zcmd>
#include <sscanf2>
#define     GivePlayerCash(%0,%1) SetPVarInt(%0,"Money",GetPlayerCash(%0)+%1),GivePlayerMoney(%0,%1)
#define     ResetPlayerCash(%0) SetPVarInt(%0,"Money",0),ResetPlayerMoney(%0)
#define     GetPlayerCash(%0) GetPVarInt(%0,"Money")
#define PASTA_CONTAS                   "Contas/%s.ini"
#define DIALOG_LOGIN      638
#define DIALOG_REGISTRO   639
/* EMPREGOS */
#define DESEMPREGADO      500
#define CAMINHONEIRO      501 // 0% FEITO
/* CORES */
#define AZUL 0x0000FFFF
new MensagensServidor [][]=
{
    
"[!] Precisa de Ajuda? Digite: /AJUDA",
    
"Em Branco"
};
forward KickPlayer(playerid);
forward KickPlayerTwo(playerid);
enum PlayerInfo
{
    
Dinheiro,
    
Gerente,
    
Prof,
    
Score
}
new 
pInfo[MAX_PLAYERS][PlayerInfo];
new 
tentativas[MAX_PLAYERS];
main()
{
    print(
"\n----------------------------------");
    print(
"GameMode Por Guilherme henrique.");
    print(
"----------------------------------\n");
}
public 
OnPlayerSpawn(playerid)
{
    return 
1;
}
public 
OnGameModeInit()
{
    
SetGameModeText("Blank Script");
    
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    
SetTimer("SendMensagem", 120000, true); // 120000 = dois minutos em milйsimos.
    
return 1;
}
public 
OnGameModeExit()
{
    
DOF2_Exit();
    return 
1;
}
public 
OnPlayerRequestClass(playerid, classid)
{
    
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    new 
string[150];
    
tentativas[playerid] = 0;
    
CarregarConta(playerid);
    if(
DOF2_FileExists(ContaPlayer(playerid)))
    {
        
// DIALOG LOGIN
        
format(string, sizeof(string), "Olб, %s sua conta й {33FF00}Registrada\nInsira sua senha abaixo para se logar\nno servidor", PlayerName(playerid));
        
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logar no Servidor", string, "Logar","Sair");
    }
    else
    {
        
// DIALOG REGISTRO
        
format(string, sizeof(string), "Olб, %s sua conta й {FF0000}Nгo Registrada\nInsira sua senha abaixo para se registrar no servidor", PlayerName(playerid));
        
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Logar no Servidor", string, "Registrar","Sair");
    }
    return 
1;
}
public 
OnPlayerDisconnect(playerid, reason)
{
    
DOF2_SetInt(ContaPlayer(playerid), "Dinheiro", GetPlayerCash(playerid));
    
DOF2_SetInt(ContaPlayer(playerid), "Score", GetPlayerScore(playerid));
    
DOF2_SetInt(ContaPlayer(playerid), "Gerente", pInfo[playerid][Gerente]);
    
DOF2_SetInt(ContaPlayer(playerid), "Prof", pInfo[playerid][Prof]);
    
//pInfo[ playerid ][ Prof ] = DESEMPREGADO; //Desnecessбrio, assim que o outro player logar, ele recebera a profissгo salva kkk
    
DOF2_SaveFile();
    return 
1;
}
public 
OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new 
string[350];
    if(
dialogid == DIALOG_LOGIN)
    {
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        if(
strlen(inputtext) < 4 || strlen(inputtext) > 20)
        {
            
format(string, sizeof(string), "Olб, %s sua conta й {33FF00}Registrada\nInsira sua senha abaixo para se logar\nno servidor", PlayerName(playerid));
            
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logar no Servidor", string, "Logar","Sair");
            
SendClientMessage(playerid, -1, "Digite uma senha entre 4 a 20 caracteres.");
            return 
1;
        }
        if(
strcmp(inputtext, DOF2_GetString(ContaPlayer(playerid), "Senha"), true) == 0)
        {
            
CarregarConta(playerid);
            
SendClientMessage(playerid, -1, "[ SERVER ] Login efetuado com sucesso");
            return 
1;
        }
        else
        {
            if(
tentativas[playerid] == 3)
            {
                
format(string, sizeof(string), "[ SERVER ] %s foi kickado por errar 3 vezes a senha", PlayerName(playerid));
                
SendClientMessageToAll(-1, string);
                
KickPlayer(playerid);
                return 
1;
            }
            else
            {
                
tentativas[playerid]++;
                
format(string, sizeof(string), "ERROR: Senha digitada estб incorreta tentativas: (%d/3)", tentativas[playerid]);
                
SendClientMessage(playerid, -1, string);
                
format(string, sizeof(string), "Olб, %s sua conta й {33FF00}Registrada\nInsira sua senha abaixo para se logar\nno servidor", PlayerName(playerid));
                
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logar no Servidor", string, "Logar","Sair");
            }
        }
    }
    if(
dialogid == DIALOG_REGISTRO)
    {
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        if(
strlen(inputtext) < 4 || strlen(inputtext) > 20)
        {
            
format(string, sizeof(string), "Olб, %s sua conta й {FF0000}Nгo Registrada\nInsira sua senha abaixo para se registrar no servidor", PlayerName(playerid));
            
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registrar no Servidor", string, "Registrar","Sair");
            
SendClientMessage(playerid, -1, "Digite uma senha entre 4 a 20 caracteres.");
            return 
1;
        }
        else
        {
            if(!
DOF2_FileExists(ContaPlayer(playerid)))
            {
                
DOF2_CreateFile(ContaPlayer(playerid));
                
DOF2_SetString(ContaPlayer(playerid), "Senha", inputtext);
                
DOF2_SetInt(ContaPlayer(playerid), "Dinheiro", 7500);
                
DOF2_SetInt(ContaPlayer(playerid), "Prof", DESEMPREGADO);
                
DOF2_SetInt(ContaPlayer(playerid), "Score", 1);
                
DOF2_SetInt(ContaPlayer(playerid), "Gerente", 0);
                
DOF2_SaveFile();
                
SendClientMessage(playerid, -1, "[ SERVER ] Registro efetuado com sucesso");
                return 
1;
            }
        }
    }
    return 
false;
}
stock PlayerName(playerid)
{
    new 
aname[24];
    
GetPlayerName(playerid, aname, 24);
    return 
aname;
}
stock ContaPlayer(playerid)
{
    new 
file[50];
    
format(file, sizeof(file), PASTA_CONTAS, PlayerName(playerid));
    return 
file;
}
stock CarregarConta(playerid)
{
    
pInfo[playerid][Dinheiro] = DOF2_GetInt(ContaPlayer(playerid),"Dinheiro");
    
pInfo[playerid][Prof] = DOF2_GetInt(ContaPlayer(playerid), "Prof");
    
pInfo[playerid][Score] = DOF2_GetInt(ContaPlayer(playerid), "Score");
    
pInfo[playerid][Gerente] = DOF2_GetInt(ContaPlayer(playerid), "Gerente");
    
GivePlayerMoney(playerid, pInfo[playerid][Dinheiro]);
    
SetPlayerScore(playerid, pInfo[playerid][Score]);
    
SendClientMessage(playerid, -1, "[ SERVER ] Suas informaзхes foram carregadas com sucesso");
    return 
1;
}
stock sGivePlayerCash( playerid, quantia )
{
    
GivePlayerCash( playerid, quantia );
    
DOF2_SetInt(ContaPlayer(playerid), "Dinheiro", GetPlayerCash(playerid));
}
forward SendMensagem(); // Mensagens Randфmicas
public SendMensagem ()
{
    new 
rand = random(sizeof(MensagensServidor));
    
SendClientMessageToAll(AZUL, MensagensServidor[rand]);
    return 
true;
}
public 
KickPlayer(playerid)
{
    
SetTimerEx("KickPlayerTwo", 1000, false, "i", playerid);
    return 
1;
}
public 
KickPlayerTwo(playerid)
{
    
Kick(playerid);
    return 
1;
}
CMD:creditos(playerid)
{
    
SendClientMessage(playerid, -1, "Crйditos ao IlanZ pelo sistema de Registro/Login");
    
SendClientMessage(playerid, -1, "Crйditos a Guilherme pelo sistema de Profissхes");
    return 
1;
}
CMD:caminhoneiro(playerid, params[])
{
    new 
level;
    if(
GetPlayerScore(level > 0))
    {
         
DOF2_SetInt(ContaPlayer(playerid), "Prof", CAMINHONEIRO);
         
DOF2_SaveFile();//Falta isso? Embora nгo acho nescessario salvar no meio do jogo, pois salva na hora que ele desconecta tambem!
        
SendClientMessage(playerid, -1, "| INFO | Vocк virou caminhoneiro, Parabйns!");
        
pInfo[ playerid ][ Prof ] = CAMINHONEIRO;
    }
    else
    {
        
SendClientMessage(playerid, -1, "| ERRO | Vocк nгo tem Level Suficiente (0)!");
    }
    return 
1;
}
stock Nick(playerid)
{
    new 
nome[MAX_PLAYER_NAME + 1];
    
GetPlayerName(playerid, nome, sizeof(nome));//kkkkk 44??
    
return nome;
} 
Vlw mano!!!!!!!!! Deu certin, Essa gm no final vai ficar ZIKAA