Version 0.39.946.8098 ALPHA

RAGE Plugin Hook Documentation

[This is preliminary documentation and is subject to change.]

Version v0.39.946.8098 was released on UNKNOWN UTC.

Changes in This Release

  • Added support for game patch v757.

  • Removed support for game patch v678.

  • It is now possible to attach Visual Studio to debug plugins (Windows 10 recommended for now. If you receive an "EngineExecutionException" exception while trying to debug, you have a plugin that employs anti-debugging techniques. These plugins must be disabled to to allow debugging).

  • Refactored splash screen, fixing a lot of problems (Infinite wait, "Launcher requires your attention", etc.).

  • Fixed a crash when the Windows account name contained Unicode characters.

  • Fixed a crash on certain systems, caused by a race condition in the velocity limit removal procedure.

  • Fixed a crash when setting Camera::Position to a vector with one or more NaN components.

  • Slightly optimized boot time.

  • Fixed an issue where the game would reset the velocity limit when entering or leaving a vehicle.

  • Fixed a rare deadlock occurring sometimes when fibers were being aborted.

  • Fixed a rare crash when unloading a plugin.

  • Fixed a race condition in the GWEN renderer causing an exception.

  • RAGE Plugin Hook is now able to automatically download and install updates.

  • Now verifies the files belonging to RAGE Plugin Hook, and prompts the user to repair if corrupt.

  • A plugin that's set to reload on changes (and by extension, exceptions) will no longer reload if an exception occurs within the first 5 seconds of the plugin loading, to avoid the plugin from loading over and over.

  • Fixed mini crash dump files (RCRM) always being corrupt (2 null bytes).

  • Fixed a crash when fibers were terminated due to exceptions.

  • Fixed developer mode not enabling on startup, despite being ticked in the settings dialog.

  • Console variable 'IsDeveloperModeEnabled' can now be set in the .ini or startup script (Or simply ticked in settings).

  • When developer mode is active, plugins will no longer be unloaded automatically when they cause the game to freeze. Instead, holding the BREAK key will terminate currently blocking plugins.

  • Now shows a warning and exception details when an unhandled exception occurs in a console command defined in a plugin.

  • Console command parameters of either of the following types now supports '0x' to denote hexadecimal values (C# keywords): int, uint, short, ushort, long, ulong, byte and sbyte.

  • Console command 'Spawn' and 'SpawnAndWarp' will now spawn by hash if the parameter starts with '0x'.

  • Multiple onscreen prompts can now be closed by hitting F12 several times, without having to wait for each prompt to close entirely first.

  • The 'Execute Code' dialog now looks for .cs files instead of .txt files in the ExecuteCode folder (Developers, remember to rename your files).

  • It is now possible to select text in the console, as well as use Ctrl+X, Ctrl+C and Ctrl+V to cut, copy and paste, respectively.

  • It's now possible to use Control in the console with Delete and Backspace to remove entire words.

  • Fixed a potential issue in Entity::IsValid().

  • Fixed a null exception warning being spammed to the console.

  • Console will now error on invalid arguments instead of just passing zero to the command.

  • Now logs the stack trace of inner exceptions as well, when an unhandled exception occurs.

  • Blip now implements IDeletable.

  • Model console command auto completer now includes all models, including name-less ones (~28,000 vs ~7,000 before).

  • Model::Models now correctly returns ALL models.

  • Model::PedModels now correctly returns ALL ped models.

  • Model::VehicleModels now correctly returns ALL ped models.

  • Added Model::IsTrailer.

  • Added Model::IsSubmarine.

  • Added Model::IsBlimp.

  • Added vehicle model names: JESTER2, RATLOADER2, SLAMVAN, BTYPE2, BTYPE3.

  • Added many missing ped model names.

  • Added Vehicle::IsCar.

  • Added Vehicle::IsPlane.

  • Added Vehicle::IsQuadBike.

  • Added Vehicle::IsHelicopter.

  • Added Vehicle::IsBlimp.

  • Added Vehicle::IsBike.

  • Added Vehicle::IsBicycle.

  • Added Vehicle::IsBoat.

  • Added Vehicle::IsTrain.

  • Added Vehicle::IsSubmarine.

  • Added Vehicle::DesiredVerticalFlightPhase.

  • Added Vehicle::VerticalFlightPhase.

  • Renamed Vehicle::PlateType to Vehicle::LicensePlateType.

  • Added Vehicle::LicensePlateStyle.

  • Added Vehicle::Class.

  • Added Entity::CollisionIgnoredEntity.

  • Added Entity::SubmersionLevel.

  • Added Entity::IsInAir.

  • Added Entity::IsUpsideDown.

  • Added Entity::CanBeDamaged.

  • Added Entity::IsCollisionEnabled.

  • Added Entity::IsGravityDisabled.

  • Added Entity::Orientation.

  • Added Entity::HasBeenDamagedByAnyPed.

  • Added Entity::HasBeenDamagedByAnyVehicle.

  • Added Entity::HasBeenDamagedByAnyObject.

  • Added Entity::IsRecordingCollisions.

  • Added Entity::IsBulletProof.

  • Added Entity::IsFireProof.

  • Added Entity::IsExplosionProof.

  • Added Entity::IsCollisionProof.

  • Added Entity::IsMeleeProof.

  • Marked Entity::Quaternion as obsolete (Will be removed in a future update. Use Entity::Orientation instead).

  • Added Entity::IsInvincible.

  • Marked Entity::Invincible as obsolete. (Will be removed in a future update. Use Entity::IsInvincible instead).

  • Added Entity::IsWaitingForWorldCollision.

  • Added Entity::GetBoneAxes().

  • Added Entity::GetBoneOrientation().

  • Added Entity::GetBoneRotation().

  • Fixed Entity::GetAttachedBlip() always returning null.

  • Added Entity::GetAttachedBlips().

  • Added Entity::ApplyForce().

  • Added Entity::IsTouching().

  • Added Entity::HasBeenDamagedBy().

  • Added Entity::GetLastCollision().

  • Added Ped::LastDamageBone.

  • Added Ped::MinimumGroundTimeForStungun.

  • Added Ped::IsStunned.

  • Added Ped::InjuryHealthThreshold.

  • Added Ped::FatalInjuryHealthThreshold.

  • Marked Ped::IsFatallyInjured as obsolete. Use Entity::IsDead instead.

  • Added getter for Ped::Accuracy.

  • Added Ped::OpenParachute().

  • Added Ped::ClearLastDamageBone().

  • Added Ped::ClearLastVehicle().

  • Added Ped::Clone().

  • Added TaskInvoker::SmashCarWindow().

  • Added TaskInvoker::ClimbLadder().

  • Added TaskInvoker::FollowPointRoute().

  • Added TaskInvoker::ReactAndFlee().

  • Added TaskInvoker::Flee().

  • Added TaskInvoker::ShuffleToAdjacentSeat().

  • Added Player::IsIgnoredByPolice.

  • Added Player::Name.

  • Added Player::IsPlaying.

  • Added Player::IsIgnoredByEveryone.

  • Added Player::IsDrivingOnPavement.

  • Added Player::IsDrivingAgainstTraffic.

  • Added Player::TimeSincePlayerLastDroveOnPavement.

  • Added Player::TimeSincePlayerLastDroveAgainstTraffic.

  • Added Player::TimeSincePlayerLastHitAnyPed.

  • Added Player::TimeSincePlayerLastHitAnyVehicle.

  • Added Player::IsFreeAiming.

  • Added Player::IsFreeAimingAtAnyEntity.

  • Added Player::IsFreeAimingAtEntity().

  • Added Player::GetFreeAimingTarget().

  • Added Blip::Entity.

  • Added convenience property Game::IsControlKeyDownRightNow.

  • Added convenience property Game::IsShiftKeyDownRightNow.

  • Added convenience property Game::IsAltKeyDownRightNow.

  • Added Game::DisplaySubtitle() overload, calculating display duration automatically.

  • Added convenience property KeyboardState::IsControlDown.

  • Added convenience property KeyboardState::IsShiftDown.

  • Added convenience property KeyboardState::IsAltDown.

  • KeyboardState now uses HashSets instead of Lists, for optimization.

  • Added Quaternion::FromAxes().

  • Fixed console command 'Repair' not making drowned vehicles work again.

  • Console command 'Exit' now invokes the game's own shutdown procedure for a graceful shutdown, instead of terminating the game process.

  • Added console command 'Terminate' to terminate the game process (Old behaviour of 'Exit' console command).

  • Console command 'PrintInfo' now outputs the addresses of the player's ped and vehicle.

  • Ported Editor.ConvertScreenPositionToDirection() from the Development Enhancer to World::ConvertScreenPositionToTrace (Screen to world conversion).

  • Moved global::StaticFinalizer to the Rage namespace.

  • Added World::NumberOfFires.

  • Added World::GetAllFires().

  • Added World::GetWaypointBlip().

  • Added World::GetAllPathNodeIds().

  • Deprecated World::KeepAllPathNodesInMemory. Path nodes are now always loaded. This property will be removed soon; stop using it.

  • Added MathHelper::InterpolateLinearlyTo().

  • Fixed Ped::GetVariation() parameters not being marked as out, making the method useless.

  • Added byte constructor and implicit operator for NativeArgument to avoid an ambiguity error when passing a byte to natives.

  • Added and updated various XML comments.

  • Removed native name CLEAR_PLAYER_BAILED_FROM_PLAYERICLE.

  • Removed native name IS_MEDICAL_DISABLED.

  • Added native name ADD_TEXT_COMPONENT_SUBSTRING_BLIP_NAME.

  • Added native name ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME.

  • Added native name ADD_TEXT_COMPONENT_SUBSTRING_WEBSITE.

  • Added native name INT_SCORES_SORTED.

  • Added native name SET_PED_DEFENSIVE_SPHERE_ATTACHED_TO_PED.

  • Added native name ARE_ALL_VEHICLE_WINDOWS_INTACT.

  • Added native name SET_VEHICLE_CAN_BE_USED_BY_FLEEING_PEDS.

  • Added native name PLAYSTATS_WEBSITE_VISITED.

  • Added native name SHUTDOWN_CREATOR_BUDGET.

  • Added native name SET_CUTSCENE_PED_PROP_VARIATION.

  • Added native name NETWORK_IS_MULTIPLAYER_DISABLED.

  • Added native name NETWORK_SESSION_HOST_CLOSED.

  • Added native name NETWORK_ADD_FOLLOWERS.

  • Added native name NETWORK_CLEAR_FOLLOWERS.

  • Added native name NETWORK_DO_TRANSITION_QUICKMATCH.

  • Added native name NETWORK_UNREGISTER_NETWORKED_ENTITY.

  • Added native name NETWORK_IS_FRIEND_INDEX_ONLINE (Previously CLEAR_PLAYER_BAILED_FROM_PLAYERICLE).

  • Added native name IS_TIME_LESS_THAN.

  • Added native name IS_TIME_MORE_THAN.

  • Added native name IS_TIME_EQUAL_TO.

  • Added native name TEXTURE_DOWNLOAD_HAS_FAILED.

  • Added native name IS_WARNING_MESSAGE_ACTIVE (Previously IS_MEDICAL_DISABLED).

  • Added native name GET_SOUND_ID_FROM_NETWORK_ID.

  • Added native name RESERVE_ENTITY_EXPLODES_ON_HIGH_EXPLOSION_COMBO.

  • Added native name NETWORK_REMOVE_PRESENCE_INVITE.

See Also

Other Resources