mirror of
https://github.com/sergeyyarkov/altv-copchase-mod.git
synced 2026-10-11 10:19:42 +03:00
fixes
This commit is contained in:
parent
c72851f2a4
commit
4a2b1f5736
@ -34,7 +34,7 @@ alt.onServer('vehicle:setInto', (newVehicle) => {
|
|||||||
|
|
||||||
alt.setTimeout(() => {
|
alt.setTimeout(() => {
|
||||||
native.setPedIntoVehicle(localPlayer, newVehicle.scriptID, -1)
|
native.setPedIntoVehicle(localPlayer, newVehicle.scriptID, -1)
|
||||||
}, 300)
|
}, 400)
|
||||||
})
|
})
|
||||||
|
|
||||||
alt.onServer('admin:setStat', () => {
|
alt.onServer('admin:setStat', () => {
|
||||||
|
|||||||
@ -830,6 +830,7 @@ listCommandsMenu.AddItem(new UIMenuItem('Сменить скин', `/skin [0 - 7
|
|||||||
listCommandsMenu.AddItem(new UIMenuItem('Появиться на спауне', `/spawn`))
|
listCommandsMenu.AddItem(new UIMenuItem('Появиться на спауне', `/spawn`))
|
||||||
listCommandsMenu.AddItem(new UIMenuItem('Узнать текущий онлайн', `/online`))
|
listCommandsMenu.AddItem(new UIMenuItem('Узнать текущий онлайн', `/online`))
|
||||||
listCommandsMenu.AddItem(new UIMenuItem('Узнать Social Club ID', `/scid`))
|
listCommandsMenu.AddItem(new UIMenuItem('Узнать Social Club ID', `/scid`))
|
||||||
|
listCommandsMenu.AddItem(new UIMenuItem('Выйти из комнаты ожидания', `/exit`))
|
||||||
|
|
||||||
const adminMenu = new Menu("Админ Панель", "Выполняйте админ-функции", menuPos)
|
const adminMenu = new Menu("Админ Панель", "Выполняйте админ-функции", menuPos)
|
||||||
const kickPlayerMenu = new Menu("Кикнуть игрока", "Сервер кикнет любого игрока", menuPos)
|
const kickPlayerMenu = new Menu("Кикнуть игрока", "Сервер кикнет любого игрока", menuPos)
|
||||||
|
|||||||
@ -41,6 +41,7 @@ import './modules/commands/player/skin.mjs'
|
|||||||
import './modules/commands/player/scid.mjs'
|
import './modules/commands/player/scid.mjs'
|
||||||
import './modules/commands/player/copchase.mjs'
|
import './modules/commands/player/copchase.mjs'
|
||||||
import './modules/commands/player/mydimension.mjs'
|
import './modules/commands/player/mydimension.mjs'
|
||||||
|
import './modules/commands/player/exit.mjs'
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Default text labels
|
Default text labels
|
||||||
|
|||||||
@ -5,7 +5,11 @@ import { copchase } from '../../copchase.mjs'
|
|||||||
import config from '../../../config.mjs'
|
import config from '../../../config.mjs'
|
||||||
|
|
||||||
registerCmd('copchase', player => {
|
registerCmd('copchase', player => {
|
||||||
if (copchase.isPlayerInWaitingRoom(player)) return false
|
if (copchase.isPlayerInWaitingRoom(player)) {
|
||||||
|
send(player, '{EE9A00}[COPCHASE]: {FF0000}Вы уже в комнате ожидания!')
|
||||||
|
send(player, '{EE9A00}[COPCHASE]: {FF0000}/exit чтобы выйти')
|
||||||
|
return false
|
||||||
|
}
|
||||||
if (copchase.isPlayerInGame(player)) return false
|
if (copchase.isPlayerInGame(player)) return false
|
||||||
|
|
||||||
player.dimension = copchase.waitingRoomDimension
|
player.dimension = copchase.waitingRoomDimension
|
||||||
@ -15,7 +19,6 @@ registerCmd('copchase', player => {
|
|||||||
alt.emitClient(player, 'player:setInvincible')
|
alt.emitClient(player, 'player:setInvincible')
|
||||||
|
|
||||||
if (copchase.isStarted && copchase.players.length > 0) {
|
if (copchase.isStarted && copchase.players.length > 0) {
|
||||||
// copchase.addPlayerToWaitingRoom(player)
|
|
||||||
return alt.emitClient(player, 'player:showMidsizedMessage', '~b~Игра уже начата', 'Ожидание игроков...')
|
return alt.emitClient(player, 'player:showMidsizedMessage', '~b~Игра уже начата', 'Ожидание игроков...')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
18
server/modules/commands/player/exit.mjs
Normal file
18
server/modules/commands/player/exit.mjs
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import { registerCmd, send } from 'chat'
|
||||||
|
import { copchase } from '../../copchase.mjs'
|
||||||
|
|
||||||
|
import config from '../../../config.mjs'
|
||||||
|
|
||||||
|
registerCmd('exit', player => {
|
||||||
|
if (copchase.isPlayerInWaitingRoom(player)) {
|
||||||
|
const exitPlayerIndex = copchase.waitingPlayers.findIndex(_player => _player.name === player.name)
|
||||||
|
copchase.waitingPlayers.splice(exitPlayerIndex, 1)
|
||||||
|
|
||||||
|
player.pos = config.spawn
|
||||||
|
player.dimension = 0
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
send(player, `{EE9A00}[COPCHASE]: {FF0000}Вы должны находиться в комнате ожидания!`)
|
||||||
|
})
|
||||||
@ -1,8 +1,12 @@
|
|||||||
import { registerCmd, send } from 'chat'
|
import { registerCmd, send } from 'chat'
|
||||||
|
import { copchase } from '../../copchase.mjs'
|
||||||
|
|
||||||
import skins from '../../../skins.json'
|
import skins from '../../../skins.json'
|
||||||
|
|
||||||
registerCmd('skin', (player, args) => {
|
registerCmd('skin', (player, args) => {
|
||||||
|
if (copchase.isPlayerInWaitingRoom(player)) return false
|
||||||
|
if (copchase.isPlayerInGame(player)) return false
|
||||||
|
|
||||||
if (!args || !args[0] || isNaN(args[0])) {
|
if (!args || !args[0] || isNaN(args[0])) {
|
||||||
return send(player, `{EE9A00}[SERVER]: {FFF}/skin [0 - 700]`)
|
return send(player, `{EE9A00}[SERVER]: {FFF}/skin [0 - 700]`)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,12 @@
|
|||||||
import { registerCmd } from 'chat'
|
import { registerCmd } from 'chat'
|
||||||
|
import { copchase } from '../../copchase.mjs'
|
||||||
|
|
||||||
import config from '../../../config.mjs'
|
import config from '../../../config.mjs'
|
||||||
|
|
||||||
registerCmd('spawn', player => {
|
registerCmd('spawn', player => {
|
||||||
|
if (copchase.isPlayerInWaitingRoom(player)) return false
|
||||||
|
if (copchase.isPlayerInGame(player)) return false
|
||||||
|
|
||||||
player.pos = config.spawn
|
player.pos = config.spawn
|
||||||
player.dimension = 0
|
player.dimension = 0
|
||||||
})
|
})
|
||||||
@ -79,7 +79,6 @@ class Copchase {
|
|||||||
this.isStarted = false
|
this.isStarted = false
|
||||||
this.suspect = null
|
this.suspect = null
|
||||||
this.players = []
|
this.players = []
|
||||||
// this.waitingPlayers = []
|
|
||||||
this.blips = {}
|
this.blips = {}
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@ -99,7 +98,6 @@ class Copchase {
|
|||||||
|
|
||||||
isPlayerInWaitingRoom(player) {
|
isPlayerInWaitingRoom(player) {
|
||||||
if(this.waitingPlayers.find(_player => _player.name === player.name) !== undefined) {
|
if(this.waitingPlayers.find(_player => _player.name === player.name) !== undefined) {
|
||||||
send(player, '{EE9A00}[COPCHASE]: {FF0000}Вы уже в комнате ожидания!')
|
|
||||||
return true
|
return true
|
||||||
} else {
|
} else {
|
||||||
return false
|
return false
|
||||||
@ -127,6 +125,12 @@ class Copchase {
|
|||||||
this.waitingPlayers.forEach(_player => send(_player, message))
|
this.waitingPlayers.forEach(_player => send(_player, message))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
midsizedMessageToWaitingPlayers(message, description, delay) {
|
||||||
|
this.waitingPlayers.forEach(_player => {
|
||||||
|
alt.emitClient(_player, 'player:showMidsizedMessage', message, description, delay)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
notifyPolicePlayers(message) {
|
notifyPolicePlayers(message) {
|
||||||
this.players.forEach(_player => _player.name !== this.suspect.name ? alt.emitClient(_player, 'player:notify', message) : false)
|
this.players.forEach(_player => _player.name !== this.suspect.name ? alt.emitClient(_player, 'player:notify', message) : false)
|
||||||
}
|
}
|
||||||
@ -209,11 +213,14 @@ class Copchase {
|
|||||||
const interval = setInterval(() => {
|
const interval = setInterval(() => {
|
||||||
timeToStart = timeToStart - 1
|
timeToStart = timeToStart - 1
|
||||||
|
|
||||||
|
if (this.waitingPlayers.length < this.minPlayers) {
|
||||||
|
this.midsizedMessageToWaitingPlayers('~r~Недостаточно игроков для старта!', '', 3000)
|
||||||
|
|
||||||
|
clearInterval(interval)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if (timeToStart <= 0) {
|
if (timeToStart <= 0) {
|
||||||
// if (this.waitingPlayers.length >= 2) {
|
|
||||||
// broadcast(`Недостаточно игроков для старта!`)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
|
|
||||||
this.isStarted = true
|
this.isStarted = true
|
||||||
|
|
||||||
@ -251,10 +258,7 @@ class Copchase {
|
|||||||
clearInterval(interval)
|
clearInterval(interval)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
this.midsizedMessageToWaitingPlayers(timeToStart, '', 1000)
|
||||||
this.waitingPlayers.forEach(_player => {
|
|
||||||
alt.emitClient(_player, 'player:showMidsizedMessage', `${timeToStart}`, '', 1000)
|
|
||||||
})
|
|
||||||
// this.messageToWaitingPlayers(`[COPCHASE]: Игра начнется через: ${timeToStart}`)
|
// this.messageToWaitingPlayers(`[COPCHASE]: Игра начнется через: ${timeToStart}`)
|
||||||
}, 1000)
|
}, 1000)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,6 +17,7 @@ alt.on('playerDeath', (player) => {
|
|||||||
|
|
||||||
alt.setTimeout(() => {
|
alt.setTimeout(() => {
|
||||||
player.spawn(config.spawn.x, config.spawn.y,config.spawn.z)
|
player.spawn(config.spawn.x, config.spawn.y,config.spawn.z)
|
||||||
|
player.dimension = 0
|
||||||
player.removeAllWeapons()
|
player.removeAllWeapons()
|
||||||
alt.emitClient(player, 'player:setInvincible')
|
alt.emitClient(player, 'player:setInvincible')
|
||||||
}, 5000)
|
}, 5000)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user