Ir para conteúdo
  • 0
Entre para seguir isso  
Lightwood

Programação Erro ao compilar

Pergunta

Lightwood    8
Lightwood

Salve galera, tudo bem? Então recentemente eu tentei compilar uma função que existe na net, porem o fórum que ela estava acabou bugando totalmente o código ou parte dele na verdade, se algum de vocês conseguir me ajudar ficarei muito grato.

O código foi feito para a versão: 0.3.6 - 8.54
Servidor utilizado para teste: Aqui

#Resolvido: Source utilizada -  http://www.mediafire.com/download/u7ctpx569nhyu5x/Sources.rar

ERROS:

In member function 'void ProtocolGame::AddCreature(NetworkMessage_ptr, const Creature*, bool, uint32_t)': 
2670 C:\Source\protocolgame.cpp 'Nick' was not declared in this scope
  
2670 C:\Source\protocolgame.cpp In member function 'void ProtocolGame::reloadCreature(const Creature*)':
3102 C:\Source\protocolgame.cpp expected initializer before 'it'
3103 C:\Source\protocolgame.cpp 'it' was not declared in this scope

CÓDIGO:

Spoiler

ProtocolGame.cpp 


void ProtocolGame::reloadCreature(const Creature* creature)
{ 
	if(!canSee(creature)) 
	return; // we are cheating the client in here! 
	uint32_t stackpos = creature->getTile()->getClientIndexOfThing(player, creature); 
	if(stackpos >= 10) 
	return; 
	NetworkMessage_ptr msg = getOutputBuffer(); 
	if(msg) 
	{ 
		TRACK_MESSAGE(msg); 
	std::list<uint32_t>iterator it = std::find(knownCreatureList.begin(), knownCreatureList.end(), creature->getID()); 
if(it != knownCreatureList.end()) 
{ 
	RemoveTileItem(msg, creature->getPosition(), stackpos); 
	msg->AddByte(0x6A); 
	msg->AddPosition(creature->getPosition()); 
	msg->AddByte(stackpos); 
	AddCreature(msg, creature, false, creature->getID()); 
} 
else 
AddTileCreature(msg, creature->getPosition(), stackpos, creature); 
}
}
void ProtocolGame::sendCreatureNick(const Creature* creature)
{ 
	reloadCreature(creature);
}

ProtocolGame.h


void reloadCreature(const Creature* creature);
void sendCreatureNick(const Creature* creature);

Player.h


void sendCreatureNick(const Creature* creature)            
{if(client) client->sendCreatureNick(creature);}

Creature.cpp


Nick = "";

Creature.h


std::string Nick;

Luascript.cpp


//doCreatureSetNick(cid, nick)    
lua_register(m_luaState, "doCreatureSetNick", LuaScriptInterface::luaDoCreatureSetNick);

int32_t LuaScriptInterface::luaDoCreatureSetNick(lua_State* L)
{
    //doCreatureSetNick(cid, nick)
    ScriptEnviroment* env = getEnv();
    std::string nick = popString(L);
    Creature* creature = env->getCreatureByUID(popNumber(L));
    if (creature) {    
        SpectatorVec list;
        g_game.getSpectators(list, creature->getPosition());  
        Player* player = NULL;
        creature->Nick = nick;
        for (SpectatorVec::const_iterator it = list.begin(); it != list.end(); ++it) {
           if (player = (*it)->getPlayer()) {
               player->sendCreatureNick(creature);
           }
        }
        lua_pushboolean(L, true);
    } else {
        lua_pushboolean(L, false);
    }
    return 1;
}

 Luascript.h


static int32_t luaDoCreatureSetNick(lua_State* L);

Protocolgame.cpp


std::string nick = creature->getName();
        if (creature->Nick != "")  ?          
		nick = creature->Nick;

Substituir


msg->AddString(creature->getHideName() ? "" : creature->getName());

Por


msg->AddString(creature->getHideName() ? "" : Nick);

 

 

Editado por Rookie

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

  • 0
Lightwood    8
Lightwood

Consegui resolver, fui olhando uma outra source que possuía o sistema e verificando o que tinha de errado na minha source!
Source utilizada: https://www.mediafire.com/download/u7ctpx569nhyu5x/Sources.rar

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×