[AJUDA] /registrar :S
#1

To fazendo um sistema de registro para meu gamemode do 0... e eu to fazendo o /registrar mas ta dando um bug que a senha ta salvando assim o... "Senha=/tgg…‘’Ћ№М" Alguem ajuda?

PHP код:
    if (strcmp("/registrar"cmdtexttrue10) == 0)
    {
        if(
IsPlayerConnected(playerid))
        {
            
GetPlayerName(playeridsendernamesizeof(sendername));
            
format(string64"%s.ini"sendername);
            new 
FilehFile fopen(stringio_read);
            if (
hFile)
            {
                
SendClientMessage(playeridCOLOR_YELLOW"Este Nick jб existe, use outro.");
                
fclose(hFile);
                
SendClientMessage(playeridCOLOR_GRAD1"USE: /registrar [Senha]");                return 1;
            }
            new 
tmppass[64];
            
tmp strtok(cmdtextidx);
            if(!
strlen(tmp))
            {
                
SendClientMessage(playeridCOLOR_GRAD1"USE: /registrar [Senha]");
                return 
1;
            }
            
strmid(tmppasstmp0strlen(cmdtext), 255);
            
Encrypt(tmppass);
            
RegistrarPlayer(playerid,tmppass);
        }
        return 
1;
    } 
Reply
#2

Nгo й vocк que estб fazendo, isto nгo й bug й criptografia destinada aos simbolos que vocк digitou, para que transforme uma string em simbolos...
pawn Код:
Encrypt(tmppass);
Tente usar ZCMD / sscanf e algum cache de arquivos aproveitando que teu GM й do 0, para melhorar o andamento dele e facilitar para o seu lado...

Ex ZCMD / sscanf, SII files:
pawn Код:
#include <a_samp>
#include <ZCMD>
#include <sscanf2>
#include <SII>

CMD:registrar(playerid, params[])
{
    new str[40], senha[50], n[MAX_PLAYER_NAME];
    if(sscanf(params,"s[50]", senha)) return SendClientMessage(playerid, -1, "Digite uma senha..");
    GetPlayerName(playerid, n, sizeof( n ));
    format(str, sizeof( str ) , "%s.ini", n);
    INI_Open(str);
    INI_WriteString("Senha", senha);
    INI_Save();
    INI_Close();
    return 1;
}
Ex2 CB:OnPlayerCommandText - strcmp, strtok, Files Functions:
pawn Код:
#include <a_samp>

public OnPlayerCommandText(playerid, cmdtext[])
{
    new tmp[40], cmd[20], idx, str[128], n[MAX_PLAYER_NAME];
    cmd=strtok(cmdtext,idx);
    if(!strcmp(cmd, "/registrar", true))
    {
        GetPlayerName(playerid, n, sizeof( n ));
        format(str, sizeof( str ), "%s.ini", n);
        new File:j=fopen(str, io_write);
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return false;
        new write[128];
        format(write, 24, "Senha = %s", tmp);
        fwrite(j, write);
        fclose(j);
        return 1;
    }
    return 1;
}
   
   
strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}
Reply
#3

Ta fazendo do zero mesmo? Esse /registrar й igualzinho ao do GF.
Reply
#4

Vlw cara levo meu +... otimo comando de base editei ele completamente :O mas teu nome vai ficar nos creditos..... se der para postar um /logar neste estilo ai pra eu pegar de base agradeзo deste ja
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)