rock-mod 0.19.0 → 0.20.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/common/ped/IPed.d.ts +5 -0
- package/dist/client/entities/common/player/IPlayer.d.ts +1 -0
- package/dist/client/entities/common/vehicle/IVehicle.d.ts +11 -0
- package/dist/client/entities/ragemp/entity/RageEntity.js +5 -2
- package/dist/client/entities/ragemp/ped/RagePed.d.ts +5 -0
- package/dist/client/entities/ragemp/ped/RagePed.js +16 -0
- package/dist/client/entities/ragemp/player/RagePlayer.d.ts +1 -0
- package/dist/client/entities/ragemp/player/RagePlayer.js +3 -0
- package/dist/client/entities/ragemp/vehicle/RageVehicle.d.ts +11 -0
- package/dist/client/entities/ragemp/vehicle/RageVehicle.js +36 -0
- package/dist/client/game/common/graphics/IGraphicsManager.d.ts +2 -0
- package/dist/client/game/common/streaming/IStreamingManager.d.ts +2 -0
- package/dist/client/game/ragemp/graphics/RageGraphicsManager.d.ts +2 -0
- package/dist/client/game/ragemp/graphics/RageGraphicsManager.js +7 -0
- package/dist/client/game/ragemp/streaming/RageStreamingManager.d.ts +2 -0
- package/dist/client/game/ragemp/streaming/RageStreamingManager.js +6 -0
- package/package.json +4 -1
|
@@ -16,4 +16,9 @@ export interface IPed extends IEntity {
|
|
|
16
16
|
setPropertyVariation(componentId: number, drawableId: number, textureId: number, attach: boolean): void;
|
|
17
17
|
clearProp(componentId: number): void;
|
|
18
18
|
getBoneCoords(boneId: number, offsetX: number, offsetY: number, offsetZ: number): IVector3D;
|
|
19
|
+
clearTasks(): void;
|
|
20
|
+
taskPlayAnim(dictionary: string, name: string, blendInSpeed: number, blendOutSpeed: number, duration: number, flag: number, playbackRate: number): void;
|
|
21
|
+
taskGoToCoordAnyMeans(x: number, y: number, z: number, speed: number, walkingStyle?: number, drivingFlags?: number): void;
|
|
22
|
+
stopAnim(dictionary: string, name: string, blendOutSpeed: number): void;
|
|
23
|
+
setBlockingOfNonTemporaryEvents(blocking: boolean): void;
|
|
19
24
|
}
|
|
@@ -41,4 +41,5 @@ export interface IPlayer extends IEntity {
|
|
|
41
41
|
setMovementClipset(clipset: string, speed: number): void;
|
|
42
42
|
resetMovementClipset(blendDuration: number): void;
|
|
43
43
|
getBoneCoords(boneId: number, offsetX: number, offsetY: number, offsetZ: number): IVector3D;
|
|
44
|
+
setNoCollision(otherHandle: number, thisFrameOnly: boolean): void;
|
|
44
45
|
}
|
|
@@ -48,4 +48,15 @@ export interface IVehicle extends IEntity {
|
|
|
48
48
|
setEngineTorqueMultiplier(value: number): void;
|
|
49
49
|
modifyTopSpeed(value: number): void;
|
|
50
50
|
setCheatPowerIncrease(value: number): void;
|
|
51
|
+
toggleMod(modType: number, toggle: boolean): void;
|
|
52
|
+
setTyreSmokeColor(r: number, g: number, b: number): void;
|
|
53
|
+
setModColor1(paintType: number, color: number, p3: number): void;
|
|
54
|
+
setExtraColours(pearlescentColor: number, wheelColor: number): void;
|
|
55
|
+
setHeadlightColor(colorIndex: number): void;
|
|
56
|
+
setDashboardColor(colorIndex: number): void;
|
|
57
|
+
setInteriorColor(colorIndex: number): void;
|
|
58
|
+
getMaxBraking(): number;
|
|
59
|
+
getAcceleration(): number;
|
|
60
|
+
getMaxTraction(): number;
|
|
61
|
+
getModelMaxSpeed(): number;
|
|
51
62
|
}
|
|
@@ -28,10 +28,13 @@ export class RageEntity extends RageWorldObject {
|
|
|
28
28
|
return new Vector3D(vector.x, vector.y, vector.z);
|
|
29
29
|
}
|
|
30
30
|
freezePosition(freeze) {
|
|
31
|
-
|
|
31
|
+
// FREEZE_ENTITY_POSITION via raw native: the RAGEMP wrapper does not consistently
|
|
32
|
+
// toggle the engine-level freeze for client-spawned entities, leaving them frozen.
|
|
33
|
+
mp.game.invoke("0x428CA6DBD1094446", this.handle, freeze);
|
|
32
34
|
}
|
|
33
35
|
setCollision(collision, keepPhysics) {
|
|
34
|
-
|
|
36
|
+
// SET_ENTITY_COLLISION via raw native for the same reason as freezePosition above.
|
|
37
|
+
mp.game.invoke("0x1A9205C1B9EE827F", this.handle, collision, keepPhysics);
|
|
35
38
|
}
|
|
36
39
|
setInvincible(invincible) {
|
|
37
40
|
this.mpEntity.setInvincible(invincible);
|
|
@@ -18,4 +18,9 @@ export declare class RagePed extends RageEntity<PedMp> implements IPed {
|
|
|
18
18
|
setPropertyVariation(componentId: number, drawableId: number, textureId: number, attach: boolean): void;
|
|
19
19
|
clearProp(componentId: number): void;
|
|
20
20
|
getBoneCoords(boneId: number, offsetX: number, offsetY: number, offsetZ: number): IVector3D;
|
|
21
|
+
clearTasks(): void;
|
|
22
|
+
taskPlayAnim(dictionary: string, name: string, blendInSpeed: number, blendOutSpeed: number, duration: number, flag: number, playbackRate: number): void;
|
|
23
|
+
stopAnim(dictionary: string, name: string, blendOutSpeed: number): void;
|
|
24
|
+
taskGoToCoordAnyMeans(x: number, y: number, z: number, speed: number, walkingStyle?: number, drivingFlags?: number): void;
|
|
25
|
+
setBlockingOfNonTemporaryEvents(blocking: boolean): void;
|
|
21
26
|
}
|
|
@@ -49,4 +49,20 @@ export class RagePed extends RageEntity {
|
|
|
49
49
|
const { x, y, z } = this.mpEntity.getBoneCoords(boneId, offsetX, offsetY, offsetZ);
|
|
50
50
|
return new Vector3D(x, y, z);
|
|
51
51
|
}
|
|
52
|
+
clearTasks() {
|
|
53
|
+
this.mpEntity.clearTasks();
|
|
54
|
+
}
|
|
55
|
+
taskPlayAnim(dictionary, name, blendInSpeed, blendOutSpeed, duration, flag, playbackRate) {
|
|
56
|
+
this.mpEntity.taskPlayAnim(dictionary, name, blendInSpeed, blendOutSpeed, duration, flag, playbackRate, false, false, false);
|
|
57
|
+
}
|
|
58
|
+
stopAnim(dictionary, name, blendOutSpeed) {
|
|
59
|
+
mp.game.task.stopAnimTask(this.handle, dictionary, name, blendOutSpeed);
|
|
60
|
+
}
|
|
61
|
+
taskGoToCoordAnyMeans(x, y, z, speed, walkingStyle = 786603, drivingFlags = 0xbf800000) {
|
|
62
|
+
mp.game.task.goToCoordAnyMeans(this.handle, x, y, z, speed, 0, false, walkingStyle, drivingFlags);
|
|
63
|
+
}
|
|
64
|
+
setBlockingOfNonTemporaryEvents(blocking) {
|
|
65
|
+
// BLOCKING_OF_NON_TEMPORARY_EVENTS — no RAGEMP wrapper, invoke native by hash
|
|
66
|
+
mp.game.invoke("0x9F8AA94D6D97DBF4", this.handle, blocking);
|
|
67
|
+
}
|
|
52
68
|
}
|
|
@@ -43,5 +43,6 @@ export declare class RagePlayer extends RageEntity<PlayerMp> implements IPlayer
|
|
|
43
43
|
taskPlayAnim(dictionary: string, name: string, blendInSpeed: number, blendOutSpeed: number, duration: number, flag: number, playbackRate: number, lockX: boolean, lockY: boolean, lockZ: boolean): void;
|
|
44
44
|
taskSwapWeapon(): void;
|
|
45
45
|
getBoneCoords(boneId: number, offsetX: number, offsetY: number, offsetZ: number): IVector3D;
|
|
46
|
+
setNoCollision(otherHandle: number, thisFrameOnly: boolean): void;
|
|
46
47
|
}
|
|
47
48
|
export {};
|
|
@@ -126,4 +126,7 @@ export class RagePlayer extends RageEntity {
|
|
|
126
126
|
const { x, y, z } = this.mpEntity.getBoneCoords(boneId, offsetX, offsetY, offsetZ);
|
|
127
127
|
return new Vector3D(x, y, z);
|
|
128
128
|
}
|
|
129
|
+
setNoCollision(otherHandle, thisFrameOnly) {
|
|
130
|
+
this.mpEntity.setNoCollision(otherHandle, thisFrameOnly);
|
|
131
|
+
}
|
|
129
132
|
}
|
|
@@ -46,4 +46,15 @@ export declare class RageVehicle extends RageEntity<VehicleMp> implements IVehic
|
|
|
46
46
|
setEngineTorqueMultiplier(value: number): void;
|
|
47
47
|
modifyTopSpeed(value: number): void;
|
|
48
48
|
setCheatPowerIncrease(value: number): void;
|
|
49
|
+
toggleMod(modType: number, toggle: boolean): void;
|
|
50
|
+
setTyreSmokeColor(r: number, g: number, b: number): void;
|
|
51
|
+
setModColor1(paintType: number, color: number, p3: number): void;
|
|
52
|
+
setExtraColours(pearlescentColor: number, wheelColor: number): void;
|
|
53
|
+
setHeadlightColor(colorIndex: number): void;
|
|
54
|
+
setDashboardColor(colorIndex: number): void;
|
|
55
|
+
setInteriorColor(colorIndex: number): void;
|
|
56
|
+
getMaxBraking(): number;
|
|
57
|
+
getAcceleration(): number;
|
|
58
|
+
getMaxTraction(): number;
|
|
59
|
+
getModelMaxSpeed(): number;
|
|
49
60
|
}
|
|
@@ -129,4 +129,40 @@ export class RageVehicle extends RageEntity {
|
|
|
129
129
|
setCheatPowerIncrease(value) {
|
|
130
130
|
mp.game.vehicle.setCheatPowerIncrease(this.handle, value);
|
|
131
131
|
}
|
|
132
|
+
toggleMod(modType, toggle) {
|
|
133
|
+
this.mpEntity.toggleMod(modType, toggle);
|
|
134
|
+
}
|
|
135
|
+
setTyreSmokeColor(r, g, b) {
|
|
136
|
+
this.mpEntity.setTyreSmokeColor(r, g, b);
|
|
137
|
+
}
|
|
138
|
+
setModColor1(paintType, color, p3) {
|
|
139
|
+
this.mpEntity.setModColor1(paintType, color, p3);
|
|
140
|
+
}
|
|
141
|
+
setExtraColours(pearlescentColor, wheelColor) {
|
|
142
|
+
this.mpEntity.setExtraColours(pearlescentColor, wheelColor);
|
|
143
|
+
}
|
|
144
|
+
setHeadlightColor(colorIndex) {
|
|
145
|
+
// _SET_VEHICLE_HEADLIGHT_COLOUR — no RAGEMP wrapper, invoke native by hash
|
|
146
|
+
mp.game.invoke("0xE41033B25D003A07", this.handle, colorIndex);
|
|
147
|
+
}
|
|
148
|
+
setDashboardColor(colorIndex) {
|
|
149
|
+
// SET_VEHICLE_DASHBOARD_COLOUR — no RAGEMP wrapper, invoke native by hash
|
|
150
|
+
mp.game.invoke("0x6089CDF6A57F326C", this.handle, colorIndex);
|
|
151
|
+
}
|
|
152
|
+
setInteriorColor(colorIndex) {
|
|
153
|
+
// SET_VEHICLE_INTERIOR_COLOUR — no RAGEMP wrapper, invoke native by hash
|
|
154
|
+
mp.game.invoke("0xF40DD601A65F7F19", this.handle, colorIndex);
|
|
155
|
+
}
|
|
156
|
+
getMaxBraking() {
|
|
157
|
+
return this.mpEntity.getMaxBraking();
|
|
158
|
+
}
|
|
159
|
+
getAcceleration() {
|
|
160
|
+
return this.mpEntity.getAcceleration();
|
|
161
|
+
}
|
|
162
|
+
getMaxTraction() {
|
|
163
|
+
return this.mpEntity.getMaxTraction();
|
|
164
|
+
}
|
|
165
|
+
getModelMaxSpeed() {
|
|
166
|
+
return mp.game.vehicle.getVehicleModelMaxSpeed(this.mpEntity.model);
|
|
167
|
+
}
|
|
132
168
|
}
|
|
@@ -11,4 +11,6 @@ export interface IGraphicsManager {
|
|
|
11
11
|
world3dToScreen2d(position: IVector3D): IVector2D | null;
|
|
12
12
|
startScreenEffect(effectName: string, duration: number, looped: boolean): void;
|
|
13
13
|
stopScreenEffect(effectName: string): void;
|
|
14
|
+
getSafeZoneSize(): number;
|
|
15
|
+
getActiveScreenResolution(): IVector2D;
|
|
14
16
|
}
|
|
@@ -4,6 +4,8 @@ export interface IStreamingManager {
|
|
|
4
4
|
hasAnimationDictionaryLoaded(dictionary: string): boolean;
|
|
5
5
|
removeAnimationDictionary(dictionary: string): void;
|
|
6
6
|
isModelInCdimage(model: string): boolean;
|
|
7
|
+
requestModel(modelHash: number): void;
|
|
8
|
+
hasModelLoaded(modelHash: number): boolean;
|
|
7
9
|
requestIpl(iplName: string): void;
|
|
8
10
|
removeIpl(iplName: string): void;
|
|
9
11
|
setFocusArea(position: IVector3D, offset: IVector3D): void;
|
|
@@ -5,4 +5,6 @@ export declare class RageGraphicsManager implements IGraphicsManager {
|
|
|
5
5
|
world3dToScreen2d(position: IVector3D): IVector2D | null;
|
|
6
6
|
startScreenEffect(effectName: string, duration: number, looped: boolean): void;
|
|
7
7
|
stopScreenEffect(effectName: string): void;
|
|
8
|
+
getSafeZoneSize(): number;
|
|
9
|
+
getActiveScreenResolution(): IVector2D;
|
|
8
10
|
}
|
|
@@ -27,4 +27,11 @@ export class RageGraphicsManager {
|
|
|
27
27
|
stopScreenEffect(effectName) {
|
|
28
28
|
mp.game.graphics.stopScreenEffect(effectName);
|
|
29
29
|
}
|
|
30
|
+
getSafeZoneSize() {
|
|
31
|
+
return mp.game.graphics.getSafeZoneSize();
|
|
32
|
+
}
|
|
33
|
+
getActiveScreenResolution() {
|
|
34
|
+
const result = mp.game.graphics.getActiveScreenResolution();
|
|
35
|
+
return new Vector2D(result.x, result.y);
|
|
36
|
+
}
|
|
30
37
|
}
|
|
@@ -5,6 +5,8 @@ export declare class RageStreamingManager implements IStreamingManager {
|
|
|
5
5
|
hasAnimationDictionaryLoaded(dictionary: string): boolean;
|
|
6
6
|
removeAnimationDictionary(dictionary: string): void;
|
|
7
7
|
isModelInCdimage(model: string): boolean;
|
|
8
|
+
requestModel(modelHash: number): void;
|
|
9
|
+
hasModelLoaded(modelHash: number): boolean;
|
|
8
10
|
requestIpl(iplName: string): void;
|
|
9
11
|
removeIpl(iplName: string): void;
|
|
10
12
|
setFocusArea(position: IVector3D, offset: IVector3D): void;
|
|
@@ -12,6 +12,12 @@ export class RageStreamingManager {
|
|
|
12
12
|
const modelHash = mp.game.joaat(model);
|
|
13
13
|
return mp.game.streaming.isModelInCdimage(modelHash);
|
|
14
14
|
}
|
|
15
|
+
requestModel(modelHash) {
|
|
16
|
+
mp.game.streaming.requestModel(modelHash);
|
|
17
|
+
}
|
|
18
|
+
hasModelLoaded(modelHash) {
|
|
19
|
+
return mp.game.streaming.hasModelLoaded(modelHash);
|
|
20
|
+
}
|
|
15
21
|
requestIpl(iplName) {
|
|
16
22
|
mp.game.streaming.requestIpl(iplName);
|
|
17
23
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rock-mod",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"description": "Rock-Mod is a powerful framework designed for creating and managing mods for Grand Theft Auto (GTA) games.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -82,6 +82,9 @@
|
|
|
82
82
|
],
|
|
83
83
|
"author": "xvetal",
|
|
84
84
|
"license": "MIT",
|
|
85
|
+
"dependencies": {
|
|
86
|
+
"@swc/helpers": "^0.5.15"
|
|
87
|
+
},
|
|
85
88
|
"devDependencies": {
|
|
86
89
|
"@rollup/plugin-commonjs": "^25.0.7",
|
|
87
90
|
"@rollup/plugin-node-resolve": "^15.2.3",
|