diff --git a/client/html/app.js b/client/html/app.js
index 159f9ee..05517f1 100644
--- a/client/html/app.js
+++ b/client/html/app.js
@@ -37,7 +37,7 @@ const dateComponent = new DateComponent({ id: 'date' })
const engineHealthComponent = new EngineHealthComponent({ id: 'engineHealth' })
if ('alt' in window) {
- alt.on('display:engineHealth', engineHealth => engineHealthComponent.renderEngineHealth(engineHealth))
+ alt.on('display:engineHealth', ({ engineHealth }) => engineHealthComponent.renderEngineHealth(engineHealth))
alt.on('displayClear:engineHealth', () => engineHealthComponent.clearDisplay())
alt.emit('ready')
} else {
diff --git a/client/index.mjs b/client/index.mjs
index 335aac0..c8f1e4e 100644
--- a/client/index.mjs
+++ b/client/index.mjs
@@ -58,9 +58,21 @@ alt.onServer('admin:setInvincible', toggle => {
native.setEntityInvincible(alt.Player.local.scriptID, toggle)
})
+alt.everyTick(() => {
+ if (alt.Player.local.vehicle) {
+ native.setEntityMaxSpeed(alt.Player.local.scriptID, 20000)
+ }
+})
+
alt.onServer('webview:load', () => {
webview.on('ready', () => {
-
+ alt.everyTick(() => {
+ let vehicle = alt.Player.local.vehicle
+
+ if (vehicle) {
+ webview.emit('display:engineHealth', { engineHealth: native.getEntityHealth(vehicle.scriptID) })
+ }
+ })
})
})
\ No newline at end of file
diff --git a/client/modules/blips.mjs b/client/modules/blips.mjs
index 975e67e..4432224 100644
--- a/client/modules/blips.mjs
+++ b/client/modules/blips.mjs
@@ -28,7 +28,7 @@ alt.onServer('player:createBlipPlayers', ({ players, color }) => {
alt.onServer('player:deleteBlipPlayers', () => {
alt.Player.all.forEach(_player => {
- if (_player.blip) {
+ if (_player.blip && _player.blip !== null) {
_player.blip.destroy()
_player.blip = null
}
@@ -36,7 +36,7 @@ alt.onServer('player:deleteBlipPlayers', () => {
})
alt.onServer('player:deleteBlipPlayer', player => {
- if (player.blip) {
+ if (player.blip && player.blip !== null) {
player.blip.destroy()
player.blip = null
}
diff --git a/server/index.mjs b/server/index.mjs
index 1c2b5af..92060a2 100644
--- a/server/index.mjs
+++ b/server/index.mjs
@@ -17,6 +17,7 @@ import './modules/events/ui/admin/teleportToMe.mjs'
import './modules/events/playerConnect.mjs'
import './modules/events/playerDisconnect.mjs'
import './modules/events/playerDeath.mjs'
+import './modules/events/playerEnteredVehicle.mjs'
import './modules/events/playerLeftVehicle.mjs'
/*
diff --git a/server/modules/copchase.mjs b/server/modules/copchase.mjs
index 6c69b01..60e9cbe 100644
--- a/server/modules/copchase.mjs
+++ b/server/modules/copchase.mjs
@@ -15,6 +15,7 @@ class Copchase {
this.timeToStart = timeToStart
this.isStarted = false
this.isTimeToStartStarted = false
+ this.isSuspectLeavesCar = false
this.suspectCars = [
'asea',
'tornado',
@@ -87,6 +88,7 @@ class Copchase {
setDefaultState() {
this.timeRemainingInterval = null
+ this.isSuspectLeavesCar = false
this.isStarted = false
this.suspect = null
this.players = []
@@ -174,7 +176,7 @@ class Copchase {
setTimeout(() => _player.health = 200, 300)
_player.dimension = this.dimension
_player.model = 's_m_y_cop_01'
- _player.giveWeapon('0x3656C8C1', 100, true)
+
alt.emitClient(_player, 'player:delInvincible')
alt.emitClient(_player, 'player:showMidsizedMessage', `~w~Саспект: ~r~${this.suspect.name}`, 'Нейтрализуйте саспекта.', 5000)
alt.emitClient(_player, 'player:createBlipPlayers', {
diff --git a/server/modules/events/playerEnteredVehicle.mjs b/server/modules/events/playerEnteredVehicle.mjs
new file mode 100644
index 0000000..9930355
--- /dev/null
+++ b/server/modules/events/playerEnteredVehicle.mjs
@@ -0,0 +1,8 @@
+import alt from 'alt-server'
+import { copchase } from '../copchase.mjs'
+
+alt.on('playerEnteredVehicle', player => {
+ if (copchase.isStarted && player.id !== copchase.suspect.id) {
+ player.removeWeapon(0x3656C8C1)
+ }
+})
\ No newline at end of file
diff --git a/server/modules/events/playerLeftVehicle.mjs b/server/modules/events/playerLeftVehicle.mjs
index 2b4da4a..d792c3a 100644
--- a/server/modules/events/playerLeftVehicle.mjs
+++ b/server/modules/events/playerLeftVehicle.mjs
@@ -3,12 +3,20 @@ import { copchase } from '../copchase.mjs'
alt.on('playerLeftVehicle', player => {
if (copchase.isStarted && player.id === copchase.suspect.id) {
- player.giveWeapon('0x1B06D571', 25, true);
- copchase.players.forEach(_player => {
- if (_player.id !== copchase.suspect.id) {
- _player.giveWeapon('0x1B06D571', 50, true);
- }
- })
- }
+ if (!copchase.isSuspectLeavesCar) {
+ copchase.isSuspectLeavesCar = true
+ player.giveWeapon('0x1B06D571', 25, true)
+
+ copchase.players.forEach(_player => {
+ if (_player.id !== copchase.suspect.id) {
+ _player.giveWeapon('0x1B06D571', 50, true);
+ }
+ })
+ }
+ }
+
+ if (copchase.isStarted && player.id !== copchase.suspect.id) {
+ player.giveWeapon('0x3656C8C1', 100, false)
+ }
})
\ No newline at end of file