OTC Erro ERROR: invalid skill at

001rafa
em Clients

001rafa

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/05/07Posts: 49

Pessoal por gentileza, alguém pode me ajudar com este problema?

Meu otclient está dando este erro:

 


ERROR: invalid skill
at:
    [C++]: LocalPlayer::setSkill
ERROR: invalid skill
at:
    [C++]: LocalPlayer::setBaseSkil

 

Procurei na source do servidor e do client e está igual ao source disponibilizada no git...

Por favor alguém me ajuda ? :thinking:

dalvorsn

õ/
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/12/11Posts: 750Gênero: Masculino

O servidor ta enviando mais skills que as existentes no otc.

Qual distro usada? O usual é o byte 0xA1 para as skills, a função no tfs 0.37 é assim:
 

 

#protocolgame.cpp

void ProtocolGameAddPlayerSkills(NetworkMessage_ptr msg){	msg->put<char>(0xA1);	for(uint8_t i = 0; i <= SKILL_LAST; ++i)	{		msg->put<char>(player->getSkill((skills_t)i, SKILL_LEVEL));		msg->put<char>(player->getSkill((skills_t)i, SKILL_PERCENT));	}}

Você precisa checar o enum das skills, para ver se existem que o numero normal. O enum dessas skills fica em const.h.

Vera algo similar a isso:

#const.h

enum skills_t{	SKILL_NONE = -1,	SKILL_FIRST = 0,	SKILL_FIST = SKILL_FIRST,	SKILL_CLUB,	SKILL_SWORD,	SKILL_AXE,	SKILL_DIST,	SKILL_SHIELD,	SKILL_FISH,	SKILL__MAGLEVEL,	SKILL__LEVEL,	SKILL__EXPERIENCE,	SKILL_LAST = SKILL_FISH,	SKILL__LAST = SKILL__EXPERIENCE};

Poste esses dois trechos do seu codigo fonte para que possamos analisar o real problema.

"A covardia coloca a questão: É seguro? O comodismo coloca a questão: É popular? A etiqueta coloca a questão: é elegante? Mas a consciência coloca a questão, É correto? E chega uma altura em que temos de tomar uma posição que não é segura, não é elegante, não é popular, mas o temos de fazer porque a nossa consciência nos diz que é essa a atitude correta."

(Martin Luther King)

001rafa

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/05/07Posts: 49

Olá amigo, obrigado pela ajuda eu já consertei aqui, a minha solução foi add uma nova skill hehe, por incrivel que pareça só solucionou desta forma ;/: mas obg pela ajuda e reputado pela tentativa :D

 

Podem dar closed no tópico por gentileza?

grato