@sagl/server 0.0.0-stage → 0.1.0-next.49
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/LICENSE +21 -0
- package/README.md +61 -2
- package/dist/actions.d.ts +46 -0
- package/dist/actions.js +80 -0
- package/dist/actions.js.map +1 -0
- package/dist/animations.d.ts +32 -0
- package/dist/animations.js +95 -0
- package/dist/animations.js.map +1 -0
- package/dist/audio.d.ts +180 -0
- package/dist/audio.js +353 -0
- package/dist/audio.js.map +1 -0
- package/dist/audio_effects.d.ts +219 -0
- package/dist/audio_effects.js +84 -0
- package/dist/audio_effects.js.map +1 -0
- package/dist/camera.d.ts +188 -0
- package/dist/camera.js +247 -0
- package/dist/camera.js.map +1 -0
- package/dist/claims.d.ts +27 -0
- package/dist/claims.js +48 -0
- package/dist/claims.js.map +1 -0
- package/dist/commands.d.ts +135 -0
- package/dist/commands.js +373 -0
- package/dist/commands.js.map +1 -0
- package/dist/console.d.ts +21 -0
- package/dist/console.js +100 -0
- package/dist/console.js.map +1 -0
- package/dist/constants.d.ts +654 -0
- package/dist/constants.js +657 -0
- package/dist/constants.js.map +1 -0
- package/dist/cutscene.d.ts +47 -0
- package/dist/cutscene.js +190 -0
- package/dist/cutscene.js.map +1 -0
- package/dist/draw.d.ts +106 -0
- package/dist/draw.js +132 -0
- package/dist/draw.js.map +1 -0
- package/dist/effects.d.ts +91 -0
- package/dist/effects.js +116 -0
- package/dist/effects.js.map +1 -0
- package/dist/gangzones.d.ts +47 -0
- package/dist/gangzones.js +122 -0
- package/dist/gangzones.js.map +1 -0
- package/dist/geo.d.ts +11 -0
- package/dist/geo.js +25 -0
- package/dist/geo.js.map +1 -0
- package/dist/hud.d.ts +159 -0
- package/dist/hud.js +247 -0
- package/dist/hud.js.map +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/interaction.d.ts +81 -0
- package/dist/interaction.js +143 -0
- package/dist/interaction.js.map +1 -0
- package/dist/junctions.d.ts +1 -0
- package/dist/junctions.js +330 -0
- package/dist/junctions.js.map +1 -0
- package/dist/map.d.ts +55 -0
- package/dist/map.js +71 -0
- package/dist/map.js.map +1 -0
- package/dist/menu.d.ts +96 -0
- package/dist/menu.js +129 -0
- package/dist/menu.js.map +1 -0
- package/dist/mission.d.ts +482 -0
- package/dist/mission.js +1258 -0
- package/dist/mission.js.map +1 -0
- package/dist/models.d.ts +56 -0
- package/dist/models.js +71 -0
- package/dist/models.js.map +1 -0
- package/dist/modshop.d.ts +229 -0
- package/dist/modshop.js +904 -0
- package/dist/modshop.js.map +1 -0
- package/dist/modshop_data.d.ts +44 -0
- package/dist/modshop_data.js +287 -0
- package/dist/modshop_data.js.map +1 -0
- package/dist/native.d.ts +809 -0
- package/dist/native.js +27 -0
- package/dist/native.js.map +1 -0
- package/dist/objects.d.ts +249 -0
- package/dist/objects.js +455 -0
- package/dist/objects.js.map +1 -0
- package/dist/paint.d.ts +124 -0
- package/dist/paint.js +84 -0
- package/dist/paint.js.map +1 -0
- package/dist/paynspray.d.ts +44 -0
- package/dist/paynspray.js +177 -0
- package/dist/paynspray.js.map +1 -0
- package/dist/ped.d.ts +335 -0
- package/dist/ped.js +536 -0
- package/dist/ped.js.map +1 -0
- package/dist/player.d.ts +685 -0
- package/dist/player.js +1163 -0
- package/dist/player.js.map +1 -0
- package/dist/screeneffects.d.ts +99 -0
- package/dist/screeneffects.js +257 -0
- package/dist/screeneffects.js.map +1 -0
- package/dist/scripts.d.ts +69 -0
- package/dist/scripts.js +125 -0
- package/dist/scripts.js.map +1 -0
- package/dist/server.d.ts +713 -0
- package/dist/server.js +1080 -0
- package/dist/server.js.map +1 -0
- package/dist/shopblips.d.ts +9 -0
- package/dist/shopblips.js +30 -0
- package/dist/shopblips.js.map +1 -0
- package/dist/special.d.ts +33 -0
- package/dist/special.js +26 -0
- package/dist/special.js.map +1 -0
- package/dist/splash.d.ts +42 -0
- package/dist/splash.js +55 -0
- package/dist/splash.js.map +1 -0
- package/dist/text.d.ts +19 -0
- package/dist/text.js +25 -0
- package/dist/text.js.map +1 -0
- package/dist/ui.d.ts +141 -0
- package/dist/ui.js +243 -0
- package/dist/ui.js.map +1 -0
- package/dist/vehicle.d.ts +306 -0
- package/dist/vehicle.js +612 -0
- package/dist/vehicle.js.map +1 -0
- package/dist/vehiclecolors.d.ts +26 -0
- package/dist/vehiclecolors.js +49 -0
- package/dist/vehiclecolors.js.map +1 -0
- package/dist/world.d.ts +222 -0
- package/dist/world.js +227 -0
- package/dist/world.js.map +1 -0
- package/dist/zone.d.ts +89 -0
- package/dist/zone.js +140 -0
- package/dist/zone.js.map +1 -0
- package/package.json +33 -4
package/dist/zone.js
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/** The game's garage types (as the map files define them). */
|
|
2
|
+
export const GarageType = {
|
|
3
|
+
Mission: 1,
|
|
4
|
+
BombShopTimed: 2,
|
|
5
|
+
BombShopEngine: 3,
|
|
6
|
+
BombShopRemote: 4,
|
|
7
|
+
PayNSpray: 5,
|
|
8
|
+
SafehouseGanton: 16,
|
|
9
|
+
SafehouseSantaMaria: 17,
|
|
10
|
+
SafehouseRockshore: 18,
|
|
11
|
+
ImpoundLS: 33,
|
|
12
|
+
ImpoundSF: 34,
|
|
13
|
+
ImpoundLV: 35,
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* An area the server watches players against, firing `zoneEnter`,
|
|
17
|
+
* `zoneLeave` and `zoneMove` (each position update while inside). Positions
|
|
18
|
+
* are the ones players sync, on foot or driving.
|
|
19
|
+
*/
|
|
20
|
+
export class Zone {
|
|
21
|
+
id;
|
|
22
|
+
/** The garage this zone covers, for the built-in garage zones. */
|
|
23
|
+
garage;
|
|
24
|
+
/** Free-form storage for gamemode data. */
|
|
25
|
+
data = {};
|
|
26
|
+
#destroy;
|
|
27
|
+
#exists = true;
|
|
28
|
+
/** @internal Created by Server. */
|
|
29
|
+
constructor(id, garage, destroy) {
|
|
30
|
+
this.id = id;
|
|
31
|
+
this.garage = garage;
|
|
32
|
+
this.#destroy = destroy;
|
|
33
|
+
}
|
|
34
|
+
get exists() {
|
|
35
|
+
return this.#exists;
|
|
36
|
+
}
|
|
37
|
+
/** @internal */
|
|
38
|
+
markDestroyed() {
|
|
39
|
+
this.#exists = false;
|
|
40
|
+
}
|
|
41
|
+
/** Stops watching it (no leave events are sent). */
|
|
42
|
+
destroy() {
|
|
43
|
+
if (this.#exists)
|
|
44
|
+
this.#destroy(this);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* One of the game's garages: a door the server opens and closes for
|
|
49
|
+
* everyone, and a zone over its floor. Players' games run none of the
|
|
50
|
+
* garage's own logic (no Pay 'n' Spray, safehouse storage, ...): build that
|
|
51
|
+
* from `zoneEnter` on `garage.zone`.
|
|
52
|
+
*/
|
|
53
|
+
export class Garage {
|
|
54
|
+
id;
|
|
55
|
+
/** As in the map files; not unique. */
|
|
56
|
+
name;
|
|
57
|
+
/** See `GarageType`. */
|
|
58
|
+
type;
|
|
59
|
+
position;
|
|
60
|
+
zone;
|
|
61
|
+
#native;
|
|
62
|
+
#open;
|
|
63
|
+
#box;
|
|
64
|
+
/** @internal Created by Server. */
|
|
65
|
+
constructor(nativeServer, state) {
|
|
66
|
+
this.#native = nativeServer;
|
|
67
|
+
this.id = state.id;
|
|
68
|
+
this.name = state.name || `garage${state.id}`;
|
|
69
|
+
this.type = state.type;
|
|
70
|
+
this.position = { x: state.x, y: state.y, z: state.z };
|
|
71
|
+
this.#open = state.open;
|
|
72
|
+
this.#box = {
|
|
73
|
+
x: state.x, y: state.y, z: state.z, ax: state.frontX - state.x, ay: state.frontY - state.y,
|
|
74
|
+
bx: state.sideX - state.x, by: state.sideY - state.y, top: state.topZ,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Whether a spot is inside it, at least `margin` m from its walls (not
|
|
79
|
+
* the floor or roof): a car's position with a margin of half its length
|
|
80
|
+
* is a car wholly inside, as the game's garages check before shutting.
|
|
81
|
+
* A negative margin reaches that far outside.
|
|
82
|
+
*/
|
|
83
|
+
contains(at, margin = 0) {
|
|
84
|
+
const b = this.#box;
|
|
85
|
+
if (at.z < b.z - 1 || at.z > b.top)
|
|
86
|
+
return false;
|
|
87
|
+
const la = Math.hypot(b.ax, b.ay), lb = Math.hypot(b.bx, b.by);
|
|
88
|
+
const dx = at.x - b.x, dy = at.y - b.y;
|
|
89
|
+
// Along each side, in metres from its start.
|
|
90
|
+
const u = (dx * b.ax + dy * b.ay) / la, v = (dx * b.bx + dy * b.by) / lb;
|
|
91
|
+
return u >= margin && u <= la - margin && v >= Math.min(margin, lb / 2) && v <= lb - Math.min(margin, lb / 2);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The spot `distance` m outside the wall nearest `at`, across from `at`
|
|
95
|
+
* (for where a car drove in: in front of the door), facing away from the
|
|
96
|
+
* garage: where to put a car driving out.
|
|
97
|
+
*/
|
|
98
|
+
outside(at, distance = 4) {
|
|
99
|
+
const b = this.#box;
|
|
100
|
+
const la = Math.hypot(b.ax, b.ay), lb = Math.hypot(b.bx, b.by);
|
|
101
|
+
const a1 = { x: b.ax / la, y: b.ay / la }, b1 = { x: b.bx / lb, y: b.by / lb };
|
|
102
|
+
const dx = at.x - b.x, dy = at.y - b.y;
|
|
103
|
+
const u = dx * a1.x + dy * a1.y, v = dx * b1.x + dy * b1.y;
|
|
104
|
+
// Each wall: how far `at` is in from it (outside: less than 0), the spot
|
|
105
|
+
// on it across from `at` (along a, b), its outward way.
|
|
106
|
+
const cu = Math.max(1, Math.min(la - 1, u)), cv = Math.max(1, Math.min(lb - 1, v));
|
|
107
|
+
const walls = [
|
|
108
|
+
{ d: v, mid: [cu, 0], out: { x: -b1.x, y: -b1.y } },
|
|
109
|
+
{ d: lb - v, mid: [cu, lb], out: b1 },
|
|
110
|
+
{ d: u, mid: [0, cv], out: { x: -a1.x, y: -a1.y } },
|
|
111
|
+
{ d: la - u, mid: [la, cv], out: a1 },
|
|
112
|
+
];
|
|
113
|
+
const w = walls.reduce((m, x) => (x.d < m.d ? x : m));
|
|
114
|
+
const mx = b.x + a1.x * w.mid[0] + b1.x * w.mid[1], my = b.y + a1.y * w.mid[0] + b1.y * w.mid[1];
|
|
115
|
+
return {
|
|
116
|
+
position: { x: mx + w.out.x * distance, y: my + w.out.y * distance, z: b.z + 0.5 },
|
|
117
|
+
heading: ((Math.atan2(-w.out.x, w.out.y) * 180) / Math.PI + 360) % 360,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
/** Its floor's middle. */
|
|
121
|
+
get center() {
|
|
122
|
+
const b = this.#box;
|
|
123
|
+
return { x: b.x + (b.ax + b.bx) / 2, y: b.y + (b.ay + b.by) / 2, z: b.z };
|
|
124
|
+
}
|
|
125
|
+
get isOpen() {
|
|
126
|
+
return this.#open;
|
|
127
|
+
}
|
|
128
|
+
open() {
|
|
129
|
+
this.#open = true;
|
|
130
|
+
this.#native.setGarageOpen(this.id, true);
|
|
131
|
+
}
|
|
132
|
+
close() {
|
|
133
|
+
this.#open = false;
|
|
134
|
+
this.#native.setGarageOpen(this.id, false);
|
|
135
|
+
}
|
|
136
|
+
toString() {
|
|
137
|
+
return `garage ${this.id} (${this.name})`;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=zone.js.map
|
package/dist/zone.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zone.js","sourceRoot":"","sources":["../src/zone.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sagl/server",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.0-next.49",
|
|
4
|
+
"description": "SAGL multiplayer server for GTA: San Andreas, scriptable in Node.js",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"README.md",
|
|
17
|
+
"LICENSE"
|
|
18
|
+
],
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=22"
|
|
21
|
+
},
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"homepage": "https://docs.sagl.mp",
|
|
24
|
+
"keywords": [
|
|
25
|
+
"gta",
|
|
26
|
+
"san-andreas",
|
|
27
|
+
"multiplayer",
|
|
28
|
+
"game-server",
|
|
29
|
+
"sagl"
|
|
30
|
+
],
|
|
31
|
+
"optionalDependencies": {
|
|
32
|
+
"@sagl/server-linux-x64": "0.1.0-next.49",
|
|
33
|
+
"@sagl/server-win32-x64": "0.1.0-next.49"
|
|
34
|
+
}
|
|
35
|
+
}
|