[Ajuda] Me ajudem a arrumar?
#1

Estou com dificuldade em um sistema aqui.

Podem me ajudar?

Ele nгo quer pular a linha, na hora do registro : olha o print

ele fica %s/n o /n й pra pular linha entгo ficaria o dos da /n й pra outra linha.... e tambкm o registro sу aceita numeros, eu queria numeros e letras... e tambem o registro nгo tб salvando as contas. como resolve isso?


Prints
http://i.imgur.com/5lhSd.png

http://i.imgur.com/Z1tAw.png





Cуdigo :

pawn Код:
//----------------------------------------------------------------------------//
#include < a_samp >
#include < DOF2 >

//----------------------------------------------------------------------------//
#define     DIALOG_REGISTRO         1
#define     DIALOG_LOGAR            2
#define     UsuariosSalvos "/Usuarios/%s.ini"

//----------------------------------------------------------------------------//
enum Informacoes
{
    Senha,
    Matou,
    Morreu,
    Dinheiro,
    Vida,
    PlayerAdmin
}

//----------------------------------------------------------------------------//
new Player[MAX_PLAYERS][Informacoes];
new name[MAX_PLAYER_NAME];

//----------------------------------------------------------------------------//

public OnGameModeInit()
{
    SetGameModeText("Versгo 1.0.1");
    AddPlayerClass(0, 1642.1667, -2335.4941, 13.5469, 7.6790, 0, 0, 0, 0, 0, 0);
    return 1;
}

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

public OnPlayerConnect(playerid)
{
    new arquivo[40];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(arquivo, 40, "Usuarios/%s.ini", name);
    if(DOF2_FileExists(arquivo))
    {
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Bem vindo novamente %s/n Coloque sua senha para logar.", "Entrar", "Sair");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "Registro", "Vocк ainda nгo estб cadastrado %s/nColoque sua senha para se registrar", "Confirmar", "Cancelar");
    }

    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    new arquivo[40];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME );
    format(arquivo, 40, "Usuarios/%s.ini", name);
    if(DOF2_FileExists(arquivo))
    {
        Player[playerid][Dinheiro] = GetPlayerMoney(playerid);
        DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
        DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
        DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
        DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
        DOF2_SetInt(arquivo, "Vida", Player[playerid][Vida]);
        DOF2_SaveFile();
    }
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new arquivo[40];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(arquivo, 40, "Usuarios/%s.ini", name);
    if(dialogid == DIALOG_REGISTRO)
    {
        if(!strval(inputtext))
        {
            ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Por favor, digite apenas nъmeros em sua senha!\nPor favor, digite sua senha novamente para concluir seu registro!", "Confirma", "Cancelar");
            return 1;
        }
        if(!response)
        {
            Kick(playerid);
            return 1;
        }
        else
        {
            Player[playerid][Dinheiro] = GivePlayerMoney(playerid, 5000);
            Player[playerid][Vida] = SetPlayerHealth(playerid, 50);
            DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
            DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
            DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
            DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
            DOF2_SetInt(arquivo, "Vida", Player[playerid][Vida]);
            DOF2_SaveFile();

        }
    }
    if(dialogid == DIALOG_LOGAR)
    {
        if(!response)
        {
            SendClientMessage(playerid, -1, "Vocк nгo quis logar, entгo foi kickado automaticamente");
            Kick(playerid);
        }
        if(response)
        {
            new file[32];
            GetPlayerName(playerid, name, MAX_PLAYER_NAME);
            format(file,sizeof(file),"Usuarios/%s.ini", name);
            if(DOF2_FileExists(file))
            {
               if( DOF2_CheckLogin ( file , inputtext ) )
                {
                    SendClientMessage( playerid , -1 , "Logado com sucesso" );
                    return 1;
                }
                else
                {

                }
            }
        }
    }
    return 1;
}


public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}
Reply
#2

pawn Код:
\n
____
Reply
#3

Quote:
Originally Posted by Ouro
Посмотреть сообщение
pawn Код:
\n
____
E os outros problemas?
Reply
#4

Olб leigorm,

troque: if(!strval(inputtext)) para if(!strlen(inputtext)) no dialog de registro.

nгo me lembro bem como funciona dof2, mas acho que vocк teria que criar o arquivo primeiro antes de salvar os dados nele.

se ainda assim nгo der certo, dк uma olhada nisto que pode lhe ser ъtil.
http://pastebin.com/MjWniVVm


Atenciosamente,
Falcon.
Reply
#5

Use
Код:
\n
Sobre aceitar nъmeros e letras, retire o

pawn Код:
if(!strval(inputtext))
        {
            ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Por favor, digite apenas nъmeros em sua senha!\nPor favor, digite sua senha novamente para concluir seu registro!", "Confirma", "Cancelar");
            return 1;
        }
do dialog do registro.

Agora sobre nao salvar as contas

use:

pawn Код:
Player[playerid][Senha] = inputtext;
DOF2_CreateFile(arquivo)
Player[playerid][Dinheiro] = GivePlayerMoney(playerid, 5000);
Player[playerid][Vida] = SetPlayerHealth(playerid, 50);
DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
DOF2_SetInt(arquivo, "Vida", Player[playerid][Vida]);
DOF2_SaveFile();
Se der algum problema de fale
Reply
#6

Quote:
Originally Posted by HardWar
Посмотреть сообщение
Use
Код:
\n
Sobre aceitar nъmeros e letras, retire o

pawn Код:
if(!strval(inputtext))
        {
            ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Por favor, digite apenas nъmeros em sua senha!\nPor favor, digite sua senha novamente para concluir seu registro!", "Confirma", "Cancelar");
            return 1;
        }
do dialog do registro.

Agora sobre nao salvar as contas

use:

pawn Код:
Player[playerid][Senha] = inputtext;
DOF2_CreateFile(arquivo)
Player[playerid][Dinheiro] = GivePlayerMoney(playerid, 5000);
Player[playerid][Vida] = SetPlayerHealth(playerid, 50);
DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
DOF2_SetInt(arquivo, "Vida", Player[playerid][Vida]);
DOF2_SaveFile();
Se der algum problema de fale
pawn Код:
Player[playerid][Senha] = inputtext;
DOF2_CreateFile(arquivo)
Player[playerid][Dinheiro] = GivePlayerMoney(playerid, 5000);
Player[playerid][Vida] = SetPlayerHealth(playerid, 50);
DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
DOF2_SetInt(arquivo, "Vida", Player[playerid][Vida]);
DOF2_SaveFile();
Eu coloco isso aonde?
Reply
#7

No lugar de

pawn Код:
else
{
    Player[playerid][Dinheiro] = GivePlayerMoney(playerid, 5000);
    Player[playerid][Vida] = SetPlayerHealth(playerid, 50);
    DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
    DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
    DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
    DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
    DOF2_SetInt(arquivo, "Vida", Player[playerid][Vida]);
    DOF2_SaveFile();
}
coloca

pawn Код:
else
{
    Player[playerid][Senha] = inputtext;
    DOF2_CreateFile(arquivo)
    Player[playerid][Dinheiro] = GivePlayerMoney(playerid, 5000);
    Player[playerid][Vida] = SetPlayerHealth(playerid, 50);
    DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
    DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
    DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
    DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
    DOF2_SetInt(arquivo, "Vida", Player[playerid][Vida]);
    DOF2_SaveFile();
}
Reply
#8

Quote:
Originally Posted by HardWar
Посмотреть сообщение
No lugar de

pawn Код:
else
        {
            Player[playerid][Dinheiro] = GivePlayerMoney(playerid, 5000);
            Player[playerid][Vida] = SetPlayerHealth(playerid, 50);
            DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
            DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
            DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
            DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
            DOF2_SetInt(arquivo, "Vida", Player[playerid][Vida]);
            DOF2_SaveFile();

        }
coloca

pawn Код:
else
{
    Player[playerid][Senha] = inputtext;
    DOF2_CreateFile(arquivo)
    Player[playerid][Dinheiro] = GivePlayerMoney(playerid, 5000);
    Player[playerid][Vida] = SetPlayerHealth(playerid, 50);
    DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
    DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
    DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
    DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
    DOF2_SetInt(arquivo, "Vida", Player[playerid][Vida]);
    DOF2_SaveFile();
}
Apareceram esses erros :

Код:
C:\Users\IGOR2\Downloads\Server\gamemodes\registro.pwn(88) : error 006: must be assigned to an array
C:\Users\IGOR2\Downloads\Server\gamemodes\registro.pwn(90) : error 001: expected token: ";", but found "-identifier-"
Linhas :

Код:
Player[playerid][Senha] = inputtext;
Player[playerid][Dinheiro] = GivePlayerMoney(playerid, 5000);
Reply
#9

Ah ok. Coloque o seguinte:

pawn Код:
else
{
    Player[playerid][Senha] = inputtext;
    DOF2_CreateFile(arquivo)
    Player[playerid][Dinheiro] = GivePlayerMoney(playerid, 5000);
    Player[playerid][Vida] = SetPlayerHealth(playerid, 50);
    DOF2_SetString(arquivo, "Senha", Player[playerid][Senha]);
    DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
    DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
    DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
    DOF2_SetInt(arquivo, "Vida", Player[playerid][Vida]);
    DOF2_SaveFile();
}
Reply
#10

se voce retirar
pawn Код:
if(!strval(inputtext))
        {
            ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Por favor, digite apenas nъmeros em sua senha!\nPor favor, digite sua senha novamente para concluir seu registro!", "Confirma", "Cancelar");
            return 1;
        }
vai registrar sem precisar inserir uma senha.

aqui voce estб usando:
pawn Код:
DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
mas o Player[playerid][Senha], nгo recebeu nenhum valor ali, o correto seria usar o inputtext no lugar.

como eu disse antes...
dк uma olhada nisto que pode lhe ser ъtil.
http://pastebin.com/MjWniVVm


Atenciosamente,
Falcon.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)