Jump to content

Script question: Making SGO/MME recognize designated custom races as vanilla races


Recommended Posts

Alright, I'm trying to modify SGO/MME to make their main script consider custom races that were supposed to be Nord/Argonian to be considered as their appropriate vanilla equivalent by either race name recognition, manual ESPFE designation via keywords on race or npc.

 

But since this is highly complicated remodeling process and since both SGO and MME uses Getrace and FormID list to figure out which Milk to distribute(which means i need to heavily modify primary scripts of both mods.), I really need help regarding the direction of writing scripts. Got few plans, but not certain how to form an actual script line.

 

 

 

 

Below is my original direction to scripting.

 

 

 

 

1. use getrace to figure out NPC's raceID to figure out whether its vanilla or custom.

If vanilla, distribute race milk, if not, proceed to 2nd.

 

2. If NPC is custom, use getracename to figure out which race it was supposed to be.

i.e. Follower Neisa got custom race despite being obviously a Nord in RaceID. this script will immediately consider Neisa as Nord and distribute Nord milk.

 

3. If all above fails, distribute keywords about vanilla races that dictate the race recognition in my script, via high priority getkeyword script.

If script fetches distributed keyword, immediately dispense milk of race that keyword indicates.

 

If not, race is considered completely foreign, thus distribute default custom race milk that MME and SGO was supposed to drop(Exotic milk in MME, milk or semen with no prefix in SGO).

 

 

 

 

Plan looks solid, but i sincerely dunno how to write practical script out of this concept, so i post this thread to get advices or examples that can be learned from. So it will be very appreciated if anyone willing to help me.

Edited by 4nchorage Pingas
Link to comment
44 minutes ago, 4nchorage Pingas said:

Alright, I'm trying to modify SGO/MME to make their main script consider custom races that were supposed to be Nord/Argonian to be considered as their appropriate vanilla equivalent by either race name recognition, manual ESPFE designation via keywords on race or npc.

 

But since this is highly complicated remodeling process and since both SGO and MME uses Getrace and FormID list to figure out which Milk to distribute(which means i need to heavily modify primary scripts of both mods.), I really need help regarding the direction of writing scripts. Got few plans, but not certain how to form an actual script line.

 

 

 

 

Below is my original direction to scripting.

 

 

 

 

1. use getrace to figure out NPC's raceID to figure out whether its vanilla or custom.

If vanilla, distribute race milk, if not, proceed to 2nd.

 

2. If NPC is custom, use getracename to figure out which race it was supposed to be.

i.e. Follower Neisa got custom race despite being obviously a Nord in RaceID. this script will immediately consider Neisa as Nord and distribute Nord milk.

 

3. If all above fails, distribute keywords about vanilla races that dictate the race recognition in my script, via high priority getkeyword script.

If script fetches distributed keyword, immediately dispense milk of race that keyword indicates.

 

If not, race is considered completely foreign, thus distribute default custom race milk that MME and SGO was supposed to drop(Exotic milk in MME, milk or semen with no prefix in SGO).

 

 

 

 

Plan looks solid, but i sincerely dunno how to write practical script out of this concept, so i post this thread to get advices or examples that can be learned from. So it will be very appreciated if anyone willing to help me.

 

I don't use any of those mods, but when running into this issue in general, I change GetRace() into HasKeyword(ActorProxyXXXX) from RaceCompatibility.esm.

 

You would have to make sure the relevant keyword appears on custom race records that would need it.  This makes the solution generally universal.  To go a bit farther, you could also ceate a few new keywords that cover broad ranges, such as (for instance) IsElfRace keyword, IsHumanRace keyword, etc.

 

Then (going farther), you could make a quest that allowed you to freely assign said keywords based on a quest alias.  In exmaple, I always play as a "TemptressRace", but that is for convenience of keeping textures etc separate and having presets that are effectively "race neutral".  I then use a quest to define what race I'm actually playing as in that playthrough, and part of it is a quest system that assigns the race abilities and ActorProxyXXXX keyword to the PC.

 

Point of all that being, if you build a foundation that works broadly, you can solve this issue using the same set of tools across a wide variety of mods.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use