SA-MP Forums Archive
[Ajuda] DOF2 - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] DOF2 (/showthread.php?tid=383509)



DOF2 - Nice-.- - 07.10.2012

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


Re: DOF2 - mau.tito - 07.10.2012

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);



Re: DOF2 - Nice-.- - 07.10.2012

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 ?


Re: DOF2 - StanleyScripter - 07.10.2012

tira o DOF2_CreateFile dai..


Re: DOF2 - Nice-.- - 07.10.2012

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


Re: DOF2 - StanleyScripter - 07.10.2012

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!


Re: DOF2 - Nice-.- - 07.10.2012

@ Double
Ninguem ? !?


Re: DOF2 - tonisantolia - 07.10.2012

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


Re: DOF2 - Nice-.- - 07.10.2012

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;
}



Re: DOF2 - tonisantolia - 07.10.2012

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");
        }
   }