Jump to content

"Proper" khajit and argonian bodyshapes/animations


MarkInMKUK

Recommended Posts

You know, instead of adding a script to every armor piece changed, you could do a quest script, similar to something like this.

 

scn KhajiitFeetScript

Begin Gamemode

If GetIsRace Khajiit == 1 && Player.GetEquipped ARMORID == 1
*mesh change stuff*
endif
end

Begin Gamemode

If GetIsRace Khajiit == 1 && Player.GetEquipped ARMORID == 1
*mesh change stuff*
endif
end

 

...and so on. Wouldn't that lead to less conflicts? Or did you try this and it didn't work or something?

Link to comment
Share on other sites

  • Replies 311
  • Created
  • Last Reply

Top Posters In This Topic

I actually tried doing something like that using OBSEs ModMaleBipedPath command but couldn't get it to work when calling it with a silent quest. The only time it would change the mesh is when used in an OnEquip block attached to the armor itself. Perhaps I didn't have the syntax right, I'm not sure. The only conflict I'm aware of as Drake stated earlier would be several Khajiit and non-Khajiit equipping armors at the same time and the scripts getting jumbled. Attaching the scripts to the armor is actually better for one-piece armors like the arena raiment that might not return anything as being equipped in the foot slot even though it clearly is. At any rate I think I've finally found a workable version of my script, I just need to test it a bit. This all may be moot in the future though. If Drake resumes work on his scripted feet and updates the code it's likely we'll use his scripts and my meshes, that way one script can handle both beast races and everything will be streamlined. Right now I just want to get a passable script working so people can beta test and give feedback on the meshes.

 

RP

Link to comment
Share on other sites

razorpony - model looks very good :thumbsup:

It is composed from two parts as "armor" and "boots", or is it just one part?

 

Something about Centaur - there is a link to the archive, which is the result of my efforts so far. It contains a modified skeleton and other related models and textures (so far only for the chestnut, gray and black horse). DivShare File - Centaur.7z

"Chestnut" version works directly with the original plugin by da mage.

It is applicable for the bodyRMv4 and body HGEC, for the body RMv5 and the body RF need to replace and rename the models concerned in directory Base.

For other color versions that are ready to texture.

Please note that files from the archive override the original files!

 

About SAF by DrakeTheDragon - script is functional, but greatly complicated. I have tried to change the focus exchanged models to models with a different name - with a different sign / mark in the name of the file. It works well and can be used in parallel for several different races. Every races must have its own script and its own models (with their own file names).

 

When I therefore causing plugin "Khajiit Paws As Abilities", I considered how it should work. This logic is proved:

1) "startquest" will start immediately after creating new characters or loading this plugin.

2) Script in "startquest" determine the characters race and add one or two abilities type scripted spell to player's spelllist (with no name - "invisible"in the list)

3) The first spell - "spell A " - searching cell around the player's characters for NPCs and if they have the "right" race, they add them to spelllist new "Spell B"

4) The second spell - "Spell B" - provide models exchange by DrakeTheDragon scipt (not in this plugin - I use only very simple scripts in very simple ability type scripted spell)

 

Determine the player's race is done only once - in the "startquest" scipt. Based on the outcome player will get just "Spell A" (if it has not the "right" race) or "Spell A" and "Spell B" (if it has the "right" race).

This will ensure that the NPC with "right race" at any time got "Spell B" and right - adjusted - body and clothing parts.

 

Script from Drake The Dragon could / should provide the following functions:

- exchange of models of clothing, armor and shoes (if any, and if they are correct name)

- exchange of models of body parts

