Log in to reply

[Tutorial] Map pointers - Few things from me

  • Hello :D
    Few ppl asked me to do some tutos now i have some free time to do it so...
    First thing - this isnt tutos "how you must to do it" but "how im doing it". Many things can be done in different way but this is how i do based on my research ect.
    (this post i will update by new things when will have time to do it)

    • I Tools what i use:
    1. Here i found many things
    2. OpenIV
    3. CodeWalker
    4. 3dsMax -student version is free
    5. GIMS
    6. Map Helper
    7. Menyoo to ymap converter
    8. No Boundary Limits
    9. Custom weapon limit adjuster
    10. Open All Interiors
    11. Quaternions converter
    12. Menyoo
    • II Creating simple addon DLC (EXTRACONTENT_LEVEL_PACK)

    !!! Every world test replace with your name of DLC and make sure that name of your mod will be unique (for example drinking_beer_with_my_mom_mod) to avoid conflicts with other mods with same name. (two mods with same name will not work - always will be active only one)!!!

    1. Using OpenIV in \Grand Theft Auto V\mods\update\x64\dlcpacks\ create folder named test

    2. Inside folder test create new rpf archive named dlc

    3. Inside dlc.rpf create rpf archive named test
      It should look like that:
      alt text

    4. Place content.xml and setup2.xml into \Grand Theft Auto V\mods\update\x64\dlcpacks\test\dlc.rpf
      alt text

    5. Entries in content.xml
      alt text

    6. Entries in setup2.xml
      alt text
      alt text

    7. Create ytyp with name test.ytyp and place it in \Grand Theft Auto V\mods\update\x64\dlcpacks\test\dlc.rpf\test.rpf
      You can name ytyp whatever you want but make sure it will be unique name that dont exist anywhere in vanilla or in other mods. Two ytyps with same name will make conflict and game will read only one file other one will be inactive. (for example two different mods made by AddonProps 1.1 will not work cuz of same name of ytyps - def_props.ytyp)
      When you change name of ytyp make sure to change name inside file too:
      alt text
      and change names inside content.xml (otherway DLC will not work)
      alt text

    8. Place all objects into \Grand Theft Auto V\mods\update\x64\dlcpacks\test\dlc.rpf\test.rpf\

    9. Place entry
      \Grand Theft Auto V\mods\update\update.rpf\common\data\dlclist.xml

    • III Creating addon DLC with props and vehicles EXTRACONTENT_COMPAT_PACK
      !!! For this type of DLC is required mod/script which enables MP maps. I use Open All Interiors (make sure that in OpenInteriors.ini theres loadMultiplayerMap=1) !!!
    1. Using OpenIV in \Grand Theft Auto V\mods\update\x64\dlcpacks\ create folder named test

    2. Inside folder test create new rpf archive named dlc

    3. Inside dlc.rpf create 3 rpf's archives named test, test_meta and vehicles
      It should look like that:
      alt text

    4. Place content.xml and setup2.xml into \Grand Theft Auto V\mods\update\x64\dlcpacks\test\dlc.rpf

    5. Entries in content.xml

    6. Entries in setup2.xml

    7. Place objects:

    • vehicles in \Grand Theft Auto V\mods\update\x64\dlcpacks\test\dlc.rpf\vehicles.rpf\
    • props in \Grand Theft Auto V\mods\update\x64\dlcpacks\test\dlc.rpf\test.rpf\
    • ytyps,ymaps and static collisions in \Grand Theft Auto V\mods\update\x64\dlcpacks\test\dlc.rpf\test_meta.rpf\
    1. Place entry
      \Grand Theft Auto V\mods\update\update.rpf\common\data\dlclist.xml
    • IV Other tutos:
    1. How create embedded LODs and how its works in game:

      (When making embedded LODs remember to reduce count of verts/polys for each LVL of LOD
      (using weld or ProOptimiser)

    2. Setting vertex colours:

      Its handy in case when custom objects glows at night.

    3. How to make (vanilla) MILO interior in any building in game:
      To place interior you need two ymaps:
      (example) interior.ymap
      (example) test_milo_
      and _manifest.ymf
      All place in \Grand Theft Auto V\mods\update\x64\dlcpacks\test\dlc.rpf\test_meta.rpf
      And heres example how edit exterior and static collision to make open place for doors:

    4. How to place fire (or other FX) on the object

      More info about this in explanation entries point (scroll down)

    5. How create map helper:

    6.How create simple map with static collision

    • V entries in files explanation and other tips:
    1. [YMAP] <name> and <parent> these values are for parenting between two ymaps (child and parent) its used in external LODs and in placing interiors

    2. [YMAP] <flags value=""/> and <contentFlags value=""/>
      <flags value="0"/> - makes ymap auto load on game start
      <flags value="1"/> - ymap not loaded on game start, to enable it need to use script (load/unload IPL). It can be load by menyoo (add values to spooner xml map file:
      <IPLsToLoad load_mp_maps="true" load_sp_maps="false" >
      <IPL>name of ymap here</IPL>
      <flags value="2"/> this flag is for ymap contained LOD objects
      <flags value="3"/> same as flag 2 but it can be loaded/unloaded only by script (or menyoo)
      <contentFlags value="1"/> in ymap objects without collision
      <contentFlags value="65"/> objects with embedded collisions
      <contentFlags value="2"/> LOD
      <contentFlags value="18"/> SLOD1 + LOD
      <contentFlags value="20"/> SLOD2 + SLOD3
      <contentFlags value="1088"/> instanced grass
      <contentFlags value="256"/> distance LOD lights
      <contentFlags value="128"/> LOD lights
      <contentFlags value="32"/> Occlusion
      <contentFlags value="513"/> Critical
      All flags you can calculate automatically in CodeWalker:
      alt text

    3. [YMAP] streamingExtentsMin/Max and entitiesExtentsMin/Max
      Its works similiar to bbmin/bbmax of objects
      alt text
      If values will be small object will be flickering or even invisible same as whole ymap, if `streamingExtentsMin/Max and/or entitiesExtentsMin/Max ymap will be invisible:
      alt text
      To fix this values must be increased (boundary box must be bigger then object or all object in ymap:
      alt text
      These values can be set automatically using Neos7 Map Helper or Solla's MapEditor/Menyoo to ymap converter. You can set it quick too in CodeWalker:
      alt text
      streamingExtentsMin/Max values determines how far ymap will be visible (all props)
      entitiesExtentsMin/Max it got all min/max values of all coords of objects in ymap

    4. [YMAP] Entities <flags value=""/>
      Personally i use these flags (usual):
      <flags value="8"/> emmisive SLOD1
      <flags value="68681728"/> drawable dictionary
      <flags value="1572872"/> normal, static
      <flags value="1572864"/> doors, ladders
      <flags value="1572866"/> security gate, radars, objects using clip dictionary

    5. [YMAP] <rotation x,y,z,w>
      Game uses quaternions for rotation but when needed rotation in euler (x,y,z) for 3dsmax for example theres online converter https://quaternions.online/
      (rotation in menyoo is mirrored but you can use map editor menyoo to ymap converter to convert it automatically)

    6. [YMAP] <scaleXY value=""/> and <scaleZ value=""/> its used to rescale entity

    7. [YMAP] external LODs with parenting values.
      <parentIndex value=""/>
      <lodDist value=""/>
      <childLodDist value=""/>
      <numChildren value=""/>

    Theres LOD types in ymaps:
    LODTYPES_DEPTH_ORPHANHD (objects without any LODs)
    LODTYPES_DEPTH_HD (objects with embedded LODs or without it - base for external)
    For LOD parenting needed 3 ymaps
    First ymap_hd contains in first objects with DEPTH_HD and after with DEPTH_ORPHANHD
    Second ymap_lod contains in first objects with DEPTH_SLOD1 and then DEPTH_LOD
    Last ymap ymap_slod contains in first objects with DEPTH_SLOD3 and then DEPTH_SLOD2
    Ymaps are conected in chain parenting:



    In all LOD ymaps object are indexed starting from first object which have index 0, second object got index 1, next object have index 2, another have index 3 ect ect ect
    alt text

    1. [YMAP] carGenerators is used to place vehicles.
      <carModel/> will spawn random car
      <carModel>vehicle name here</carModel> will spawn vehicle specified by name, even custom/addon
      <livery value=""/> will spawn vehicle with specified livery
      To edit best way is use CodeWalker

    2. [YTYP] textureDictionary its used for external textures for object
      <textureDictionary>name of ytd here</textureDictionary>

    3. [YTYP] physicsDictionary its used for embedded collisions of object

    4. [YTYP] <extensions/> can be attached to object FX effects
      <Item type="CExtensionDefParticleEffect">
      <offsetPosition x="-0.10021210" y="-0.07110596" z="0.30000000"/>
      <offsetRotation x="0.20000000" y="0.10000000" z="0.00000000" w="1.00000000"/>
      <fxType value="0"/>
      <boneTag value="0"/>
      <scale value="0.50000000"/>
      <probability value="100"/>
      <flags value="0"/>
      <color value="4294967295"/>
      offsetPosition and offsetRotation how to get proper these values:

      <scale value=""/> with this you can rescale FX effect

    <fxName>amb_beach_campfire</fxName> its for placing specified FX effect, you can choose many effects:

    When again i will have some more free time will update this post with more detailed tutorials

  • Awesome, THX so much DUDE!


    @Dekurwinator just a huge amount of information here this will surely be of great assistance to motivated modders. Thank you so much for your kind gift of sharing your experience and expertise with the community!

  • @Dekurwinator 1000 thanks you's for the astounding amount of effort,care and detail you are pouring into this.

    I got a lot to say and even more to ask about. But for now I just want to add that I found a way to dramatically increase the number of different fx you can attach to the archetypes, including all the fx from scripted and cutscene assets.

    I'm not going to go into detail now, and further derail your awesome post.

    So just hit me up if you want to know more about fx extensions.

    And again. Thank you.

  • Hello,

    if i want to make a add on map from LC (GTA IV) then how much i must reduce count of verts/polys from buildings or how exacly vanilla gta v work with lods. If i use OPEN iv and surf in game files then i dont see that buildings use embedded LODs, but somehow codewalker shows differenses between eatch LOD.

  • @UHDFreddyEST cuz its not embedded lods. CW shows external lods (parenting set in ymaps) So if you choose in CW for example SLOD3 level of lod it will read all ymaps and shows all objects with LODTYPES_DEPTH_SLOD3. Embedded lods are for single objects, to make lods for whole map you need set parenting in ymaps for objects.

  • @Dekurwinator how do the portals in mlo work?

  • @SLB2k11 here is demonstration what they do

    Manual editing or creating new portals i will show at next video tutorial

Log in to reply

Looks like your connection to GTA5-Mods.com Forums was lost, please wait while we try to reconnect.