Developer knowledge network · moderated exchange

Społeczność UnreliableCode

Badania programistów, inżynieria wsteczna i społeczność programistów

Knowledge indexNa żywo
4Categories
919Threads
2.8KPosty
Release

Safe Teleportation routine with terrain collision loading (LOAD_SCENE)

fivem_native_guru
CitizenFX Dev
MEMBER
Rozpustnik: 182
Data dołączenia: May 2021
Posty: 8
Dzięki: 69
1 miesięcy temu · Jul 12, 2026 12:08 AM
#1

When teleporting across long distances in GTA V, player models often fall through the map because ground collision meshes haven't streamed in yet.

Safe Teleport Sequence:

CPP
void SafeTeleport(Ped ped, Vector3 coords) {
    // 1. Request collision mesh streaming
    STREAMING::REQUEST_COLLISION_AT_COORD(coords.x, coords.y, coords.z);
    NEWLOADSCENE_START_SPHERE(coords.x, coords.y, coords.z, 50.0f, 0);
    
    // 2. Teleport entity
    ENTITY::SET_ENTITY_COORDS_NO_OFFSET(ped, coords.x, coords.y, coords.z, 0, 0, 1);
    
    // 3. Freeze entity while scene finishes loading
    ENTITY::FREEZE_ENTITY_POSITION(ped, true);
    ScriptWait(100); // 100ms yield
    ENTITY::FREEZE_ENTITY_POSITION(ped, false);
}
vtable_slayer
Senior Reverser
MEMBER
Rozpustnik: 215
Data dołączenia: Mar 2018
Posty: 86
Dzięki: 61
1 miesięcy temu · Jul 12, 2026 2:23 AM
#2

Freezing entity position for 100ms while calling REQUEST_COLLISION_AT_COORD completely prevents falling into the void.

fivem_native_coder
Lua Scripter
MEMBER
Rozpustnik: 64
Data dołączenia: Jun 2019
Posty: 20
Dzięki: 48
1 miesięcy temu · Jul 12, 2026 4:55 PM
#3

Works on high-speed FiveM RP servers with custom map assets.