Hashes and natives
GTA identifies models, weapons, and many named resources with Jenkins one-at-a-time hashes. Server code can compute them with vimp.hash.
ts
const pistol = vimp.hash('WEAPON_PISTOL')
const adder = vimp.hash('adder')Client code exposes GTA native functions under vimp.natives, grouped by namespace and written in lower camel case.
ts
vimp.on('render', () => {
const playerPed = vimp.natives.player.playerPedId()
const speed = vimp.natives.entity.getEntitySpeed(playerPed)
vimp.graphics.drawText(`Speed: ${speed.toFixed(1)}`, 0.02, 0.8)
})Native calls run in the client game process. Validate handles, request required models or animation dictionaries, and release resources according to GTA lifecycle rules. A typed signature prevents many argument mistakes but does not make an unsafe native sequence valid.
Use the searchable native reference for exact signatures.