Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rechdan

Não esta lendo a linha corretamente

Recommended Posts

Eu desenvolvi o seguinte código para meu jogo:

else if(!strcmp(pServer->eCommand,"text"))
{
FILE *stream = fopen("itemlist.ini", "r");
char line[80], nome[32];
char tmp[1024];
int itemID = player->Equip[6].Index;
int type, anct;
while((fscanf(stream, "%[^\n]", line)) != EOF)
{
	sscanf(line, "%d %s %d %d", &itemID, &nome, &type, &anct);
	if(itemID == 0)
	{
		SendClientMsg(clientid,"Não possui itens");
		return;
	}
	else if(itemID > 0)
	{
		sprintf(tmp,"Você possui o item: %d %s %d %d",itemID,nome,type,anct);
		SendClientMsg(clientid,tmp);
		return;
	}
}
fclose(stream);
}

 

Porém ele esta retornando a linha 1 sendo q era para retornar outra, definida pelo "ID do item"

 

Se alguem puder ajudar eu agradeço!

 

Até ~~

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, o itemID está sendo mudado de "player->Equip[6].Index" para o primeiro %d do carregamento. Assim, imagino que você tenha colocado 0 no itemID do arquivo.

 

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso depende do que você quer fazer com ele. Se você quer colocar no if o valor que você inicializou o itemID, mude o nome da variável. Se quer usar o valor carregado do arquivo, remova a inicialização, ela é inútil. Aí o problema é no valor do arquivo mesmo...

 

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas dai como que eu pegaria ele?

 

Seria para dar load no itemID e logo após, na mesma linha, o nome e outros números...

 

Até ~~

Compartilhar este post


Link para o post
Compartilhar em outros sites

Calma, você quer o valor que você inicializou na variável ou o que está no arquivo?

 

Se for o que está no arquivo, você tem que formatar ele desse jeito:

 

<itemID> <nome> <tipo> <anct>
<itemID> <nome> <tipo> <anct>
<itemID> <nome> <tipo> <anct>
<itemID> <nome> <tipo> <anct>

 

Você pegaria os dados com isso... Aí se o itemID for positivo, o if vai ser positivo.

 

 

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.