- The rejection of clothing, armor and shoes with incorrect models (possibly with a note - "This garment / armor / shoes your can't wear."

Edited by Semtex
Link to comment
Share on other sites

The armor is composed of seperate greaves and boots. I'll have to take another look at Drakes script when I get back into the scripting phase but that really isn't my strong suit. A lot of it looks like Greek to me.

 

RP

Link to comment
Share on other sites

Adding to it the SAF scripts were my first attempt at this, they're pretty much the most complex and complicated. The scripts used by my Anthro-Dragons may be the advanced version and a preview of where I'm going with my approach, however they're also not as basic and straightforward as the SAF scripts. Plus the dragon scripts aren't yet working correctly in all parts, most notably the upperbody control part seems to deny cooperating with me currently. In those new scripts I'm using any new feature OBSE's giving me to improve their working and get rid of limitations the old SAF scripts still have. The latest upgrade of the SAF scripts to v0.6b though added many of these without changing the basic system of the scripts yet also.

 

The main difference between the two'd be the SAF scripts were intended to be universally applicable, the dragon scripts "are". In the dragon scripts I redesigned my approach to work from a big config array, containing information and settings about which slot is controlled in which way and for which race. Things like the tags I added to the end of filenames for adapted NIF files and thus wearable items are configured inside there, too, so basically the whole approach is configurable for just about any race with just about any combination of custom shaped body parts, enforced replacement with which kind of fitting items or allowance for non-adapted items to be worn, including exception for combined-slot items (DB Armor, Arena Raiments, etc. will be allowed to stay equipped while single-slot items won't for example), plus what items will be worn as "body parts" when nothing is worn in a certain slot, all's configurable through this big array basically (externalization into ini file later was also planned). I wish it'd just work the way I intended it already. With its current flaws I can only advise caution when attempting to use it now already. I need to iron those out first but don't get enough time to.

 

Let me add a friendly warning about bad experiences I made with "scripted abilities" to this purpose though. I didn't switch to use tokens for the actual control part without a cause. The ScriptEffectUpdate block in scripted abilities is not reliable to trigger regularly or can even cease to trigger at all. If you zone, I've read, the scripts will restart from the ground up, loosing all their variables' contents in the process, which fits together with my own experiences of those scripts always ceasing to work at some time for no apparent (at this time to me) cause at all. Nowadays I'm using scripted abilities only as the means to provide said tokens to the affected races or actors anymore. The "searching" step mentioned here is done in a quest script by me as it's more reliable and less prone to cease working at some point.

 

Both, the SAF scripts and the dragon scripts, are far from done right now. I will redo the whole approach to be totally modular and configurable, like I tried in the "textual" overhaul of the scripts I did in my WIP threads a while ago but didn't succeed so far as something wasn't workign right when others tried to implement it for me while I was unable to do any scripting without the CS or the game at this time. I'm intending to give it another go myself soon, but so far sadly didn't have enough time to start with it.

My scripts should only be used as ideas for how it can be done or only parts of them should be used so far. The whole thing is pretty complex and rather proof-of-concept'ish so far. I hope this will change soon but can't tell when it might be.

 

