posso ta errado mas... se o player ja ta vindo como parametro pra q exatamente tu fez isso? ![]()
for(AutoList<Player>::iterator it = Player::autoList.begin(); it != Player::autoList.end(); ++it)
if(it->second == player)
era muito mais facil usar:
player->sendWorldLight(lightInfo);







info
Grupo: Campones
Registrado: 13/10/13
Posts: 35
Reputação: +15
Day & Night
É uma uma função que faz com que o jogo fique de Dia ou Noite, ilusórios (ou seja, o jogo não vai estar, mas ele vai apresentar que está, momentâneo [Até logout]).
Eu criei essa função porque necessitava tirar SSs e precisava da luz da noite, esse foi o único motivo de ter criado essa função... então, não aconselho a utilizarem isso se não for dessa maneira, porque... as horas do jogo não vão mudar, é ilusório. [Não tive motivos para criar dessa maneira.
]
Vamos lá!
Primeiramente, adicione no final de game.cpp:
void Game::setWorldTime(bool type, Player* player) { LightInfo lightInfo; if(!type) { lightInfo.level = LIGHT_LEVEL_NIGHT; } else { lightInfo.level = LIGHT_LEVEL_DAY; } lightInfo.color = 0xD7; player->sendWorldLight(lightInfo); }Em game.h, antes de:
void setWorldType(WorldType_t type) {worldType = type;}Adicione:
Em luascript.cpp, antes de:
Adicione:
int32_t LuaScriptInterface::luaSetWorldState(lua_State* L) { bool type = popBoolean(L); ScriptEnviroment* env = getEnv(); Player* player = env->getPlayerByUID(popNumber(L)); if(player) { g_game.setWorldTime(type, player); lua_pushnumber(L, true); return 1; } lua_pushnumber(L, false); return 1; }Ainda em luascript.cpp, antes de:
Adicione:
//setWorldState(uid, state = false) lua_register(m_luaState, "setWorldState", LuaScriptInterface::luaSetWorldState);E por último em luascript.h, antes de:
Adicione:
Como usar?
Tópico referente à: http://www.xtibia.com/forum/topic/231827-doacoes-fto/
Editado Abril 14 por JoaozinhoNA