[C++] "Playerbot Advanced"

Eu sou um leigo em C++, mas estou disposto a aprender a criar alguns scripts para o meu emulador, então eu gostaria de saber os comandos básicos, ou funções, ou scripts para me ajudar a mover o personagem, fazê-lo ir em login sem ter de obrigação o client logado por ele e efetuar várias funções, como se realmente fosse um jogador normal sem a necessidade de comando superior, recuperar mana, recuperar a vida, sentar, levantar, equipar um item automaticamente, dizer algo, selecione um destino para descobrir a saúde mana, a partir do alvo e descobrir a porcentagem deles, pular, usar um item , adicionar um buff, remover uma magia. Coisas do tipo, aguardo uma resposta. De inicio eu só quero saber um script prático para efetuar o login do jogador sem precisar do cliente estar logado…

Abraços,

bigCheat.

Não é possível de ser feito sem o cliente.

https://github.com/TrinityCore/TrinityCore/blob/master/src/server/scripts/Examples/example_escort.cpp

Tenho algumas perguntas:

Aguardo as respostas.

Abraços,

bigCheat.

Desculpa mais, pra fazer isso você teria que saber como o client envia as mensagens ao servidor, você teria que reescrever partes do client pra ser mais claro.

Alem do mais o Trinitycore não da suporte a isso, somente a edições no core.

O script de bots, e exatamente o nome, são bots que você adiciona, e fazem ações limitadas de players no servidor, como se fosse um NPC que age como player.

Sobre comandos, meio impossível dar dicas, primeiro tem que saber oque exatamente está precisando, depois indicar alguns comandos para serem usados.

A melhor dica e dar uma estudada no core, pra entender como ele funciona, boa sorte.

1 Like

Não.

Não há nenhum modo. Pois existem protocolos a seguir que não podem ser feitos no servidor.

Isso o melhor é perguntar no próprio tópico.

Não sei concretamente o que pretendes fazer… /emoticons/default_sad.png

Para fazer uma descrição prática e não muito específica do que eu quero fazer, estou pretendendo fazer algo similar ao playerbot porém seriam players que entrassem no servidor automaticamente, os seus guids seriam separados em uma nova tabela no banco de dados characters, evoluiam de level, pegariam quests, pegariam o loot, comer etc. é algo não muito simples porém estou disposto a estudar e aprender e gostaria muito da ajuda de vocês pois estive estudando o core, descobri algumas coisas porém não o suficiente. Mas de entrada gostaria de saber um modo de poder trazer o servidor ao “World” de um modo em que podessemos estar sempre atualizando o seu inventório, “livro de quests” e para que eu conseguisse fazer o que quero.

Abraços,

bigCheat.

Se bem entendi, pretendes que os players “saltem” a autenticação e entrem directamente no world?

Ou ter de alguma forma uma interface (tipo página web) para os players se logarem e jogarem através da web?

Ou ainda ter as chars dos players a jogarem sozinhos?

Bom se for necessário uma forma de interface pela web tudo bem, o importante é ser independente, ou seja, não precisar de que alguém precise ir lá para autenticar os bots. Eu pretendo fazer um sistemas de bots independentes para evoluirem de level, jogarem, pegarem itens etc.

Portanto o que pretendes é que as chars dos jogadores possam jogar sozinhos quando os jogadores estão offline???

Não exatamente, pretendo criar personagens em conas específicas e utilizar eles.

Mas utilizá-las de que modo? Tem de existir sempre o utilizador logado no cliente.

O playerbot permite criar chars como se tratassem de pets (animais de estimação) anexados a própria conta do utilizador. Não sei se é possível de criar chars que possam ser usadas por todos os utilizadores…

Na verdade eles não seriam usados por todos os usuários, eles seriam utilizados pelo própio servidor, é como eu disse, os guids dos personagens a fazerem login seriam separados em uma nova tabela, então o servidor pegaria esses guids e colocaria os jogadores in-game e então os jogadores que estivessem in-game (bot) efetuariam as funções de acordo com a ocasião em que se encontrariam. Mas todo o script seria efetuado pelo servidor, os jogadores não teriam acesso aos bots. É exatamente por isso que eu gostaria de uma forma simples e prática para simular o client e fazer a autenticação completa dos jogadores no servidor.

Não seria mais simples de criar um NPC e com o SAI efectuar essas acções todas?

Se bem entendi, pretendes que criar 1 char para esta jogar sozinha… Não entendo o objectivo…

Pretendo criar um personagem para este funcionar como um jogador e ficar no World junto com os outros jogadores, interagir etc. é mais para testes pois sempre tive vontade de fazer um script parecido porém nunca tive tempo livre, e agora estou de férias e estou disposto a perder muitos neurônios na luta desse script. /emoticons/default_smile.png

Inteligência Artificial??? /emoticons/default_biggrin.png :smiley:

Duvido que o TrinityCore ou mesmo o teu PC tenha CPU suficiente para fazer tal coisa, já para não falar da milhares de linhas de código que seriam necessárias para fazer algo aproximado a isso.

Podes analisar o ficheiro player.cpp, mas duvido que tenhas lá informação suficiente para desenvolveres tal coisa. Muito do que precisas faz parte do cliente e nós não temos acesso a isso. O reverse engineering feito é apenas sobre a transmissão de dados entre o cliente e o servidor… nada mais.

Oh, que pena. Mas não posso chegar em nada parecido? Ou quem sabe simular apenas 1 player, para testes, como arena etc. Algo parecido para trabalhar como aqueles bots que evoluem seu level, fazem battleground, warsong, porém sem o client.

Podes criar 1 NPC e vesti-lo como se um player fosse… e usar o SAI para programares eventos nesse NPC.

É claro que não é aquilo que pretendes… mas chega lá perto.

Mas algo como por exemplo dar join em uma arena, ou em uma battleground, será possível?

Infelizmente não.

Então qual forma eu poderia utilizar para conseguir? Mesmo que seja apenas 1 bot, já é um bom começo pra mim. Gostaria apenas de saber qual modo utilizaria para por o personagem no World, seja por um creature como no script do playerbot (imagino eu), ou sem o cliente. Qualquer forma serve.