Skip to content

Instantly share code, notes, and snippets.

// Build 3717 (A Safehouse in the Hills DLC)
// Mirror of https://rage.mp/forums/topic/25971-a-safehouse-in-the-hills-hashes/
// Vehicles
// Name - Model Name - Hash - Class
Pfister Astrale - astrale - 0x5F2C43B9 - Sports Classics
Vapid Dominator GT - driftdominator9 - 0xCCFCC32F - Muscle
Shitzu Keitora - driftkeitora - 0xA34F2F09 - Utility
Dinka RT3000 - driftrt3000 - 0x67278B2E - Sports
Ubermacht Sentinel XS - driftsentinel2 - 0xC4069F5A - Coupes
// Build 3570 (Money Fronts DLC)
// Mirror of https://rage.mp/forums/topic/25518-money-fronts-hashes/
// Vehicles
// Name - Model Name - Hash - Class
Grotti LSCM Cheetah Classic - cheetah3 - 0x1C18FCE2 - Sports Classics
Dinka Chavos V6 - driftchavosv6 - 0x1B49B0BC - Sedans
Vapid Dominator FX - driftdominator10 - 0xC7FED061 - Muscle
Bravado Gauntlet Hellfire - driftgauntlet4 - 0xEA76439F - Muscle
Annis Hardy - drifthardy - 0xE810B452 - Sedans
// Build 3407 (Agents of Sabotage DLC)
// Mirror of https://rage.mp/forums/topic/24886-agents-of-sabotage-hashes/
// Vehicles
// Name - Model Name - Hash - Class
Bravado Banshee GTS - banshee3 - 0xD8A914D3 - Sports
Buckingham DH-7 Iron Mule - cargobob5 - 0xEAFA7EB7 - Helicopters
Dinka Chavos V6 - chavosv6 - 0x76BC2267 - Sedans
Invetero Coquette D5 - coquette6 - 0x796B7A5 - Sports
Cheburek - driftcheburek - 0xA8940CF3 - Sports Classics
// Build 3258 (Bottom Dollar Bounties DLC)
// Mirror of https://rage.mp/forums/topic/24305-bottom-dollar-bounties-hashes/
// Vehicles
// Name - Model Name - Hash - Class
Canis Castigator - castigator - 0x4DF2780F - SUVs
Invetero Coquette D1 - coquette5 - 0x8B44BEFB - Sports Classics
Vapid Dominator FX - dominator10 - 0x5E2B66BE - Muscle
Cypher - driftcypher - 0xF626001 - Sports
Vulcar Nebula Turbo - driftnebula - 0x64C1C8AA - Sports Classics
// Build 3095 (The Chop Shop DLC)
// Mirror of https://rage.mp/forums/topic/23546-the-chop-shop-hashes/
// Vehicles
// Name - Model Name - Hash - Class
Vapid Aleutian - aleutian - 0xFDAEBF27 - SUVs
Karin Asterope GZ - asterope2 - 0xD3D366B1 - Sedans
Gallivanter Baller ST-D - baller8 - 0xCC8A305C - SUVs
Vapid Benson (Cluckin' Bell) - benson2 - 0x2B69BEA7 - Commercial
Boat Trailer - boattrailer2 - 0x6D63DAB0 - Utility
// Build 2944 (San Andreas Mercenaries DLC)
// Mirror of https://rage.mp/forums/topic/12952-san-andreas-mercenaries-hashes/
// Vehicles
// Name - Model Name - Hash - Class
Mammoth Avenger - avenger3 - 0xE68D8190 - Planes
Mammoth Avenger - avenger4 - 0xFBDEAC32 - Planes
Albany Brigham - brigham - 0xD8FD24D1 - Muscle
Bravado Buffalo EVX - buffalo5 - 0x9E478B3 - Muscle
Vapid Clique Wagon - clique2 - 0xC5A12E61 - Muscle
// Build 2802 (Los Santos Drug Wars DLC)
// Mirror of https://rage.mp/forums/topic/12246-los-santos-drug-wars-hashes/
// Vehicles
// Name - Model Name - Hash - Class
Karin Boor - boor - 0x3B639C8D - Off-Road
MTL Brickade 6x6 - brickade2 - 0xA2073353 - Service
Classique Broadway - broadway - 0x8CC51028 - Muscle
Cargo Plane - cargoplane2 - 0x8B4864E1 - Planes
Overflod Entity MT - entity3 - 0x6838FC1D - Super
const NUM_COMPONENT_TYPES = 16;
const ENTITY_TYPE_PLAYER = 0;
const GET_SHOP_PED_COMPONENT = 0x74C0E2A57EC66760n;
const GET_SHOP_PED_PROP = 0x5D5CAFF661DDF6FCn;
function isBitSet(num, position) {
return (num & (1 << position)) !== 0;
}
function applyComponentsFromBuffer(player, componentBytes) {
const m23_1_prop_m31_ghostsalton_01a = mp.game.joaat("m23_1_prop_m31_ghostsalton_01a");
const m23_1_prop_m31_ghostrurmeth_01a = mp.game.joaat("m23_1_prop_m31_ghostrurmeth_01a");
const m23_1_prop_m31_ghostskidrow_01a = mp.game.joaat("m23_1_prop_m31_ghostskidrow_01a");
const m23_1_prop_m31_ghostzombie_01a = mp.game.joaat("m23_1_prop_m31_ghostzombie_01a");
const m23_1_prop_m31_ghostjohnny_01a = mp.game.joaat("m23_1_prop_m31_ghostjohnny_01a");
const m24_1_prop_m41_ghost_dom_01a = mp.game.joaat("m24_1_prop_m41_ghost_dom_01a");
const GHOST_DATA = [
// mp2023
{ model: m23_1_prop_m31_ghostsalton_01a, position: new mp.Vector3(63.7611, 6664.9165, 30.7754), rotation: new mp.Vector3(0.0, 0.0, -127.2) },
function searchSpawnPointsAsync(options) {
const { position, radius, maxHeightDifference = 5.0, flags = 0, minDistanceBetweenPoints = 0.0, timeout = 0 } = options;
return new Promise((resolve, reject) => {
// cancel the active search if there is one
if (mp.game.ped.spawnpointsIsSearchActive()) {
mp.game.ped.spawnpointsCancelSearch();
}
// start new search