[How-to] Map an interior and stream it in FiveM

@GiZz Tutorial works wonders! Thanks for much for the resource!

I would like to add, for those struggling with rotation, you must click “Normalize” in CodeWalker after setting the rotation or else it will revert to (0, 0, 1, 0). Or at least that was an issue with me.

1 Like

Thanks for the feedback !

ytyps containing entitySets are not supported for now but will be soon :slight_smile:

Can you make a tutorial for noobs, i didnt undestand nothing. Thanks for exist :sweat_smile::heart:

Okay, noob to CodeWalker.

I make a project folder. I got the ytyp file (ex_int_warehouse_small_dlc.ytyp in this case) and exported the ymaps. I created a new project in CodeWalker and opened the ymaps. How do I now get CodeWalker to render the provided ymap to add new entities to it?

Hey ! I suggest you go to CodeWalker discord #tutorials section : https://discord.gg/Ues2ck

1 Like

Alright, figured out CodeWalker (very cool tool).

I added 7 entities to Warehouse_Small.ymap which contains the entities for ex_int_warehouse_small_dlc.ytyp. They appear in CodeWalker, they appear in the .ymap if I open it in OpenIV and view as XML.

I attempt to inject them and am running into some issues. I tried with and without the -x parameter for injectentities (I didn’t remove any entities from the room).

With -x, the interior doesn’t load at all. Without -x, the interior loads, but none of my added entities are there.

What I’m doing, with output:
gtautil find --position 1091,-3096,-40

Result:

ymap: ex_exec_warehouse_placement_interior_1_int_warehouse_s_dlc_milo_.ymap
  ytyp => ex_int_warehouse_small_dlc.ytyp
    mlo => ex_int_warehouse_s_dlc
    position => 1095,-3100,-40
    rotation => 0,0,0,1
      room => limbo
      room => Warehouse_Small

gtautil extractentities --name small_warehouse --ytyp .\ex_int_warehouse_small_dlc.ytyp --position 1095,-3100,-40 --rotation 0,0,0,1

Result:

D:\FiveM\gtautil>GTAUtil.exe extractentities --name warehouse --ytyp .\ex_int_warehouse_small_dlc.ytyp --position 1095,-3100,-40 --rotation 0,0,0,1
Loading cache
Loading DLC list
Loading file tree
Room => limbo (1 entities)
1087.032 -3103.891 -40
1105.715 -3095.144 -36.06564
Room => Warehouse_Small (40 entities)
1086.914 -3103.943 -41.63591
1105.579 -3091.098 -36.06563

Without -x:
gtautil injectentities --name .\F\ex_int_warehouse_small_dlc --ytyp .\ex_int_warehouse_small_dlc.ytyp --ymap '.\small_warehouse\*.ymap' --position 1095,-3100,-40 --rotation 0,0,0,1

Result:

Loading cache
Loading DLC list
Loading file tree
Calculating rooms extents

With -x:
gtautil injectentities -x --name .\F\ex_int_warehouse_small_dlc --ytyp .\ex_int_warehouse_small_dlc.ytyp --ymap '.\small_warehouse\*.ymap' --position 1095,-3100,-40 --rotation 0,0,0,1

Result:

Loading cache
Loading DLC list
Loading file tree
Calculating rooms extents
DELETE 40
DELETE 39
DELETE 38
DELETE 37
DELETE 36
DELETE 35
DELETE 34
DELETE 33
DELETE 32
DELETE 31
DELETE 30
DELETE 29
DELETE 28
DELETE 27
DELETE 26
DELETE 25
DELETE 24
DELETE 23
DELETE 22
DELETE 21
DELETE 20
DELETE 19
DELETE 18
DELETE 17
DELETE 16
DELETE 15
DELETE 14
DELETE 13
DELETE 12
DELETE 11
DELETE 10
DELETE 9
DELETE 8
DELETE 7
DELETE 6
DELETE 5
DELETE 4
DELETE 3
DELETE 2
DELETE 1
DELETE 0

I’m at a loss here. I tried looking at the other parameters for injectentities, but didn’t find much. Any advice is greatly appreciated.

Edit: Other parameters can be found in the Options.cs file - https://github.com/indilo53/gtautil/blob/master/gtautil/Commandline/Options.cs

Hello, can you send me your entire project files so I can have a look ? Pm me if you don’t want it public.

There is something wrong at some point (in the source code of the tool or in what you have done) because it should not delete entities, even with -x if you have not deleted something.

I suspect some extra files / problem in file structure because you do the required steps the right way and in the right order.

Sure, let me get it zipped and I’ll send it over.

I copy-pasted your injectentities commandline and I see the props in the interior

Are you using git bash / bash for windows or something like this ?

Here is the output you should see

Loading cache
Loading DLC list
Loading file tree
Calculating rooms extents
limbo => 0 (40|41) => ex_shell_warehouse_s
  Found matching GUID => Overriding 40
0 ex_shell_warehouse_s
  Room => limbo
Warehouse_Small => 0 (0|41) => ex_waresml_doorframe01
  Found matching GUID => Overriding 0
0 ex_waresml_doorframe01
  Room => Warehouse_Small
