TheGameCreators / GameGuruRepo

The GameGuru Repository For Community Collaboration
http://www.game-guru.com
137 stars 56 forks source link

MAX - Change arms via .Lua #4891

Open fearlesswee opened 1 year ago

fearlesswee commented 1 year ago

As requested by Lee, I'm making a github request about my question on the livestream :)

The new arm-changing feature is great and a long-awaited inclusion, and I feel a lot more can be done with it by offering some sort of .Lua command to change the used arms on-the-fly. Such as obtaining/equipping a new set of armor, which visibly affects the hands.

I can imagine this being done by a simple .Lua command, such as: SetArmsTo(FilePath)

Which would change the player's arms to the specified arms folder.

However, Lee also specifically asked me to include any additional features I'd like to see, even mentioning "attaching" a model to the arms. 😉

So, there could be an additional "layer" called "clothing" or "armor", which would under-the-hood work similar to how the arms presumably work (adhering a model and "bone merging" to the arm bones in the gun model) but differ in that they would be applied in addition to the "base" hands/arms.

This would be ideal for RPG logic, where your underlying arms are based on race/gender, and then armor you equip is overlaid ontop of that. So you could say, select a light-skinned male, and your arms would reflect that, but if you equipped some "biker gloves", you'd still have the light-skinned male arms underneath, but then a model of leather biker gloves is laid overtop.

The start marker could have an option to select starting "arms clothing" option, with a similar .Lua command to change them as pitched for changing the base arms like so: SetArmsClothingTo(FilePath)

I had actually talked about some of this way back when Lee first mentioned his future plans for this eventual feature, so I'll link back to that for further reference. #2178

bluemeenie195 commented 1 year ago

That's a great idea, and I would add particles to that list also.

AmenMoses commented 1 year ago

I would go a bit further and have a generic 'attach an entity' function (sort of like my glue script) which would allow any entity to be a child of another entity.

The function would take as its first parameter the entity to be attached to, second parameter would be the name of the 'limb' or 'bone' to attach to or 'nil', third parameter the entity to be attached.

Then as optional parameters have x,y,z offsets to allow fine tuning of the positioning.

Then the engine would basically position the parent entity first then cycle down the 'children' positioning (and orientating) them relative to each other every frame.

Necrym59 commented 12 months ago

Already been discussed, designed and waiting for enhancment mode before any more will be done