Jump to content

[LE] Quick Questions, Quick Answers


Recommended Posts

Ok so I read that the maximum world size is 64x64 cells but is that one single world space or would that be the total contents of one esm or esp? I mean if I create a world space with a load of interior spaces like caves & dungeons then will that all add up to the total or is the 64x64 for one single space & any extra exterior or interior cells are not counted as part of it?

Hopefully that made sense...

Thanks

Link to comment
Share on other sites

OK so I was editing my Custom follower mod more. I've made a lot of progress, including now adding some custom voiced lines. I had him saying hello and following me around, but for some reason when I added the command lines, i.e. when you tell your follower to do something, he just remains silent. I cant even ask him to follow me anymore.

 

I don't know if I should feel smart for figuring out what happened, or dumb for making this mistake in the first place. I got it figured out.

Edited by Thrumond
Link to comment
Share on other sites

I downloaded my own mod in which I packed into a bsa and an actors voice is silent and has a grey face. Do bsa's archive the files needed for that or did I mess something up?

If you used the built in BSA creator, it could have missed the files. Even adding them manually does not always work. It is better to use the external archive.exe utility. Be sure to include the face gen data files in the meshes and textures folders (off the top of my head don't remember exact folder structure) to take care of the grey face. I don't know about silent voices, might need to include any SEQ files you made. Also, test the BSA as both compressed and uncompressed. Some file types work better when the BSA is not compressed.

Link to comment
Share on other sites

Why won't this stop the spell, it just keeps casting? It's a concentration life detect spell. I want it to refresh the spell and I thought this would work since it's worked in the past.

Scriptname AcePulsatingSpellScript extends activemagiceffect 

Spell Property TheSpell Auto
Actor Property PlayerRef Auto
Int Property Duration Auto

Event OnEffectStart(Actor akTarget, Actor akCaster)
	OnUpdate()
EndEvent

Event OnUpdate()
	TheSpell.Cast(PlayerRef)
	RegisterForSingleUpdate(Duration)
EndEvent


Event OnEffectFinish(Actor akTarget, Actor akCaster)
	Debug.Notification("done") ;fires
	UnRegisterForUpdate()
EndEvent

My goal is to make a pulsating(updating) detect life spell that can be toggled. I thought this would be easy but the detect archetype is giving me a headache.

 

Edit: akCaster.InterruptCast()

I had the tab open and thought I had already tried it, double checked and I hadn't.

Edited by Elias555
Link to comment
Share on other sites

I noticed that adding an ObjectReference property forces that object to be persistent. This means that if I'm pointing to a non-persistent reference from another plugin, my plugin will override it to add the persistent flag! This could cause problems if the other plugin has one or more patches overriding it. Is there a way to point to an ObjectReference from another mod without making it persistent? So it only loads when my script is running, like variables.

Link to comment
Share on other sites

I noticed that adding an ObjectReference property forces that object to be persistent. This means that if I'm pointing to a non-persistent reference from another plugin, my plugin will override it to add the persistent flag! This could cause problems if the other plugin has one or more patches overriding it. Is there a way to point to an ObjectReference from another mod without making it persistent? So it only loads when my script is running, like variables.

Yes.

First you need to make sure that the other mod is indeed present and then you obtain their specific item.

 

Here is an example:

bool Function IsPluginLoaded(string sPluginName)
	int i = Game.GetModByName(sPluginName)
	If i != 255
		debug.trace("YourModNameHere: Loaded " + sPluginName)
		Return true
	Else
		debug.Trace("YourModNameHere: Could not load "+ sPluginName)
		Return false
	EndIf
EndFunction

ObjectReference SomeObject

Event OnInit()
  If IsPluginLoaded("SomeMod.esp") == true
    SomeObject = (Game.GetFormFromFile(0x00123456,"SomeMod.esp") as ObjectReference)
  EndIf
EndEvent

The hex number is the ID number of the object you want. For placed references, make sure you use the ID number for the placed reference and not the base object. Also, load order position is not a concern here, so the first two digits will always be converted to 00.

Link to comment
Share on other sites

 

Yes.

First you need to make sure that the other mod is indeed present and then you obtain their specific item.

 

Here is an example:

bool Function IsPluginLoaded(string sPluginName)
	int i = Game.GetModByName(sPluginName)
	If i != 255
		debug.trace("YourModNameHere: Loaded " + sPluginName)
		Return true
	Else
		debug.Trace("YourModNameHere: Could not load "+ sPluginName)
		Return false
	EndIf
EndFunction

ObjectReference SomeObject

Event OnInit()
  If IsPluginLoaded("SomeMod.esp") == true
    SomeObject = (Game.GetFormFromFile(0x00123456,"SomeMod.esp") as ObjectReference)
  EndIf
EndEvent

The hex number is the ID number of the object you want. For placed references, make sure you use the ID number for the placed reference and not the base object. Also, load order position is not a concern here, so the first two digits will always be converted to 00.

 

 

 

Nice. I see that could be used to dynamically add compatibility for certain plugins only when they are loaded. Thanks for the help!

Link to comment
Share on other sites

  • Recently Browsing   0 members

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