rock-mod 0.21.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/entities/ccmp/blip/CCMPBlip.d.ts +38 -0
- package/dist/client/entities/ccmp/blip/CCMPBlip.js +118 -0
- package/dist/client/entities/ccmp/blip/CCMPBlipsManager.d.ts +27 -0
- package/dist/client/entities/ccmp/blip/CCMPBlipsManager.js +191 -0
- package/dist/client/entities/ccmp/camera/CCMPCamera.d.ts +1 -1
- package/dist/client/entities/ccmp/camera/CCMPCamera.js +1 -1
- package/dist/client/entities/ccmp/camera/CCMPCameraManager.js +2 -1
- package/dist/client/entities/ccmp/colshape/CCMPColshape.d.ts +26 -0
- package/dist/client/entities/ccmp/colshape/CCMPColshape.js +83 -0
- package/dist/client/entities/ccmp/colshape/CCMPColshapesManager.d.ts +31 -0
- package/dist/client/entities/ccmp/colshape/CCMPColshapesManager.js +193 -0
- package/dist/client/entities/ccmp/marker/CCMPMarker.d.ts +34 -0
- package/dist/client/entities/ccmp/marker/CCMPMarker.js +109 -0
- package/dist/client/entities/ccmp/marker/CCMPMarkersManager.d.ts +27 -0
- package/dist/client/entities/ccmp/marker/CCMPMarkersManager.js +180 -0
- package/dist/client/entities/ccmp/object/CCMPObject.d.ts +50 -0
- package/dist/client/entities/ccmp/object/CCMPObject.js +149 -0
- package/dist/client/entities/ccmp/object/CCMPObjectsManager.d.ts +27 -0
- package/dist/client/entities/ccmp/object/CCMPObjectsManager.js +177 -0
- package/dist/client/entities/ccmp/ped/CCMPPed.d.ts +1 -1
- package/dist/client/entities/ccmp/ped/CCMPPed.js +21 -7
- package/dist/client/entities/ccmp/ped/CCMPPedsManager.d.ts +7 -0
- package/dist/client/entities/ccmp/ped/CCMPPedsManager.js +82 -10
- package/dist/client/entities/ccmp/player/CCMPPlayer.d.ts +15 -17
- package/dist/client/entities/ccmp/player/CCMPPlayer.js +86 -87
- package/dist/client/entities/ccmp/player/CCMPPlayersManager.d.ts +4 -3
- package/dist/client/entities/ccmp/player/CCMPPlayersManager.js +20 -7
- package/dist/client/entities/ccmp/vehicle/CCMPVehicle.d.ts +102 -0
- package/dist/client/entities/ccmp/vehicle/CCMPVehicle.js +311 -0
- package/dist/client/entities/ccmp/vehicle/CCMPVehiclesManager.d.ts +11 -48
- package/dist/client/entities/ccmp/vehicle/CCMPVehiclesManager.js +154 -75
- package/dist/client/entities/common/baseObject/IBaseObject.d.ts +2 -1
- package/dist/client/entities/ragemp/entity/RageEntity.d.ts +4 -0
- package/dist/client/entities/ragemp/entity/RageEntity.js +34 -2
- package/dist/client/factories/ccmp/CCMPManagersFactory.d.ts +9 -7
- package/dist/client/factories/ccmp/CCMPManagersFactory.js +62 -22
- package/dist/client/game/ccmp/chat/CCMPChatManager.d.ts +2 -22
- package/dist/client/game/ccmp/chat/CCMPChatManager.js +6 -34
- package/dist/client/game/ccmp/storage/CCMPStorageManager.d.ts +0 -18
- package/dist/client/game/ccmp/storage/CCMPStorageManager.js +4 -36
- package/dist/client/game/ccmp/ui/CCMPUiManager.d.ts +0 -29
- package/dist/client/game/ccmp/ui/CCMPUiManager.js +5 -41
- package/dist/client/net/ccmp/CCMPNetManager.d.ts +0 -7
- package/dist/client/net/ccmp/CCMPNetManager.js +0 -26
- package/dist/client/net/ccmp/dataHandler/CCMPDataHandler.d.ts +2 -2
- package/dist/client/net/ccmp/dataHandler/CCMPDataHandler.js +2 -2
- package/dist/client/net/ccmp/events/CCMPEventsBridge.d.ts +3 -1
- package/dist/client/net/ccmp/events/CCMPEventsBridge.js +33 -3
- package/dist/client/net/ccmp/events/CCMPSyncedMetaBridge.d.ts +21 -16
- package/dist/client/net/ccmp/events/CCMPSyncedMetaBridge.js +32 -22
- package/dist/client/net/common/dataHandler/IDataHandler.d.ts +2 -2
- package/dist/client/net/common/events/types.d.ts +4 -4
- package/dist/client/net/ragemp/dataHandler/RageDataHandler.d.ts +2 -2
- package/dist/server/entities/altv/colshape/AltVColshape.d.ts +2 -0
- package/dist/server/entities/altv/colshape/AltVColshape.js +6 -0
- package/dist/server/entities/ccmp/baseObject/CCMPBaseObjectsManager.js +4 -4
- package/dist/server/entities/ccmp/blip/CCMPBlip.d.ts +2 -0
- package/dist/server/entities/ccmp/blip/CCMPBlip.js +6 -0
- package/dist/server/entities/ccmp/colshape/CCMPColshape.d.ts +2 -0
- package/dist/server/entities/ccmp/colshape/CCMPColshape.js +6 -0
- package/dist/server/entities/ccmp/marker/CCMPMarker.d.ts +2 -0
- package/dist/server/entities/ccmp/marker/CCMPMarker.js +6 -0
- package/dist/server/entities/ccmp/object/CCMPObject.d.ts +1 -1
- package/dist/server/entities/ccmp/object/CCMPObject.js +3 -5
- package/dist/server/entities/ccmp/object/CCMPObjectsManager.js +1 -2
- package/dist/server/entities/ccmp/player/CCMPPlayersManager.js +15 -0
- package/dist/server/entities/ccmp/vehicle/CCMPVehicle.d.ts +29 -15
- package/dist/server/entities/ccmp/vehicle/CCMPVehicle.js +87 -44
- package/dist/server/entities/common/colshape/IColshape.d.ts +2 -0
- package/dist/server/entities/mock/colshape/MockColshape.d.ts +3 -0
- package/dist/server/entities/mock/colshape/MockColshape.js +8 -0
- package/dist/server/entities/ragemp/colshape/RageColshape.d.ts +2 -0
- package/dist/server/entities/ragemp/colshape/RageColshape.js +6 -0
- package/dist/server/entities/ragemp/entity/RageEntity.d.ts +5 -1
- package/dist/server/entities/ragemp/entity/RageEntity.js +17 -1
- package/dist/server/entities/ragemp/object/RageObjectsManager.js +1 -1
- package/dist/server/entities/ragemp/ped/RagePedsManager.js +1 -1
- package/dist/server/entities/ragemp/vehicle/RageVehiclesManager.js +1 -1
- package/dist/server/net/ccmp/CCMPNetManager.js +0 -5
- package/dist/server/net/ccmp/events/CCMPEventsManager.d.ts +6 -2
- package/package.json +2 -2
|
@@ -68,7 +68,8 @@ export class CCMPPlayer {
|
|
|
68
68
|
}
|
|
69
69
|
// -- IEntity --------------------------------------------------------------
|
|
70
70
|
get model() {
|
|
71
|
-
|
|
71
|
+
var _a, _b;
|
|
72
|
+
return (_b = (_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.model) !== null && _b !== void 0 ? _b : 0;
|
|
72
73
|
}
|
|
73
74
|
get heading() {
|
|
74
75
|
var _a, _b;
|
|
@@ -78,25 +79,23 @@ export class CCMPPlayer {
|
|
|
78
79
|
var _a;
|
|
79
80
|
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.setHeading(heading);
|
|
80
81
|
}
|
|
81
|
-
setModel(
|
|
82
|
-
|
|
82
|
+
setModel(value) {
|
|
83
|
+
var _a;
|
|
84
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.setModel(value);
|
|
83
85
|
}
|
|
84
86
|
get rotation() {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
});
|
|
87
|
+
var _a;
|
|
88
|
+
const rotation = (_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.rotation;
|
|
89
|
+
return rotation ? new Vector3D(rotation.x, rotation.y, rotation.z) : ZERO_VECTOR;
|
|
89
90
|
}
|
|
90
91
|
setRotation(value) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
});
|
|
92
|
+
var _a;
|
|
93
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.setRotation(value);
|
|
94
94
|
}
|
|
95
95
|
get forwardVector() {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
});
|
|
96
|
+
var _a;
|
|
97
|
+
const vector = (_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.forwardVector;
|
|
98
|
+
return vector ? new Vector3D(vector.x, vector.y, vector.z) : ZERO_VECTOR;
|
|
100
99
|
}
|
|
101
100
|
freezePosition(freeze) {
|
|
102
101
|
var _a;
|
|
@@ -127,19 +126,18 @@ export class CCMPPlayer {
|
|
|
127
126
|
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.resetAlpha();
|
|
128
127
|
}
|
|
129
128
|
getOffsetFromInWorldCoords(offsetX, offsetY, offsetZ) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
});
|
|
129
|
+
var _a;
|
|
130
|
+
const position = (_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.getOffsetFromInWorldCoords(offsetX, offsetY, offsetZ);
|
|
131
|
+
return position ? new Vector3D(position.x, position.y, position.z) : ZERO_VECTOR;
|
|
134
132
|
}
|
|
135
133
|
getBoneIndexByName(boneName) {
|
|
136
|
-
|
|
134
|
+
var _a, _b;
|
|
135
|
+
return (_b = (_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.getBoneIndexByName(boneName)) !== null && _b !== void 0 ? _b : -1;
|
|
137
136
|
}
|
|
138
137
|
getWorldPositionOfBone(boneIndex) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
});
|
|
138
|
+
var _a;
|
|
139
|
+
const position = (_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.getWorldPositionOfBone(boneIndex);
|
|
140
|
+
return position ? new Vector3D(position.x, position.y, position.z) : ZERO_VECTOR;
|
|
143
141
|
}
|
|
144
142
|
getVariable(name) {
|
|
145
143
|
const value = ccmp.entities.getStreamSyncedMeta(ccmp.entities.ENTITY_TYPE.Player, this._id, name);
|
|
@@ -155,20 +153,20 @@ export class CCMPPlayer {
|
|
|
155
153
|
return ccmp.entities.getStreamSyncedMetaKeys(ccmp.entities.ENTITY_TYPE.Player, this._id);
|
|
156
154
|
}
|
|
157
155
|
attachToEntity(target, boneIndex, offset, rotation, p9, useSoftPinning, collision, isPed, vertexIndex, fixedRot) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
});
|
|
156
|
+
var _a;
|
|
157
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.attachToEntity(target, boneIndex, offset, rotation, p9, useSoftPinning, collision, isPed, vertexIndex, fixedRot);
|
|
161
158
|
}
|
|
162
159
|
detach(useDetachVelocity, collision) {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
});
|
|
160
|
+
var _a;
|
|
161
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.detach(useDetachVelocity, collision);
|
|
166
162
|
}
|
|
167
163
|
getSpeed() {
|
|
168
|
-
|
|
164
|
+
var _a, _b;
|
|
165
|
+
return (_b = (_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.getSpeed()) !== null && _b !== void 0 ? _b : 0;
|
|
169
166
|
}
|
|
170
167
|
isPlayingAnim(dictionary, name, taskFlag) {
|
|
171
|
-
|
|
168
|
+
var _a, _b;
|
|
169
|
+
return (_b = (_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.isPlayingAnim(dictionary, name, taskFlag)) !== null && _b !== void 0 ? _b : false;
|
|
172
170
|
}
|
|
173
171
|
// -- IPlayer --------------------------------------------------------------
|
|
174
172
|
get name() {
|
|
@@ -214,64 +212,83 @@ export class CCMPPlayer {
|
|
|
214
212
|
return 0;
|
|
215
213
|
}
|
|
216
214
|
getBoneIndex(boneId) {
|
|
217
|
-
|
|
215
|
+
var _a, _b;
|
|
216
|
+
return (_b = (_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.getBoneIndex(boneId)) !== null && _b !== void 0 ? _b : -1;
|
|
218
217
|
}
|
|
219
|
-
setDecoration(
|
|
220
|
-
|
|
218
|
+
setDecoration(collection, overlay) {
|
|
219
|
+
var _a;
|
|
220
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.setDecoration(collection, overlay);
|
|
221
221
|
}
|
|
222
|
-
removeDecoration(
|
|
223
|
-
|
|
222
|
+
removeDecoration(collection, overlay) {
|
|
223
|
+
var _a;
|
|
224
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.removeDecoration(collection, overlay);
|
|
224
225
|
}
|
|
225
226
|
clearDecorations() {
|
|
226
|
-
|
|
227
|
+
var _a;
|
|
228
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.clearDecorations();
|
|
227
229
|
}
|
|
228
|
-
setHeadBlendData(
|
|
229
|
-
|
|
230
|
+
setHeadBlendData(shapeFirstId, shapeSecondId, shapeThirdId, skinFirstId, skinSecondId, skinThirdId, shapeMix, skinMix, thirdMix, isParent) {
|
|
231
|
+
var _a;
|
|
232
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.setHeadBlendData(shapeFirstId, shapeSecondId, shapeThirdId, skinFirstId, skinSecondId, skinThirdId, shapeMix, skinMix, thirdMix, isParent);
|
|
230
233
|
}
|
|
231
|
-
setFaceFeature(
|
|
232
|
-
|
|
234
|
+
setFaceFeature(index, value) {
|
|
235
|
+
var _a;
|
|
236
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.setFaceFeature(index, value);
|
|
233
237
|
}
|
|
234
|
-
setHeadOverlay(
|
|
235
|
-
|
|
238
|
+
setHeadOverlay(overlayId, index, opacity, _firstColor, _secondColor) {
|
|
239
|
+
var _a;
|
|
240
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.setHeadOverlay(overlayId, index, opacity);
|
|
236
241
|
}
|
|
237
|
-
setHeadOverlayColor(
|
|
238
|
-
|
|
242
|
+
setHeadOverlayColor(overlayId, colorTypeId, firstColor, secondColor) {
|
|
243
|
+
var _a;
|
|
244
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.setHeadOverlayColor(overlayId, colorTypeId, firstColor, secondColor);
|
|
239
245
|
}
|
|
240
|
-
setEyeColor(
|
|
241
|
-
|
|
246
|
+
setEyeColor(eyeColor) {
|
|
247
|
+
var _a;
|
|
248
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.setEyeColor(eyeColor);
|
|
242
249
|
}
|
|
243
|
-
setHairColor(
|
|
244
|
-
|
|
250
|
+
setHairColor(colorId, highlightColorId) {
|
|
251
|
+
var _a;
|
|
252
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.setHairColor(colorId, highlightColorId);
|
|
245
253
|
}
|
|
246
|
-
setComponentVariation(
|
|
247
|
-
|
|
254
|
+
setComponentVariation(componentId, drawableId, textureId, paletteId) {
|
|
255
|
+
var _a;
|
|
256
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.setComponentVariation(componentId, drawableId, textureId, paletteId);
|
|
248
257
|
}
|
|
249
|
-
setPropertyVariation(
|
|
250
|
-
|
|
258
|
+
setPropertyVariation(componentId, drawableId, textureId, attach) {
|
|
259
|
+
var _a;
|
|
260
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.setPropertyVariation(componentId, drawableId, textureId, attach);
|
|
251
261
|
}
|
|
252
|
-
clearProp(
|
|
253
|
-
|
|
262
|
+
clearProp(componentId) {
|
|
263
|
+
var _a;
|
|
264
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.clearProp(componentId);
|
|
254
265
|
}
|
|
255
266
|
get isLocalPlayer() {
|
|
256
267
|
return this._isLocal;
|
|
257
268
|
}
|
|
258
269
|
taskSwapWeapon() {
|
|
259
|
-
|
|
270
|
+
var _a;
|
|
271
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.taskSwapWeapon(true);
|
|
260
272
|
}
|
|
261
|
-
taskEnterVehicle(
|
|
262
|
-
|
|
273
|
+
taskEnterVehicle(vehicleHandle, timeout, seat, speed, flag, _p6) {
|
|
274
|
+
var _a;
|
|
275
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.taskEnterVehicle(vehicleHandle, timeout, seat, speed, flag);
|
|
263
276
|
}
|
|
264
277
|
clearTasks() {
|
|
265
|
-
|
|
278
|
+
var _a;
|
|
279
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.clearTasks();
|
|
266
280
|
}
|
|
267
281
|
clearTasksImmediately() {
|
|
268
|
-
|
|
282
|
+
var _a;
|
|
283
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.clearTasksImmediately();
|
|
269
284
|
}
|
|
270
|
-
taskPlayAnim(
|
|
271
|
-
|
|
285
|
+
taskPlayAnim(dictionary, name, blendInSpeed, blendOutSpeed, duration, flag, playbackRate, lockX, lockY, lockZ) {
|
|
286
|
+
var _a;
|
|
287
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.taskPlayAnim(dictionary, name, blendInSpeed, blendOutSpeed, duration, flag, playbackRate, lockX, lockY, lockZ);
|
|
272
288
|
}
|
|
273
|
-
stopAnim(
|
|
274
|
-
|
|
289
|
+
stopAnim(dictionary, name, blendOutSpeed) {
|
|
290
|
+
var _a;
|
|
291
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.stopAnim(dictionary, name, blendOutSpeed);
|
|
275
292
|
}
|
|
276
293
|
setMovementClipset(_clipset, _speed) {
|
|
277
294
|
this._warnOnce("setMovementClipset");
|
|
@@ -280,17 +297,13 @@ export class CCMPPlayer {
|
|
|
280
297
|
this._warnOnce("resetMovementClipset");
|
|
281
298
|
}
|
|
282
299
|
getBoneCoords(boneId, offsetX, offsetY, offsetZ) {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
});
|
|
300
|
+
var _a;
|
|
301
|
+
const position = (_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.getBoneCoords(boneId, offsetX, offsetY, offsetZ);
|
|
302
|
+
return position ? new Vector3D(position.x, position.y, position.z) : ZERO_VECTOR;
|
|
287
303
|
}
|
|
288
304
|
setNoCollision(otherHandle, thisFrameOnly) {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
ccmp.natives.entity.setEntityNoCollisionEntity(handle, otherHandle, thisFrameOnly);
|
|
292
|
-
}
|
|
293
|
-
});
|
|
305
|
+
var _a;
|
|
306
|
+
(_a = this._getNativePlayer()) === null || _a === void 0 ? void 0 : _a.setNoCollision(otherHandle, thisFrameOnly);
|
|
294
307
|
}
|
|
295
308
|
_getNativePlayer() {
|
|
296
309
|
try {
|
|
@@ -305,20 +318,6 @@ export class CCMPPlayer {
|
|
|
305
318
|
return null;
|
|
306
319
|
}
|
|
307
320
|
}
|
|
308
|
-
_withHandle(fallback, callback) {
|
|
309
|
-
const handle = this.handle;
|
|
310
|
-
if (!handle) {
|
|
311
|
-
return fallback;
|
|
312
|
-
}
|
|
313
|
-
return callback(handle);
|
|
314
|
-
}
|
|
315
|
-
_withHandleVoid(callback) {
|
|
316
|
-
const handle = this.handle;
|
|
317
|
-
if (!handle) {
|
|
318
|
-
return;
|
|
319
|
-
}
|
|
320
|
-
callback(handle);
|
|
321
|
-
}
|
|
322
321
|
_warnOnce(method) {
|
|
323
322
|
if (CCMPPlayer._warnedMethods.has(method)) {
|
|
324
323
|
return;
|
|
@@ -9,9 +9,10 @@ import { CCMPPlayer } from "./CCMPPlayer";
|
|
|
9
9
|
*
|
|
10
10
|
* ### Хранилище
|
|
11
11
|
*
|
|
12
|
-
* `Map<id, CCMPPlayer>`.
|
|
13
|
-
*
|
|
14
|
-
* `
|
|
12
|
+
* `Map<id, CCMPPlayer>`. For CCMP players only, `id` and `remoteId` still
|
|
13
|
+
* mean the same server/network id. Non-player CCMP wrappers have a separate
|
|
14
|
+
* client-local `id` and nullable server `remoteId`.
|
|
15
|
+
* `findByID`/`findByRemoteID`/`findByRemoteId` map to one lookup for players.
|
|
15
16
|
*
|
|
16
17
|
* ### Жизненный цикл local player'а
|
|
17
18
|
*
|
|
@@ -7,9 +7,10 @@ import { CCMPPlayer } from "./CCMPPlayer";
|
|
|
7
7
|
*
|
|
8
8
|
* ### Хранилище
|
|
9
9
|
*
|
|
10
|
-
* `Map<id, CCMPPlayer>`.
|
|
11
|
-
*
|
|
12
|
-
* `
|
|
10
|
+
* `Map<id, CCMPPlayer>`. For CCMP players only, `id` and `remoteId` still
|
|
11
|
+
* mean the same server/network id. Non-player CCMP wrappers have a separate
|
|
12
|
+
* client-local `id` and nullable server `remoteId`.
|
|
13
|
+
* `findByID`/`findByRemoteID`/`findByRemoteId` map to one lookup for players.
|
|
13
14
|
*
|
|
14
15
|
* ### Жизненный цикл local player'а
|
|
15
16
|
*
|
|
@@ -62,16 +63,28 @@ export class CCMPPlayersManager {
|
|
|
62
63
|
[ClientInternalEventName.PlayerReady]: (player) => {
|
|
63
64
|
// Если кто-то ещё эмитнул rm::playerReady (например, cooperation
|
|
64
65
|
// fallback в будущем) — синхронизируем своё состояние.
|
|
65
|
-
|
|
66
|
+
const remoteId = player.remoteId;
|
|
67
|
+
if (remoteId === null) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
this._ensurePlayer(remoteId, player.name, /* isLocal */ true);
|
|
66
71
|
},
|
|
67
72
|
[ClientInternalEventName.PlayerConnected]: (player) => {
|
|
68
|
-
|
|
73
|
+
const remoteId = player.remoteId;
|
|
74
|
+
if (remoteId === null) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
this._ensurePlayer(remoteId, player.name, /* isLocal */ false);
|
|
69
78
|
},
|
|
70
79
|
[ClientInternalEventName.PlayerDisconnected]: (player) => {
|
|
71
|
-
const
|
|
80
|
+
const remoteId = player.remoteId;
|
|
81
|
+
if (remoteId === null) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const existing = this._players.get(remoteId);
|
|
72
85
|
if (existing) {
|
|
73
86
|
existing.markRemoved();
|
|
74
|
-
this._players.delete(
|
|
87
|
+
this._players.delete(remoteId);
|
|
75
88
|
}
|
|
76
89
|
},
|
|
77
90
|
});
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { type Vehicle as CcmpVehicle } from "@classic-mp/types/client";
|
|
2
|
+
import { BaseObjectType } from "../../../../shared/entities";
|
|
3
|
+
import { type IRGB, type IVector3D, Vector3D } from "../../../../shared/common/utils";
|
|
4
|
+
import { type IBaseObject } from "../../common/baseObject/IBaseObject";
|
|
5
|
+
import { type ILightState, type IVehicle } from "../../common/vehicle/IVehicle";
|
|
6
|
+
export type ICCMPNativeVehicle = CcmpVehicle;
|
|
7
|
+
export declare class CCMPVehicle implements IVehicle {
|
|
8
|
+
private readonly _ccmpVehicle;
|
|
9
|
+
private readonly _onDestroy;
|
|
10
|
+
private _destroyed;
|
|
11
|
+
constructor(_ccmpVehicle: ICCMPNativeVehicle, _onDestroy?: (vehicle: CCMPVehicle) => void);
|
|
12
|
+
get id(): number;
|
|
13
|
+
get remoteId(): number | null;
|
|
14
|
+
get type(): BaseObjectType;
|
|
15
|
+
get isExists(): boolean;
|
|
16
|
+
get handle(): number;
|
|
17
|
+
destroy(): void;
|
|
18
|
+
get position(): Vector3D;
|
|
19
|
+
get dimension(): number;
|
|
20
|
+
setPosition(value: IVector3D): void;
|
|
21
|
+
setDimension(value: number): void;
|
|
22
|
+
setCoords(xPos: number, yPos: number, zPos: number, xAxis: boolean, yAxis: boolean, zAxis: boolean, clearArea: boolean): void;
|
|
23
|
+
get model(): number;
|
|
24
|
+
get heading(): number;
|
|
25
|
+
setHeading(heading: number): void;
|
|
26
|
+
setModel(value: string): void;
|
|
27
|
+
get rotation(): Vector3D;
|
|
28
|
+
get forwardVector(): Vector3D;
|
|
29
|
+
setRotation(value: IVector3D): void;
|
|
30
|
+
freezePosition(freeze: boolean): void;
|
|
31
|
+
setCollision(collision: boolean, keepPhysics: boolean): void;
|
|
32
|
+
setInvincible(invincible: boolean): void;
|
|
33
|
+
setVisible(visible: boolean): void;
|
|
34
|
+
setAlpha(alpha: number): void;
|
|
35
|
+
get alpha(): number;
|
|
36
|
+
resetAlpha(): void;
|
|
37
|
+
getOffsetFromInWorldCoords(offsetX: number, offsetY: number, offsetZ: number): IVector3D;
|
|
38
|
+
getBoneIndexByName(boneName: string): number;
|
|
39
|
+
getWorldPositionOfBone(boneIndex: number): IVector3D;
|
|
40
|
+
getVariable(name: string): unknown | null;
|
|
41
|
+
getSyncedMeta(key: string): unknown | undefined;
|
|
42
|
+
hasSyncedMeta(key: string): boolean;
|
|
43
|
+
getSyncedMetaKeys(): readonly string[];
|
|
44
|
+
attachToEntity(target: IBaseObject, boneIndex: number, offset: IVector3D, rotation: IVector3D, p9: boolean, useSoftPinning: boolean, collision: boolean, isPed: boolean, vertexIndex: number, fixedRot: boolean): void;
|
|
45
|
+
detach(useDetachVelocity: boolean, collision: boolean): void;
|
|
46
|
+
getSpeed(): number;
|
|
47
|
+
isPlayingAnim(dictionary: string, name: string, taskFlag: number): boolean;
|
|
48
|
+
get bodyHealth(): number;
|
|
49
|
+
get engineHealth(): number;
|
|
50
|
+
get numberPlate(): string;
|
|
51
|
+
get isDead(): boolean;
|
|
52
|
+
setBodyHealth(value: number): void;
|
|
53
|
+
setEngineHealth(value: number): void;
|
|
54
|
+
setNumberPlate(value: string): void;
|
|
55
|
+
explode(): void;
|
|
56
|
+
getPedInSeat(seat: number): number;
|
|
57
|
+
setUndriveable(toggle: boolean): void;
|
|
58
|
+
get maxNumberOfPassengers(): number;
|
|
59
|
+
get gear(): number;
|
|
60
|
+
get speed(): number;
|
|
61
|
+
get isEngineRunning(): boolean;
|
|
62
|
+
setEngineOn(toggle: boolean, instantly: boolean, otherwise: boolean): void;
|
|
63
|
+
get lightsState(): ILightState;
|
|
64
|
+
get isLocked(): boolean;
|
|
65
|
+
setIsLocked(value: boolean): void;
|
|
66
|
+
setCustomPrimaryColour(color: IRGB): void;
|
|
67
|
+
setCustomSecondaryColour(color: IRGB): void;
|
|
68
|
+
get customPrimaryColour(): IRGB;
|
|
69
|
+
get customSecondaryColour(): IRGB;
|
|
70
|
+
setMod(modType: number, modIndex: number): void;
|
|
71
|
+
getMod(modType: number): number;
|
|
72
|
+
getNumMods(modType: number): number;
|
|
73
|
+
setNeonLightEnabled(index: number, toggle: boolean): void;
|
|
74
|
+
setNeonLightsColour(color: IRGB): void;
|
|
75
|
+
setWindowTint(tintType: number): void;
|
|
76
|
+
get windowTint(): number;
|
|
77
|
+
setWheelType(wheelType: number): void;
|
|
78
|
+
get wheelType(): number;
|
|
79
|
+
setNumberPlateTextIndex(index: number): void;
|
|
80
|
+
get numberPlateTextIndex(): number;
|
|
81
|
+
setDoorOpen(doorIndex: number, loose: boolean, openInstantly: boolean): void;
|
|
82
|
+
setDoorShut(doorIndex: number, instantly: boolean): void;
|
|
83
|
+
setHandling(field: string, value: number): void;
|
|
84
|
+
getHandling(field: string): number;
|
|
85
|
+
setEnginePowerMultiplier(value: number): void;
|
|
86
|
+
setEngineTorqueMultiplier(value: number): void;
|
|
87
|
+
modifyTopSpeed(value: number): void;
|
|
88
|
+
setCheatPowerIncrease(value: number): void;
|
|
89
|
+
toggleMod(modType: number, toggle: boolean): void;
|
|
90
|
+
setTyreSmokeColor(r: number, g: number, b: number): void;
|
|
91
|
+
setModColor1(paintType: number, color: number, p3: number): void;
|
|
92
|
+
setExtraColours(pearlescentColor: number, wheelColor: number): void;
|
|
93
|
+
setHeadlightColor(colorIndex: number): void;
|
|
94
|
+
setDashboardColor(colorIndex: number): void;
|
|
95
|
+
setInteriorColor(colorIndex: number): void;
|
|
96
|
+
getMaxBraking(): number;
|
|
97
|
+
getAcceleration(): number;
|
|
98
|
+
getMaxTraction(): number;
|
|
99
|
+
getModelMaxSpeed(): number;
|
|
100
|
+
private _normalizeHandle;
|
|
101
|
+
private _getRemoteVehicleExists;
|
|
102
|
+
}
|