void ObjectController::doEnqueueCommand(uint32 command, const UnicodeString& arguments) {
	PlayerCreature* object = zone->getSelfPlayer();

	Locker _locker(object);

	BaseMessage* message = new ObjectControllerMessage(object->getObjectID(), 0x23, 0x116);

	message->insertInt(object->getNewActionCount());
	message->insertInt(command);
	message->insertLong(0);
	message->insertUnicode(arguments);

	object->getClient()->sendMessage(message);
}
void ObjectController::doSayCommand(const UnicodeString& msg) {
	PlayerCreature* object = zone->getSelfPlayer();

	Locker _locker(object);

	StringBuffer full;
	full << "0 " << "0 " << "0 " << "0 " << "0 " << msg.toString();

	BaseMessage* message = new ObjectControllerMessage(object->getObjectID(), 0x23, 0x116);

	message->insertInt(object->getNewActionCount());
	message->insertInt(String("spatialchatinternal").hashCode());
	message->insertLong(0);
	message->insertUnicode(full.toString());

	object->getClient()->sendMessage(message);
}
Exemplo n.º 3
0
void PlayerCreature::updatePosition(float x, float z, float y) {
	if (client == NULL)
		return;

	setPosition(x, z, y);

	BaseMessage* message = new ObjectControllerMessage(objectID, 0x23, 0x71);
	message->insertInt(++movementCounter);

	message->insertFloat(direction.getX());
	message->insertFloat(direction.getY());
	message->insertFloat(direction.getZ());
	message->insertFloat(direction.getW());

	message->insertFloat(x);
	message->insertFloat(z);
	message->insertFloat(y);

	message->insertInt(0);

	client->sendMessage(message);
}