[Ajuda] DOF2
#1

Bom Eu Tava Vendo Um Tutorial Do Edit Pawn && Tentando Aprender DOF2 sу Que Eu Acabei Aqui o Problema й Que Nгo Salva os Dados PQ? Alguem Poderia Me Ajudar?
pawn Код:
enum pInfo
{
    pSenha,
    pAdmin,
    pMatou,
    pMorreu,
    pGrana
}
new PlayerInfo[MAX_PLAYERS] [pInfo];
new Erro[MAX_PLAYERS];
                       
public OnPlayerConnect(playerid)
{
    new arquivo[40], name[24];
    GetPlayerName(playerid, name, sizeof(name));
    format(arquivo, 40, "Contas/%s.ini, name");
    if(DOF2_FileExists(arquivo))
    {
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "- Login -", "Seja Bem Vindo Novamente, Digite Sua Senha Para Logar-se\n Se Errar a Senha 5 Vezes Serб Automaticamente Banido", "Logar-se", "Cancelar");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "- Registro -", "Olб Bem Ao Servidor, Por Favor Digite Uma Senha Para Se Registrar-se\nLeia As Regras (/regras) e Um Bom Jogo", "Registrar", "Cancelar");
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new arquivo[40], name[24];
    GetPlayerName(playerid, name, sizeof(name));
    format(arquivo, 40, "Contas/%s.ini", name);
    if(DOF2_FileExists(arquivo))
    {
    PlayerInfo[playerid][pGrana] = GetPlayerMoney(playerid);
    DOF2_SetInt(arquivo, "Senha", PlayerInfo[playerid][pSenha]);
    DOF2_SetInt(arquivo, "Admin", PlayerInfo[playerid][pAdmin]);
    DOF2_SetInt(arquivo, "Matou", PlayerInfo[playerid][pMatou]);
    DOF2_SetInt(arquivo, "Morreu", PlayerInfo[playerid][pMorreu]);
    DOF2_SetInt(arquivo, "Dinheiro", PlayerInfo[playerid][pGrana]);
    DOF2_SaveFile();
    }
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new arquivo[40], name[24];
    GetPlayerName(playerid, name, sizeof(name));
    format(arquivo, 40, "Contas/%s.ini", name);
    if(dialogid == DIALOG_REGISTRO)
    {
        if(!response)
        {
            Kick(playerid);
            SendClientMessage(playerid, 0xFF0000FF, "[INFO]: Vocк Foi Kickado Por Nгo Logar-se");
        }
        else
        {
            PlayerInfo[playerid][pSenha] = DOF2_GetInt(arquivo, "Senha");
            if(strval(inputtext) == PlayerInfo[playerid][pSenha])
        {
            DOF2_CreateFile(arquivo);
            PlayerInfo[playerid][pAdmin] = DOF2_GetInt(arquivo, "Admin");
            PlayerInfo[playerid][pMatou] = DOF2_GetInt(arquivo, "Matou");
            PlayerInfo[playerid][pMorreu] = DOF2_GetInt(arquivo, "Morreu");
            PlayerInfo[playerid][pGrana] = DOF2_GetInt(arquivo, "Dinheiro");
            GivePlayerMoney(playerid, PlayerInfo[playerid][pGrana]);
            SpawnPlayer(playerid);
        }
        else
        {
            ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк Digitou a Senha Incorretamente !\n Digite a Senha Correta Lembrando Se Errar 5 Vezes Terб a Conta Banida ", "Logar-se", "Cancelar");
            Erro[playerid] ++;
            if(Erro[playerid] == 5)
            SendClientMessage(playerid, 0x8B008BFF, "Vocк Errou a Senha 5 Vezes E Teve a Conta Temporiamente Banida !");
            Ban(playerid);
            return 1;
        }
        }
   }
   return 1;
}
PS: Se Tiver Mб Identaзгo й o Forum Que Tб Bugando
Reply
#2

