Ir para conteúdo

Featured Replies

Postado

Olá, estou criando um poketibia com base no branch master do TFS (embora isso não realmente importe, já que minha dúvida é sobre um método interna relacionada ao client, deve ser igual independente do protocolo).

Avancei bastante, mas estaquei no seguinte: como verificar a string enviada pelo player ao servidor?

Na verdade, fiz o seguinte exemplo e funcionou (é apenas o meaning da coisa):

void Player::onCreatureSay(Creature* creature, SpeakClasses, const std::string& text)
{
	const Player* jogador = creature->getPlayer();

	if (jogador && jogador->getSummons() && text.find("foo") != std::string:npos)
	{
		jogador->sendCancelMessage("você digitou foo e tem um summon");
	}
}

Mas, seria esse o meio mais conveniente de checar a entrada? Ou melhor, o meio mais rápido? Esse método é chamado pra todos espectadores ou só pra quem deu a entrada de texto?

Bom citar que tive que dar override no onCreatureSay da classe Creature, já que por padrão a classe player não estende esse método, mas o chama.

Eu dei uma olhada em outros métodos, e achei o seguinte: bool ChatChannel::talk(const Player&, SpeakClasses, std::string&). É um possível candidato? 

 

P.S.: sei que é possível com talkactions, mas não vejo porque scriptar uma funcionalidade que será nativa no meu servidor.

 

 

 

Editado por Mono Singed (veja o histórico de edições)

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo