Ir para conteúdo
  • Cadastre-se

Programa%C3%A7%C3%A3o doPlayerSendChannelsDialog(cid)


Posts Recomendados

Nome: doPlayerSendChannelsDialog(cid)

Tipo: Função Lua

Autor: Oneshot


Essa é uma função para enviar a janela de canais através de uma função Lua que pode ser usada em diferentes scripts. Está presente nos diversos servidores de Pokémon, como uma maneira de enviar a janela de canais ao dar Use no computador.


Em luascript.h, procure por:



static int32_t luaGetChannelList(lua_State* L);

E adicione logo abaixo:
static int32_t luaDoPlayerSendChannelsDialog(lua_State* L);
Em luascript.cpp, procure por:


lua_register(m_luaState, "getChannelList", LuaInterface::luaGetChannelList);

E adicione logo abaixo:


lua_register(m_luaState, "doPlayerSendChannelsDialog", LuaInterface::luaDoPlayerSendChannelsDialog);

Ainda em luascript.cpp, procure por:


int32_t LuaInterface::luaGetChannelList(lua_State* L)

{

        //getChannelList()

        lua_newtable(L);

        ChannelList list = g_chat.getPublicChannels();


        ChannelList::const_iterator it = list.begin();

        for(uint32_t i = 1; it != list.end(); ++it, ++i)

        {

                createTable(L, i);

                setField(L, "id", (*it)->getId());

                setField(L, "name", (*it)->getName());


                setField(L, "flags", (*it)->getFlags());

                setField(L, "level", (*it)->getLevel());

                setField(L, "access", (*it)->getAccess());

                pushTable(L);

        }


        return 1;

}

E adicione logo abaixo:
int32_t LuaInterface::luaDoPlayerSendChannelsDialog(lua_State* L)

{

        //doPlayerSendChannelsDialog(uid)

        ScriptEnviroment* env = getEnv();

        if(Player* player = env->getPlayerByUID(popNumber(L)))

        {

                player->sendChannelsDialog();

                lua_pushboolean(L, true);

        }

        else

        {

                errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND));

                lua_pushboolean(L, false);

        }


        return 1;

}

Re-compile o servidor e seja feliz.


Link para o post
Compartilhar em outros sites
  • 1 year later...

@Emersonssss, você reviveu um tópico de 2012... quando tiver uma dúvide crie um tópico no suporte e cole o link desse tópico pra guiar melhor quem for te ajudar. Essa função manda pro player a lista de canais existentes no servidor e pra usar vc coloca essa linha no script: doPlayerSendChannelsDialog(cid). Ela vai retornar a lista completa de todos os canais existentes (Trade, Help, Game-Chat...etc)

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo