Beispiel #1
0
/// Lädt eine Karte
bool GameWorld::LoadMap(const std::string& filename)
{
	// Map laden
	libsiedler2::ArchivInfo ai;

	// Karteninformationen laden
	if(libsiedler2::loader::LoadMAP(filename.c_str(), &ai) != 0)
		return false;

	glArchivItem_Map *map = static_cast<glArchivItem_Map*>(ai.get(0));

	std::string lua_file = filename.substr(0, filename.length() - 3);
	lua_file.append("lua");

	if (luaL_dofile(lua, lua_file.c_str()))
	{
		fprintf(stderr, "LUA ERROR: '%s'!\n", lua_tostring(lua, -1));
		lua_pop(lua, 1);
	}

	Scan(map);

	CreateTradeGraphs();

	tr.GenerateOpenGL(this);

	if(GetPlayer(GameClient::inst().GetPlayerID())->hqx != 0xFFFF)
		this->MoveToMapObject(GetPlayer(GameClient::inst().GetPlayerID())->hqx,
			GetPlayer(GameClient::inst().GetPlayerID())->hqy);

	EventStart();

	return true;
}
Beispiel #2
0
	void OnCombatStart(Unit* mTarget)
	{
		EventStart(mTarget);
		_unit->SendChatMessage(CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, "Gronn are the real power in Outland!");
		_unit->PlaySoundToSet(11367);
		RegisterAIUpdateEvent(1000);
	}