mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2024-11-09 01:07:16 +01:00
323 lines
14 KiB
C++
323 lines
14 KiB
C++
// ------------------------------------------------------------------------------------------------
|
|
#include "Event/Shared.hpp"
|
|
#include "Config.hpp"
|
|
#include "Register.hpp"
|
|
|
|
// ------------------------------------------------------------------------------------------------
|
|
namespace SqMod {
|
|
|
|
// ------------------------------------------------------------------------------------------------
|
|
const SQChar * GetEventName(SQInt32 type) noexcept
|
|
{
|
|
switch (type)
|
|
{
|
|
case EVT_BLIPCREATED: return _SC("Blip Created");
|
|
case EVT_CHECKPOINTCREATED: return _SC("Checkpoint Created");
|
|
case EVT_KEYBINDCREATED: return _SC("Keybind Created");
|
|
case EVT_OBJECTCREATED: return _SC("Object Created");
|
|
case EVT_PICKUPCREATED: return _SC("Pickup Created");
|
|
case EVT_PLAYERCREATED: return _SC("Player Created");
|
|
case EVT_SPHERECREATED: return _SC("Sphere Created");
|
|
case EVT_SPRITECREATED: return _SC("Sprite Created");
|
|
case EVT_TEXTDRAWCREATED: return _SC("Textdraw Created");
|
|
case EVT_VEHICLECREATED: return _SC("Vehicle Created");
|
|
case EVT_BLIPDESTROYED: return _SC("Blip Destroyed");
|
|
case EVT_CHECKPOINTDESTROYED: return _SC("Checkpoint Destroyed");
|
|
case EVT_KEYBINDDESTROYED: return _SC("Keybind Destroyed");
|
|
case EVT_OBJECTDESTROYED: return _SC("Object Destroyed");
|
|
case EVT_PICKUPDESTROYED: return _SC("Pickup Destroyed");
|
|
case EVT_PLAYERDESTROYED: return _SC("Player Destroyed");
|
|
case EVT_SPHEREDESTROYED: return _SC("Sphere Destroyed");
|
|
case EVT_SPRITEDESTROYED: return _SC("Sprite Destroyed");
|
|
case EVT_TEXTDRAWDESTROYED: return _SC("Textdraw Destroyed");
|
|
case EVT_VEHICLEDESTROYED: return _SC("Vehicle Destroyed");
|
|
case EVT_BLIPCUSTOM: return _SC("Blip Custom");
|
|
case EVT_CHECKPOINTCUSTOM: return _SC("Checkpoint Custom");
|
|
case EVT_KEYBINDCUSTOM: return _SC("Keybind Custom");
|
|
case EVT_OBJECTCUSTOM: return _SC("Object Custom");
|
|
case EVT_PICKUPCUSTOM: return _SC("Pickup Custom");
|
|
case EVT_PLAYERCUSTOM: return _SC("Player Custom");
|
|
case EVT_SPHERECUSTOM: return _SC("Sphere Custom");
|
|
case EVT_SPRITECUSTOM: return _SC("Sprite Custom");
|
|
case EVT_TEXTDRAWCUSTOM: return _SC("Textdraw Custom");
|
|
case EVT_VEHICLECUSTOM: return _SC("Vehicle Custom");
|
|
case EVT_PLAYERAWAY: return _SC("Player Away");
|
|
case EVT_PLAYERGAMEKEYS: return _SC("Player Game Keys");
|
|
case EVT_PLAYERRENAME: return _SC("Player Rename");
|
|
case EVT_PLAYERREQUESTCLASS: return _SC("Player Request Class");
|
|
case EVT_PLAYERREQUESTSPAWN: return _SC("Player Request Spawn");
|
|
case EVT_PLAYERSPAWN: return _SC("Player Spawn");
|
|
case EVT_PLAYERSTARTTYPING: return _SC("Player Start Typing");
|
|
case EVT_PLAYERSTOPTYPING: return _SC("Player Stop Typing");
|
|
case EVT_PLAYERCHAT: return _SC("Player Chat");
|
|
case EVT_PLAYERCOMMAND: return _SC("Player Command");
|
|
case EVT_PLAYERMESSAGE: return _SC("Player Message");
|
|
case EVT_PLAYERHEALTH: return _SC("Player Health");
|
|
case EVT_PLAYERARMOUR: return _SC("Player Armour");
|
|
case EVT_PLAYERWEAPON: return _SC("Player Weapon");
|
|
case EVT_PLAYERMOVE: return _SC("Player Move");
|
|
case EVT_PLAYERWASTED: return _SC("Player Wasted");
|
|
case EVT_PLAYERKILLED: return _SC("Player Killed");
|
|
case EVT_PLAYERTEAMKILL: return _SC("Player Team Kill");
|
|
case EVT_PLAYERSPECTATE: return _SC("Player Spectate");
|
|
case EVT_PLAYERCRASHREPORT: return _SC("Player Crash Report");
|
|
case EVT_PLAYERBURNING: return _SC("Player Burning");
|
|
case EVT_PLAYERCROUCHING: return _SC("Player Crouching");
|
|
case EVT_PLAYERSTATE: return _SC("Player State");
|
|
case EVT_PLAYERACTION: return _SC("Player Action");
|
|
case EVT_STATENONE: return _SC("State None");
|
|
case EVT_STATENORMAL: return _SC("State Normal");
|
|
case EVT_STATESHOOTING: return _SC("State Shooting");
|
|
case EVT_STATEDRIVER: return _SC("State Driver");
|
|
case EVT_STATEPASSENGER: return _SC("State Passenger");
|
|
case EVT_STATEENTERDRIVER: return _SC("State Enter Driver");
|
|
case EVT_STATEENTERPASSENGER: return _SC("State Enter Passenger");
|
|
case EVT_STATEEXITVEHICLE: return _SC("State Exit Vehicle");
|
|
case EVT_STATEUNSPAWNED: return _SC("State Unspawned");
|
|
case EVT_ACTIONNONE: return _SC("Action None");
|
|
case EVT_ACTIONNORMAL: return _SC("Action Normal");
|
|
case EVT_ACTIONAIMING: return _SC("Action Aiming");
|
|
case EVT_ACTIONSHOOTING: return _SC("Action Shooting");
|
|
case EVT_ACTIONJUMPING: return _SC("Action Jumping");
|
|
case EVT_ACTIONLIEDOWN: return _SC("Action Lie Down");
|
|
case EVT_ACTIONGETTINGUP: return _SC("Action Getting Up");
|
|
case EVT_ACTIONJUMPVEHICLE: return _SC("Action Jump Vehicle");
|
|
case EVT_ACTIONDRIVING: return _SC("Action Driving");
|
|
case EVT_ACTIONDYING: return _SC("Action Dying");
|
|
case EVT_ACTIONWASTED: return _SC("Action Wasted");
|
|
case EVT_ACTIONEMBARKING: return _SC("Action Embarking");
|
|
case EVT_ACTIONDISEMBARKING: return _SC("Action Disembarking");
|
|
case EVT_VEHICLERESPAWN: return _SC("Vehicle Respawn");
|
|
case EVT_VEHICLEEXPLODE: return _SC("Vehicle Explode");
|
|
case EVT_VEHICLEHEALTH: return _SC("Vehicle Health");
|
|
case EVT_VEHICLEMOVE: return _SC("Vehicle Move");
|
|
case EVT_PICKUPRESPAWN: return _SC("Pickup Respawn");
|
|
case EVT_KEYBINDKEYPRESS: return _SC("Keybind Key Press");
|
|
case EVT_KEYBINDKEYRELEASE: return _SC("Keybind Key Release");
|
|
case EVT_VEHICLEEMBARKING: return _SC("Vehicle Embarking");
|
|
case EVT_VEHICLEEMBARKED: return _SC("Vehicle Embarked");
|
|
case EVT_VEHICLEDISEMBARK: return _SC("Vehicle Disembark");
|
|
case EVT_PICKUPCLAIMED: return _SC("Pickup Claimed");
|
|
case EVT_PICKUPCOLLECTED: return _SC("Pickup Collected");
|
|
case EVT_OBJECTSHOT: return _SC("Object Shot");
|
|
case EVT_OBJECTBUMP: return _SC("Object Bump");
|
|
case EVT_CHECKPOINTENTERED: return _SC("Checkpoint Entered");
|
|
case EVT_CHECKPOINTEXITED: return _SC("Checkpoint Exited");
|
|
case EVT_SPHEREENTERED: return _SC("Sphere Entered");
|
|
case EVT_SPHEREEXITED: return _SC("Sphere Exited");
|
|
case EVT_SERVERFRAME: return _SC("Server Frame");
|
|
case EVT_SERVERSTARTUP: return _SC("Server Startup");
|
|
case EVT_SERVERSHUTDOWN: return _SC("Server Shutdown");
|
|
case EVT_INTERNALCOMMAND: return _SC("Internal Command");
|
|
case EVT_LOGINATTEMPT: return _SC("Login Attempt");
|
|
case EVT_CUSTOMEVENT: return _SC("Custom Event");
|
|
case EVT_WORLDOPTION: return _SC("World Option");
|
|
case EVT_WORLDTOGGLE: return _SC("World Toggle");
|
|
case EVT_SCRIPTRELOAD: return _SC("Script Reload");
|
|
case EVT_LOGMESSAGE: return _SC("Log Message");
|
|
default: return _SC("Unknown");
|
|
}
|
|
|
|
}
|
|
|
|
// ------------------------------------------------------------------------------------------------
|
|
bool IsEntityEvent(SQInt32 type) noexcept
|
|
{
|
|
switch (type)
|
|
{
|
|
case EVT_BLIPCREATED:
|
|
case EVT_CHECKPOINTCREATED:
|
|
case EVT_KEYBINDCREATED:
|
|
case EVT_OBJECTCREATED:
|
|
case EVT_PICKUPCREATED:
|
|
case EVT_PLAYERCREATED:
|
|
case EVT_SPHERECREATED:
|
|
case EVT_SPRITECREATED:
|
|
case EVT_TEXTDRAWCREATED:
|
|
case EVT_VEHICLECREATED:
|
|
case EVT_BLIPDESTROYED:
|
|
case EVT_CHECKPOINTDESTROYED:
|
|
case EVT_KEYBINDDESTROYED:
|
|
case EVT_OBJECTDESTROYED:
|
|
case EVT_PICKUPDESTROYED:
|
|
case EVT_PLAYERDESTROYED:
|
|
case EVT_SPHEREDESTROYED:
|
|
case EVT_SPRITEDESTROYED:
|
|
case EVT_TEXTDRAWDESTROYED:
|
|
case EVT_VEHICLEDESTROYED:
|
|
case EVT_BLIPCUSTOM:
|
|
case EVT_CHECKPOINTCUSTOM:
|
|
case EVT_KEYBINDCUSTOM:
|
|
case EVT_OBJECTCUSTOM:
|
|
case EVT_PICKUPCUSTOM:
|
|
case EVT_PLAYERCUSTOM:
|
|
case EVT_SPHERECUSTOM:
|
|
case EVT_SPRITECUSTOM:
|
|
case EVT_TEXTDRAWCUSTOM:
|
|
case EVT_VEHICLECUSTOM:
|
|
case EVT_PLAYERAWAY:
|
|
case EVT_PLAYERGAMEKEYS:
|
|
case EVT_PLAYERRENAME:
|
|
case EVT_PLAYERREQUESTCLASS:
|
|
case EVT_PLAYERREQUESTSPAWN:
|
|
case EVT_PLAYERSPAWN:
|
|
case EVT_PLAYERSTARTTYPING:
|
|
case EVT_PLAYERSTOPTYPING:
|
|
case EVT_PLAYERCHAT:
|
|
case EVT_PLAYERCOMMAND:
|
|
case EVT_PLAYERMESSAGE:
|
|
case EVT_PLAYERHEALTH:
|
|
case EVT_PLAYERARMOUR:
|
|
case EVT_PLAYERWEAPON:
|
|
case EVT_PLAYERMOVE:
|
|
case EVT_PLAYERWASTED:
|
|
case EVT_PLAYERKILLED:
|
|
case EVT_PLAYERTEAMKILL:
|
|
case EVT_PLAYERSPECTATE:
|
|
case EVT_PLAYERCRASHREPORT:
|
|
case EVT_PLAYERBURNING:
|
|
case EVT_PLAYERCROUCHING:
|
|
case EVT_PLAYERSTATE:
|
|
case EVT_PLAYERACTION:
|
|
case EVT_STATENONE:
|
|
case EVT_STATENORMAL:
|
|
case EVT_STATESHOOTING:
|
|
case EVT_STATEDRIVER:
|
|
case EVT_STATEPASSENGER:
|
|
case EVT_STATEENTERDRIVER:
|
|
case EVT_STATEENTERPASSENGER:
|
|
case EVT_STATEEXITVEHICLE:
|
|
case EVT_STATEUNSPAWNED:
|
|
case EVT_ACTIONNONE:
|
|
case EVT_ACTIONNORMAL:
|
|
case EVT_ACTIONAIMING:
|
|
case EVT_ACTIONSHOOTING:
|
|
case EVT_ACTIONJUMPING:
|
|
case EVT_ACTIONLIEDOWN:
|
|
case EVT_ACTIONGETTINGUP:
|
|
case EVT_ACTIONJUMPVEHICLE:
|
|
case EVT_ACTIONDRIVING:
|
|
case EVT_ACTIONDYING:
|
|
case EVT_ACTIONWASTED:
|
|
case EVT_ACTIONEMBARKING:
|
|
case EVT_ACTIONDISEMBARKING:
|
|
case EVT_VEHICLERESPAWN:
|
|
case EVT_VEHICLEEXPLODE:
|
|
case EVT_VEHICLEHEALTH:
|
|
case EVT_VEHICLEMOVE:
|
|
case EVT_PICKUPRESPAWN:
|
|
case EVT_KEYBINDKEYPRESS:
|
|
case EVT_KEYBINDKEYRELEASE:
|
|
case EVT_VEHICLEEMBARKING:
|
|
case EVT_VEHICLEEMBARKED:
|
|
case EVT_VEHICLEDISEMBARK:
|
|
case EVT_PICKUPCLAIMED:
|
|
case EVT_PICKUPCOLLECTED:
|
|
case EVT_OBJECTSHOT:
|
|
case EVT_OBJECTBUMP:
|
|
case EVT_CHECKPOINTENTERED:
|
|
case EVT_CHECKPOINTEXITED:
|
|
case EVT_SPHEREENTERED:
|
|
case EVT_SPHEREEXITED:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// ------------------------------------------------------------------------------------------------
|
|
bool IsCreateEvent(SQInt32 type) noexcept
|
|
{
|
|
switch (type)
|
|
{
|
|
case EVT_BLIPCREATED:
|
|
case EVT_CHECKPOINTCREATED:
|
|
case EVT_KEYBINDCREATED:
|
|
case EVT_OBJECTCREATED:
|
|
case EVT_PICKUPCREATED:
|
|
case EVT_PLAYERCREATED:
|
|
case EVT_SPHERECREATED:
|
|
case EVT_SPRITECREATED:
|
|
case EVT_TEXTDRAWCREATED:
|
|
case EVT_VEHICLECREATED:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// ------------------------------------------------------------------------------------------------
|
|
bool IsDestroyEvent(SQInt32 type) noexcept
|
|
{
|
|
switch (type)
|
|
{
|
|
case EVT_BLIPDESTROYED:
|
|
case EVT_CHECKPOINTDESTROYED:
|
|
case EVT_KEYBINDDESTROYED:
|
|
case EVT_OBJECTDESTROYED:
|
|
case EVT_PICKUPDESTROYED:
|
|
case EVT_PLAYERDESTROYED:
|
|
case EVT_SPHEREDESTROYED:
|
|
case EVT_SPRITEDESTROYED:
|
|
case EVT_TEXTDRAWDESTROYED:
|
|
case EVT_VEHICLEDESTROYED:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// ------------------------------------------------------------------------------------------------
|
|
bool IsCustomEvent(SQInt32 type) noexcept
|
|
{
|
|
switch (type)
|
|
{
|
|
case EVT_BLIPCUSTOM:
|
|
case EVT_CHECKPOINTCUSTOM:
|
|
case EVT_KEYBINDCUSTOM:
|
|
case EVT_OBJECTCUSTOM:
|
|
case EVT_PICKUPCUSTOM:
|
|
case EVT_PLAYERCUSTOM:
|
|
case EVT_SPHERECUSTOM:
|
|
case EVT_SPRITECUSTOM:
|
|
case EVT_TEXTDRAWCUSTOM:
|
|
case EVT_VEHICLECUSTOM:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// ------------------------------------------------------------------------------------------------
|
|
bool CanBeInversed(SQInt32 type) noexcept
|
|
{
|
|
switch (type)
|
|
{
|
|
case EVT_KEYBINDKEYPRESS:
|
|
case EVT_KEYBINDKEYRELEASE:
|
|
case EVT_VEHICLEEMBARKING:
|
|
case EVT_VEHICLEEMBARKED:
|
|
case EVT_VEHICLEDISEMBARK:
|
|
case EVT_PICKUPCLAIMED:
|
|
case EVT_PICKUPCOLLECTED:
|
|
case EVT_OBJECTSHOT:
|
|
case EVT_OBJECTBUMP:
|
|
case EVT_CHECKPOINTENTERED:
|
|
case EVT_CHECKPOINTEXITED:
|
|
case EVT_SPHEREENTERED:
|
|
case EVT_SPHEREEXITED:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// ================================================================================================
|
|
bool Register_Event(HSQUIRRELVM vm)
|
|
{
|
|
SQMOD_UNUSED_VAR(vm);
|
|
return true;
|
|
}
|
|
|
|
} // Namespace:: SqMod
|