Refactor waitForMessage to waitForPacket (since it returns a packet) and add a new waitForMessage which return the MessageBase, which makes usage a little tidier with async.
This commit is contained in:
6
dist/Bot.js
vendored
6
dist/Bot.js
vendored
@@ -64,7 +64,7 @@ class Bot {
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
circuit.sendMessage(msg, PacketFlags_1.PacketFlags.Reliable);
|
||||
circuit.waitForMessage(Message_1.Message.LogoutReply, 5000).then((packet) => {
|
||||
circuit.waitForPacket(Message_1.Message.LogoutReply, 5000).then((packet) => {
|
||||
}).catch((error) => {
|
||||
console.error('Timeout waiting for logout reply');
|
||||
}).then(() => {
|
||||
@@ -109,7 +109,7 @@ class Bot {
|
||||
CircuitCode: circuit.circuitCode
|
||||
};
|
||||
circuit.sendMessage(agentMovement, PacketFlags_1.PacketFlags.Reliable);
|
||||
return circuit.waitForMessage(Message_1.Message.RegionHandshake, 10000);
|
||||
return circuit.waitForPacket(Message_1.Message.RegionHandshake, 10000);
|
||||
}).then((packet) => {
|
||||
const handshakeReply = new RegionHandshakeReply_1.RegionHandshakeReplyMessage();
|
||||
handshakeReply.AgentData = {
|
||||
@@ -144,7 +144,7 @@ class Bot {
|
||||
OldestUnacked: this.currentRegion.circuit.getOldestUnacked()
|
||||
};
|
||||
circuit.sendMessage(ping, PacketFlags_1.PacketFlags.Reliable);
|
||||
circuit.waitForMessage(Message_1.Message.CompletePingCheck, 10000, ((pingData, packet) => {
|
||||
circuit.waitForPacket(Message_1.Message.CompletePingCheck, 10000, ((pingData, packet) => {
|
||||
const cpc = packet.message;
|
||||
if (cpc.PingID.PingID === pingData.pingID) {
|
||||
this.lastSuccessfulPing = new Date().getTime();
|
||||
|
||||
2
dist/Bot.js.map
vendored
2
dist/Bot.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/classes/Agent.js
vendored
2
dist/classes/Agent.js
vendored
@@ -135,7 +135,7 @@ class Agent {
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
circuit.sendMessage(wearablesRequest, PacketFlags_1.PacketFlags.Reliable);
|
||||
circuit.waitForMessage(Message_1.Message.AgentWearablesUpdate, 10000).then((packet) => {
|
||||
circuit.waitForPacket(Message_1.Message.AgentWearablesUpdate, 10000).then((packet) => {
|
||||
const wearables = packet.message;
|
||||
if (!this.wearables || wearables.AgentData.SerialNum > this.wearables.serialNumber) {
|
||||
this.wearables = {
|
||||
|
||||
2
dist/classes/Agent.js.map
vendored
2
dist/classes/Agent.js.map
vendored
File diff suppressed because one or more lines are too long
3
dist/classes/Circuit.d.ts
vendored
3
dist/classes/Circuit.d.ts
vendored
@@ -39,7 +39,8 @@ export declare class Circuit {
|
||||
waitForAck(ack: number, timeout: number): Promise<void>;
|
||||
init(): void;
|
||||
shutdown(): void;
|
||||
waitForMessage(id: Message, timeout: number, filter?: (packet: Packet) => FilterResponse): Promise<Packet>;
|
||||
waitForMessage(id: Message, timeout: number, filter?: (packet: Packet) => FilterResponse): Promise<MessageBase>;
|
||||
waitForPacket(id: Message, timeout: number, filter?: (packet: Packet) => FilterResponse): Promise<Packet>;
|
||||
sendPacket(packet: Packet): void;
|
||||
ackReceived(sequenceNumber: number): void;
|
||||
sendAck(sequenceNumber: number): void;
|
||||
|
||||
14
dist/classes/Circuit.js
vendored
14
dist/classes/Circuit.js
vendored
@@ -1,4 +1,12 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const dgram = require("dgram");
|
||||
const PacketFlags_1 = require("../enums/PacketFlags");
|
||||
@@ -103,6 +111,12 @@ class Circuit {
|
||||
}
|
||||
}
|
||||
waitForMessage(id, timeout, filter) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const msg = yield this.waitForPacket(id, timeout, filter);
|
||||
return msg.message;
|
||||
});
|
||||
}
|
||||
waitForPacket(id, timeout, filter) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const handleObj = {
|
||||
timeout: null,
|
||||
|
||||
2
dist/classes/Circuit.js.map
vendored
2
dist/classes/Circuit.js.map
vendored
File diff suppressed because one or more lines are too long
1
dist/classes/UUID.d.ts
vendored
1
dist/classes/UUID.d.ts
vendored
@@ -7,4 +7,5 @@ export declare class UUID {
|
||||
setUUID(val: string): boolean;
|
||||
toString: () => string;
|
||||
writeToBuffer(buf: Buffer, pos: number): void;
|
||||
equals(cmp: UUID | string): boolean;
|
||||
}
|
||||
|
||||
8
dist/classes/UUID.js
vendored
8
dist/classes/UUID.js
vendored
@@ -49,6 +49,14 @@ class UUID {
|
||||
const binary = Buffer.from(shortened, 'hex');
|
||||
binary.copy(buf, pos, 0);
|
||||
}
|
||||
equals(cmp) {
|
||||
if (typeof cmp === 'string') {
|
||||
return (cmp === this.mUUID);
|
||||
}
|
||||
else {
|
||||
return cmp.equals(this.mUUID);
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.UUID = UUID;
|
||||
//# sourceMappingURL=UUID.js.map
|
||||
2
dist/classes/UUID.js.map
vendored
2
dist/classes/UUID.js.map
vendored
@@ -1 +1 @@
|
||||
{"version":3,"file":"UUID.js","sourceRoot":"","sources":["../../lib/classes/UUID.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"UUID.js","sourceRoot":"","sources":["../../lib/classes/UUID.ts"],"names":[],"mappings":"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"}
|
||||
44
dist/classes/commands/AgentCommands.js
vendored
44
dist/classes/commands/AgentCommands.js
vendored
@@ -1,31 +1,45 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const AgentAnimation_1 = require("../messages/AgentAnimation");
|
||||
const PacketFlags_1 = require("../../enums/PacketFlags");
|
||||
const CommandsBase_1 = require("./CommandsBase");
|
||||
class AgentCommands extends CommandsBase_1.CommandsBase {
|
||||
animate(anim, run) {
|
||||
const circuit = this.currentRegion.circuit;
|
||||
const animPacket = new AgentAnimation_1.AgentAnimationMessage();
|
||||
animPacket.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
animPacket.PhysicalAvatarEventList = [];
|
||||
animPacket.AnimationList = [];
|
||||
anim.forEach((a) => {
|
||||
animPacket.AnimationList.push({
|
||||
AnimID: a,
|
||||
StartAnim: run
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const circuit = this.currentRegion.circuit;
|
||||
const animPacket = new AgentAnimation_1.AgentAnimationMessage();
|
||||
animPacket.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
animPacket.PhysicalAvatarEventList = [];
|
||||
animPacket.AnimationList = [];
|
||||
anim.forEach((a) => {
|
||||
animPacket.AnimationList.push({
|
||||
AnimID: a,
|
||||
StartAnim: run
|
||||
});
|
||||
});
|
||||
return yield circuit.waitForAck(circuit.sendMessage(animPacket, PacketFlags_1.PacketFlags.Reliable), 10000);
|
||||
});
|
||||
return circuit.waitForAck(circuit.sendMessage(animPacket, PacketFlags_1.PacketFlags.Reliable), 10000);
|
||||
}
|
||||
startAnimations(anim) {
|
||||
return this.animate(anim, true);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
return yield this.animate(anim, true);
|
||||
});
|
||||
}
|
||||
stopAnimations(anim) {
|
||||
return this.animate(anim, false);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
return yield this.animate(anim, false);
|
||||
});
|
||||
}
|
||||
}
|
||||
exports.AgentCommands = AgentCommands;
|
||||
|
||||
2
dist/classes/commands/AgentCommands.js.map
vendored
2
dist/classes/commands/AgentCommands.js.map
vendored
@@ -1 +1 @@
|
||||
{"version":3,"file":"AgentCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/AgentCommands.ts"],"names":[],"mappings":";;AACA,+DAAiE;AACjE,yDAAoD;AACpD,iDAA4C;AAE5C,mBAA2B,SAAQ,2BAAY;IAEnC,OAAO,CAAC,IAAY,EAAE,GAAY;QAGtC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,sCAAqB,EAAE,CAAC;QAC/C,UAAU,CAAC,SAAS,GAAG;YACnB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;YAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAC;QACF,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAC;QACxC,UAAU,CAAC,aAAa,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAEf,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,GAAG;aACjB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,yBAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5F,CAAC;IAED,eAAe,CAAC,IAAY;QAExB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,IAAY;QAEvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;CACJ;AAjCD,sCAiCC"}
|
||||
{"version":3,"file":"AgentCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/AgentCommands.ts"],"names":[],"mappings":";;;;;;;;;;AACA,+DAAiE;AACjE,yDAAoD;AACpD,iDAA4C;AAE5C,mBAA2B,SAAQ,2BAAY;IAE7B,OAAO,CAAC,IAAY,EAAE,GAAY;;YAG5C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC3C,MAAM,UAAU,GAAG,IAAI,sCAAqB,EAAE,CAAC;YAC/C,UAAU,CAAC,SAAS,GAAG;gBACnB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;gBAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;aAC/B,CAAC;YACF,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAC;YACxC,UAAU,CAAC,aAAa,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAEf,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC;oBAC1B,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,GAAG;iBACjB,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,yBAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;QAClG,CAAC;KAAA;IAEK,eAAe,CAAC,IAAY;;YAE9B,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;KAAA;IAEK,cAAc,CAAC,IAAY;;YAE7B,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;KAAA;CACJ;AAjCD,sCAiCC"}
|
||||
12
dist/classes/commands/AssetCommands.js
vendored
12
dist/classes/commands/AssetCommands.js
vendored
@@ -1,4 +1,12 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const CommandsBase_1 = require("./CommandsBase");
|
||||
const UUID_1 = require("../UUID");
|
||||
@@ -6,7 +14,9 @@ const LLSD = require("@caspertech/llsd");
|
||||
const Utils_1 = require("../Utils");
|
||||
class AssetCommands extends CommandsBase_1.CommandsBase {
|
||||
downloadAsset(type, uuid) {
|
||||
return this.currentRegion.caps.downloadAsset(uuid, type);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
return yield this.currentRegion.caps.downloadAsset(uuid, type);
|
||||
});
|
||||
}
|
||||
uploadAsset(type, data, name, description) {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
2
dist/classes/commands/AssetCommands.js.map
vendored
2
dist/classes/commands/AssetCommands.js.map
vendored
@@ -1 +1 @@
|
||||
{"version":3,"file":"AssetCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/AssetCommands.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAE5C,kCAA6B;AAC7B,yCAAyC;AACzC,oCAA+B;AAE/B,mBAA2B,SAAQ,2BAAY;IAE3C,aAAa,CAAC,IAAgB,EAAE,IAAU;QAEtC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,WAAW,CAAC,IAAgB,EAAE,IAAY,EAAE,IAAY,EAAE,WAAmB;QAEzE,MAAM,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAEzC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CACtG,CAAC;gBACG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE;oBAC5D,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACrE,YAAY,EAAE,IAAI;oBAClB,gBAAgB,EAAE,aAAK,CAAC,4BAA4B,CAAC,IAAI,CAAC;oBAC1D,MAAM,EAAE,IAAI;oBACZ,aAAa,EAAE,WAAW;oBAC1B,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC9D,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC3D,iBAAiB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChE,sBAAsB,EAAE,CAAC;iBAC5B,CAAC,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE;oBAEtB,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CACnC,CAAC;wBACG,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;wBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,cAAmB,EAAE,EAAE;4BAEpF,OAAO,CAAC,IAAI,WAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBAC9D,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;4BAEb,MAAM,CAAC,GAAG,CAAC,CAAC;wBAChB,CAAC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAEb,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAA;YACN,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA3CD,sCA2CC"}
|
||||
{"version":3,"file":"AssetCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/AssetCommands.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,iDAA4C;AAE5C,kCAA6B;AAC7B,yCAAyC;AACzC,oCAA+B;AAE/B,mBAA2B,SAAQ,2BAAY;IAErC,aAAa,CAAC,IAAgB,EAAE,IAAU;;YAE5C,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;KAAA;IAED,WAAW,CAAC,IAAgB,EAAE,IAAY,EAAE,IAAY,EAAE,WAAmB;QAEzE,MAAM,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAEzC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CACtG,CAAC;gBACG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE;oBAC5D,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACrE,YAAY,EAAE,IAAI;oBAClB,gBAAgB,EAAE,aAAK,CAAC,4BAA4B,CAAC,IAAI,CAAC;oBAC1D,MAAM,EAAE,IAAI;oBACZ,aAAa,EAAE,WAAW;oBAC1B,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC9D,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC3D,iBAAiB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChE,sBAAsB,EAAE,CAAC;iBAC5B,CAAC,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE;oBAEtB,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CACnC,CAAC;wBACG,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;wBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,cAAmB,EAAE,EAAE;4BAEpF,OAAO,CAAC,IAAI,WAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBAC9D,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;4BAEb,MAAM,CAAC,GAAG,CAAC,CAAC;wBAChB,CAAC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAEb,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAA;YACN,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA3CD,sCA2CC"}
|
||||
@@ -1,8 +1,8 @@
|
||||
import { CommandsBase } from './CommandsBase';
|
||||
import { UUID } from '../UUID';
|
||||
import { ChatType } from '../../enums/ChatType';
|
||||
import { FriendRequestEvent } from '../../events/FriendRequestEvent';
|
||||
import { InventoryOfferedEvent } from '../../events/InventoryOfferedEvent';
|
||||
import { FriendRequestEvent } from '../..';
|
||||
export declare class CommunicationsCommands extends CommandsBase {
|
||||
sendInstantMessage(to: UUID | string, message: string): Promise<void>;
|
||||
nearbyChat(message: string, type: ChatType, channel?: number): Promise<void>;
|
||||
|
||||
483
dist/classes/commands/CommunicationsCommands.js
vendored
483
dist/classes/commands/CommunicationsCommands.js
vendored
@@ -1,4 +1,12 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const CommandsBase_1 = require("./CommandsBase");
|
||||
const UUID_1 = require("../UUID");
|
||||
@@ -10,156 +18,173 @@ const ChatFromViewer_1 = require("../messages/ChatFromViewer");
|
||||
const ChatType_1 = require("../../enums/ChatType");
|
||||
const InstantMessageDialog_1 = require("../../enums/InstantMessageDialog");
|
||||
const AcceptFriendship_1 = require("../messages/AcceptFriendship");
|
||||
const AssetType_1 = require("../../enums/AssetType");
|
||||
const DeclineFriendship_1 = require("../messages/DeclineFriendship");
|
||||
const ChatSourceType_1 = require("../../enums/ChatSourceType");
|
||||
const __1 = require("../..");
|
||||
class CommunicationsCommands extends CommandsBase_1.CommandsBase {
|
||||
sendInstantMessage(to, message) {
|
||||
const circuit = this.circuit;
|
||||
if (typeof to === 'string') {
|
||||
to = new UUID_1.UUID(to);
|
||||
}
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: to,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 1,
|
||||
Dialog: 0,
|
||||
ID: UUID_1.UUID.zero(),
|
||||
Timestamp: Math.floor(new Date().getTime() / 1000),
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(message),
|
||||
BinaryBucket: Buffer.allocUnsafe(0)
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return circuit.waitForAck(sequenceNo, 10000);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const circuit = this.circuit;
|
||||
if (typeof to === 'string') {
|
||||
to = new UUID_1.UUID(to);
|
||||
}
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: to,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 1,
|
||||
Dialog: 0,
|
||||
ID: UUID_1.UUID.zero(),
|
||||
Timestamp: Math.floor(new Date().getTime() / 1000),
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(message),
|
||||
BinaryBucket: Buffer.allocUnsafe(0)
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
}
|
||||
nearbyChat(message, type, channel) {
|
||||
if (channel === undefined) {
|
||||
channel = 0;
|
||||
}
|
||||
const cfv = new ChatFromViewer_1.ChatFromViewerMessage();
|
||||
cfv.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
cfv.ChatData = {
|
||||
Message: Utils_1.Utils.StringToBuffer(message),
|
||||
Type: type,
|
||||
Channel: channel
|
||||
};
|
||||
const sequenceNo = this.circuit.sendMessage(cfv, PacketFlags_1.PacketFlags.Reliable);
|
||||
return this.circuit.waitForAck(sequenceNo, 10000);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if (channel === undefined) {
|
||||
channel = 0;
|
||||
}
|
||||
const cfv = new ChatFromViewer_1.ChatFromViewerMessage();
|
||||
cfv.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
cfv.ChatData = {
|
||||
Message: Utils_1.Utils.StringToBuffer(message),
|
||||
Type: type,
|
||||
Channel: channel
|
||||
};
|
||||
const sequenceNo = this.circuit.sendMessage(cfv, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield this.circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
}
|
||||
say(message, channel) {
|
||||
return this.nearbyChat(message, ChatType_1.ChatType.Normal, channel);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
return yield this.nearbyChat(message, ChatType_1.ChatType.Normal, channel);
|
||||
});
|
||||
}
|
||||
whisper(message, channel) {
|
||||
return this.nearbyChat(message, ChatType_1.ChatType.Whisper, channel);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
return yield this.nearbyChat(message, ChatType_1.ChatType.Whisper, channel);
|
||||
});
|
||||
}
|
||||
shout(message, channel) {
|
||||
return this.nearbyChat(message, ChatType_1.ChatType.Shout, channel);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
return yield this.nearbyChat(message, ChatType_1.ChatType.Shout, channel);
|
||||
});
|
||||
}
|
||||
startTypingLocal() {
|
||||
const cfv = new ChatFromViewer_1.ChatFromViewerMessage();
|
||||
cfv.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
cfv.ChatData = {
|
||||
Message: Buffer.allocUnsafe(0),
|
||||
Type: ChatType_1.ChatType.StartTyping,
|
||||
Channel: 0
|
||||
};
|
||||
const sequenceNo = this.circuit.sendMessage(cfv, PacketFlags_1.PacketFlags.Reliable);
|
||||
return this.circuit.waitForAck(sequenceNo, 10000);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const cfv = new ChatFromViewer_1.ChatFromViewerMessage();
|
||||
cfv.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
cfv.ChatData = {
|
||||
Message: Buffer.allocUnsafe(0),
|
||||
Type: ChatType_1.ChatType.StartTyping,
|
||||
Channel: 0
|
||||
};
|
||||
const sequenceNo = this.circuit.sendMessage(cfv, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield this.circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
}
|
||||
stopTypingLocal() {
|
||||
const cfv = new ChatFromViewer_1.ChatFromViewerMessage();
|
||||
cfv.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
cfv.ChatData = {
|
||||
Message: Buffer.allocUnsafe(0),
|
||||
Type: ChatType_1.ChatType.StopTyping,
|
||||
Channel: 0
|
||||
};
|
||||
const sequenceNo = this.circuit.sendMessage(cfv, PacketFlags_1.PacketFlags.Reliable);
|
||||
return this.circuit.waitForAck(sequenceNo, 10000);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const cfv = new ChatFromViewer_1.ChatFromViewerMessage();
|
||||
cfv.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
cfv.ChatData = {
|
||||
Message: Buffer.allocUnsafe(0),
|
||||
Type: ChatType_1.ChatType.StopTyping,
|
||||
Channel: 0
|
||||
};
|
||||
const sequenceNo = this.circuit.sendMessage(cfv, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield this.circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
}
|
||||
startTypingIM(to) {
|
||||
if (typeof to === 'string') {
|
||||
to = new UUID_1.UUID(to);
|
||||
}
|
||||
const circuit = this.circuit;
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: to,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 0,
|
||||
Dialog: InstantMessageDialog_1.InstantMessageDialog.StartTyping,
|
||||
ID: UUID_1.UUID.zero(),
|
||||
Timestamp: Math.floor(new Date().getTime() / 1000),
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(''),
|
||||
BinaryBucket: Buffer.allocUnsafe(0)
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return circuit.waitForAck(sequenceNo, 10000);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if (typeof to === 'string') {
|
||||
to = new UUID_1.UUID(to);
|
||||
}
|
||||
const circuit = this.circuit;
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: to,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 0,
|
||||
Dialog: InstantMessageDialog_1.InstantMessageDialog.StartTyping,
|
||||
ID: UUID_1.UUID.zero(),
|
||||
Timestamp: Math.floor(new Date().getTime() / 1000),
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(''),
|
||||
BinaryBucket: Buffer.allocUnsafe(0)
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
}
|
||||
stopTypingIM(to) {
|
||||
if (typeof to === 'string') {
|
||||
to = new UUID_1.UUID(to);
|
||||
}
|
||||
const circuit = this.circuit;
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: to,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 0,
|
||||
Dialog: InstantMessageDialog_1.InstantMessageDialog.StopTyping,
|
||||
ID: UUID_1.UUID.zero(),
|
||||
Timestamp: Math.floor(new Date().getTime() / 1000),
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(''),
|
||||
BinaryBucket: Buffer.allocUnsafe(0)
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return circuit.waitForAck(sequenceNo, 10000);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if (typeof to === 'string') {
|
||||
to = new UUID_1.UUID(to);
|
||||
}
|
||||
const circuit = this.circuit;
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: to,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 0,
|
||||
Dialog: InstantMessageDialog_1.InstantMessageDialog.StopTyping,
|
||||
ID: UUID_1.UUID.zero(),
|
||||
Timestamp: Math.floor(new Date().getTime() / 1000),
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(''),
|
||||
BinaryBucket: Buffer.allocUnsafe(0)
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
}
|
||||
typeInstantMessage(to, message, thinkingTime, charactersPerSecond) {
|
||||
return new Promise((resolve, reject) => {
|
||||
@@ -290,109 +315,121 @@ class CommunicationsCommands extends CommandsBase_1.CommandsBase {
|
||||
});
|
||||
}
|
||||
acceptFriendRequest(event) {
|
||||
const accept = new AcceptFriendship_1.AcceptFriendshipMessage();
|
||||
accept.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
accept.TransactionBlock = {
|
||||
TransactionID: event.requestID
|
||||
};
|
||||
accept.FolderData = [];
|
||||
accept.FolderData.push({
|
||||
'FolderID': this.agent.inventory.findFolderForType(AssetType_1.AssetType.CallingCard)
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const accept = new AcceptFriendship_1.AcceptFriendshipMessage();
|
||||
accept.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
accept.TransactionBlock = {
|
||||
TransactionID: event.requestID
|
||||
};
|
||||
accept.FolderData = [];
|
||||
accept.FolderData.push({
|
||||
'FolderID': this.agent.inventory.findFolderForType(__1.AssetType.CallingCard)
|
||||
});
|
||||
const sequenceNo = this.circuit.sendMessage(accept, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield this.circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
const sequenceNo = this.circuit.sendMessage(accept, PacketFlags_1.PacketFlags.Reliable);
|
||||
return this.circuit.waitForAck(sequenceNo, 10000);
|
||||
}
|
||||
sendFriendRequest(to, message) {
|
||||
if (typeof to === 'string') {
|
||||
to = new UUID_1.UUID(to);
|
||||
}
|
||||
const requestID = UUID_1.UUID.random();
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: to,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 0,
|
||||
Dialog: InstantMessageDialog_1.InstantMessageDialog.FriendshipOffered,
|
||||
ID: requestID,
|
||||
Timestamp: Math.floor(new Date().getTime() / 1000),
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(message),
|
||||
BinaryBucket: Utils_1.Utils.StringToBuffer('')
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = this.circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return this.circuit.waitForAck(sequenceNo, 10000);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if (typeof to === 'string') {
|
||||
to = new UUID_1.UUID(to);
|
||||
}
|
||||
const requestID = UUID_1.UUID.random();
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: to,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 0,
|
||||
Dialog: InstantMessageDialog_1.InstantMessageDialog.FriendshipOffered,
|
||||
ID: requestID,
|
||||
Timestamp: Math.floor(new Date().getTime() / 1000),
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(message),
|
||||
BinaryBucket: Utils_1.Utils.StringToBuffer('')
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = this.circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield this.circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
}
|
||||
respondToInventoryOffer(event, response) {
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
const folder = this.agent.inventory.findFolderForType(event.type);
|
||||
const binary = Buffer.allocUnsafe(16);
|
||||
folder.writeToBuffer(binary, 0);
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: event.from,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 0,
|
||||
Dialog: response,
|
||||
ID: event.requestID,
|
||||
Timestamp: Math.floor(new Date().getTime() / 1000),
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(''),
|
||||
BinaryBucket: binary
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = this.circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return this.circuit.waitForAck(sequenceNo, 10000);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
const folder = this.agent.inventory.findFolderForType(event.type);
|
||||
const binary = Buffer.allocUnsafe(16);
|
||||
folder.writeToBuffer(binary, 0);
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: event.from,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 0,
|
||||
Dialog: response,
|
||||
ID: event.requestID,
|
||||
Timestamp: Math.floor(new Date().getTime() / 1000),
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(''),
|
||||
BinaryBucket: binary
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = this.circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield this.circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
}
|
||||
acceptInventoryOffer(event) {
|
||||
if (event.source === ChatSourceType_1.ChatSourceType.Object) {
|
||||
return this.respondToInventoryOffer(event, InstantMessageDialog_1.InstantMessageDialog.TaskInventoryAccepted);
|
||||
}
|
||||
else {
|
||||
return this.respondToInventoryOffer(event, InstantMessageDialog_1.InstantMessageDialog.InventoryAccepted);
|
||||
}
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if (event.source === __1.ChatSourceType.Object) {
|
||||
return yield this.respondToInventoryOffer(event, InstantMessageDialog_1.InstantMessageDialog.TaskInventoryAccepted);
|
||||
}
|
||||
else {
|
||||
return yield this.respondToInventoryOffer(event, InstantMessageDialog_1.InstantMessageDialog.InventoryAccepted);
|
||||
}
|
||||
});
|
||||
}
|
||||
rejectInventoryOffer(event) {
|
||||
if (event.source === ChatSourceType_1.ChatSourceType.Object) {
|
||||
return this.respondToInventoryOffer(event, InstantMessageDialog_1.InstantMessageDialog.TaskInventoryDeclined);
|
||||
}
|
||||
else {
|
||||
return this.respondToInventoryOffer(event, InstantMessageDialog_1.InstantMessageDialog.InventoryDeclined);
|
||||
}
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if (event.source === __1.ChatSourceType.Object) {
|
||||
return yield this.respondToInventoryOffer(event, InstantMessageDialog_1.InstantMessageDialog.TaskInventoryDeclined);
|
||||
}
|
||||
else {
|
||||
return yield this.respondToInventoryOffer(event, InstantMessageDialog_1.InstantMessageDialog.InventoryDeclined);
|
||||
}
|
||||
});
|
||||
}
|
||||
rejectFriendRequest(event) {
|
||||
const reject = new DeclineFriendship_1.DeclineFriendshipMessage();
|
||||
reject.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
reject.TransactionBlock = {
|
||||
TransactionID: event.requestID
|
||||
};
|
||||
const sequenceNo = this.circuit.sendMessage(reject, PacketFlags_1.PacketFlags.Reliable);
|
||||
return this.circuit.waitForAck(sequenceNo, 10000);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const reject = new DeclineFriendship_1.DeclineFriendshipMessage();
|
||||
reject.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
reject.TransactionBlock = {
|
||||
TransactionID: event.requestID
|
||||
};
|
||||
const sequenceNo = this.circuit.sendMessage(reject, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield this.circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
}
|
||||
sendGroupMessage(groupID, message) {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
File diff suppressed because one or more lines are too long
10
dist/classes/commands/GridCommands.js
vendored
10
dist/classes/commands/GridCommands.js
vendored
@@ -33,7 +33,7 @@ class GridCommands extends CommandsBase_1.CommandsBase {
|
||||
Name: Utils_1.Utils.StringToBuffer(regionName)
|
||||
};
|
||||
circuit.sendMessage(msg, PacketFlags_1.PacketFlags.Reliable);
|
||||
circuit.waitForMessage(Message_1.Message.MapBlockReply, 10000, (packet) => {
|
||||
circuit.waitForPacket(Message_1.Message.MapBlockReply, 10000, (packet) => {
|
||||
const filterMsg = packet.message;
|
||||
let found = false;
|
||||
filterMsg.Data.forEach((region) => {
|
||||
@@ -88,7 +88,7 @@ class GridCommands extends CommandsBase_1.CommandsBase {
|
||||
MaxY: gridY
|
||||
};
|
||||
circuit.sendMessage(msg, PacketFlags_1.PacketFlags.Reliable);
|
||||
circuit.waitForMessage(Message_1.Message.MapBlockReply, 10000, (packet) => {
|
||||
circuit.waitForPacket(Message_1.Message.MapBlockReply, 10000, (packet) => {
|
||||
const filterMsg = packet.message;
|
||||
let found = false;
|
||||
filterMsg.Data.forEach((data) => {
|
||||
@@ -129,7 +129,7 @@ class GridCommands extends CommandsBase_1.CommandsBase {
|
||||
const minY = gridY * 256;
|
||||
const maxY = minY + 256;
|
||||
response.avatars = [];
|
||||
circuit.waitForMessage(Message_1.Message.MapItemReply, 10000, (packet) => {
|
||||
circuit.waitForPacket(Message_1.Message.MapItemReply, 10000, (packet) => {
|
||||
const filterMsg = packet.message;
|
||||
let found = false;
|
||||
filterMsg.Data.forEach((data) => {
|
||||
@@ -179,7 +179,7 @@ class GridCommands extends CommandsBase_1.CommandsBase {
|
||||
MaxY: maxY
|
||||
};
|
||||
circuit.sendMessage(msg, PacketFlags_1.PacketFlags.Reliable);
|
||||
circuit.waitForMessage(Message_1.Message.MapBlockReply, 30000, (packet) => {
|
||||
circuit.waitForPacket(Message_1.Message.MapBlockReply, 30000, (packet) => {
|
||||
const filterMsg = packet.message;
|
||||
let found = false;
|
||||
filterMsg.Data.forEach((data) => {
|
||||
@@ -228,7 +228,7 @@ class GridCommands extends CommandsBase_1.CommandsBase {
|
||||
Name: Utils_1.Utils.StringToBuffer(name)
|
||||
};
|
||||
this.circuit.sendMessage(aprm, PacketFlags_1.PacketFlags.Reliable);
|
||||
this.circuit.waitForMessage(Message_1.Message.AvatarPickerReply, 10000, (packet) => {
|
||||
this.circuit.waitForPacket(Message_1.Message.AvatarPickerReply, 10000, (packet) => {
|
||||
const apr = packet.message;
|
||||
if (apr.AgentData.QueryID.toString() === queryID.toString()) {
|
||||
return FilterResponse_1.FilterResponse.Finish;
|
||||
|
||||
2
dist/classes/commands/GridCommands.js.map
vendored
2
dist/classes/commands/GridCommands.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/classes/commands/GroupCommands.d.ts
vendored
2
dist/classes/commands/GroupCommands.d.ts
vendored
@@ -1,8 +1,8 @@
|
||||
import { CommandsBase } from './CommandsBase';
|
||||
import { UUID } from '../UUID';
|
||||
import { GroupInviteEvent } from '../../events/GroupInviteEvent';
|
||||
import { GroupRole } from '../GroupRole';
|
||||
import { GroupMember } from '../GroupMember';
|
||||
import { GroupInviteEvent } from '../..';
|
||||
export declare class GroupCommands extends CommandsBase {
|
||||
sendGroupNotice(groupID: UUID | string, subject: string, message: string): Promise<void>;
|
||||
sendGroupInviteBulk(groupID: UUID | string, sendTo: {
|
||||
|
||||
244
dist/classes/commands/GroupCommands.js
vendored
244
dist/classes/commands/GroupCommands.js
vendored
@@ -1,4 +1,12 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const CommandsBase_1 = require("./CommandsBase");
|
||||
const UUID_1 = require("../UUID");
|
||||
@@ -16,66 +24,70 @@ const FilterResponse_1 = require("../../enums/FilterResponse");
|
||||
const LLSD = require("@caspertech/llsd");
|
||||
class GroupCommands extends CommandsBase_1.CommandsBase {
|
||||
sendGroupNotice(groupID, subject, message) {
|
||||
if (typeof groupID === 'string') {
|
||||
groupID = new UUID_1.UUID(groupID);
|
||||
}
|
||||
const circuit = this.circuit;
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: groupID,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 0,
|
||||
Dialog: InstantMessageDialog_1.InstantMessageDialog.GroupNotice,
|
||||
ID: UUID_1.UUID.zero(),
|
||||
Timestamp: 0,
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(subject + '|' + message),
|
||||
BinaryBucket: Buffer.allocUnsafe(0)
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return circuit.waitForAck(sequenceNo, 10000);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if (typeof groupID === 'string') {
|
||||
groupID = new UUID_1.UUID(groupID);
|
||||
}
|
||||
const circuit = this.circuit;
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: groupID,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 0,
|
||||
Dialog: InstantMessageDialog_1.InstantMessageDialog.GroupNotice,
|
||||
ID: UUID_1.UUID.zero(),
|
||||
Timestamp: 0,
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(subject + '|' + message),
|
||||
BinaryBucket: Buffer.allocUnsafe(0)
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
}
|
||||
sendGroupInviteBulk(groupID, sendTo) {
|
||||
if (typeof groupID === 'string') {
|
||||
groupID = new UUID_1.UUID(groupID);
|
||||
}
|
||||
const igr = new InviteGroupRequest_1.InviteGroupRequestMessage();
|
||||
igr.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
igr.GroupData = {
|
||||
GroupID: groupID
|
||||
};
|
||||
igr.InviteData = [];
|
||||
sendTo.forEach((to) => {
|
||||
if (typeof to.avatarID === 'string') {
|
||||
to.avatarID = new UUID_1.UUID(to.avatarID);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if (typeof groupID === 'string') {
|
||||
groupID = new UUID_1.UUID(groupID);
|
||||
}
|
||||
if (to.roleID === undefined) {
|
||||
to.roleID = UUID_1.UUID.zero();
|
||||
}
|
||||
if (typeof to.roleID === 'string') {
|
||||
to.roleID = new UUID_1.UUID(to.roleID);
|
||||
}
|
||||
igr.InviteData.push({
|
||||
InviteeID: to.avatarID,
|
||||
RoleID: to.roleID
|
||||
const igr = new InviteGroupRequest_1.InviteGroupRequestMessage();
|
||||
igr.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID
|
||||
};
|
||||
igr.GroupData = {
|
||||
GroupID: groupID
|
||||
};
|
||||
igr.InviteData = [];
|
||||
sendTo.forEach((to) => {
|
||||
if (typeof to.avatarID === 'string') {
|
||||
to.avatarID = new UUID_1.UUID(to.avatarID);
|
||||
}
|
||||
if (to.roleID === undefined) {
|
||||
to.roleID = UUID_1.UUID.zero();
|
||||
}
|
||||
if (typeof to.roleID === 'string') {
|
||||
to.roleID = new UUID_1.UUID(to.roleID);
|
||||
}
|
||||
igr.InviteData.push({
|
||||
InviteeID: to.avatarID,
|
||||
RoleID: to.roleID
|
||||
});
|
||||
});
|
||||
const sequenceNo = this.circuit.sendMessage(igr, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield this.circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
const sequenceNo = this.circuit.sendMessage(igr, PacketFlags_1.PacketFlags.Reliable);
|
||||
return this.circuit.waitForAck(sequenceNo, 10000);
|
||||
}
|
||||
getSessionAgentCount(sessionID) {
|
||||
if (typeof sessionID === 'string') {
|
||||
@@ -84,67 +96,73 @@ class GroupCommands extends CommandsBase_1.CommandsBase {
|
||||
return this.agent.getSessionAgentCount(sessionID);
|
||||
}
|
||||
sendGroupInvite(groupID, to, role) {
|
||||
const sendTo = [{
|
||||
avatarID: to,
|
||||
roleID: role
|
||||
}];
|
||||
return this.sendGroupInviteBulk(groupID, sendTo);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const sendTo = [{
|
||||
avatarID: to,
|
||||
roleID: role
|
||||
}];
|
||||
return yield this.sendGroupInviteBulk(groupID, sendTo);
|
||||
});
|
||||
}
|
||||
acceptGroupInvite(event) {
|
||||
const circuit = this.circuit;
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: event.from,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 0,
|
||||
Dialog: InstantMessageDialog_1.InstantMessageDialog.GroupInvitationAccept,
|
||||
ID: event.inviteID,
|
||||
Timestamp: Math.floor(new Date().getTime() / 1000),
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(''),
|
||||
BinaryBucket: Buffer.allocUnsafe(0)
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return circuit.waitForAck(sequenceNo, 10000);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const circuit = this.circuit;
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: event.from,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 0,
|
||||
Dialog: InstantMessageDialog_1.InstantMessageDialog.GroupInvitationAccept,
|
||||
ID: event.inviteID,
|
||||
Timestamp: Math.floor(new Date().getTime() / 1000),
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(''),
|
||||
BinaryBucket: Buffer.allocUnsafe(0)
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
}
|
||||
rejectGroupInvite(event) {
|
||||
const circuit = this.circuit;
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: event.from,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 0,
|
||||
Dialog: InstantMessageDialog_1.InstantMessageDialog.GroupInvitationDecline,
|
||||
ID: event.inviteID,
|
||||
Timestamp: Math.floor(new Date().getTime() / 1000),
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(''),
|
||||
BinaryBucket: Buffer.allocUnsafe(0)
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return circuit.waitForAck(sequenceNo, 10000);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const circuit = this.circuit;
|
||||
const agentName = this.agent.firstName + ' ' + this.agent.lastName;
|
||||
const im = new ImprovedInstantMessage_1.ImprovedInstantMessageMessage();
|
||||
im.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
im.MessageBlock = {
|
||||
FromGroup: false,
|
||||
ToAgentID: event.from,
|
||||
ParentEstateID: 0,
|
||||
RegionID: UUID_1.UUID.zero(),
|
||||
Position: Vector3_1.Vector3.getZero(),
|
||||
Offline: 0,
|
||||
Dialog: InstantMessageDialog_1.InstantMessageDialog.GroupInvitationDecline,
|
||||
ID: event.inviteID,
|
||||
Timestamp: Math.floor(new Date().getTime() / 1000),
|
||||
FromAgentName: Utils_1.Utils.StringToBuffer(agentName),
|
||||
Message: Utils_1.Utils.StringToBuffer(''),
|
||||
BinaryBucket: Buffer.allocUnsafe(0)
|
||||
};
|
||||
im.EstateBlock = {
|
||||
EstateID: 0
|
||||
};
|
||||
const sequenceNo = circuit.sendMessage(im, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
}
|
||||
getMemberList(groupID) {
|
||||
return new Promise((resolve, reject) => {
|
||||
@@ -203,7 +221,7 @@ class GroupCommands extends CommandsBase_1.CommandsBase {
|
||||
};
|
||||
let totalRoleCount = 0;
|
||||
this.circuit.sendMessage(grdr, PacketFlags_1.PacketFlags.Reliable);
|
||||
this.circuit.waitForMessage(Message_1.Message.GroupRoleDataReply, 10000, (packet) => {
|
||||
this.circuit.waitForPacket(Message_1.Message.GroupRoleDataReply, 10000, (packet) => {
|
||||
const gmr = packet.message;
|
||||
if (gmr.GroupData.RequestID.toString() === requestID.toString()) {
|
||||
totalRoleCount = gmr.GroupData.RoleCount;
|
||||
|
||||
2
dist/classes/commands/GroupCommands.js.map
vendored
2
dist/classes/commands/GroupCommands.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/classes/commands/NetworkCommands.d.ts
vendored
2
dist/classes/commands/NetworkCommands.d.ts
vendored
@@ -1,5 +1,5 @@
|
||||
import { CommandsBase } from './CommandsBase';
|
||||
export declare class NetworkCommands extends CommandsBase {
|
||||
private throttleGenCounter;
|
||||
setBandwidth(total: number): void;
|
||||
setBandwidth(total: number): Promise<void>;
|
||||
}
|
||||
|
||||
77
dist/classes/commands/NetworkCommands.js
vendored
77
dist/classes/commands/NetworkCommands.js
vendored
@@ -1,4 +1,12 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const CommandsBase_1 = require("./CommandsBase");
|
||||
const PacketFlags_1 = require("../../enums/PacketFlags");
|
||||
@@ -9,39 +17,42 @@ class NetworkCommands extends CommandsBase_1.CommandsBase {
|
||||
this.throttleGenCounter = 0;
|
||||
}
|
||||
setBandwidth(total) {
|
||||
const agentThrottle = new AgentThrottle_1.AgentThrottleMessage();
|
||||
agentThrottle.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID,
|
||||
CircuitCode: this.circuit.circuitCode
|
||||
};
|
||||
const throttleData = Buffer.allocUnsafe(28);
|
||||
let pos = 0;
|
||||
const resendThrottle = total * 0.1;
|
||||
const landThrottle = total * 0.172;
|
||||
const windThrottle = total * 0.05;
|
||||
const cloudThrottle = total * 0.05;
|
||||
const taskThrottle = total * 0.234;
|
||||
const textureThrottle = total * 0.234;
|
||||
const assetThrottle = total * 0.160;
|
||||
throttleData.writeFloatLE(resendThrottle, pos);
|
||||
pos += 4;
|
||||
throttleData.writeFloatLE(landThrottle, pos);
|
||||
pos += 4;
|
||||
throttleData.writeFloatLE(windThrottle, pos);
|
||||
pos += 4;
|
||||
throttleData.writeFloatLE(cloudThrottle, pos);
|
||||
pos += 4;
|
||||
throttleData.writeFloatLE(taskThrottle, pos);
|
||||
pos += 4;
|
||||
throttleData.writeFloatLE(textureThrottle, pos);
|
||||
pos += 4;
|
||||
throttleData.writeFloatLE(assetThrottle, pos);
|
||||
agentThrottle.Throttle = {
|
||||
GenCounter: this.throttleGenCounter++,
|
||||
Throttles: throttleData
|
||||
};
|
||||
this.circuit.sendMessage(agentThrottle, PacketFlags_1.PacketFlags.Reliable);
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const agentThrottle = new AgentThrottle_1.AgentThrottleMessage();
|
||||
agentThrottle.AgentData = {
|
||||
AgentID: this.agent.agentID,
|
||||
SessionID: this.circuit.sessionID,
|
||||
CircuitCode: this.circuit.circuitCode
|
||||
};
|
||||
const throttleData = Buffer.allocUnsafe(28);
|
||||
let pos = 0;
|
||||
const resendThrottle = total * 0.1;
|
||||
const landThrottle = total * 0.172;
|
||||
const windThrottle = total * 0.05;
|
||||
const cloudThrottle = total * 0.05;
|
||||
const taskThrottle = total * 0.234;
|
||||
const textureThrottle = total * 0.234;
|
||||
const assetThrottle = total * 0.160;
|
||||
throttleData.writeFloatLE(resendThrottle, pos);
|
||||
pos += 4;
|
||||
throttleData.writeFloatLE(landThrottle, pos);
|
||||
pos += 4;
|
||||
throttleData.writeFloatLE(windThrottle, pos);
|
||||
pos += 4;
|
||||
throttleData.writeFloatLE(cloudThrottle, pos);
|
||||
pos += 4;
|
||||
throttleData.writeFloatLE(taskThrottle, pos);
|
||||
pos += 4;
|
||||
throttleData.writeFloatLE(textureThrottle, pos);
|
||||
pos += 4;
|
||||
throttleData.writeFloatLE(assetThrottle, pos);
|
||||
agentThrottle.Throttle = {
|
||||
GenCounter: this.throttleGenCounter++,
|
||||
Throttles: throttleData
|
||||
};
|
||||
const sequenceNo = this.circuit.sendMessage(agentThrottle, PacketFlags_1.PacketFlags.Reliable);
|
||||
return yield this.circuit.waitForAck(sequenceNo, 10000);
|
||||
});
|
||||
}
|
||||
}
|
||||
exports.NetworkCommands = NetworkCommands;
|
||||
|
||||
2
dist/classes/commands/NetworkCommands.js.map
vendored
2
dist/classes/commands/NetworkCommands.js.map
vendored
@@ -1 +1 @@
|
||||
{"version":3,"file":"NetworkCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/NetworkCommands.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAC5C,yDAAoD;AACpD,6DAA+D;AAE/D,qBAA6B,SAAQ,2BAAY;IAAjD;;QAEY,uBAAkB,GAAG,CAAC,CAAC;IA2CnC,CAAC;IAzCG,YAAY,CAAC,KAAa;QAEtB,MAAM,aAAa,GAAyB,IAAI,oCAAoB,EAAE,CAAC;QACvE,aAAa,CAAC,SAAS,GAAG;YACtB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;YAC3B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;SACxC,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,MAAM,cAAc,GAAG,KAAK,GAAG,GAAG,CAAC;QACnC,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,CAAC;QACnC,MAAM,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;QAClC,MAAM,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC;QACnC,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,CAAC;QACnC,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,CAAC;QACtC,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,CAAC;QAGpC,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAC/C,GAAG,IAAI,CAAC,CAAC;QACT,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAC7C,GAAG,IAAI,CAAC,CAAC;QACT,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAC7C,GAAG,IAAI,CAAC,CAAC;QACT,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC9C,GAAG,IAAI,CAAC,CAAC;QACT,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAC7C,GAAG,IAAI,CAAC,CAAC;QACT,YAAY,CAAC,YAAY,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAChD,GAAG,IAAI,CAAC,CAAC;QACT,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAE9C,aAAa,CAAC,QAAQ,GAAG;YACrB,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE;YACrC,SAAS,EAAE,YAAY;SAC1B,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;CACJ;AA7CD,0CA6CC"}
|
||||
{"version":3,"file":"NetworkCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/NetworkCommands.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,iDAA4C;AAC5C,yDAAoD;AACpD,6DAA+D;AAE/D,qBAA6B,SAAQ,2BAAY;IAAjD;;QAEY,uBAAkB,GAAG,CAAC,CAAC;IA4CnC,CAAC;IA1CS,YAAY,CAAC,KAAa;;YAE5B,MAAM,aAAa,GAAyB,IAAI,oCAAoB,EAAE,CAAC;YACvE,aAAa,CAAC,SAAS,GAAG;gBACtB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;gBAC3B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBACjC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;aACxC,CAAC;YAEF,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,GAAG,GAAG,CAAC,CAAC;YAEZ,MAAM,cAAc,GAAG,KAAK,GAAG,GAAG,CAAC;YACnC,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,CAAC;YACnC,MAAM,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;YAClC,MAAM,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC;YACnC,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,CAAC;YACnC,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,CAAC;YACtC,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,CAAC;YAGpC,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAC/C,GAAG,IAAI,CAAC,CAAC;YACT,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAC7C,GAAG,IAAI,CAAC,CAAC;YACT,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAC7C,GAAG,IAAI,CAAC,CAAC;YACT,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YAC9C,GAAG,IAAI,CAAC,CAAC;YACT,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAC7C,GAAG,IAAI,CAAC,CAAC;YACT,YAAY,CAAC,YAAY,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YAChD,GAAG,IAAI,CAAC,CAAC;YACT,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YAE9C,aAAa,CAAC,QAAQ,GAAG;gBACrB,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE;gBACrC,SAAS,EAAE,YAAY;aAC1B,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;YACjF,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;KAAA;CACJ;AA9CD,0CA8CC"}
|
||||
2
dist/classes/commands/RegionCommands.js
vendored
2
dist/classes/commands/RegionCommands.js
vendored
@@ -14,7 +14,7 @@ class RegionCommands extends CommandsBase_1.CommandsBase {
|
||||
RegionID: regionID,
|
||||
};
|
||||
circuit.sendMessage(msg, PacketFlags_1.PacketFlags.Reliable);
|
||||
circuit.waitForMessage(Message_1.Message.RegionIDAndHandleReply, 10000, (packet) => {
|
||||
circuit.waitForPacket(Message_1.Message.RegionIDAndHandleReply, 10000, (packet) => {
|
||||
const filterMsg = packet.message;
|
||||
if (filterMsg.ReplyBlock.RegionID.toString() === regionID.toString()) {
|
||||
return FilterResponse_1.FilterResponse.Finish;
|
||||
|
||||
2
dist/classes/commands/RegionCommands.js.map
vendored
2
dist/classes/commands/RegionCommands.js.map
vendored
@@ -1 +1 @@
|
||||
{"version":3,"file":"RegionCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/RegionCommands.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAI5C,yDAAoD;AACpD,yEAA2E;AAC3E,iDAA4C;AAC5C,+DAA0D;AAG1D,oBAA4B,SAAQ,2BAAY;IAE5C,eAAe,CAAC,QAAc;QAE1B,MAAM,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC3C,MAAM,GAAG,GAA+B,IAAI,gDAA0B,EAAE,CAAC;YACzE,GAAG,CAAC,YAAY,GAAG;gBACf,QAAQ,EAAE,QAAQ;aACrB,CAAC;YACF,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,CAAC,cAAc,CAAC,iBAAO,CAAC,sBAAsB,EAAE,KAAK,EAAE,CAAC,MAAc,EAAkB,EAAE;gBAE7F,MAAM,SAAS,GAAG,MAAM,CAAC,OAAwC,CAAC;gBAClE,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC,CACrE,CAAC;oBACG,MAAM,CAAC,+BAAc,CAAC,MAAM,CAAC;gBACjC,CAAC;gBACD,IAAI,CACJ,CAAC;oBACG,MAAM,CAAC,+BAAc,CAAC,OAAO,CAAC;gBAClC,CAAC;YACL,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE;gBAEvB,MAAM,WAAW,GAAG,MAAM,CAAC,OAAwC,CAAC;gBACpE,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA9BD,wCA8BC"}
|
||||
{"version":3,"file":"RegionCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/RegionCommands.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAI5C,yDAAoD;AACpD,yEAA2E;AAC3E,iDAA4C;AAC5C,+DAA0D;AAG1D,oBAA4B,SAAQ,2BAAY;IAE5C,eAAe,CAAC,QAAc;QAE1B,MAAM,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC3C,MAAM,GAAG,GAA+B,IAAI,gDAA0B,EAAE,CAAC;YACzE,GAAG,CAAC,YAAY,GAAG;gBACf,QAAQ,EAAE,QAAQ;aACrB,CAAC;YACF,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,CAAC,aAAa,CAAC,iBAAO,CAAC,sBAAsB,EAAE,KAAK,EAAE,CAAC,MAAc,EAAkB,EAAE;gBAE5F,MAAM,SAAS,GAAG,MAAM,CAAC,OAAwC,CAAC;gBAClE,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC,CACrE,CAAC;oBACG,MAAM,CAAC,+BAAc,CAAC,MAAM,CAAC;gBACjC,CAAC;gBACD,IAAI,CACJ,CAAC;oBACG,MAAM,CAAC,+BAAc,CAAC,OAAO,CAAC;gBAClC,CAAC;YACL,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE;gBAEvB,MAAM,WAAW,GAAG,MAAM,CAAC,OAAwC,CAAC;gBACpE,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA9BD,wCA8BC"}
|
||||
@@ -99,10 +99,10 @@ export class Bot
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
circuit.sendMessage(msg, PacketFlags.Reliable);
|
||||
circuit.waitForMessage(Message.LogoutReply, 5000).then((packet: Packet) =>
|
||||
circuit.waitForPacket(Message.LogoutReply, 5000).then((packet: Packet) =>
|
||||
{
|
||||
|
||||
}).catch((error) =>
|
||||
}).catch((error: Error) =>
|
||||
{
|
||||
console.error('Timeout waiting for logout reply')
|
||||
}).then(() =>
|
||||
@@ -156,7 +156,7 @@ export class Bot
|
||||
CircuitCode: circuit.circuitCode
|
||||
};
|
||||
circuit.sendMessage(agentMovement, PacketFlags.Reliable);
|
||||
return circuit.waitForMessage(Message.RegionHandshake, 10000);
|
||||
return circuit.waitForPacket(Message.RegionHandshake, 10000);
|
||||
}).then((packet: Packet) =>
|
||||
{
|
||||
const handshakeReply: RegionHandshakeReplyMessage = new RegionHandshakeReplyMessage();
|
||||
@@ -198,7 +198,7 @@ export class Bot
|
||||
OldestUnacked: this.currentRegion.circuit.getOldestUnacked()
|
||||
};
|
||||
circuit.sendMessage(ping, PacketFlags.Reliable);
|
||||
circuit.waitForMessage(Message.CompletePingCheck, 10000, ((pingData: {
|
||||
circuit.waitForPacket(Message.CompletePingCheck, 10000, ((pingData: {
|
||||
pingID: number,
|
||||
timeSent: number
|
||||
}, packet: Packet): FilterResponse =>
|
||||
|
||||
@@ -219,7 +219,7 @@ export class Agent
|
||||
SessionID: circuit.sessionID
|
||||
};
|
||||
circuit.sendMessage(wearablesRequest, PacketFlags.Reliable);
|
||||
circuit.waitForMessage(Message.AgentWearablesUpdate, 10000).then((packet: Packet) =>
|
||||
circuit.waitForPacket(Message.AgentWearablesUpdate, 10000).then((packet: Packet) =>
|
||||
{
|
||||
const wearables = packet.message as AgentWearablesUpdateMessage;
|
||||
if (!this.wearables || wearables.AgentData.SerialNum > this.wearables.serialNumber)
|
||||
|
||||
@@ -171,7 +171,13 @@ export class Circuit
|
||||
}
|
||||
}
|
||||
|
||||
waitForMessage(id: Message, timeout: number, filter?: (packet: Packet) => FilterResponse): Promise<Packet>
|
||||
async waitForMessage(id: Message, timeout: number, filter?: (packet: Packet) => FilterResponse): Promise<MessageBase>
|
||||
{
|
||||
const msg: Packet = await this.waitForPacket(id, timeout, filter);
|
||||
return msg.message;
|
||||
}
|
||||
|
||||
waitForPacket(id: Message, timeout: number, filter?: (packet: Packet) => FilterResponse): Promise<Packet>
|
||||
{
|
||||
return new Promise<Packet>((resolve, reject) =>
|
||||
{
|
||||
|
||||
@@ -66,4 +66,16 @@ export class UUID
|
||||
const binary = Buffer.from(shortened, 'hex');
|
||||
binary.copy(buf, pos, 0);
|
||||
}
|
||||
|
||||
public equals(cmp: UUID | string): boolean
|
||||
{
|
||||
if (typeof cmp === 'string')
|
||||
{
|
||||
return (cmp === this.mUUID);
|
||||
}
|
||||
else
|
||||
{
|
||||
return cmp.equals(this.mUUID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ export class GridCommands extends CommandsBase
|
||||
Name: Utils.StringToBuffer(regionName)
|
||||
};
|
||||
circuit.sendMessage(msg, PacketFlags.Reliable);
|
||||
circuit.waitForMessage(Message.MapBlockReply, 10000, (packet: Packet): FilterResponse =>
|
||||
circuit.waitForPacket(Message.MapBlockReply, 10000, (packet: Packet): FilterResponse =>
|
||||
{
|
||||
const filterMsg = packet.message as MapBlockReplyMessage;
|
||||
let found = false;
|
||||
@@ -105,7 +105,7 @@ export class GridCommands extends CommandsBase
|
||||
MaxY: gridY
|
||||
};
|
||||
circuit.sendMessage(msg, PacketFlags.Reliable);
|
||||
circuit.waitForMessage(Message.MapBlockReply, 10000, (packet: Packet): FilterResponse =>
|
||||
circuit.waitForPacket(Message.MapBlockReply, 10000, (packet: Packet): FilterResponse =>
|
||||
{
|
||||
const filterMsg = packet.message as MapBlockReplyMessage;
|
||||
let found = false;
|
||||
@@ -156,7 +156,7 @@ export class GridCommands extends CommandsBase
|
||||
const minY = gridY * 256;
|
||||
const maxY = minY + 256;
|
||||
response.avatars = [];
|
||||
circuit.waitForMessage(Message.MapItemReply, 10000, (packet: Packet): FilterResponse =>
|
||||
circuit.waitForPacket(Message.MapItemReply, 10000, (packet: Packet): FilterResponse =>
|
||||
{
|
||||
const filterMsg = packet.message as MapItemReplyMessage;
|
||||
let found = false;
|
||||
@@ -219,7 +219,7 @@ export class GridCommands extends CommandsBase
|
||||
MaxY: maxY
|
||||
};
|
||||
circuit.sendMessage(msg, PacketFlags.Reliable);
|
||||
circuit.waitForMessage(Message.MapBlockReply, 30000, (packet: Packet): FilterResponse =>
|
||||
circuit.waitForPacket(Message.MapBlockReply, 30000, (packet: Packet): FilterResponse =>
|
||||
{
|
||||
const filterMsg = packet.message as MapBlockReplyMessage;
|
||||
let found = false;
|
||||
@@ -284,7 +284,7 @@ export class GridCommands extends CommandsBase
|
||||
};
|
||||
|
||||
this.circuit.sendMessage(aprm, PacketFlags.Reliable);
|
||||
this.circuit.waitForMessage(Message.AvatarPickerReply, 10000, (packet: Packet): FilterResponse =>
|
||||
this.circuit.waitForPacket(Message.AvatarPickerReply, 10000, (packet: Packet): FilterResponse =>
|
||||
{
|
||||
const apr = packet.message as AvatarPickerReplyMessage;
|
||||
if (apr.AgentData.QueryID.toString() === queryID.toString())
|
||||
|
||||
@@ -246,7 +246,7 @@ export class GroupCommands extends CommandsBase
|
||||
let totalRoleCount = 0;
|
||||
|
||||
this.circuit.sendMessage(grdr, PacketFlags.Reliable);
|
||||
this.circuit.waitForMessage(Message.GroupRoleDataReply, 10000, (packet: Packet): FilterResponse =>
|
||||
this.circuit.waitForPacket(Message.GroupRoleDataReply, 10000, (packet: Packet): FilterResponse =>
|
||||
{
|
||||
const gmr = packet.message as GroupRoleDataReplyMessage;
|
||||
if (gmr.GroupData.RequestID.toString() === requestID.toString())
|
||||
|
||||
@@ -20,7 +20,7 @@ export class RegionCommands extends CommandsBase
|
||||
RegionID: regionID,
|
||||
};
|
||||
circuit.sendMessage(msg, PacketFlags.Reliable);
|
||||
circuit.waitForMessage(Message.RegionIDAndHandleReply, 10000, (packet: Packet): FilterResponse =>
|
||||
circuit.waitForPacket(Message.RegionIDAndHandleReply, 10000, (packet: Packet): FilterResponse =>
|
||||
{
|
||||
const filterMsg = packet.message as RegionIDAndHandleReplyMessage;
|
||||
if (filterMsg.ReplyBlock.RegionID.toString() === regionID.toString())
|
||||
|
||||
Reference in New Issue
Block a user