Jump to content

Ayleid Guardian Armor


ledzepiv

Recommended Posts

I searched in depth on the Nexus and the internet but nothing, I did not find what I was looking for. What I am looking for? I'm looking for a mod making playable armor of Ayleid guardians seen in the last Thieves Guild mission. What is the problem, you will ask. Well, the problem is that I made the playable armor (they are renamed TG11Elven and something in the CS) and adding them via console commands I see them as simple elven armor, without the reshade effect as they appear in the ruins. These armor did not have a script, I did not see any effect dedicated to them in CS, I have no idea where to put their hands to add this valuable effect. My idea was to rename these armor in "Ayleid armor" and make them available to the users of Nexus. But I did not succeed, so I wonder who can, if possible, make this mod for me. Thanks in advance.

 

Ayleid Armor seen in the game:

 

 

http://images.uesp.net//thumb/a/ac/OB-creature-Ayleid_Guardians_Attacking.jpg/600px-OB-creature-Ayleid_Guardians_Attacking.jpg

 

Edited by ledzepiv
Link to comment
Share on other sites

The statues are scripted NPCs.
If you look at their scripts, there is a line in the OnLoad block, pms effectTG11stone, where pms is short for PlayMagicShaderVisuals.
The pms, in this case, defaults to the NPC.

Putting pms effectTG11stone in a script on your items won't work, you need PlayerRef.pms effectTG11stone.
This means that if a robed player equips ElvenStoneBoots then robe, hair, sword/shield/staff get the stone effect. Most robes will hide most of the boots which is not a great result.

The next issue is turning pms off which is sms effectTG11stone (StopMagicShaderVisuals).
That presents the next issue which is checking that no other ElvenStone armor pieces are equipped before calling sms.

Here are the items combined (except helmet) for male/female.

Here is the script I would use but name it whatever you want...

scn myElvenStoneArmorScript

begin OnEquip
  PlayerRef.pms effectTG11stone
end

begin OnUnEquip
  PlayerRef.sms effectTG11stone
end

...I suggest starting with a new esp, duplicate/rename ElvenCuirass (same nifs as TG11ElvenCuirass) then replace Male/Female BipedModel with the ones in that link. Create the script then put it on this new item.

While you could add it to player using a quest script there can be issues.
What if the player accidentally sells it?
What if you want to add 10 armors to your mod but any given player only wants 1-3 of them?

I suggest adding it along with ElvenHelmet to a new chest that has Respawn ticked.
Putting that chest where no other mod will hide/conflict with it is guess work.
A solution to that is to add the chest to a new vendor.

If not sure on how to do that then check out RohssanRef and FightingChanceRohssanChest in ICMarketDistrictAFightingChance.

Link to comment
Share on other sites

Thank you for the explanation. But I do not understand one thing: when I go to duplicate the armor, the .nif you have given me is applied only to the cuirass, right? So I have to click on UpperBody, LowerBody, Hand and Foot like here? Or I must apply .nif to Boots, Gauntles etc?

 

Link to comment
Share on other sites

You need to select the body parts that should be hidden (of sorts), as in, occupied by the armour. In theory you can, for example, leave the "lower body" part unselected for a full length robe, making it possible to also wear trousers or greaves underneath the robe (with potential clipping). But generally it would be reasonable to select the ones that the armour occupies. You can compare, for example, an Elven cuirass with a generic mage robe to see how the options work. :smile:

 

Also, the script might, at the moment, play the shader on the player character whenever someone else also equips the item. Like a companion. There exists the GetContainer function that should return the current "container" the item is in - including character inventories, and therefore the characters. Maybe something like this would be more general (untested, but an idea)?

scriptname YourPrefixElvenStoneArmorScript
 
ref ContainerRef  ; temporary variable for holding the current actor

begin OnEquip
    set ContainerRef to GetContainer
    if ( ContainerRef )
        ContainerRef.PlayMagicShaderVisuals effectTG11stone
    endif
end

begin OnUnEquip
    if ( ContainerRef )
        ContainerRef.StopMagicShaderVisuals effectTG11stone
        set ContainerRef to 0  ; reset the variable, probably not needed at all, thanks to OnEquip changing it always
    endif
end