The base of my approaches is I'm using Compare(Fe)MaleBipedModel to check if it's adapted items (are my tags in the filename and which ones?) and Mod(fe)MaleBipedModel to switch to an adapted NIF file, if present (IsBipedPathValid helps massively here). This was prone to malfunctions and conflicts when directly altering the items worn (it's affecting the base items, so all instances of them at once). To get the changes to show I unequipped and reequipped the items forcefully. While it might be very unlikely for 2 NPCs (a right one and a wrong one) equipping the same item at the same time and ending up both with the adapted one (after all things in Oblivion are not working in parallel, there is no "at the same time" possible) I still considered it a bad idea to alter the base items directly for this. So I went the CloneForm route and created copies of every base item about to be adapted and then adapted those instead. Now I only had to take care I won't create copies of the same base item over and over (until there are no new base item entries possible anymore, highly unlikely to ever happen but still not impossible), which was achieved by using Pluggy arrays first, now it's OBSE's own arrays rather, and storing every base item I adapted as well as every new adapted item (in a way I have a mapping back and forth, I for one chose seperate arrays with matching indices) and re-using any existing adapted item rather than creating it anew. This of course has some drawbacks, most of them I got solutions for already, some not yet. Finally there's no issue anymore with EquipItem not triggering OnEquip blocks but UnequipItem very well triggering OnUnequip blocks, which rendered any toggle-type approaches in such scripts pretty useless before. For item health and enchantment charge I can also manage an exchange from the item about to be unequipped to the item about to be equipped and vice versa now. The most bothersome drawback though is that any scripts checking for the hardcoded item-id of course aren't able to know the item equipped should be treated as the one they're checking for although it isn't the same. Here the "script on every item"-approach definitely has an advantage for now!

 

I even implemented a nice solution for items not yet having an adapted counterpart present in the folders to still be allowed to stay equipped without damaging the unique visual appearance either. I called it the Replacer Template approach, basically using a temporary placeholder visual instead for the time being while all stats, properties, scripts etc. of the item persist. The visual to be used is selected from certain Templates according to certain rules, like based on item value, class, armor type, name even, etc.

 

I think the only parts of my work really useful for now are the basic ideas, not the actual implementations. The latter are still rather complex while they shouldn't be, not modular enough for my taste and in many cases also pretty hardcoded so far. All of these are big showtoppers in my own opinion at the moment and I definitely have to rework them before they can be used as universally as I have in mind.

Link to comment
Share on other sites

Thanks Drake. That's pretty much what I had gleaned from previous posts. As I'm not skilled enough to make improvements to or use parts of your script, I'm just plugging ahead with my own method for now. I figure if I can at least get something hobbled together and get the meshes working then we can plug them into any refined script you release at a future date. I'm considering all of this an extreme beta/proof of concept for the time being.

 

RP

Link to comment
Share on other sites

http://img815.imageshack.us/img815/8070/kent04.jpg

 

http://img805.imageshack.us/img805/4521/kent06.jpg

 

http://img12.imageshack.us/img12/5977/kent01.jpg

 

http://img803.imageshack.us/img803/148/kent08.jpg

Edited by Semtex
Link to comment
Share on other sites

Semtex - Wow!

 

One comment on the "with-bow gallop" shots - one of the things that centaurs are traditionally known for is being able to shoot from a gallop - I have no idea how you would have to alter animations to handle this or, indeed, whether it's possible at all. Also, if you CAN implement that, with the usual proviso about not running into trees/walls/whatever, they should be able to turn their human part enough to shoot behind.

Edited by MarkInMKUK
Link to comment
Share on other sites

I'm just made ​​some adjustments on the characters and textures. Everything else is a work created by da mage. As he creates animation I did not know.

 

For the "Shoot Behind" and the like, would probably have to change the whole concept, under which the Centaur was created by da mage.

 

I have an idea, but implementation seems far beyond my abilities.

Perhaps as follows:

Create a special type of "horse" - an riding "animal" with a modified horse skeleton.

The horse has no visible head - the head is diminished by the modified skeleton - and at its location is shifted "mount point" from a normal horse skeleton. So player's character on horseback is sitting at the place of equine head.

At the same time as mounting a horse must be made ​​a substitution player's character skeleton - for a new skeleton with a miniaturized legs.

But the player character on horseback riding has many limitations. In particular, can not fight and use magic - although this restriction was partially resolved in the "Deadly reflex".

 

There are many other problems to solve - the player do not to dismount from a horse by "easy way" - is grew together with horse.

It is necessary to ensure that the player could walk in anywhere "on horseback riding" - without restrictions.

It is necessary to ensure that the player and his horse had linked the lives - and healing and other spells affect the rider and the horse simultaneously.

Soo - and many other...

 

I think I would be able to produce the necessary models and skeletons. But other things are beyond my abilities.

 

PS: I hope I wrote it sufficiently clear - I do not speak English and only use Google Translator (several times there and back)

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...