Ir para conteúdo

Perfect nick system 100%


Strogman

Posts Recomendados

Bem código, parabéns...

r

@@gristony, explique claramente o que faz o código no começo.

uma olhada rápida eu acho que é um sistema que faz alterar o nick sem dar logout...

 

 

 

não vejo necessidade de explicar o que o code faz, pois praticamente todo mundo conhece o sistema de nick/apelido, é um system bem popular no poketibia.

 

bom resumindo ela muda o nome exibido em cima do personagem.

Editado por gristony
Link para o comentário
Compartilhar em outros sites

Manin, eu tentei mudar o nome do player ao utilizar uma actions com estes parametros:

 

 

doCreatureSetNick(cid, "Gooh")

 

... Ele começa a dar lag no servidor e 2 segundos dps crasha :/ Vou tentar com Summons agr

Link para o comentário
Compartilhar em outros sites

Manin, eu tentei mudar o nome do player ao utilizar uma actions com estes parametros:

doCreatureSetNick(cid, "Gooh")

... Ele começa a dar lag no servidor e 2 segundos dps crasha :/ Vou tentar com Summons agr

 

compilou a source no modo rebuild all ou sem os arquivos .obj?

Link para o comentário
Compartilhar em outros sites

Mais ou menos... vou dar um rebuild certin agora...

 

Obs: Sem o Rebuild eu testei no summon utilizei isso:

 

 

doSummonCreature("fire elemental", getCreaturePosition(cid))
addEvent(function()
doCreatureSetNick(getCreatureSummons(cid)[1], "Gooh")
end, 5000)

 

Isto executa ao clicar em um item... vou dar o rebuild aqui e se funfar ganha rep + :D

Link para o comentário
Compartilhar em outros sites

 

não vejo necessidade de explicar o que o code faz, pois praticamente todo mundo conhece o sistema de nick/apelido, é um system bem popular no poketibia.

 

bom resumindo ela muda o nome exibido em cima do personagem.

Nem todo mundo joga poketibia.

Se você não explica, o tópico fica direcionando para quem conhece o sistema...

 

Você que sabe, só tentei sugerir...

Link para o comentário
Compartilhar em outros sites

Nem todo mundo joga poketibia.

Se você não explica, o tópico fica direcionando para quem conhece o sistema...

 

Você que sabe, só tentei sugerir...

 

vlw pela sugestão irei por, mas sim é direcionado para poketibia ele só muda a exibição do nome no client não o nome mesmo então meio que nao tem utilidade em um tibia ou algo do tipo. mas vai saber né alguém pode ter uma ideia pra usar esse system em outros projetos XD.

Editado por gristony
Link para o comentário
Compartilhar em outros sites

Cara. não sei se tu testou isso:

 

        Player* player;
        creature->nick = nick;
        player->sendCreatureNick(creature);

Mas veja bem, tu declara uma variavel do tipo Player*, mas não inicializa, ou seja, isso é um objeto nullptr, ai tu logo em seguida usa um metodo dela? sendo que esse metodo necessita da variavel cliente que é uma instancia do protocolgame ...

Eu acho que isso não vai enviar é nada pra ninguem '-'

o certo na minha opnião seria tu fazer o seguinte, mudou o nome da creature cid, pega os spectators dela, e envia isso pra cada um deles, ai sim creio que va funcionar

Link para o comentário
Compartilhar em outros sites

Cara. não sei se tu testou isso:

        Player* player;
        creature->nick = nick;
        player->sendCreatureNick(creature);

Mas veja bem, tu declara uma variavel do tipo Player*, mas não inicializa, ou seja, isso é um objeto nullptr, ai tu logo em seguida usa um metodo dela? sendo que esse metodo necessita da variavel cliente que é uma instancia do protocolgame ...

Eu acho que isso não vai enviar é nada pra ninguem '-'

o certo na minha opnião seria tu fazer o seguinte, mudou o nome da creature cid, pega os spectators dela, e envia isso pra cada um deles, ai sim creio que va funcionar

 

pser eu não tinha testado, meio que fiz o code as presas tive nem tempo de testar.

corrigi o erro e testei agora tá tudo certin.

 

topic corrigido

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);
                   break;
               }
        }
    }else{
        lua_pushnil(L);
    }
    return 1;
}
Editado por gristony
Link para o comentário
Compartilhar em outros sites

Pronto... Dei Re-build, Substitui a função reloadCreature e quando vai compilar dá este erro:

https://gyazo.com/0186ddead9be8175bad3f93176881430

tem uma parte do tutorial que é isso:

substitua:

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

No meu não tem isto:

 

 

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

mas tem isto:

 

 

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

então eu substitui do mesmo jeito...

 

Iai, teria como ajudar dnv?? kkk

Editado por Drazyn1291
Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...