Jump to content

Help with aliases


Srende

Recommended Posts

Posted

I'm trying to do a quest that picks up a random NPC from near the player. And it works well for the most part. Problem is when I'm doing it in stormcloak military camps, and I need to filter out the wounded ones in the camp, since they don't seem to respond to scene packages and it wouldn't make much sense to include them anyway. So whenever wounded soldier gets picked the scene & quest get stuck. I haven't figured out a way to do it reliably. I've tried a couple of different methods:

  • GetIsCurrentPackage - the wounded ones have a specific AI package on them, seemed like an easy choice, except it also filtered out the healthy soldiers as well for some reason, failing to fill the aliases
  • GetIsId - Similar to the previous one, the wounded ones are actually a specific type of stormcloak soldier. That didn't work either, I'm thinking because the normal soldier is used as a base for the wounded one and it gets filtered as well.
  • IsCurrentFurnitureObj - There are 3 specific furniture objects used over the static bed models for the wounded soldiers to lay in. Using this crashes Skyrim apparently.

The wounded soldiers don't seem to have any specific keywords or ref types for easy filtering, so I'm asking if anyone has more ideas how to filter them out?

Posted

Both CWFortSoldierSonsWounded & CWFortSoldierImperialWounded are templated off the base soldier for their respective faction but both have CWSoldierWoundedOutfit as their outfit. It's a leveled list that consists of:

  • ClothesArmBandages
  • ClothesHeadBandages
  • And one of
    • ClothesPrisonerTunic

    • ClothesFarmClothes01

    • ClothesMournersClothes

 

To prevent a complicated conditional, I'd create keyword "[your mod prefix]_bandages" and add it to ClothesArmBandages & ClothesHeadBandages & use WornHasKeyword.

Posted

That should work. Simple & easy solution, thanks :)

 

Actually,

 

A better way that would allow you to add actors later is to create a formlist then use IsInList == 0. Drag & drop any actors you want to exclude into that list including ones that fail to work but are not wounded.

 

Other mods can then use the following to be compatible with your mod to exclude any of their actors that won't work with your mod.

 

ScriptName playerAliasScript extends ReferenceAlias

Event OnPlayerLoadGame()
	FormList exclude = none
	int      idx     = Game.GetModCount()

	while idx
		idx -= 1
		if Game.GetModName(idx) == "SrendesMod.esp"
			exclude = Game.GetFormFromFile(0x00000abcd, "SrendesMod.esp") As FormList
		endIf
	endWhile

	if exclude && exclude.Find(MySpecialActor) == -1
		exclude.AddForm(MySpecialActor)
	endIf
EndEvent
  • 2 months later...
Posted

Hey sorry to call this thread back from the grave but i have a question.

 

I'm using the WornHasKeyword as a condition to fill one of my aliases but somehow the alias never gets filled.

 

My Keyword "JobWhore" is attached to the tavern wench clothes so there should be some Actors that fulfill that condition.

 

Am i doing something wrong?

post-166868-0-08719100-1395521428_thumb.jpg

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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