Procure static int32_t luaL_errors(lua_State* L); e abaixo coloque
static int32_t luaOpenPrivateChannel(lua_State* L);
depois procure por lua_register(m_luaState, "doPlayerSendCancel", LuaInterface::luaDoPlayerSendCancel); e acima coloque
//OpenPrivateChannel(cid) lua_register(m_luaState, "openPrivateChannel", LuaInterface::luaOpenPrivateChannel);
Depois procure por int32_t LuaInterface::luaGetTileInfo(lua_State* L) e coloque acima
int32_t LuaInterface::luaOpenPrivateChannel(lua_State* L){ ScriptEnviroment* env = getEnv(); uint32_t cid = popNumber(L); Player* player = env->getPlayerByUID(cid); if (!player || player->isRemoved() || !player->isPremium()) return false; ChatChannel* channel = g_chat.createChannel(player, 0xFFFF); if (!channel || !channel->addUser(player)) return false; player->sendCreatePrivateChannel(channel->getId(), channel->getName()); return true;}
Agora vamos ao script para abrir o Live/Cast ao fazer logon.
Vá em data/Creatureevents e crie um arquivo chamado live.lua e coloque o código abaixo
function onLogin(cid)local t, data = 1, getPlayerSpectators(cid)if getPlayerAccountManager(cid) == MANAGER_NONE and getPlayerAccess(cid) <= 4 then -- Account Manager não irá iniciar o Cast e GM também não, mude apenas o Acess caso seja diferentedata.broadcast = truedoPlayerSetSpectators(cid, data)db.executeQuery("UPDATE `players` SET `broadcasting` = 1 WHERE `id` = " .. getPlayerGUID(cid))doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu Cast foi ativado automaticamente, para desativar digite /live off.")openPrivateChannel(cid) -- A função para abrir o PrivateChannelendreturn trueend
Depois abra o login.lua e coloque registerCreatureEvent(cid, "AutoCast")
Feito isso, abra o creaturescript.xml e coloque
<event type="login" name="AutoCast" event="script" value="live.lua"/>
Creditos: joadson