Errado!
pawn Код:
PlayerInfo[playerid][pSenha] = DOF2_GetInt(arquivo, "Senha");
            if(strval(inputtext) == PlayerInfo[playerid][pSenha])
        {
            DOF2_CreateFile(arquivo);
            PlayerInfo[playerid][pAdmin] = DOF2_GetInt(arquivo, "Admin");
            PlayerInfo[playerid][pMatou] = DOF2_GetInt(arquivo, "Matou");
            PlayerInfo[playerid][pMorreu] = DOF2_GetInt(arquivo, "Morreu");
            PlayerInfo[playerid][pGrana] = DOF2_GetInt(arquivo, "Dinheiro");
            GivePlayerMoney(playerid, PlayerInfo[playerid][pGrana]);
            SpawnPlayer(playerid);
Reply
#3

Quote:
Originally Posted by mau.tito
Посмотреть сообщение
Errado!
pawn Код:
PlayerInfo[playerid][pSenha] = DOF2_GetInt(arquivo, "Senha");
            if(strval(inputtext) == PlayerInfo[playerid][pSenha])
        {
            DOF2_CreateFile(arquivo);
            PlayerInfo[playerid][pAdmin] = DOF2_GetInt(arquivo, "Admin");
            PlayerInfo[playerid][pMatou] = DOF2_GetInt(arquivo, "Matou");
            PlayerInfo[playerid][pMorreu] = DOF2_GetInt(arquivo, "Morreu");
            PlayerInfo[playerid][pGrana] = DOF2_GetInt(arquivo, "Dinheiro");
            GivePlayerMoney(playerid, PlayerInfo[playerid][pGrana]);
            SpawnPlayer(playerid);
tб e como eu corrigo ?
Reply
#4

tira o DOF2_CreateFile dai..
Reply
#5

Quote:
Originally Posted by StanleyScripter
Посмотреть сообщение
tira o DOF2_CreateFile dai..
Vish Mano Agr Lascou ! Nгo Cria Mais Nem б .ini e Nem Salva
Reply
#6

Quote:
Originally Posted by Nice-.-
Посмотреть сообщение
Vish Mano Agr Lascou ! Nгo Cria Mais Nem б .ini e Nem Salva
Vc tem que colocar pra Criar quando se registrar neh!
Reply
#7

@ Double
Ninguem ? !?
Reply
#8

Primeiro:

Isso:
pawn Код:
DOF2_CreateFile(arquivo);
            PlayerInfo[playerid][pAdmin] = DOF2_GetInt(arquivo, "Admin");
            PlayerInfo[playerid][pMatou] = DOF2_GetInt(arquivo, "Matou");
            PlayerInfo[playerid][pMorreu] = DOF2_GetInt(arquivo, "Morreu");
            PlayerInfo[playerid][pGrana] = DOF2_GetInt(arquivo, "Dinheiro");
            GivePlayerMoney(playerid, PlayerInfo[playerid][pGrana]);
            SpawnPlayer(playerid);
Deve ficar assim:
pawn Код:
PlayerInfo[playerid][pAdmin] = DOF2_GetInt(arquivo, "Admin");
            PlayerInfo[playerid][pMatou] = DOF2_GetInt(arquivo, "Matou");
            PlayerInfo[playerid][pMorreu] = DOF2_GetInt(arquivo, "Morreu");
            PlayerInfo[playerid][pGrana] = DOF2_GetInt(arquivo, "Dinheiro");
            GivePlayerMoney(playerid, PlayerInfo[playerid][pGrana]);
            SpawnPlayer(playerid);
Segundo:
Poste a stock ou callback que cria os dados do player
Reply
#9

Quote:
Originally Posted by tonisantolia
Посмотреть сообщение
Primeiro:

Isso:
pawn Код:
DOF2_CreateFile(arquivo);
            PlayerInfo[playerid][pAdmin] = DOF2_GetInt(arquivo, "Admin");
            PlayerInfo[playerid][pMatou] = DOF2_GetInt(arquivo, "Matou");
            PlayerInfo[playerid][pMorreu] = DOF2_GetInt(arquivo, "Morreu");
            PlayerInfo[playerid][pGrana] = DOF2_GetInt(arquivo, "Dinheiro");
            GivePlayerMoney(playerid, PlayerInfo[playerid][pGrana]);
            SpawnPlayer(playerid);
Deve ficar assim:
pawn Код:
PlayerInfo[playerid][pAdmin] = DOF2_GetInt(arquivo, "Admin");
            PlayerInfo[playerid][pMatou] = DOF2_GetInt(arquivo, "Matou");
            PlayerInfo[playerid][pMorreu] = DOF2_GetInt(arquivo, "Morreu");
            PlayerInfo[playerid][pGrana] = DOF2_GetInt(arquivo, "Dinheiro");
            GivePlayerMoney(playerid, PlayerInfo[playerid][pGrana]);
            SpawnPlayer(playerid);
Segundo:
Poste a stock ou callback que cria os dados do player
Tentei Fazer Mais Acho Q Nгo Deu Certo Pqp
pawn Код:
public OnPlayerConnect(playerid)
{
    new string[128], Nome[24];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    format(string, sizeof(string), "[BEM VINDO]: %s Divirta-se Muito Aqui, Qualquer Duvida ( /relato ) e Fale Com Algum Admin !!.", Nome);
    SendClientMessage(playerid, 0xFFFF00FF, string);
    SendClientMessage(playerid, 0xFFE1FFFF, "[INFO]: Qualquer Sugestгo/Bug Reportar In Forum Obrigado Pela Preferкncia e Divirat-se !!. ");
    if(DOF2_FileExists(Contas(playerid)))
    {
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "- Login -", "Seja Bem Vindo Novamente, Digite Sua Senha Para Logar-se\n Se Errar a Senha 5 Vezes Serб Automaticamente Banido", "Logar-se", "Cancelar");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "- Registro -", "Olб Bem Vindo Ao Servidor, Por Favor Digite Uma Senha Para Se Registrar-se\nLeia As Regras (/regras) e Um Bom Jogo", "Registrar", "Cancelar");
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    SalvarPlayer(playerid);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_REGISTRO)
    {
        if(!response)
        {
            SendClientMessage(playerid, 0xFF0000FF, "[INFO]: Vocк Foi Kickado Por Nгo Logar-se");
            Kick(playerid);
        }
        else
        {
            PlayerInfo[playerid][pSenha] = DOF2_GetInt(Contas(playerid), "Senha");
            if(strval(inputtext) == PlayerInfo[playerid][pSenha])
        {
            PlayerInfo[playerid][pAdmin] = DOF2_GetInt(Contas(playerid), "Admin");
            PlayerInfo[playerid][pMatou] = DOF2_GetInt(Contas(playerid), "Matou");
            PlayerInfo[playerid][pMorreu] = DOF2_GetInt(Contas(playerid), "Morreu");
            PlayerInfo[playerid][pGrana] = DOF2_GetInt(Contas(playerid), "Dinheiro");
            GivePlayerMoney(playerid, PlayerInfo[playerid][pGrana]);
            SpawnPlayer(playerid);
        }
        else
        {
            ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк Digitou a Senha Incorretamente !\n Digite a Senha Correta Lembrando Se Errar 5 Vezes Terб a Conta Banida ", "Logar-se", "Cancelar");
            Erro[playerid] ++;
            if(Erro[playerid] == 5)
            SendClientMessage(playerid, 0x8B008BFF, "Vocк Errou a Senha 5 Vezes E Teve a Conta Temporiamente Banida !");
            Ban(playerid);
            return 1;
        }
        }
   }
   return 1;
}
/* STOCKS */
stock SalvarPlayer(playerid)
{
    if(!DOF2_FileExists(Contas(playerid))) DOF2_CreateFile(Contas(playerid));
    else
    {
    PlayerInfo[playerid][pGrana] = GetPlayerMoney(playerid);
    DOF2_SetInt(Contas(playerid), "Senha", PlayerInfo[playerid][pSenha]);
    DOF2_SetInt(Contas(playerid), "Admin", PlayerInfo[playerid][pAdmin]);
    DOF2_SetInt(Contas(playerid), "Matou", PlayerInfo[playerid][pMatou]);
    DOF2_SetInt(Contas(playerid), "Morreu", PlayerInfo[playerid][pMorreu]);
    DOF2_SetInt(Contas(playerid), "Dinheiro", PlayerInfo[playerid][pGrana]);
    DOF2_SaveFile();
    }
    return 1;
}
stock Contas(playerid)
{
    new arquivo[40], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, 32);
    format(arquivo, 40, "Contas/%s.ini", name);
    return arquivo;
}
Reply
#10

pawn Код:
if(dialogid == DIALOG_LOGAR)
    {
        if(!response)
        {
            SendClientMessage(playerid, 0xFF0000FF, "[INFO]: Vocк Foi Kickado Por Nгo Logar-se");
            Kick(playerid);
        }
        else
        {
            PlayerInfo[playerid][pSenha] = DOF2_GetInt(Contas(playerid), "Senha");
            if(strval(inputtext) == PlayerInfo[playerid][pSenha])
        {
            PlayerInfo[playerid][pAdmin] = DOF2_GetInt(Contas(playerid), "Admin");
            PlayerInfo[playerid][pMatou] = DOF2_GetInt(Contas(playerid), "Matou");
            PlayerInfo[playerid][pMorreu] = DOF2_GetInt(Contas(playerid), "Morreu");
            PlayerInfo[playerid][pGrana] = DOF2_GetInt(Contas(playerid), "Dinheiro");
            GivePlayerMoney(playerid, PlayerInfo[playerid][pGrana]);
            SpawnPlayer(playerid);
        }
        else
        {
            ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк Digitou a Senha Incorretamente !\n Digite a Senha Correta Lembrando Se Errar 5 Vezes Terб a Conta Banida ", "Logar-se", "Cancelar");
            Erro[playerid] ++;
            if(Erro[playerid] == 5)
            SendClientMessage(playerid, 0x8B008BFF, "Vocк Errou a Senha 5 Vezes E Teve a Conta Temporiamente Banida !");
            Ban(playerid);
            return 1;
        }
        }
   }
    if(dialogid == DIALOG_REGISTRO)
    {
        if(!response)
        {
            SendClientMessage(playerid, 0xFF0000FF, "[INFO]: Vocк Foi Kickado Por Nгo Registrar-se");
            Kick(playerid);
        }
        else
        {
            DOF2_CreateFile(Contas(playerid));
            DOF2_SetInt(Contas(playerid), "Senha", inputtext);
            DOF2_SetInt(Contas(playerid), "Admin", PlayerInfo[playerid][pAdmin]);
            DOF2_SetInt(Contas(playerid), "Matou", PlayerInfo[playerid][pMatou]);
            DOF2_SetInt(Contas(playerid), "Morreu", PlayerInfo[playerid][pMorreu]);
            DOF2_SetInt(Contas(playerid), "Dinheiro", PlayerInfo[playerid][pGrana]);
            DOF2_SaveFile();
            ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "- Login -", "Seja Bem Vindo Novamente, Digite Sua Senha Para Logar-se\n Se Errar a Senha 5 Vezes Serб Automaticamente Banido", "Logar-se", "Cancelar");
        }
   }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)