[AJUDA]Arquivo nao esta sendo criado no scriptfiles
#1

eu estou com um problema o arquivo do registro do player nao esta sendo criado na pasta scriptfiles.
porque no arquivo pwn esta assim:
pawn Код:
#define FileUsers       "Contas/%s.ini"
eu criei a pasta contas em scriptfiles mas msm assim na hora que da la registrar nao acontece nada, nao cria a pasta
eu peguei esse fs de registro num site de samp ae, vou colocar o code aki:
pawn Код:
#include <a_samp>
#include <DOF2>

#define FileUsers       "Contas/%s.ini"
#define DIALOG_REGISTRO 1
#define DIALOG_LOGIN 2
new SenhaErrada[MAX_PLAYERS];
new bool: Conectado[MAX_PLAYERS] = false;

stock ReturnFileUser(playerid)
{
    new File[156],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    format(File,sizeof(File),FileUsers,Name);
    return File;
}

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" FS criado por Aninhaah");
    print("--------------------------------------\n");
    return 1;
}

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


public OnPlayerConnect(playerid)
{
    if(!DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Olб, sua conta nгo й registrada. Para ter uma conta e salvar seus dados use /registrar.");
    else if(DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Olб, sua conta jб й registrada. Para carregar seus dados use /logar.");
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    Conectado[playerid] = false;
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp(cmdtext, "/registrar",true) == 0)
    {
        if(DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Essa conta jб estб registrada.");
        new string[115];
        format(string,sizeof(string),"Seu nome: %s\nDeseja mesmo se registrar? Se sim, digite uma senha, se nгo, clique em Cancelar", PlayerName(playerid));
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT,"[NOME] - Registro", string, "Registrar","Cancelar");
        return 1;
    }
    if(strcmp(cmdtext,"/logar", true) == 0)
    {
        if(!DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Essa conta nгo estб registrada. Se registre primeiro usando /registrar.");
        if(Conectado[playerid] == true) return SendClientMessage(playerid,-1,"Vocк jб estб logado!");
        ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[Nome] - Login", "Para logar digite sua senha", "Logar","Cancelar");
        return 1;
    }
    return 0;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_REGISTRO)
    {
        if(!response) return SendClientMessage(playerid,-1,"Vocк decidiu nгo se registrar. Seus dados nгo serгo salvos.");
        if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTRO,DIALOG_STYLE_INPUT,"[NOME] - Registro","Digite uma senha para se registrar","Registrar","Cancelar");
        if(strlen(inputtext) < 5 || strlen(inputtext) > 12) return ShowPlayerDialog(playerid,DIALOG_REGISTRO,DIALOG_STYLE_INPUT,"[NOME] - Registro","A senha deve ter de 5 a 12 caracteres","Registrar","Cancelar");
        new string[70];
        format(string,sizeof(string),"Conta registrada com sucesso! Senha: %s", inputtext);
        SendClientMessage(playerid,-1,string);
        DOF2_CreateFile(ReturnFileUser(playerid));
        DOF2_SetString(ReturnFileUser(playerid),"Senha",inputtext);
        DOF2_SaveFile();
        SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
        SpawnPlayer(playerid);
        GivePlayerMoney(playerid, 1000);
        GivePlayerWeapon(playerid, 24, 50);
        SetPlayerScore(playerid,1);
        Conectado[playerid] = true;
        return 1;
    }
    if(dialogid == DIALOG_LOGIN)
    {
        if(!response) return SendClientMessage(playerid,-1,"Vocк decidiu nгo logar. Seus dados nгo serгo carregados");
        if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[NOME] - Login","Digite sua senha","Logar","Cancelar");
        if(strcmp(inputtext,DOF2_GetString(ReturnFileUser(playerid),"Senha"),true) == 0)
        {
            SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
            SpawnPlayer(playerid);
            GivePlayerMoney(playerid, 1000);
            GivePlayerWeapon(playerid, 24, 50);
            Conectado[playerid] = true;
        }
        else
        {
            if(SenhaErrada[playerid] == 4)
            {
                SendClientMessage(playerid,-1,"Vocк foi banido por errar a senha 5 vezes.");
                Ban(playerid);
            }
            else if(SenhaErrada[playerid] < 4)
            {
                SenhaErrada[playerid] ++;
                ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[NOME] - Login","Senha incorreta, tente novamente. Se errar a senha 5 vezes serб banido!","Logar","Sair");
            }
        }
        return 1;
    }
    return 1;
}

stock PlayerName(playerid)
{
    new Name[MAX_PLAYERS];
    GetPlayerName(playerid, Name, sizeof(Name));
    return Name;
}
o q eu faзo? aguardo ajuda e desde ja obrigado
ah, e eu ja tentei nas ultimas versoes do samp msm assim nao funcionou
tentei na 0.3d r2 e 0.3d rc9 e msm assim nao deu
Reply
#2

Amigo confira se vocк criou a pasta "Contas", Com a inicial maiъscula. Caso ao contrario ou renomeia a pasta com a inicial Maiъscula ou mude:

pawn Код:
#define FileUsers       "contas/%s.ini"
Reply
#3

Use
pawn Код:
DOF2_CreateFile
Reply
#4

eu criei a pasta sim com letra maiъscula, brother
mas onde eu coloco o DOF2_CreateFile?
vlws aguardo ajuda
Reply
#5

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
Use
pawn Код:
DOF2_CreateFile
Ele jб tem. Dentro de OnDialogResponse
pawn Код:
DOF2_CreateFile(ReturnFileUser(playerid));
DOF2_SetString(ReturnFileUser(playerid),"Senha",inputtext);
DOF2_SaveFile();
Quote:
Originally Posted by Detonador
Посмотреть сообщение
eu criei a pasta sim com letra maiъscula, brother
mas onde eu coloco o DOF2_CreateFile?
vlws aguardo ajuda
Vocк jб verificou se a funзгo ReturnFileUser estб funcionando corretamente?
Reply
#6

Quote:

Vocк jб verificou se a funзгo ReturnFileUser estб funcionando corretamente?

como assim? como vou verificar isso? aguardo sua ajuda vlws ae
Reply
#7

Coloque isto antes de ' return File; '
pawn Код:
printf("ReturnFileUser = %s",File);
return File;
E entгo diga o que apareceu no console.
Reply
#8

nгo apareceu nada, amigo.
Reply
#9

A pasta nгo й criada, somente os arquivos. Entre em scriptfiles e crie uma pasta chamada Contas
Vocк tem que escrever desse jeitinho mesmo se nгo nгo vai dar certo.
Se vocк nгo modificou nada no code й pra dar certo, pois eu testei antes de postar.
Reply
#10

Para que ela apareзa vocк tem que entrar no servidor...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)