public addFloat ( float value, int reversed ) : void | ||
value | float | |
reversed | int | |
return | void |
// Place Methods here for Skills public void sendCastAbilityBar(UInt16 abilityID, float timeProcessing) { PacketContent pak = new PacketContent(); pak.addUint16((UInt16)RPCResponseHeaders.SERVER_CAST_BAR_ABILITY, 0); pak.addUint16(abilityID, 1); pak.addHexBytes("00000000000000000000"); pak.addFloat(timeProcessing, 1); Store.currentClient.messageQueue.addRpcMessage(pak.returnFinalPacket()); }
public void sendPlayerAnimation(WorldClient client, String hexAnimation) { // See animations.txt - hex animation is the first Id // Some samples: /* * 7312 1273 = Stand_Abil_ProgLauSelectivePhage2s_A * 7412 1274 = Stand_Abil_ProgLauSelectivePhage4s_A * 7512 1275 = Stand_Abil_ProgLauSelectivePhage6s_A * 7612 1276 = Stand_Abil_ProgLauSelectivePhage8s_A */ Random rand = new Random(); byte[] Ltvector3d = Store.currentClient.playerInstance.Position.getValue(); double x = 0; double y = 0; double z = 0; NumericalUtils.LtVector3dToDoubles(Ltvector3d, ref x, ref y, ref z); float xPos = (float)x; float yPos = (float)y; float zPos = (float)z; PacketContent pak = new PacketContent(); pak.addUint16(2, 1); pak.addByteArray(new byte[] { 0x01, 0x28 }); pak.addUintShort((ushort)rand.Next(0, 255)); pak.addByteArray(new byte[] { 0x40, 00 }); pak.addByte(0x29); pak.addHexBytes(hexAnimation); pak.addByteArray(new byte[] { 0x00, 0x01 }); pak.addFloat(xPos, 1); pak.addFloat(yPos, 1); pak.addFloat(zPos, 1); pak.addByteArray(new byte[] { 0x20, 0x9f, 0x1e, 0x20 }); pak.addUint16(0, 1); client.messageQueue.addObjectMessage(pak.returnFinalPacket(), false); client.FlushQueue(); }
public void SendHyperJumpStepUpdate(LtVector3f currentPos, double xDestPos, double yDestPos, double zDestPos, float jumpHeight, uint endtime, ushort stepJumpId, uint maybeTimeBasedValue, bool isLastStep = false) { PacketContent pak = new PacketContent(); pak.addUint16(2, 1); pak.addByte(0x03); pak.addByte(0x0d); pak.addByte(0x08); pak.addByte(0x00); pak.addUintShort(Store.currentClient.playerData.getJumpID()); pak.addFloatLtVector3f(currentPos.x, currentPos.y, currentPos.z); pak.addUintShort(stepJumpId); pak.addUint32(maybeTimeBasedValue, 1); // ToDo: Insert 2 missing bytes (or 4 as the next 2 bytes MAYBE wrong) pak.addByte(0x8a); pak.addByte(0x04); pak.addByte(0x80); pak.addByte(0x88); pak.addByteArray(new byte[] { 0x00, 0x00, 0x00, 0x00, 0xbc }); pak.addFloat(jumpHeight, 1); pak.addUint16(4, 1); pak.addUint32(endtime, 1); pak.addDoubleLtVector3d(xDestPos, yDestPos, zDestPos); pak.addByteArray(new byte[] { 0x80, 0x81, 0x00, 0x02 }); if (isLastStep) { pak.addByte(0x00); Store.currentClient.playerData.isJumping = false; } else { pak.addByte(0x01); } Store.currentClient.messageQueue.addObjectMessage(pak.returnFinalPacket(), false); Store.currentClient.FlushQueue(); }
public void SendHyperJumpStepUpdate(LtVector3f currentPos, double xDestPos, double yDestPos, double zDestPos, float jumpHeight, UInt32 endtime) { PacketContent pak = new PacketContent(); pak.addUint16(2, 1); pak.addByte(0x03); pak.addByte(0x0d); pak.addByte(0x08); pak.addByte(0x00); pak.addFloatLtVector3f(currentPos.x, currentPos.y, currentPos.z); pak.addByte(0x8a); pak.addByte(0x04); pak.addByte(0x80); pak.addByte(0x88); pak.addByteArray(new byte[] { 0x00, 0x00, 0x00, 0x00, 0xbc }); pak.addFloat(jumpHeight, 1); pak.addUint16(4, 1); pak.addUint32(endtime, 1); pak.addDoubleLtVector3d(xDestPos, yDestPos, zDestPos); pak.addByteArray(new byte[] { 0x80, 0x81, 0x00, 0x02, 0x01, 0x00 }); Store.currentClient.messageQueue.addObjectMessage(pak.returnFinalPacket(), false); Store.currentClient.FlushQueue(); }
public void sendPlayerAnimation(WorldClient client, String hexAnimation) { // See animations.txt - hex animation is the first Id // Some samples: /* * 7312 1273 = Stand_Abil_ProgLauSelectivePhage2s_A 7412 1274 = Stand_Abil_ProgLauSelectivePhage4s_A 7512 1275 = Stand_Abil_ProgLauSelectivePhage6s_A 7612 1276 = Stand_Abil_ProgLauSelectivePhage8s_A */ Random rand = new Random(); byte[] Ltvector3d = Store.currentClient.playerInstance.Position.getValue(); double x = 0; double y = 0; double z = 0; NumericalUtils.LtVector3dToDoubles(Ltvector3d, ref x, ref y, ref z); float xPos = (float)x; float yPos = (float)y; float zPos = (float)z; PacketContent pak = new PacketContent(); pak.addUint16(2, 1); pak.addByteArray(new byte[]{0x01,0x28}); pak.addUintShort((ushort)rand.Next(0, 255)); pak.addByteArray(new byte[] { 0x40, 00 }); pak.addByte(0x29); pak.addHexBytes(hexAnimation); pak.addByteArray(new byte[] { 0x00, 0x01 }); pak.addFloat(xPos,1); pak.addFloat(yPos,1); pak.addFloat(zPos,1); pak.addByteArray(new byte[] {0x20, 0x9f, 0x1e, 0x20}); pak.addUint16(0, 1); client.messageQueue.addObjectMessage(pak.returnFinalPacket(), false); client.flushQueue(); }