[Ajuda] Com Dini
#1

To aprendendo a mecher com dini, entгo eu fiz assim

pawn Код:
public OnPlayerConnect(playerid)
{
    new player[24]; new arquivo[44];
    GetPlayerName(playerid,player,24);
    format(arquivo,44,"%s.ini",player);
    if(!dini_Exists("%s.ini")) dini_Create("%s.ini");
    {
        SetPVarInt(playerid,"Logins",1);
        dini_IntSet("%s.ini","Nivel",GetPlayerScore(playerid));
        dini_IntSet("%s.ini","Morreu",GetPVarInt(playerid,"Morreu"));
        dini_IntSet("%s.ini","Matou",GetPVarInt(playerid,"Matou"));
        dini_IntSet("%s.ini","Experiencia",GetPVarInt(playerid,"Experiencia"));
        dini_IntSet("%s.ini","Logins",GetPVarInt(playerid,"Logins"));
        new play[24];
        GetPlayerName(playerid,play,24);
        format(play,24,"Seja bem vindo, ao mata-mata deserto, %s!",player);
        SendClientMessage(playerid,COLOR_DGREEN,play);
    }
    if(dini_Exists("%s.ini"))
    {
        dini_Int("%s.ini","Logins");
        new logins[8];
        GetPVarInt(playerid,"Logins");
        format(logins,8,"Seja bem vindo ao mata-mata deserto! Esse й o seu %sє login!");
        SendClientMessage(playerid,COLOR_DGREEN,logins);
        SetPVarInt(playerid,"Logins",GetPVarInt(playerid,"Logins") + 1);
        SetPlayerPos(playerid,1000,1000,20);
        SetPlayerSkin(playerid,0);
        GivePlayerWeapon(playerid,24,200);
    }
   
    ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Seja bem vindo","Seja bem vindo ao Mata-Mata deserto.\nO objetivo daqui й matar e ganha experiencia, armas, skins etc.\nAposto que vocк vai se divertir muito por aqui!","Ok","");
    return 1;
}
Ta criando certinho os arquivos, mas ta salvando com o nome de %s.ini...
O logiins nao aumenta fica sempre 1
As mensagens aparecem imcompletas

a primeira assim: Seja bem vindo, ao mata
e a segunda assim: Seja bem
Reply
#2

nao testei, porem acho que deva funcionar

