MILO loader won't load
-
@nkjellman I carefully studied your Leftover Interiors from Beta, and am grateful for what appears to be the one-and-only MILO loader example (!) on the net.
I just can't get these MILO loaders to work, for the life of me! For instance, I tried to spawn a CMloInstanceDef of apa_v_mp_h_08, but it just won't spaw at its new location. Actually, it does, but only its physics, V_mp_h_08; so I can walk its 'air' stairs and such, LOL, but no visible interior. Naturally, I set the streaming entities as wide as I could:
<streamingExtentsMin x="-10554.50000000" y="-5555.68100000" z="-969.69690000"/> <streamingExtentsMax x="9445.50300000" y="14444.32000000" z="5030.30300000"/> <entitiesExtentsMin x="-10554.50000000" y="-5555.68100000" z="-969.69690000"/> <entitiesExtentsMax x="9445.50300000" y="14444.32000000" z="5030.30300000"/>
CodeWalker shows the interior just fine. So I know it's there (CW ignores and all ymap flags, of course, so it doesn't really 'do' MILO loading).
Anyway, I'm at a total loss as to why the interior won't show. It should. I even created the proper _manifest.ymf for it:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <CPackFileMetaData> <MapDataGroups/> <HDTxdBindingArray/> <imapDependencies/> <imapDependencies_2> <Item> <imapName>test_interior_milo_</imapName> <manifestFlags>INTERIOR_DATA</manifestFlags> <itypDepArray> <Item>apa_int_mp_h_08</Item> </itypDepArray> </Item> </imapDependencies_2> <itypDependencies_2/> <Interiors/> </CPackFileMetaData>
I'm thinking maybe it's the guid, of which I know nothing. Probably some group/grid ID (?), but it's not obvious, at all, how it's calculated (I took the one from apa_v_mp_h_08_c.ymap, btw). And you can't just make up a random one, as I found out the hard way (OpenIV trips over it).
So, I could really use some help with this. I feel I'm very close; but, as they say, 'close is a lingerie store without a front window,' LOL, so I'm essentially still nowhere.
-
Okay, this is getting stupid. I can't even get the game to load its own stuff. Consider this Menyoo test:
<?xml version="1.0" encoding="ISO-8859-1"?> <SpoonerPlacements> <Note /> <AudioFile volume="400" /> <ClearDatabase>true</ClearDatabase> <ClearWorld>0</ClearWorld> <ClearMarkers>true</ClearMarkers> <IPLsToLoad load_mp_maps="false" load_sp_maps="false"> <IPL>apa_v_mp_h_08_c</IPL> </IPLsToLoad> <WeatherToSet></WeatherToSet> <StartTaskSequencesOnLoad>true</StartTaskSequencesOnLoad> <ReferenceCoords> <X>-784.288086</X> <Y>296.322235</Y> <Z>85.8164139</Z> </ReferenceCoords> </SpoonerPlacements>
apa_v_mp_h_08_c is one of the game's own MILO loaders! The frakkin' thing just won't spawn. (MP maps are enabled via SPA, btw).
-
@meimeiriver What is MILO anyway? Google couldn't help me with that. What about the code? Did none of the ways work which I use in ExtraProps? You are trying to spawn via C# script, right? Your post is somewhat unclear about that.
-
@Cyron43 said in MILO loader won't load:
@meimeiriver What is MILO anyway? Google couldn't help me with that.
Good question. I don't even know. I always assume it stands for Moveable-Interior LOader.
What about the code? Did none of the ways work which I use in ExtraProps? You are trying to spawn via C# script, right? Your post is somewhat unclear about that.
Pretty much any method which can load an IPL should suffice. Like:
Function.Call(Hash.REQUEST_IPL, "apa_v_mp_h_08_c");
That should load the apa_v_mp_h_08_c ymap. Even the small Spooner xml file I posted above should do the trick.
P.S. Checking out your ExtraProps as we speak!
-
@Cyron43 said in MILO loader won't load:
What about the code? Did none of the ways work which I use in ExtraProps?
I examined your ExtraProps code (thanks again for that!). There are a few MILO style interiors loaded in it, like:
Function.Call(Hash.REQUEST_IPL, "xm_siloentranceclosed_x17");
(OpenIV 2.9.2 only shows hashes on any xm_* ymap files: a thing I reported, and which will apparently be fixed in 3.0; but it's definitely a MILO loader).
The thing with apa_v_mp_h_08_c, though, it's from the game itself. It's not something I have misconfigured somehow, or that the fancy interior won't load elsewhere, as part of some restriction (which would be silly on the face of it, as these interiors are meant to be relocatable to be begin with), as apa_v_mp_h_08_c is supposed to load the interior at the exact same location the game uses it for. I'm not seeing it appear, though. I must be missing a step.
-
@meimeiriver Bummer! I have to admit this is over my head. Have you tried to contact @nkjellman ?
-
@Cyron43 said in MILO loader won't load:
You are trying to spawn via C# script, right? Your post is somewhat unclear about that.
To reply to this part too, yes, eventually my own MILO via a script. The spooner xml is just to 'get back to the basics,' as it were, and see whether I can get any MILO to spawn an interior at all.
-
@Cyron43 said in MILO loader won't load:
@meimeiriver Bummer! I have to admit this is over my head. Have you tried to contact @nkjellman ?
Finally getting somewhere!
Turns out, the interior was loading all the time, but you need to be exactly inside of it to actually see it!
There's still some weird collision going on (some remnant collision maybe?), but living it up, luxury style at 3Alta Street now!
P.S. I will need to rotate that interior 90" CCW, as I like the outlook on the main street better; but hey, I'm getting somewhere!
-
Really, that's weird: it appears the collision from hei_hw1_blimp_interior_11_dlc_apart_high_new_milo_ (dlc_apart_high_new) is still there. Shouldn't the collision be gone once I unloaded the IPL?!
-
Looks amazing!
@meimeiriver said in MILO loader won't load:
Shouldn't the collision be gone once I unloaded the IPL?!
I guess so. Hopefully someone savvy comes to help you.
-
@meimeiriver try with this code
int MPMapAltaStApt = Function.Call<int>(Hash.GET_INTERIOR_AT_COORDS, -282.3039f, -954.7815f, 85.30347f); Function.Call(Hash.SET_INTERIOR_ACTIVE, MPMapAltaStApt, false); Function.Call(Hash.DISABLE_INTERIOR, MPMapAltaStApt, true);
-
@Alex106 said in MILO loader won't load:
@meimeiriver try with this code
int MPMapAltaStApt = Function.Call<int>(Hash.GET_INTERIOR_AT_COORDS, -282.3039f, -954.7815f, 85.30347f); Function.Call(Hash.SET_INTERIOR_ACTIVE, MPMapAltaStApt, false); Function.Call(Hash.DISABLE_INTERIOR, MPMapAltaStApt, true);
Thanks! You're the man!!
For now I just evaded the issue, moving my own interior a few meters up. But that's fugly, of course. Glad you came along to show the right way!
-
@Alex106 said in MILO loader won't load:
@meimeiriver try with this code
int MPMapAltaStApt = Function.Call<int>(Hash.GET_INTERIOR_AT_COORDS, -282.3039f, -954.7815f, 85.30347f); Function.Call(Hash.SET_INTERIOR_ACTIVE, MPMapAltaStApt, false); Function.Call(Hash.DISABLE_INTERIOR, MPMapAltaStApt, true);
Hmm, just tried this today, with another interior (for which I actually did have to remove the old physics first). In SPA, I made a small sub for that, like so:
Public Sub DeactivateInterior(X As Single, Y As Single, Z As Single) Try Dim intID As Integer = Native.Function.Call(Of Integer)(Hash.GET_INTERIOR_AT_COORDS, X, Y, Z) Native.Function.Call(Hash._0x2CA429C029CCF247, intID) Native.Function.Call(Hash.SET_INTERIOR_ACTIVE, intID, False) Native.Function.Call(Hash.DISABLE_INTERIOR, intID, True) ClearArea(X, Y, Z) Catch ex As Exception logger.Log(ex.Message & " " & ex.StackTrace) End Try End Sub
After calling this sub, I even completely removed the IPL. Still, the collision of the old apartment strangely persists.
-
@meimeiriver remove
Native.Function.Call(Hash._0x2CA429C029CCF247, intID)
-
@Alex106 said in MILO loader won't load:
@meimeiriver remove
Native.Function.Call(Hash._0x2CA429C029CCF247, intID)
Thanks! I'll give that a try!
Way I understood it, _0x2CA429C029CCF247 (apparently used before I started playing GTA V) has since been discovered to actually be _LOAD_INTERIOR. I figured I needed to load it first, before setting the interior to inactive/disabled. Guess I thought wrong.
-
@Alex106 said in MILO loader won't load:
@meimeiriver remove
Native.Function.Call(Hash._0x2CA429C029CCF247, intID)
You're an asset to this community! Your suggestion worked!