The pms and sms are shorthand for PlayMagicShaderVisuals and StopMagicShaderVisuals functions. Using the full names would make the script more readable. The same with scn and scriptname. Just imagine if Bethesda had used the full names themselves, it would have been so much easier for beginners to get into scripting, without having to wonder what "scn" and "pms" mean. At least for me. Trying to figure out what "pms" means or how it works was quite... interesting at first. :tongue: Whenever you play visuals temporarily on something, just remember to stop the visuals with StopMagicShaderVisuals or pass a timeout/duration to PlayMagicShaderVisuals (the wiki page has more info).

 

Edit: Fixed a typo, I meant greaves, apparently it is somehow overwhelmingly difficult to hit the right buttons on the keyboard... :wacko:

 

Edit 2: But now that I think about it, there might have been some sort of connection (or a lack of connection?) between the .nif file and the Construction Set armour/equipment slots, too, but I really have no idea what it could have been like, exactly. So glowplug should definitely be able to better answer the actual question, and I am also all ears myself. :smile:

Edited by Contrathetix
Link to comment
Share on other sites

Does it happen without the script attached? If not, maybe something like this might help? If the script is somehow trying to do something funny with the chest (because GetContainer can return the chest), but why would a chest "equip" an item in the first place??? :huh:

scriptname YourPrefixElvenStoneArmorScript
 
ref ContainerRef  ; temporary variable for holding the current actor

begin OnEquip
    set ContainerRef to GetContainer
    if ( ContainerRef )
        if ( ContainerRef.IsActor && ContainerRef.GetIsCreature == 0 )
            ContainerRef.PlayMagicShaderVisuals effectTG11stone
        else
            set ContainerRef to 0
        endif
    endif
end

begin OnUnequip
    if ( ContainerRef )
        ContainerRef.StopMagicShaderVisuals effectTG11stone
    endif
end

If the crash also happens without the script on the item, then it is going to be an interesting troubleshooting session indeed!

 

Edit: Oh wait I misread it. So the game crashes when you place the item in a container in the Construction Set, then save your plugin (.esp), and then try to start the game with the plugin file active? Then that is probably something related to the plugin itself somehow. Crash on startup is usually related to a missing master, although maybe the .esp file itself could also somehow be corrupt... ? But how could that happen? Hmm. Odd.

Edited by Contrathetix
Link to comment
Share on other sites

Sorry guys, but I think I'll let go this. I'm not very practical with CS and the only thing I do is modifying NPCs inventory. With scripts and more I don't understand much. I thought it was an easy job but apparently it was out of my capacity. Anyway, thanks for the help.

Link to comment
Share on other sites

Thanks for the save there Contrathetix, I've been down with a bad flu for days and overlooked a number of things.

 

What you want isn't that complex ledzepiv and an idea should not go to waste. I'll get back to you on this.

Link to comment
Share on other sites

No problem. Now we just need someone to check my "fixes", I have been sleeping a little too little for the past few weeks. :blush:

 

And yes, the idea should definitely be somewhat easy to make happen. There is probably just something small somewhere that causes issues. It should work by creating a new armour object, assigning glowplug's combined mesh as the mesh to it (I have not looked at it myself, but I assume it works), creating a new object script with one of those suggestions above in it and then selecting the new script as the script for the armour object. After that it should just be a normal piece of armour with a script on it. Nothing fancy, and something the base game is already full of (well, not quite, but still)! Giving up now would be something of a waste. This is not rocket science, after all, more like a puzzle, only that there is one piece missing at the moment. Maybe glowplug can help you find it. :)

Link to comment
Share on other sites

I would expect that only Actor, NPC/Player/Creature, can raise the Equip events so I see nothing wrong with the code.
I think test for 'Not Creature' is a good idea.

https://drive.google.com/open?id=0B403f8VMg_3EVVB4NGs4TDdVekk

lzElvenStoneArmor01.esp has the scripted armor ready for you to do whatever such as chest only or vendor - maybe a quest?

lzElvenStoneArmorExample.esp has chest+vendor in 'A Fighting Chance' in the IC Market District. Buy the armor off Seyan, Rohsaan's twin sister (dyes her hair red).

I moved the armor to a new folder of...
Meshes/LedzepIV/FullPieceElvenArmor/*
...as a matter of practice.

The armor values, such as Weight, are additions of the Elven items. This gives a bit more health than the TG11 ones which I would expect for player - up to you what to set these.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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