mirror of
https://github.com/rilaxik/fivem-rpc.git
synced 2026-09-28 01:29:13 +00:00
fix(rpc): rework native events + dedupe
This commit is contained in:
+12
-6
@@ -1,7 +1,7 @@
|
|||||||
import type * as s from '@entityseven/fivem-rpc-shared-types'
|
import type * as s from '@entityseven/fivem-rpc-shared-types'
|
||||||
|
|
||||||
import { Emitter } from '../utils/emitter'
|
import { Emitter } from '../utils/emitter'
|
||||||
import { RPCError } from '../utils/errors'
|
import { RPCError, unknownNativeMessage } from '../utils/errors'
|
||||||
import { stringify, stringifyWeb } from '../utils/funcs'
|
import { stringify, stringifyWeb } from '../utils/funcs'
|
||||||
import {
|
import {
|
||||||
NATIVE_CLIENT_EVENTS,
|
NATIVE_CLIENT_EVENTS,
|
||||||
@@ -12,7 +12,7 @@ import {
|
|||||||
RPCErrors,
|
RPCErrors,
|
||||||
RPCEvents,
|
RPCEvents,
|
||||||
type RPCNativeClientEvents,
|
type RPCNativeClientEvents,
|
||||||
type RPCNativeClientNetworksEvents,
|
type RPCNativeClientNetworkEvents,
|
||||||
type RPCState,
|
type RPCState,
|
||||||
type RPCStateRaw,
|
type RPCStateRaw,
|
||||||
type RPCStateWeb,
|
type RPCStateWeb,
|
||||||
@@ -233,7 +233,10 @@ export class RPCInstanceClient extends RPCInstanceBase {
|
|||||||
CallbackArguments extends Parameters<RPCNativeClientEvents[EventName]>,
|
CallbackArguments extends Parameters<RPCNativeClientEvents[EventName]>,
|
||||||
>(eventName: EventName, cb: (...args: CallbackArguments) => void): this {
|
>(eventName: EventName, cb: (...args: CallbackArguments) => void): this {
|
||||||
if (!NATIVE_CLIENT_EVENTS.includes(eventName)) {
|
if (!NATIVE_CLIENT_EVENTS.includes(eventName)) {
|
||||||
throw new RPCError(RPCErrors.UNKNOWN_NATIVE, RPCErrors.UNKNOWN_NATIVE)
|
throw new RPCError(
|
||||||
|
RPCErrors.UNKNOWN_NATIVE,
|
||||||
|
unknownNativeMessage(eventName, 'NATIVE_CLIENT_EVENTS'),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
this.log(`onNativeEvent ${eventName}`)
|
this.log(`onNativeEvent ${eventName}`)
|
||||||
@@ -244,13 +247,16 @@ export class RPCInstanceClient extends RPCInstanceBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public onNativeNetworkEvent<
|
public onNativeNetworkEvent<
|
||||||
EventName extends keyof RPCNativeClientNetworksEvents,
|
EventName extends keyof RPCNativeClientNetworkEvents,
|
||||||
CallbackArguments extends Parameters<
|
CallbackArguments extends Parameters<
|
||||||
RPCNativeClientNetworksEvents[EventName]
|
RPCNativeClientNetworkEvents[EventName]
|
||||||
>,
|
>,
|
||||||
>(eventName: EventName, cb: (...args: CallbackArguments) => void): this {
|
>(eventName: EventName, cb: (...args: CallbackArguments) => void): this {
|
||||||
if (!NATIVE_CLIENT_NETWORK_EVENTS.includes(eventName)) {
|
if (!NATIVE_CLIENT_NETWORK_EVENTS.includes(eventName)) {
|
||||||
throw new RPCError(RPCErrors.UNKNOWN_NATIVE, RPCErrors.UNKNOWN_NATIVE)
|
throw new RPCError(
|
||||||
|
RPCErrors.UNKNOWN_NATIVE,
|
||||||
|
unknownNativeMessage(eventName, 'NATIVE_CLIENT_NETWORK_EVENTS'),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
this.log(`onNativeNetworkEvent ${eventName}`)
|
this.log(`onNativeNetworkEvent ${eventName}`)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import type * as s from '@entityseven/fivem-rpc-shared-types'
|
import type * as s from '@entityseven/fivem-rpc-shared-types'
|
||||||
|
|
||||||
import { Emitter } from '../utils/emitter'
|
import { Emitter } from '../utils/emitter'
|
||||||
import { RPCError } from '../utils/errors'
|
import { RPCError, unknownNativeMessage } from '../utils/errors'
|
||||||
import { stringify } from '../utils/funcs'
|
import { stringify } from '../utils/funcs'
|
||||||
import { NATIVE_SERVER_EVENTS } from '../utils/native'
|
import { NATIVE_SERVER_EVENTS } from '../utils/native'
|
||||||
import {
|
import {
|
||||||
@@ -202,7 +202,10 @@ export class RPCInstanceServer extends RPCInstanceBase {
|
|||||||
CallbackArguments extends Parameters<RPCNativeServerEvents[EventName]>,
|
CallbackArguments extends Parameters<RPCNativeServerEvents[EventName]>,
|
||||||
>(eventName: EventName, cb: (...args: CallbackArguments) => void): this {
|
>(eventName: EventName, cb: (...args: CallbackArguments) => void): this {
|
||||||
if (!NATIVE_SERVER_EVENTS.includes(eventName)) {
|
if (!NATIVE_SERVER_EVENTS.includes(eventName)) {
|
||||||
throw new RPCError(RPCErrors.UNKNOWN_NATIVE, RPCErrors.UNKNOWN_NATIVE)
|
throw new RPCError(
|
||||||
|
RPCErrors.UNKNOWN_NATIVE,
|
||||||
|
unknownNativeMessage(eventName, 'NATIVE_SERVER_EVENTS'),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
this.log(`onNativeEvent ${eventName}`)
|
this.log(`onNativeEvent ${eventName}`)
|
||||||
|
|||||||
@@ -66,6 +66,11 @@ export function notRegisteredMessage(
|
|||||||
return `No listener for "${event}" on ${receiver}. Register it with rpc.${listenerName(receiver, sender)}("${event}", ...) in ${receiver} code.`
|
return `No listener for "${event}" on ${receiver}. Register it with rpc.${listenerName(receiver, sender)}("${event}", ...) in ${receiver} code.`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** **Internal** */
|
||||||
|
export function unknownNativeMessage(event: string, list: string): string {
|
||||||
|
return `"${event}" is not in ${list}. Events not listed there can be registered with FiveM's on("${event}", ...) directly.`
|
||||||
|
}
|
||||||
|
|
||||||
/** **Internal** */
|
/** **Internal** */
|
||||||
export function handlerErrorMessage(
|
export function handlerErrorMessage(
|
||||||
event: string,
|
event: string,
|
||||||
|
|||||||
+49
-48
@@ -1,56 +1,57 @@
|
|||||||
import type {
|
import type { RPCNativeClientEvents, RPCNativeServerEvents } from './types'
|
||||||
RPCNativeClientEvents,
|
|
||||||
RPCNativeClientNetworkEventsNames,
|
|
||||||
RPCNativeServerEvents,
|
|
||||||
} from './types'
|
|
||||||
|
|
||||||
/**
|
// Server and client lists are built from an object that must name exactly the
|
||||||
* https://docs.fivem.net/docs/scripting-reference/events/server-events/
|
// keys of the typed event map, so the list and the types cannot drift apart.
|
||||||
* @readonly
|
|
||||||
*/
|
|
||||||
export const NATIVE_SERVER_EVENTS: readonly (keyof RPCNativeServerEvents)[] = [
|
|
||||||
'entityCreated',
|
|
||||||
'entityCreating',
|
|
||||||
'entityRemoved',
|
|
||||||
'onResourceListRefresh',
|
|
||||||
'onResourceStart',
|
|
||||||
'onResourceStarting',
|
|
||||||
'onResourceStop',
|
|
||||||
'onServerResourceStart',
|
|
||||||
'onServerResourceStop',
|
|
||||||
'playerConnecting',
|
|
||||||
'playerEnteredScope',
|
|
||||||
'playerJoining',
|
|
||||||
'playerLeftScope',
|
|
||||||
'ptFxEvent',
|
|
||||||
'removeAllWeaponsEvent',
|
|
||||||
'startProjectileEvent',
|
|
||||||
'weaponDamageEvent',
|
|
||||||
] as const
|
|
||||||
|
|
||||||
/**
|
const serverEvents = {
|
||||||
* https://docs.fivem.net/docs/scripting-reference/events/client-events/
|
entityCreated: true,
|
||||||
* @readonly
|
entityCreating: true,
|
||||||
*/
|
entityRemoved: true,
|
||||||
export const NATIVE_CLIENT_EVENTS: readonly (keyof RPCNativeClientEvents)[] = [
|
onResourceListRefresh: true,
|
||||||
'entityDamaged',
|
onResourceStart: true,
|
||||||
'gameEventTriggered',
|
onResourceStarting: true,
|
||||||
'mumbleConnected',
|
onResourceStop: true,
|
||||||
'mumbleDisconnected',
|
onServerResourceStart: true,
|
||||||
'onClientResourceStart',
|
onServerResourceStop: true,
|
||||||
'onClientResourceStop',
|
playerConnecting: true,
|
||||||
'onResourceStart',
|
playerEnteredScope: true,
|
||||||
'onResourceStarting',
|
playerJoining: true,
|
||||||
'onResourceStop',
|
playerLeftScope: true,
|
||||||
'populationPedCreating',
|
ptFxEvent: true,
|
||||||
] as const
|
removeAllWeaponsEvent: true,
|
||||||
|
startProjectileEvent: true,
|
||||||
|
weaponDamageEvent: true,
|
||||||
|
} satisfies Record<keyof RPCNativeServerEvents, true>
|
||||||
|
|
||||||
|
/** https://docs.fivem.net/docs/scripting-reference/events/server-events/ */
|
||||||
|
export const NATIVE_SERVER_EVENTS = Object.keys(
|
||||||
|
serverEvents,
|
||||||
|
) as readonly (keyof RPCNativeServerEvents)[]
|
||||||
|
|
||||||
|
const clientEvents = {
|
||||||
|
entityDamaged: true,
|
||||||
|
gameEventTriggered: true,
|
||||||
|
mumbleConnected: true,
|
||||||
|
mumbleDisconnected: true,
|
||||||
|
onClientResourceStart: true,
|
||||||
|
onClientResourceStop: true,
|
||||||
|
onResourceStart: true,
|
||||||
|
onResourceStarting: true,
|
||||||
|
onResourceStop: true,
|
||||||
|
populationPedCreating: true,
|
||||||
|
} satisfies Record<keyof RPCNativeClientEvents, true>
|
||||||
|
|
||||||
|
/** https://docs.fivem.net/docs/scripting-reference/events/client-events/ */
|
||||||
|
export const NATIVE_CLIENT_EVENTS = Object.keys(
|
||||||
|
clientEvents,
|
||||||
|
) as readonly (keyof RPCNativeClientEvents)[]
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* https://docs.fivem.net/docs/game-references/game-events/
|
* https://docs.fivem.net/docs/game-references/game-events/
|
||||||
* @readonly
|
*
|
||||||
|
* Source of truth for `RPCNativeClientNetworkEventsNames`.
|
||||||
*/
|
*/
|
||||||
export const NATIVE_CLIENT_NETWORK_EVENTS: readonly RPCNativeClientNetworkEventsNames[] =
|
export const NATIVE_CLIENT_NETWORK_EVENTS = [
|
||||||
[
|
|
||||||
'CEventAcquaintancePed',
|
'CEventAcquaintancePed',
|
||||||
'CEventAcquaintancePedDead',
|
'CEventAcquaintancePedDead',
|
||||||
'CEventAcquaintancePedDislike',
|
'CEventAcquaintancePedDislike',
|
||||||
@@ -318,4 +319,4 @@ export const NATIVE_CLIENT_NETWORK_EVENTS: readonly RPCNativeClientNetworkEvents
|
|||||||
'CEventVehicleDamageWeapon',
|
'CEventVehicleDamageWeapon',
|
||||||
'CEventVehicleOnFire',
|
'CEventVehicleOnFire',
|
||||||
'CEventWrithe',
|
'CEventWrithe',
|
||||||
] as const
|
] as const
|
||||||
|
|||||||
+6
-273
@@ -1,6 +1,7 @@
|
|||||||
import type { RPCInstanceClient } from '../core/client'
|
import type { RPCInstanceClient } from '../core/client'
|
||||||
import type { RPCInstanceServer } from '../core/server'
|
import type { RPCInstanceServer } from '../core/server'
|
||||||
import type { RPCInstanceWebview } from '../core/webview'
|
import type { RPCInstanceWebview } from '../core/webview'
|
||||||
|
import type { NATIVE_CLIENT_NETWORK_EVENTS } from './native'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Possible environment states for `RPCConfig`
|
* Possible environment states for `RPCConfig`
|
||||||
@@ -101,7 +102,7 @@ export enum RPCEvents {
|
|||||||
*/
|
*/
|
||||||
export enum RPCErrors {
|
export enum RPCErrors {
|
||||||
EVENT_NOT_REGISTERED = 'Event not registered',
|
EVENT_NOT_REGISTERED = 'Event not registered',
|
||||||
UNKNOWN_NATIVE = 'Unknown native event (if you are sure this exists - use native handler)',
|
UNKNOWN_NATIVE = 'Unknown native event',
|
||||||
UNKNOWN_ENVIRONMENT = 'Unknown environment (must be either "server", "client" or "webview")',
|
UNKNOWN_ENVIRONMENT = 'Unknown environment (must be either "server", "client" or "webview")',
|
||||||
TIMEOUT = 'Timed out waiting for response',
|
TIMEOUT = 'Timed out waiting for response',
|
||||||
HANDLER_ERROR = 'Listener threw an error',
|
HANDLER_ERROR = 'Listener threw an error',
|
||||||
@@ -252,7 +253,7 @@ export type RPCNativeClientEvents = {
|
|||||||
baseDamage: number,
|
baseDamage: number,
|
||||||
): void
|
): void
|
||||||
gameEventTriggered(
|
gameEventTriggered(
|
||||||
name: RPCNativeClientNetworksEvents | string,
|
name: RPCNativeClientNetworkEventsNames | (string & {}),
|
||||||
data: number[],
|
data: number[],
|
||||||
): void
|
): void
|
||||||
mumbleConnected(address: string, reconnecting: boolean): void
|
mumbleConnected(address: string, reconnecting: boolean): void
|
||||||
@@ -274,7 +275,7 @@ export type RPCNativeClientEvents = {
|
|||||||
): void
|
): void
|
||||||
}
|
}
|
||||||
|
|
||||||
export type RPCNativeClientNetworksEvents = {
|
export type RPCNativeClientNetworkEvents = {
|
||||||
[name in RPCNativeClientNetworkEventsNames]: (
|
[name in RPCNativeClientNetworkEventsNames]: (
|
||||||
entities: number[],
|
entities: number[],
|
||||||
eventEntity: number,
|
eventEntity: number,
|
||||||
@@ -282,274 +283,6 @@ export type RPCNativeClientNetworksEvents = {
|
|||||||
) => void
|
) => void
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/** https://docs.fivem.net/docs/game-references/game-events/ */
|
||||||
* https://docs.fivem.net/docs/game-references/game-events/
|
|
||||||
*/
|
|
||||||
export type RPCNativeClientNetworkEventsNames =
|
export type RPCNativeClientNetworkEventsNames =
|
||||||
| 'CEventAcquaintancePed'
|
(typeof NATIVE_CLIENT_NETWORK_EVENTS)[number]
|
||||||
| 'CEventAcquaintancePedDead'
|
|
||||||
| 'CEventAcquaintancePedDislike'
|
|
||||||
| 'CEventAcquaintancePedHate'
|
|
||||||
| 'CEventAcquaintancePedLike'
|
|
||||||
| 'CEventAcquaintancePedWanted'
|
|
||||||
| 'CEventAgitated'
|
|
||||||
| 'CEventAgitatedAction'
|
|
||||||
| 'CEventCallForCover'
|
|
||||||
| 'CEventCarUndriveable'
|
|
||||||
| 'CEventClimbLadderOnRoute'
|
|
||||||
| 'CEventClimbNavMeshOnRoute'
|
|
||||||
| 'CEventCombatTaunt'
|
|
||||||
| 'CEventCommunicateEvent'
|
|
||||||
| 'CEventCopCarBeingStolen'
|
|
||||||
| 'CEventCrimeCryForHelp'
|
|
||||||
| 'CEventCrimeReported'
|
|
||||||
| 'CEventDamage'
|
|
||||||
| 'CEventDataDecisionMaker'
|
|
||||||
| 'CEventDataFileMounter'
|
|
||||||
| 'CEventDataResponseAggressiveRubberneck'
|
|
||||||
| 'CEventDataResponseDeferToScenarioPointFlags'
|
|
||||||
| 'CEventDataResponseFriendlyAimedAt'
|
|
||||||
| 'CEventDataResponseFriendlyNearMiss'
|
|
||||||
| 'CEventDataResponsePlayerDeath'
|
|
||||||
| 'CEventDataResponsePoliceTaskWanted'
|
|
||||||
| 'CEventDataResponseSwatTaskWanted'
|
|
||||||
| 'CEventDataResponseTask'
|
|
||||||
| 'CEventDataResponseTaskAgitated'
|
|
||||||
| 'CEventDataResponseTaskCombat'
|
|
||||||
| 'CEventDataResponseTaskCower'
|
|
||||||
| 'CEventDataResponseTaskCrouch'
|
|
||||||
| 'CEventDataResponseTaskDuckAndCover'
|
|
||||||
| 'CEventDataResponseTaskEscapeBlast'
|
|
||||||
| 'CEventDataResponseTaskEvasiveStep'
|
|
||||||
| 'CEventDataResponseTaskExhaustedFlee'
|
|
||||||
| 'CEventDataResponseTaskExplosion'
|
|
||||||
| 'CEventDataResponseTaskFlee'
|
|
||||||
| 'CEventDataResponseTaskFlyAway'
|
|
||||||
| 'CEventDataResponseTaskGrowlAndFlee'
|
|
||||||
| 'CEventDataResponseTaskGunAimedAt'
|
|
||||||
| 'CEventDataResponseTaskHandsUp'
|
|
||||||
| 'CEventDataResponseTaskHeadTrack'
|
|
||||||
| 'CEventDataResponseTaskLeaveCarAndFlee'
|
|
||||||
| 'CEventDataResponseTaskScenarioFlee'
|
|
||||||
| 'CEventDataResponseTaskSharkAttack'
|
|
||||||
| 'CEventDataResponseTaskShockingEventBackAway'
|
|
||||||
| 'CEventDataResponseTaskShockingEventGoto'
|
|
||||||
| 'CEventDataResponseTaskShockingEventHurryAway'
|
|
||||||
| 'CEventDataResponseTaskShockingEventReact'
|
|
||||||
| 'CEventDataResponseTaskShockingEventReactToAircraft'
|
|
||||||
| 'CEventDataResponseTaskShockingEventStopAndStare'
|
|
||||||
| 'CEventDataResponseTaskShockingEventThreatResponse'
|
|
||||||
| 'CEventDataResponseTaskShockingEventWatch'
|
|
||||||
| 'CEventDataResponseTaskShockingNiceCar'
|
|
||||||
| 'CEventDataResponseTaskShockingPoliceInvestigate'
|
|
||||||
| 'CEventDataResponseTaskThreat'
|
|
||||||
| 'CEventDataResponseTaskTurnToFace'
|
|
||||||
| 'CEventDataResponseTaskWalkAway'
|
|
||||||
| 'CEventDataResponseTaskWalkRoundEntity'
|
|
||||||
| 'CEventDataResponseTaskWalkRoundFire'
|
|
||||||
| 'CEventDeadPedFound'
|
|
||||||
| 'CEventDeath'
|
|
||||||
| 'CEventDecisionMakerResponse'
|
|
||||||
| 'CEventDisturbance'
|
|
||||||
| 'CEventDraggedOutCar'
|
|
||||||
| 'CEventEditableResponse'
|
|
||||||
| 'CEventEncroachingPed'
|
|
||||||
| 'CEventEntityDamaged'
|
|
||||||
| 'CEventEntityDestroyed'
|
|
||||||
| 'CEventExplosion'
|
|
||||||
| 'CEventExplosionHeard'
|
|
||||||
| 'CEventFireNearby'
|
|
||||||
| 'CEventFootStepHeard'
|
|
||||||
| 'CEventFriendlyAimedAt'
|
|
||||||
| 'CEventFriendlyFireNearMiss'
|
|
||||||
| 'CEventGetOutOfWater'
|
|
||||||
| 'CEventGivePedTask'
|
|
||||||
| 'CEventGroupScriptAI'
|
|
||||||
| 'CEventGroupScriptNetwork'
|
|
||||||
| 'CEventGunAimedAt'
|
|
||||||
| 'CEventGunShot'
|
|
||||||
| 'CEventGunShotBulletImpact'
|
|
||||||
| 'CEventGunShotWhizzedBy'
|
|
||||||
| 'CEventHelpAmbientFriend'
|
|
||||||
| 'CEventHurtTransition'
|
|
||||||
| 'CEventInAir'
|
|
||||||
| 'CEventInfo'
|
|
||||||
| 'CEventInfoBase'
|
|
||||||
| 'CEventInjuredCryForHelp'
|
|
||||||
| 'CEventLeaderEnteredCarAsDriver'
|
|
||||||
| 'CEventLeaderExitedCarAsDriver'
|
|
||||||
| 'CEventLeaderHolsteredWeapon'
|
|
||||||
| 'CEventLeaderLeftCover'
|
|
||||||
| 'CEventLeaderUnholsteredWeapon'
|
|
||||||
| 'CEventMeleeAction'
|
|
||||||
| 'CEventMustLeaveBoat'
|
|
||||||
| 'CEventNetworkAdminInvited'
|
|
||||||
| 'CEventNetworkAttemptHostMigration'
|
|
||||||
| 'CEventNetworkBail'
|
|
||||||
| 'CEventNetworkCashTransactionLog'
|
|
||||||
| 'CEventNetworkCheatTriggered'
|
|
||||||
| 'CEventNetworkClanInviteReceived'
|
|
||||||
| 'CEventNetworkClanJoined'
|
|
||||||
| 'CEventNetworkClanKicked'
|
|
||||||
| 'CEventNetworkClanLeft'
|
|
||||||
| 'CEventNetworkClanRankChanged'
|
|
||||||
| 'CEventNetworkCloudEvent'
|
|
||||||
| 'CEventNetworkCloudFileResponse'
|
|
||||||
| 'CEventNetworkEmailReceivedEvent'
|
|
||||||
| 'CEventNetworkEndMatch'
|
|
||||||
| 'CEventNetworkEndSession'
|
|
||||||
| 'CEventNetworkEntityDamage'
|
|
||||||
| 'CEventNetworkFindSession'
|
|
||||||
| 'CEventNetworkFollowInviteReceived'
|
|
||||||
| 'CEventNetworkHostMigration'
|
|
||||||
| 'CEventNetworkHostSession'
|
|
||||||
| 'CEventNetworkIncrementStat'
|
|
||||||
| 'CEventNetworkInviteAccepted'
|
|
||||||
| 'CEventNetworkInviteConfirmed'
|
|
||||||
| 'CEventNetworkInviteRejected'
|
|
||||||
| 'CEventNetworkJoinSession'
|
|
||||||
| 'CEventNetworkJoinSessionResponse'
|
|
||||||
| 'CEventNetworkOnlinePermissionsUpdated'
|
|
||||||
| 'CEventNetworkPedLeftBehind'
|
|
||||||
| 'CEventNetworkPickupRespawned'
|
|
||||||
| 'CEventNetworkPlayerArrest'
|
|
||||||
| 'CEventNetworkPlayerCollectedAmbientPickup'
|
|
||||||
| 'CEventNetworkPlayerCollectedPickup'
|
|
||||||
| 'CEventNetworkPlayerCollectedPortablePickup'
|
|
||||||
| 'CEventNetworkPlayerDroppedPortablePickup'
|
|
||||||
| 'CEventNetworkPlayerEnteredVehicle'
|
|
||||||
| 'CEventNetworkPlayerJoinScript'
|
|
||||||
| 'CEventNetworkPlayerLeftScript'
|
|
||||||
| 'CEventNetworkPlayerScript'
|
|
||||||
| 'CEventNetworkPlayerSession'
|
|
||||||
| 'CEventNetworkPlayerSpawn'
|
|
||||||
| 'CEventNetworkPresenceInvite'
|
|
||||||
| 'CEventNetworkPresenceInviteRemoved'
|
|
||||||
| 'CEventNetworkPresenceInviteReply'
|
|
||||||
| 'CEventNetworkPresenceTriggerEvent'
|
|
||||||
| 'CEventNetworkPresence_StatUpdate'
|
|
||||||
| 'CEventNetworkPrimaryClanChanged'
|
|
||||||
| 'CEventNetworkRequestDelay'
|
|
||||||
| 'CEventNetworkRosChanged'
|
|
||||||
| 'CEventNetworkScAdminPlayerUpdated'
|
|
||||||
| 'CEventNetworkScAdminReceivedCash'
|
|
||||||
| 'CEventNetworkScriptEvent'
|
|
||||||
| 'CEventNetworkSessionEvent'
|
|
||||||
| 'CEventNetworkShopTransaction'
|
|
||||||
| 'CEventNetworkSignInStateChanged'
|
|
||||||
| 'CEventNetworkSocialClubAccountLinked'
|
|
||||||
| 'CEventNetworkSpectateLocal'
|
|
||||||
| 'CEventNetworkStartMatch'
|
|
||||||
| 'CEventNetworkStartSession'
|
|
||||||
| 'CEventNetworkStorePlayerLeft'
|
|
||||||
| 'CEventNetworkSummon'
|
|
||||||
| 'CEventNetworkSystemServiceEvent'
|
|
||||||
| 'CEventNetworkTextMessageReceived'
|
|
||||||
| 'CEventNetworkTimedExplosion'
|
|
||||||
| 'CEventNetworkTransitionEvent'
|
|
||||||
| 'CEventNetworkTransitionGamerInstruction'
|
|
||||||
| 'CEventNetworkTransitionMemberJoined'
|
|
||||||
| 'CEventNetworkTransitionMemberLeft'
|
|
||||||
| 'CEventNetworkTransitionParameterChanged'
|
|
||||||
| 'CEventNetworkTransitionStarted'
|
|
||||||
| 'CEventNetworkTransitionStringChanged'
|
|
||||||
| 'CEventNetworkVehicleUndrivable'
|
|
||||||
| 'CEventNetworkVoiceConnectionRequested'
|
|
||||||
| 'CEventNetworkVoiceConnectionResponse'
|
|
||||||
| 'CEventNetworkVoiceConnectionTerminated'
|
|
||||||
| 'CEventNetworkVoiceSessionEnded'
|
|
||||||
| 'CEventNetworkVoiceSessionStarted'
|
|
||||||
| 'CEventNetworkWithData'
|
|
||||||
| 'CEventNetwork_InboxMsgReceived'
|
|
||||||
| 'CEventNewTask'
|
|
||||||
| 'CEventObjectCollision'
|
|
||||||
| 'CEventOnFire'
|
|
||||||
| 'CEventOpenDoor'
|
|
||||||
| 'CEventPedCollisionWithPed'
|
|
||||||
| 'CEventPedCollisionWithPlayer'
|
|
||||||
| 'CEventPedEnteredMyVehicle'
|
|
||||||
| 'CEventPedJackingMyVehicle'
|
|
||||||
| 'CEventPedOnCarRoof'
|
|
||||||
| 'CEventPedSeenDeadPed'
|
|
||||||
| 'CEventPlayerCollisionWithPed'
|
|
||||||
| 'CEventPlayerDeath'
|
|
||||||
| 'CEventPlayerUnableToEnterVehicle'
|
|
||||||
| 'CEventPotentialBeWalkedInto'
|
|
||||||
| 'CEventPotentialBlast'
|
|
||||||
| 'CEventPotentialGetRunOver'
|
|
||||||
| 'CEventPotentialWalkIntoVehicle'
|
|
||||||
| 'CEventProvidingCover'
|
|
||||||
| 'CEventRanOverPed'
|
|
||||||
| 'CEventReactionEnemyPed'
|
|
||||||
| 'CEventReactionInvestigateDeadPed'
|
|
||||||
| 'CEventReactionInvestigateThreat'
|
|
||||||
| 'CEventRequestHelp'
|
|
||||||
| 'CEventRequestHelpWithConfrontation'
|
|
||||||
| 'CEventRespondedToThreat'
|
|
||||||
| 'CEventScanner'
|
|
||||||
| 'CEventScenarioForceAction'
|
|
||||||
| 'CEventScriptCommand'
|
|
||||||
| 'CEventScriptWithData'
|
|
||||||
| 'CEventShocking'
|
|
||||||
| 'CEventShockingBicycleCrash'
|
|
||||||
| 'CEventShockingBicycleOnPavement'
|
|
||||||
| 'CEventShockingCarAlarm'
|
|
||||||
| 'CEventShockingCarChase'
|
|
||||||
| 'CEventShockingCarCrash'
|
|
||||||
| 'CEventShockingCarOnCar'
|
|
||||||
| 'CEventShockingCarPileUp'
|
|
||||||
| 'CEventShockingDangerousAnimal'
|
|
||||||
| 'CEventShockingDeadBody'
|
|
||||||
| 'CEventShockingDrivingOnPavement'
|
|
||||||
| 'CEventShockingEngineRevved'
|
|
||||||
| 'CEventShockingExplosion'
|
|
||||||
| 'CEventShockingFire'
|
|
||||||
| 'CEventShockingGunFight'
|
|
||||||
| 'CEventShockingGunshotFired'
|
|
||||||
| 'CEventShockingHelicopterOverhead'
|
|
||||||
| 'CEventShockingHornSounded'
|
|
||||||
| 'CEventShockingInDangerousVehicle'
|
|
||||||
| 'CEventShockingInjuredPed'
|
|
||||||
| 'CEventShockingMadDriver'
|
|
||||||
| 'CEventShockingMadDriverBicycle'
|
|
||||||
| 'CEventShockingMadDriverExtreme'
|
|
||||||
| 'CEventShockingMugging'
|
|
||||||
| 'CEventShockingNonViolentWeaponAimedAt'
|
|
||||||
| 'CEventShockingParachuterOverhead'
|
|
||||||
| 'CEventShockingPedKnockedIntoByPlayer'
|
|
||||||
| 'CEventShockingPedRunOver'
|
|
||||||
| 'CEventShockingPedShot'
|
|
||||||
| 'CEventShockingPlaneFlyby'
|
|
||||||
| 'CEventShockingPotentialBlast'
|
|
||||||
| 'CEventShockingPropertyDamage'
|
|
||||||
| 'CEventShockingRunningPed'
|
|
||||||
| 'CEventShockingRunningStampede'
|
|
||||||
| 'CEventShockingSeenCarStolen'
|
|
||||||
| 'CEventShockingSeenConfrontation'
|
|
||||||
| 'CEventShockingSeenGangFight'
|
|
||||||
| 'CEventShockingSeenInsult'
|
|
||||||
| 'CEventShockingSeenMeleeAction'
|
|
||||||
| 'CEventShockingSeenNiceCar'
|
|
||||||
| 'CEventShockingSeenPedKilled'
|
|
||||||
| 'CEventShockingSiren'
|
|
||||||
| 'CEventShockingStudioBomb'
|
|
||||||
| 'CEventShockingVehicleTowed'
|
|
||||||
| 'CEventShockingVisibleWeapon'
|
|
||||||
| 'CEventShockingWeaponThreat'
|
|
||||||
| 'CEventShockingWeirdPed'
|
|
||||||
| 'CEventShockingWeirdPedApproaching'
|
|
||||||
| 'CEventShoutBlockingLos'
|
|
||||||
| 'CEventShoutTargetPosition'
|
|
||||||
| 'CEventShovePed'
|
|
||||||
| 'CEventSoundBase'
|
|
||||||
| 'CEventStatChangedValue'
|
|
||||||
| 'CEventStaticCountReachedMax'
|
|
||||||
| 'CEventStuckInAir'
|
|
||||||
| 'CEventSuspiciousActivity'
|
|
||||||
| 'CEventSwitch2NM'
|
|
||||||
| 'CEventUnidentifiedPed'
|
|
||||||
| 'CEventVehicleCollision'
|
|
||||||
| 'CEventVehicleDamage'
|
|
||||||
| 'CEventVehicleDamageWeapon'
|
|
||||||
| 'CEventVehicleOnFire'
|
|
||||||
| 'CEventWrithe'
|
|
||||||
|
|||||||
Reference in New Issue
Block a user