Warehouse_Small => 1 (1|41) => v_ilev_rc_doorel_r
  Found matching GUID => Overriding 1
1 v_ilev_rc_doorel_r
  Room => Warehouse_Small
Warehouse_Small => 2 (2|41) => ex_waresml_smallshelf
  Found matching GUID => Overriding 2
2 ex_waresml_smallshelf
  Room => Warehouse_Small
Warehouse_Small => 3 (3|41) => prop_elecbox_18
  Found matching GUID => Overriding 3
3 prop_elecbox_18
  Room => Warehouse_Small
Warehouse_Small => 4 (4|41) => prop_elecbox_20
  Found matching GUID => Overriding 4
4 prop_elecbox_20
  Room => Warehouse_Small
Warehouse_Small => 5 (5|41) => v_serv_switch_3
  Found matching GUID => Overriding 5
5 v_serv_switch_3
  Room => Warehouse_Small
Warehouse_Small => 6 (6|41) => prop_elecbox_20
  Found matching GUID => Overriding 6
6 prop_elecbox_20
  Room => Warehouse_Small
Warehouse_Small => 7 (7|41) => prop_elecbox_20
  Found matching GUID => Overriding 7
7 prop_elecbox_20
  Room => Warehouse_Small
Warehouse_Small => 8 (8|41) => ex_waresml_cables_pipes01
  Found matching GUID => Overriding 8
8 ex_waresml_cables_pipes01
  Room => Warehouse_Small
Warehouse_Small => 9 (9|41) => ex_waresml_dirt_decal01
  Found matching GUID => Overriding 9
9 ex_waresml_dirt_decal01
  Room => Warehouse_Small
Warehouse_Small => 10 (10|41) => ex_waresml_roller_door
  Found matching GUID => Overriding 10
10 ex_waresml_roller_door
  Room => Warehouse_Small
Warehouse_Small => 11 (11|41) => ex_waresml_edge_decal02
  Found matching GUID => Overriding 11
11 ex_waresml_edge_decal02
  Room => Warehouse_Small
Warehouse_Small => 12 (12|41) => ex_waresml_cables_pipes02
  Found matching GUID => Overriding 12
12 ex_waresml_cables_pipes02
  Room => Warehouse_Small
Warehouse_Small => 13 (13|41) => prop_barrel_01a
  Found matching GUID => Overriding 13
13 prop_barrel_01a
  Room => Warehouse_Small
Warehouse_Small => 14 (14|41) => prop_barrel_02b
  Found matching GUID => Overriding 14
14 prop_barrel_02b
  Room => Warehouse_Small
Warehouse_Small => 15 (15|41) => prop_barrel_02b
  Found matching GUID => Overriding 15
15 prop_barrel_02b
  Room => Warehouse_Small
Warehouse_Small => 16 (16|41) => prop_rub_stool
  Found matching GUID => Overriding 16
16 prop_rub_stool
  Room => Warehouse_Small
Warehouse_Small => 17 (17|41) => prop_sacktruck_01
  Found matching GUID => Overriding 17
17 prop_sacktruck_01
  Room => Warehouse_Small
Warehouse_Small => 18 (18|41) => v_ind_cs_jerrycan01
  Found matching GUID => Overriding 18
18 v_ind_cs_jerrycan01
  Room => Warehouse_Small
Warehouse_Small => 19 (19|41) => v_ind_cs_jerrycan03
  Found matching GUID => Overriding 19
19 v_ind_cs_jerrycan03
  Room => Warehouse_Small
Warehouse_Small => 20 (20|41) => v_ind_cm_ladder
  Found matching GUID => Overriding 20
20 v_ind_cm_ladder
  Room => Warehouse_Small
Warehouse_Small => 21 (21|41) => ex_waresml_decalsx03
  Found matching GUID => Overriding 21
21 ex_waresml_decalsx03
  Room => Warehouse_Small
Warehouse_Small => 22 (22|41) => prop_shelves_01
  Found matching GUID => Overriding 22
22 prop_shelves_01
  Room => Warehouse_Small
Warehouse_Small => 23 (23|41) => prop_shelves_01
  Found matching GUID => Overriding 23
23 prop_shelves_01
  Room => Warehouse_Small
Warehouse_Small => 24 (24|41) => ex_int_wares_lightprop_on001
  Found matching GUID => Overriding 24
24 ex_int_wares_lightprop_on001
  Room => Warehouse_Small
Warehouse_Small => 25 (25|41) => ex_int_wares_lightprop_off
  Found matching GUID => Overriding 25
25 ex_int_wares_lightprop_off
  Room => Warehouse_Small
Warehouse_Small => 26 (26|41) => ex_int_wares_lightprop_on002
  Found matching GUID => Overriding 26
26 ex_int_wares_lightprop_on002
  Room => Warehouse_Small
Warehouse_Small => 27 (27|41) => ex_int_wares_lightprop_on005
  Found matching GUID => Overriding 27
27 ex_int_wares_lightprop_on005
  Room => Warehouse_Small
Warehouse_Small => 28 (28|41) => ex_int_wares_lightprop_on004
  Found matching GUID => Overriding 28
28 ex_int_wares_lightprop_on004
  Room => Warehouse_Small
Warehouse_Small => 29 (29|41) => ex_int_wares_lightprop_on003
  Found matching GUID => Overriding 29
29 ex_int_wares_lightprop_on003
  Room => Warehouse_Small
Warehouse_Small => 30 (30|41) => ex_int_wares_lightproxy_reflect
  Found matching GUID => Overriding 30
30 ex_int_wares_lightproxy_reflect
  Room => Warehouse_Small
Warehouse_Small => 31 (31|41) => ex_prop_ex_laptop_01a
  Found matching GUID => Overriding 31
31 ex_prop_ex_laptop_01a
  Room => Warehouse_Small
Warehouse_Small => 32 (32|41) => v_corp_cd_desklamp
  Found matching GUID => Overriding 32
32 v_corp_cd_desklamp
  Room => Warehouse_Small
Warehouse_Small => 33 (33|41) => prop_fib_clipboard
  Found matching GUID => Overriding 33
33 prop_fib_clipboard
  Room => Warehouse_Small
Warehouse_Small => 34 (34|41) => prop_fib_ashtray_01
  Found matching GUID => Overriding 34
34 prop_fib_ashtray_01
  Room => Warehouse_Small
Warehouse_Small => 35 (35|41) => ex_waresml_1desk
  Found matching GUID => Overriding 35
35 ex_waresml_1desk
  Room => Warehouse_Small
Warehouse_Small => 36 (36|41) => v_serv_2socket
  Found matching GUID => Overriding 36
36 v_serv_2socket
  Room => Warehouse_Small
Warehouse_Small => 37 (37|41) => ex_waresml_vents
  Found matching GUID => Overriding 37
37 ex_waresml_vents
  Room => Warehouse_Small
Warehouse_Small => 38 (38|41) => v_serv_2socket
  Found matching GUID => Overriding 38
38 v_serv_2socket
  Room => Warehouse_Small
Warehouse_Small => 39 (39|41) => prop_radio_01
  Found matching GUID => Overriding 39
39 prop_radio_01
  Room => Warehouse_Small
Warehouse_Small => 40 (-1|41) => bkr_prop_coke_table01a
  Setting random GUID => 479275172
40 bkr_prop_coke_table01a
  Room => Warehouse_Small
Warehouse_Small => 41 (-1|42) => imp_prop_impexp_boxcoke_01
  Setting random GUID => 442096463
41 imp_prop_impexp_boxcoke_01
  Room => Warehouse_Small
Warehouse_Small => 42 (-1|43) => imp_prop_impexp_boxcoke_01
  Setting random GUID => 1177510026
42 imp_prop_impexp_boxcoke_01
  Room => Warehouse_Small
Warehouse_Small => 43 (-1|44) => bkr_prop_meth_table01a
  Setting random GUID => 128066901
43 bkr_prop_meth_table01a
  Room => Warehouse_Small
Warehouse_Small => 44 (-1|45) => prop_meth_setup_01
  Setting random GUID => 1303435841
44 prop_meth_setup_01
  Room => Warehouse_Small
Warehouse_Small => 45 (-1|46) => bkr_prop_meth_bigbag_01a
  Setting random GUID => 71684274
45 bkr_prop_meth_bigbag_01a
  Room => Warehouse_Small
Warehouse_Small => 46 (-1|47) => hei_prop_heist_weed_pallet
  Setting random GUID => 707625415
46 hei_prop_heist_weed_pallet
  Room => Warehouse_Small
Warehouse_Small => 47 (-1|48) => hei_prop_heist_weed_pallet_02
  Setting random GUID => 1068677893
47 hei_prop_heist_weed_pallet_02
  Room => Warehouse_Small
Warehouse_Small => 48 (-1|49) => bkr_prop_weed_table_01a
  Setting random GUID => 552040354
48 bkr_prop_weed_table_01a
  Room => Warehouse_Small

The output you get means there is no ymap loaded at all.

Thats why you can’t see added entities and with -x it delete everything.

Weird. I’m using normal old command prompt, Windows 10 latest build. Perhaps I had the file open and it was locked for reading? Let me play around and I’ll see if I can figure out what was wrong. Would you be willing to PM me the injected file in the meantime?

I am doing it right now

Thanks. I’ll try to get an answer for what I was doing wrong so others can know.

Got it :slight_smile: Here is the correct commandline in plain old cmd

gtautil injectentities --name .\F\ex_int_warehouse_small_dlc --ytyp .\ex_int_warehouse_small_dlc.ytyp --ymap .\small_warehouse\^*.ymap --position 1095,-3100,-40 --rotation 0,0,0,1 -x

Wildcard must be escaped so it is processed by GTAUtil and not cmd

@SaltyGrandpa

Lmao. I hadn’t thought about that. Thanks a lot man, I’ll give it a shot.

Lul, when in doubt, run as admin. I got the same issue even with escaping the wildcard. Ran CMD as an administrator and it worked as desired. Weird because none of the files should be access restricted, they’re in a generic project folder. No clue, but it works. Thanks for the help man.

No problem :slight_smile: