[Ajuda] Erro simples que nгo consigo resolver !
#1

Bom galera, apуs meu tуpico anterior, decidi refazer meu sistema de registro, salvando todos os dados do player em um arquivo sу e salvando as ORGs tudo junto ...

Enfim, estб dando alguns erros nessa parte do Script:

PHP Code:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    new 
arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
    
GetPlayerName(playeridname32); //Para pegar o nome do playerid
    
format(arquivo40"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(playeridDIALOG_REGISTRODIALOG_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(playeridDIALOG_LOGARDIALOG_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(playeridDIALOG_LOGARDIALOG_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(playeridPlayer[playerid][Nick]);
                
SetPlayerSkin(playeridPlayer[playerid][Skin]);
                
SetPlayerScore(playeridPlayer[playerid][Nivel]);
                
GivePlayerMoney(playeridPlayer[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(playeridDIALOG_LOGARDIALOG_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;
        }

Os erros sгo os seguintes:

Code:
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(106) : error 049: invalid line continuation
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(108) : warning 217: loose indentation
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(127) : warning 217: loose indentation
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(138) : warning 217: loose indentation
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(140) : error 054: unmatched closing brace ("}")
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


2 Errors.
Linhas ( sempre a do meio )

PHP Code:
            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 
Erro na chave do meio.

PHP Code:
    }

Erro na ъltima Chave.

Desde jб agradeзo a todos !

Abraзo. ShadoW
Reply
#2

pawn Code:
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
Isso nгo й erro, й Warning quando aparece isso warning 217: loose indentation й que nгo estб organizado, й sу seguir бrvore.
Reply
#3

lose identation = Clique aqui
Reply
#4

Tente isto:

pawn Code:
// <?

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;
}
Reply
#5

Quote:
Originally Posted by [Full]Garfield[XDB]
View Post
Tente isto:

pawn Code:
// <?

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;
}
Negativo Garfield :/

Agora os erros sгo os seguintes ..

Code:
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(108) : error 049: invalid line continuation
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(110) : warning 217: loose indentation
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(129) : warning 217: loose indentation
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(140) : warning 209: function "OnDialogResponse" should return a value
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(141) : error 010: invalid function or declaration
Aqui o Code completo ...

http://pastebin.com/Kbd8DF6W

Aguardo respostas, e peзo desculpas pela minha demora a responder. Й que tive uns problemas pela manhг.

Abraзos.

ShadoW
Reply
#6

As linhas estгo mб indentadas.

Tente isso:

pawn Code:
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;
        }
}
Reply
#7

Quote:
Originally Posted by krayvhusfrom
View Post
As linhas estгo mб indentadas.

Tente isso:

pawn Code:
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;
        }
}
Perstistem:

Code:
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(106) : error 049: invalid line continuation
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(108) : warning 217: loose indentation
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(127) : warning 217: loose indentation
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(138) : warning 217: loose indentation
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(140) : error 054: unmatched closing brace ("}")
:/
Reply
#8

coloque isso na sessгo de Defines/Inlcuides

pawn Code:
#pragma tabsize 0
Reply
#9

Quote:
Originally Posted by MustangGT
View Post
coloque isso na sessгo de Defines/Inlcuides

pawn Code:
#pragma tabsize 0
Tirou os Warnings mas os erros persistem:

Code:
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(108) : error 049: invalid line continuation
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(142) : error 054: unmatched closing brace ("}")
Linhas:

PHP Code:
            
(10

PHP Code:

(142)

Obrigado, ++Rep

Aguardo respostas com a soluзгo do outro problema.

Abraзo. ShadoW
Reply
#10

Estб faltando um } no final do OnDialogResponse em baixo de return 1;
Reply
#11

Toma, havia } a menos no cуdigo:

pawn Code:
// 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;
}
Reply
#12

Quote:
Originally Posted by Murilo_sousa
View Post
Toma, havia } a menos no cуdigo:

pawn Code:
// 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;
}
Quote:
Originally Posted by Jonathan_Feitosa
View Post
Estб faltando um } no final do OnDialogResponse em baixo de return 1;
Muito obrigado Murilo e Jonathan !

++Rep pra vocкs.

Abraзo. ShadoW
Reply


Forum Jump:


Users browsing this thread: