Jump to content


Member Since 12 Jun 2010
Offline Last Active Aug 08 2020 08:37 PM

#1028396 Of Passengerbones & HordeTransportContain...

Posted by vengefulnoob on 09 April 2016 - 12:38 PM

Thanks Rider, did want to post an update about this:


To let people know: I have found a solution, and it's not any of the ones I was considering in the above.




As you can see above, I've managed to attach more than 10 people to passengerbones on the mumak, and it's actually very easy to do:


The Russian Doll Approach.


As stated above, HordeTransportContain allows a maximum of 10 (9 if you don't want the tenth guy floating x+40 above your model) people to be attached at any one time to a model that moves, unlike HordeGarrisonContain, which is unlimited, but causes passengers to stay in the passengerbone's original location when they boarded.


The solution is to use a HordeTransportContain within a HordeTransportContain. (Insert obvious Yo Dawg joke here.)


How I worked out it was possible.


Having played Generals, I knew that in SAGE games it is technically possible to put infantry inside a transport which can then travel by another transport, though I'd never seen this done in BFME, BFME2 or RotWK, so I wanted to check.


To see if it was possible to put one transport inside another, I started from scratch with a vanilla mumak, then I changed the initial payload to a corsair transport ship (also making sure to add SHIP and GARRISON to the mumak's passengerfilter so that it would appear). The coding holds up, and while it looks damn weird, you can have a transport ship on top of a mumakil, inside the howdah.

Next, I commented out UNSELECTABLE from the Mumak's statusof for passengers, and found that now I could select the (rather large) ship while it was being carried in the howdah, but more importantly, I could put passengers inside the ship, while it was still inside the mumak's howdah. This made me excited, so I fired up gmax to see what I could do.


Making the smaller doll


In order to get this approach to work, you will need to make a new unit and a model to fit it; for short, I'll call them dolls. In my case, I:

1. Imported the mumak

2. looked for the 2 bones I wanted the smaller dolls to be attached to

3. Moved the mumak so that one of the two bones I was going to use was dead centre in gmax's xyz coordinates

4. Deleted everything except the howdah (For reference)

5. started adding passenger bones where I wanted, making sure to use no more than 9.

6. deleted the howdah, checked off all the bones as bones in w3d tools

7. added in a hobbit pipe weed bag to show whether the model was ingame or not

8. Exported as hierarchical model with no selected skl 


With the modelling portion out of the way, I put the model in my asset.dat, and then made a new unit named houdaside to be the smaller doll ingame. I used RJ's haradrim tower, since it also used TransportHordeContain. I then set the houdaside to use the appropriate model, and fiddled around with it to optimize it as much as possible (making sure it wouldn't interfere with locomoters, choosing appropriate KINDOFs etc. Attached File  houdaside.ini   3.92KB   141 downloads


I then adapted the mumakil.ini to allow the houdaside into the TransportHordeContain by changing passengerfilters, and added 2 of the houdasides as InitialPayloads to the mumakil. Attached File  mumakil.ini   81.73KB   132 downloads


What I ended up with is 2 dolls which contained passengers, routed to the spot on the mumakil's passengerbones, and it works perfectly; the dolls follow the passengerbones perfectly, which means that so do their passengers.


For the future:


Using dolls, I have no doubt it's possible to use several layers of dolls in order to achieve a technically unlimited number of passengerbones, but for this I only needed the original mumak and the new dolls, since I was aiming for a maximum of 30 passengers, but even with only two layers of dolls, 9 x 9 is 81, and that's a LOT of potential passengers.


There are some limitations to the dolls, however.


1. The doll wants to orient itself to any unit it attacks. If you don't include a horde rangefinder on the mumakil and make the doll unselectable, the passengers will shoot from their original positions, rather than being turned around the doll over the side of the mumak to fire at a target.


2. The biggest issue I'm facing right now with any future progress is as follows: The dolls do not allow people to get on them. They only allow initialpayload passengers to appear on the appropriate bones; For some reason, trying to put passengers into an empty doll will result in the passengers disappearing and never getting attached to the bones.


Future experiments should focus on trying to see how to eliminate these two problems. Some Ideas I've had include making the dolls the STRUCTURE Kindof rather than units, but I'm not sure whether that will allow them to be carried. Unfortunately, I have finals so I can't really experiment with this right now, but I think it might just work.