[Duvida]INI_ParseFile e INI_RemoveEntry(Y_INI) -
Sergio_MOW - 28.11.2011
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??
Re: [Duvida]INI_ParseFile e INI_RemoveEntry(Y_INI) -
Adrian Fahrenheit Tepes - 28.11.2011
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.
Re: [Duvida]INI_ParseFile e INI_RemoveEntry(Y_INI) -
Sergio_MOW - 28.11.2011
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.