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); }
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); }