[Duvida]INI_ParseFile e INI_RemoveEntry(Y_INI)
#1

Boa noite a todos, estive observando o y_ini e fiquei com 2 duvidas que nгo consegui tirar na wiki SA-MP, e no topico do y_ini, entao nao adiantarб links do y_ini como resposta.

se eu quero usar uma callback para carregar a senha do player e carregar a quantia de drogas por exemplo, quais argumentos no INI_ParseFile seriam obrigatуrios para usar? se eu colocasse assim:
pawn Код:
forward ContaPlayer(playerid,name[],val[])
public ContaPlayer(playerid,name[],val[]
{
     if(!strcmp(name,"Drogas",true))
     {
          Drogas[playerid] = strval(val);
     }  
}

forward Senha(playerid,name,value[])
public Senha(playerid,value[])
{
     if(strcmp(name,"Senha",true)) return SetPVarString(playerid,"Senha",value);
}
// depois para usar o ParseFile

INI_ParseFile(file,"ContaPlayer",false,true,playerid,false,false);
INI_ParseFile(file,"Senha",false,true,playerid,false,false);
Estaria correto? ou poderia "bugar" o server, ou perder a velocidade de leitura devido ao mal uso?
E, no y_ini para que serve a bPassTag e bLocal
OBS:ja li o tuto do luxurion...

INI_RemoveEntry.
Com o INI_RemoveEntry й possivel eu excluir o arquivo de uma vez ou sу o que tem dentro dele??
Reply
#2

No topo do GM...

pawn Код:
new Senha[playerid][30] // 30 й o nъmero mбximo +1 de caractйres que o jogador pode digitar pra logar/registrar
Agora uma callback para obter a senha e comparar em um /logar ou Dialog.

pawn Код:
forward Senha(playerid, name[], value[]);
public Senha(playerid, name[], value[]) if(!strcmp(name, "Senha")) SetPVarString(playerid, "jSenha", value);
Agora vocк criarб uma callback que carregarб todas as informaзхes do jogador:

pawn Код:
forward Carregar_Stats(playerid, name[], value[]);
public Carregar_Stats(playerid, name[], value[])
{
    INI_String("Senha", Senha[playerid], 30);
    INI_Int("Drogas",Drogas[playerid]);
    return 1;
}
Entгo, no /logar ou em um dialog, vocк colocarб assim:

pawn Код:
INI_ParseFile(/* CAMINHO DAS CONTAS */, "Senha", false, true, playerid);
GetPVarString(playerid, "jSenha", str, sizeof(str));
Depois do jogador ter digitado a senha para logar:

pawn Код:
INI_ParseFile(/* CAMINHO DAS CONTAS */, "Carregar_Stats", false, true, playerid);

Eu sу sei "falar" assim. O INI_ParseFile, como o ****** falou no prуprio tutorial, й algo complicado. Mas se vocк quiser um FS, tem o meu, clique aqui.

Em relaзгo ao bPassTag: bPassTag quando true informa ao sistema para passar o tagname como uma variбvel adicional antes identificador [], mas depois de quaisquer dados adicionais enviados. Isso nгo afeta o parвmetro de formato para que vocк possa passar o nome da marca para uma funзгo com a tag no seu nome, o que seria um pouco inъtil. Isso й mais comumente usado com qualquer s% no parвmetro format para chamar uma ъnica funзгo ou um ъnico %s bFileFirst e verdadeiro.

Copiei e colei, se quiseres entender mais sobre o mesmo, clique aqui

o INI_RemoveEntry remove sу uma linha do arquivo vim, mas pra isso vocк, provavelmente, deverб usar format.
Reply
#3

Obrigado.


EDIT:

pawn Код:
/*        Olб, este FS foi criado por Adrian Fahrenheit Tepes
 
                        Se for usб-lo, ponha meu nome no /creditos, hoje й dia
                    26/11/2011, nesse dia eu era muito noob no pawn, hoje eu
                    ainda sou, mas й assim mesmo. Se nгo colocar meu nome nos
                    crйditos, eu vou aн te matar.
 
                               Att. Adrian Fahrenheit Tepes, filho de Drбcula.
*/
KKKKKKKKKK eu ri muito.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)