pawn Код:
public OnPlayerConnect(playerid)
{
    new player[24]; new arquivo[44];
    GetPlayerName(playerid,player,24);
    format(arquivo,44,"%s.ini",player);
    if(!dini_Exists(arquivo)) dini_Create(arquivo);
    {
        SetPVarInt(playerid,"Logins",1);
        dini_IntSet(arquivo,"Nivel",GetPlayerScore(playerid));
        dini_IntSet(arquivo,"Morreu",GetPVarInt(playerid,"Morreu"));
        dini_IntSet(arquivo,"Matou",GetPVarInt(playerid,"Matou"));
        dini_IntSet(arquivo,"Experiencia",GetPVarInt(playerid,"Experiencia"));
        dini_IntSet(arquivo,"Logins",GetPVarInt(playerid,"Logins"));
        new play[24];
        GetPlayerName(playerid,play,24);
        format(play,60,"Seja bem vindo, ao mata-mata deserto, %s!",player);
        SendClientMessage(playerid,COLOR_DGREEN,play);
    }
    if(dini_Exists("%s.ini"))
    {
        dini_Int(arquivo,"Logins");
        new logins[60];
        GetPVarInt(playerid,"Logins");
        format(logins,60,"Seja bem vindo ao mata-mata deserto! Esse й o seu %sє login!");
        SendClientMessage(playerid,COLOR_DGREEN,logins);
        SetPVarInt(playerid,"Logins",GetPVarInt(playerid,"Logins") + 1);
        SetPlayerPos(playerid,1000,1000,20);
        SetPlayerSkin(playerid,0);
        GivePlayerWeapon(playerid,24,200);
    }
o seu erro foi que vc criou um format mas nao usou '-'
Reply
#3

Код:
public OnPlayerConnect(playerid)
{
    new player[24]; new arquivo[44]; new str[128]; 
    GetPlayerName(playerid,player,24);
    format(arquivo,44,"%s.ini",player);

    if(!dini_Exists("%s.ini")) dini_Create("%s.ini");
    {
        SetPVarInt(playerid,"Logins",1); // Valor do Login vocк definiu como 1, vocк queria que aumentasse?
        dini_IntSet("%s.ini","Nivel",GetPlayerScore(playerid));
        dini_IntSet("%s.ini","Morreu",GetPVarInt(playerid,"Morreu"));
        dini_IntSet("%s.ini","Matou",GetPVarInt(playerid,"Matou"));
        dini_IntSet("%s.ini","Experiencia",GetPVarInt(playerid,"Experiencia"));
        dini_IntSet("%s.ini","Logins",GetPVarInt(playerid,"Logins"));
        new play[24];
        GetPlayerName(playerid,play,24);
        format(str,sizeof(str),"Seja bem vindo, ao mata-mata deserto, %s!",player); // troquei por str.
        SendClientMessage(playerid,COLOR_DGREEN,str);
    }
    if(dini_Exists("%s.ini"))
    {
        dini_Int("%s.ini","Logins");
        new logins[8];// O nъmero de caracteres do new logins й 8 e com isto sу 8 letras iriam ser expostas ao player 
        GetPVarInt(playerid,"Logins");
        format(str,sizeof(str),"Seja bem vindo ao mata-mata deserto! Esse й o seu %sє login!");
        SendClientMessage(playerid,COLOR_DGREEN,str);
        SetPVarInt(playerid,"Logins",GetPVarInt(playerid,"Logins") + 1);
        SetPlayerPos(playerid,1000,1000,20);
        SetPlayerSkin(playerid,0);
        GivePlayerWeapon(playerid,24,200);
    }
    
    ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Seja bem vindo","Seja bem vindo ao Mata-Mata deserto.\nO objetivo daqui й matar e ganha experiencia, armas, skins etc.\nAposto que vocк vai se divertir muito por aqui!","Ok","");
    return 1;
}
Reply
#4

To fazendo assim:

pawn Код:
public OnPlayerConnect(playerid)
{
    new player[24]; new arquivo[44]; new str[128];
    GetPlayerName(playerid,player,24);
    format(arquivo,44,"%s.ini",player);

    if(!dini_Exists(arquivo)) dini_Create(arquivo);
    {
        SetPVarInt(playerid,"Logins",1);
        dini_IntSet(arquivo,"Nivel",GetPlayerScore(playerid));
        dini_IntSet(arquivo,"Morreu",GetPVarInt(playerid,"Morreu"));
        dini_IntSet(arquivo,"Matou",GetPVarInt(playerid,"Matou"));
        dini_IntSet(arquivo,"Experiencia",GetPVarInt(playerid,"Experiencia"));
        dini_IntSet(arquivo,"Logins",GetPVarInt(playerid,"Logins"));
        new play[24];
        GetPlayerName(playerid,play,24);
        format(str,sizeof(str),"Seja bem vindo, ao mata-mata deserto, %s!",player);
        SendClientMessage(playerid,COLOR_DGREEN,str);
    }
    if(dini_Exists(arquivo))
    {
        dini_Int(arquivo,"Logins");
        GetPVarInt(playerid,"Logins");
        format(str,90,"Seja bem vindo ao mata-mata deserto! Esse й o seu %sє login!");
        SendClientMessage(playerid,COLOR_DGREEN,str);
        SetPVarInt(playerid,"Logins",GetPVarInt(playerid,"Logins") + 1);
        dini_IntSet(arquivo,"Logins",GetPVarInt(playerid,"Logins"));
        SetPlayerPos(playerid,1000,1000,20);
        SetPlayerSkin(playerid,0);
        GivePlayerWeapon(playerid,24,200);
    }

    ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Seja bem vindo","Seja bem vindo ao Mata-Mata deserto.\nO objetivo daqui й matar e ganha experiencia, armas, skins etc.\nAposto que vocк vai se divertir muito por aqui!","Ok","");
    return 1;
}
Fico assim


Mas da isso e login passo pra dois e nгo aumenta mais q isso
Reply
#5

pawn Код:
public OnPlayerConnect(playerid)
{
    new player[24]; new arquivo[44]; new str[128];
    GetPlayerName(playerid,player,24);
    format(arquivo,44,"%s.ini",player);

    if(!dini_Exists(arquivo)) dini_Create(arquivo);
    {
        SetPVarInt(playerid,"Logins",1);
        dini_IntSet(arquivo,"Nivel",GetPlayerScore(playerid));
        dini_IntSet(arquivo,"Morreu",GetPVarInt(playerid,"Morreu"));
        dini_IntSet(arquivo,"Matou",GetPVarInt(playerid,"Matou"));
        dini_IntSet(arquivo,"Experiencia",GetPVarInt(playerid,"Experiencia"));
        dini_IntSet(arquivo,"Logins",GetPVarInt(playerid,"Logins"));
        new play[24];
        GetPlayerName(playerid,play,24);
        format(str,sizeof(str),"Seja bem vindo, ao mata-mata deserto, %s!",play);
        SendClientMessage(playerid,COLOR_DGREEN,str);
    }
    if(dini_Exists(arquivo))
    {
        dini_Int(arquivo,"Logins");
        GetPVarInt(playerid,"Logins");
        SetPVarInt(playerid,"Logins",GetPVarInt(playerid,"Logins") + 1);
        dini_IntSet(arquivo,"Logins",GetPVarInt(playerid,"Logins"));
        format(str,sizeof(str),"Seja bem vindo ao mata-mata deserto! Esse й o seu %dє login!",Logins[playerid]);
        SendClientMessage(playerid,COLOR_DGREEN,str);
        SetPlayerPos(playerid,1000,1000,20);
        SetPlayerSkin(playerid,0);
        GivePlayerWeapon(playerid,24,200);
    }

    ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Seja bem vindo","Seja bem vindo ao Mata-Mata deserto.\nO objetivo daqui й matar e ganha experiencia, armas, skins etc.\nAposto que vocк vai se divertir muito por aqui!","Ok","");
    return 1;
}
Reply
#6

pharrel
pawn Код:
C:\Documents and Settings\Familia\Desktop\SAMP\gamemodes\mata.pwn(60) : error 017: undefined symbol "Logins"
E eu ja to sem ideias de como definir ;/
Reply
#7

pawn Код:
public OnPlayerConnect(playerid)
{
    new player[24]; new arquivo[44]; new str[128];
    GetPlayerName(playerid,player,24);
    format(arquivo,44,"%s.ini",player);

    if(!dini_Exists(arquivo)) dini_Create(arquivo);
    {
        SetPVarInt(playerid,"Logins",1);
        dini_IntSet(arquivo,"Nivel",GetPlayerScore(playerid));
        dini_IntSet(arquivo,"Morreu",GetPVarInt(playerid,"Morreu"));
        dini_IntSet(arquivo,"Matou",GetPVarInt(playerid,"Matou"));
        dini_IntSet(arquivo,"Experiencia",GetPVarInt(playerid,"Experiencia"));
        dini_IntSet(arquivo,"Logins",GetPVarInt(playerid,"Logins"));
        new play[24];
        GetPlayerName(playerid,play,24);
        format(str,sizeof(str),"Seja bem vindo, ao mata-mata deserto, %s!",play);
        SendClientMessage(playerid,COLOR_DGREEN,str);
    }
    if(dini_Exists(arquivo))
    {
        dini_Int(arquivo,"Logins");
        GetPVarInt(playerid,"Logins");
        SetPVarInt(playerid,"Logins",GetPVarInt(playerid,"Logins") + 1);
        dini_IntSet(arquivo,"Logins",GetPVarInt(playerid,"Logins"));
        format(str,sizeof(str),"Seja bem vindo ao mata-mata deserto! Esse й o seu %dє login!",GetPVarInt(playerid,"Logins"));
        SendClientMessage(playerid,COLOR_DGREEN,str);
        SetPlayerPos(playerid,1000,1000,20);
        SetPlayerSkin(playerid,0);
        GivePlayerWeapon(playerid,24,200);
    }

    ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Seja bem vindo","Seja bem vindo ao Mata-Mata deserto.\nO objetivo daqui й matar e ganha experiencia, armas, skins etc.\nAposto que vocк vai se divertir muito por aqui!","Ok","");
    return 1;
}
Reply
#8

Pharrel

Deu certo, sу que sempre da esse й o seu segundo login e nгo atualiza lб para 3... eu acho q estб lendo e nгo ta salvando...
Reply
#9

pawn Код:
if(!dini_Exists(arquivo)) dini_Create(arquivo);
{
O bloco de cуdigo que vocк abriu com a chave sempre vai ser sempre executado, pois a anбlise da expressгo: !dini_Exists(arquivo)) terminou ali no ponto e vнrgula(;), adcione um else antes da primeira chave e o problema deverб ser resolvido.
Reply
#10

Consegui!

A soluзгo foi seta a PVAR do player pegando a do arquivo desta maneira

pawn Код:
SetPVarInt(playerid,"Logins",dini_Int(arquivo,"Logins") + 1);
obrigado a todos que tentaram.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)