25/10/2022 13:00 
(Esta mensagem foi modificada pela última vez a: 25/10/2022 13:04 por Carlos Victor.)
	
	
	
		Exatamente como o Bruno disse, eu recentemente desenvolvi um sistema parecido mas para RG & CPF em DOF2, mas abandonei o projeto por justamente ser DOF2, eu estou refazendo ele em SQLite, enfim... Irei deixar o código abaixo:
Vou deixar também, um código que eu usava muito, pra formatar essa string em um RG como nós geralmente vê, no caso do sistema, ele salva o rg inteiro, sem a formatação ou seja ele salva assim: 128532938 e pra formatar é só usar a função abaixo pra deixar ele: 12.853.293-8
 O modo de uso é formatRG(string)
Exemplo:
printf("O RG %s formatado é: %s", "128532938", formatRG("128532938")
Saída: O RG 128532938 formatado é: 12.853.293-8
	
	
	
Código:
stock givePlayerRG(playerid)
{
    new value[10], arquivo[64];
    format(value, sizeof(value), "%d", randomEx(000000000, 999999999)); //Aqui gera um número aleatório
    if(strlen(value) != 9)    // Aqui eu verifico se o número gerado tem 9 caracteres que é o que um RG padrão deve ter 000000006 (00.000.000-6)
        return givePlayerRG(playerid); // Se não tiver, gera novamente.
    format(arquivo, sizeof(arquivo), "Verifications/RG/%s.ini", value); // Aqui eu verifico na pasta "Verifications/RG" se ja existe um RG identifoco
    if(DOF2_FileExists(arquivo)) // Se sim
        return givePlayerRG(playerid); // Gera novamente
    DOF2_CreateFile(arquivo); // Se passar por todas as verificações acima, significa que está ok
    DOF2_SaveFile(); // Crio e salvo o RG na pasta, ai é só você setar pro jogador
    // O sistema é sobre RG, mas tu pode modificar e seguir a mesma base do sistema.
    return 1;
}Vou deixar também, um código que eu usava muito, pra formatar essa string em um RG como nós geralmente vê, no caso do sistema, ele salva o rg inteiro, sem a formatação ou seja ele salva assim: 128532938 e pra formatar é só usar a função abaixo pra deixar ele: 12.853.293-8
Código:
stock formatRG(const text[])
{
    static sub[14];
    format(sub, sizeof sub, text);
    // 01.234.567-8
    // 012345678
    strins(sub, ".", 2);
    strins(sub, ".", 6);
    strins(sub, "-", 10);
    return sub;
}Exemplo:
printf("O RG %s formatado é: %s", "128532938", formatRG("128532938")
Saída: O RG 128532938 formatado é: 12.853.293-8
