Placeatme Function

Post » Tue Nov 30, 2010 10:03 am

Hi to all on these forums :)

I would like to ask about a problem that I seem to be having with my mod that I'm creating. I must say that I'm a beginner with this but am enjoying learning and growing via experimentation. The Wiki construction Set has been a great help and has thus far answered all my needs. The mod in question is a necromancy mod. Upon playing Oblivion and encountering the Worm Thrall (I'm sure all of you know what this is all about but just in case there are people who don't I'll keep in vague) I thought wouldn't it be cool if I could create a Mod to turn a non-essential NPC into a Worm Thrall. So has begun a long learning curve to accomplish this.

I will say that I have succeeded to a degree and as a side comment am continuing to add to my Necromancy mod with the ability to raise your own minions, resurrect fallen minions, etc... About a week ago I was reading in the Wiki how the function 'PlaceAtMe' can cause save game bloating. I wasn't to concerned with Worm Thralls that were alive but I wanted the mod to delete them three days later after they had been killed (as per Cell reset). I kind of jumped ahead and searched for alternative ways to delete Worm Thrall corpses. I wished now that I had have checked whether the game did delete placeatme corpses or not as it would have saved alot of time and head scratching!

I tried to create a persistent reference (initially disabled) of my Worm Thrall creature and move this to the person who I was WormThralling, create a FullActorCopy (so I could have more that one Worm Thrall in the game) and enable the Worm Thrall. This seemed fine but I learned that the FullActorCopy doesn't have the Script that the original one does. Also One of my spells in the mod was the ability to raise a dead Worm Thrall back to life but found that the spell wouldn't work on the Worm Thrall copy (but did work on a Worm Thrall creature created via PlaceAtMe).

Upon failure after failure I reverted to the PlaceAtMe function and found that corpses were removed after three days when the cell was deleted. Great, I thought but then discovered that Worm Thralls who were 'alive' and kicking were also removed as well. I discovered that there was a tick box 'Item Quest' in the creatures tab. I ticked this trying to see if I could keep Worm Thralls that I created from being deleted - Oh the irony! Three days later Worm Thrall corpses and 'live Worm Thralls' were gone. I've tried enabling essential, respawn and Quest item in the bleak hope that it would work but to no avail.

I have the latest OBSE and after delving into it on the Wiki have discovered that these versions may just delete actors that are created via 'PlaceAtMe'. After coming so far I really have hit a brick wall and so have turned to you guys for any help that you may give.

I don't think that the Worm Thrall spell script will help but have included it here just in case,



Spoiler
Scn AdamWormThrallerSpellref Selfref StandWormThrallref SpellSuccessBegin Scripteffectstartset self to getselfif ( iscreature == 0  && isactor == 1 && getdead == 0 && getvampire ==0 && isessential == 0 && player.getitemcount BlackSoulGem > 0 )	Toggleactorsai		AdamWormThrallerSpellEffect.moveto selfSet SpellSuccess to 1		self.pme strp	AdamWormThrallerSpellEffect.pme MythAdamWormThrallerSpellEffect.pme Dgheelseif (  iscreature == 0  && isactor == 1 && getdead == 0 && getvampire ==0 && isessential == 0 && player.getitemcount BlackSoulGem < 1 )message "You need an empty Black Soul Gem to Wormthrall"returnelseMessage "You cannot Worm Thrall this target"returnendifendbegin scripteffectfinishif ( SpellSuccess == 1 )	Set StandWormThrall to placeatme AdamStandardWormThrall		StandWormThrall.moveto self			Self.kill Player		Removeallitems StandWormThrall	Positioncell 0, 0, 0, 0, AdamWormThrallVoid StandWormThrall.pme mythDisableMessage "You have created a Black Worm Gem with the captured soul"player.removeitemns BlackSoulGem 1player.additemns AdamBlackWormGem 1endifend

As a final note of interest I've tried other Necromancer mods which have the same problem of PlaceAtMe creatures being deleted in a cell when it's been reset. These creatures were 'instructed' to "Wait Here" but have been deleted after the cell was reseted.

So in summary. I want Worm Thralls to exist indefinately when they are alive but wish for their corpses to be removed after Cell Reset - Talk about wanting my cake and eating it!


Thank you in advance.

Necromancer.
User avatar
Jesus Sanchez
 
Posts: 3455
Joined: Sun Oct 21, 2007 11:15 am

Post » Tue Nov 30, 2010 6:29 am

The way I would do it is to create a Remote Cell that the PC never goes into, and place an Activator there. Attach a script to it which only contains a Scriptname and a Short Variable (something like "WhichThrall"). From there, place 20 Persistent Reference Worm Thralls, and give each one a unique ID. Then, on your Spell do something like...

Ref TargetBegin ScriptEffectStart   Set Target to GetSelf   ;Checks you need/want to run      If ( [ActivatorID].WhichThrall <= 1 )          [WormThrallRef01].MoveTo Target         [WormThrallRef01].Resurrect 1         Set [ActivatorID].WhichThrall to 2     ElseIf ( [ActivatorID].WhichThrall == 2 )          [WormThrallRef02].MoveTo Target         [WormThrallRef02].Resurrect 1         Set [ActivatorID].WhichThrall to 3     Else     .     .     .     ElseIf ( [ActivatorID].WhichThrall == 20  )          [WormThrallRef20].MoveTo Target         [WormThrallRef20].Resurrect 1         Set [ActivatorID].WhichThrall to 1     EndIf  ;Any needed EndIfsEnd


What this does is move one of 20 Persistant References to the Player and should solve your problem more-or-less: the corpses won't disappear, but when you spawn a new one they will be. You can then add Scripts to the actual creature to make it disappear on Death :)
User avatar
Jessica Colville
 
Posts: 3349
Joined: Wed Oct 18, 2006 6:53 pm

Post » Tue Nov 30, 2010 5:53 am

Welcome to the forums - Sauron is that you ? :)
Just an idea : use the respawn flag and when thrall dies remove it - via obse (setActorRespawns)
please edit your post with
Spoiler
script goes here                 can't read it otherwise                yes, intend too lol :D

User avatar
Amanda Leis
 
Posts: 3518
Joined: Sun Dec 24, 2006 1:57 am

Post » Mon Nov 29, 2010 9:18 pm

You could have a set number of persistent worm thrall references in a dummy cell, so when you use the spell it moves the first one, increases a variable by one, and the next time one is made, it uses the second as determined by that variable. when the variable reaches the number of worm thralls set aside, casting will give a message like "You can not create any more Worm Thralls right now," or something to that effect. Script the thralls in the cell so that when they die, the variable is decreased by one and the thrall goes back to the dummy cell where it is resurrected. This method does limit the number of thralls you can have at one time, but most computer's can only run a couple followers before it starts to hurt the fps anyways, so it shouldn't be too bad. In addition, it may be worthwile, if my method is used, to make the spell not work on Dremora or while the player is in Paradise, so the Thralls cannot be deleted when an oblivion gate closes. It would still be possible to get Thralls in non permanent cells like Oblivion and Paradise, but if you ever release the mod, you can just mention that users should be careful not to leave them in Oblivion, just like you would do with a follower.

Actually, that is pretty similar to the first mod I tried to make when I started, a project I abandoned due to my lack of scripting knowledge. I just now thought of this solution. If you elect to try this (I know it would require you to redo a large portion of your work so far), could you tell me how well it works out?

Wow. I just said the same thing as CDM_, but with about thirty times as many words.
User avatar
Gemma Flanagan
 
Posts: 3432
Joined: Sun Aug 13, 2006 6:34 pm

Post » Mon Nov 29, 2010 6:48 pm

Hmm - persistent refs could work - do try
Spoiler
scn thrallSCRbegin gameMode	if doOnce == 0		SetActorRespawns 1		set doOnce to 1	endifendbegin onDeath	SetActorRespawns 0end
though - i'd be curious to see if it works :)
User avatar
Marcus Jordan
 
Posts: 3474
Joined: Fri Jun 29, 2007 1:16 am

Post » Tue Nov 30, 2010 4:07 am

Hi all,

Thanks so much for getting back to me quickly :) .

I'm gonna have to try these suggestions later on as I'm gonna be going out shortly.

@ CDM and Zorg - Thanks for your suggestions. I guess I really wanted to be greedy and be able to have as many Worm Thralls as possible. Although my computer isn't the top of the range, there isn't that much of a decrease in FPS even when there were lots of them on the sceen. Obviously if I was to ever release the mod then I could always release this as an alternative for those who don't have a high powered computer.

@ Utumno - Aye tis me! :) lol ... Forgive my ignorance but do you place the scripts that you have provided into the Worm Thrall creatures script?


Again though. Thanks for your suggestions. I'll let you know how these go later when I return. :)


Necromancer.
User avatar
Leilene Nessel
 
Posts: 3428
Joined: Sun Apr 15, 2007 2:11 am

Post » Tue Nov 30, 2010 5:59 am

@ Utumno - Aye tis me! :) lol ... Forgive my ignorance but do you place the scripts that you have provided into the Worm Thrall creatures script?

:nod:
BTW Important ! Always test your mod with a clean save - a save that does not depend on your mod
User avatar
Taylor Thompson
 
Posts: 3350
Joined: Fri Nov 16, 2007 5:19 am

Post » Tue Nov 30, 2010 6:08 am

Hey again,

I'm afraid I've run against that brickwall again :banghead:

@ Utumno - I tried your suggestion but I'm afraid it didn't work. Anything else I can try? :( . Oh and thanks for the tip about trying mods on clean game saves. Thats another thing had I have known earlier would have saved time :thumbsup:

@ Zorg and CDM_ - I've rewritten the script for the spell adding what you suggested into it, giving the following,



Spoiler

cn AdamWormThrallerref Selfref StandWormThrallref SpellSuccessref targetBegin Scripteffectstartset self to getselfif ( iscreature == 0  && isactor == 1 && getdead == 0 && getvampire ==0 && isessential == 0 && player.getitemcount BlackSoulGem > 0 )	Toggleactorsai		AdamWormThrallerSpellEffect.moveto selfSet SpellSuccess to 1		self.pme strp	AdamWormThrallerSpellEffect.pme MythAdamWormThrallerSpellEffect.pme Dgheelseif (  iscreature == 0  && isactor == 1 && getdead == 0 && getvampire ==0 && isessential == 0 && player.getitemcount BlackSoulGem < 1 )message "You need an empty Black Soul Gem to Wormthrall"returnelseMessage "You cannot Worm Thrall this target"returnendifendbegin scripteffectfinishif ( SpellSuccess == 1 )self.kill Playerself.Removeallitems playerself.Positioncell 0, 0, 0, 0, AdamWormThrallVoid set target to getselfIf ( AdamWormActivator.WormThrallNumber <= 1 )WormThrall1.moveto targetWormThrall1.resurrect 1Message "THIS IS NUMBER 1"set AdamWormActivator.WormThrallNumber to 2elseif ( AdamWormActivator.WormThrallNumber == 2 )WormThrall2.moveto targetWormThrall2.resurrect 1Message "This is NUMBER 2"set AdamWormActivator.WormThrallNumber to 3elseif ( AdamWormActivator.WormThrallNumber == 3 )WormThrall3.moveto targetWormThrall3.resurrect 1message "THIS IS NUMBER 3"set AdamWormActivator.WormThrallNumber to 1endifTarget.pme mythDisableMessage "You have created a Black Worm Gem with the captured soul"player.removeitemns BlackSoulGem 1player.additemns AdamBlackWormGem 1endifend


I put the messages in there to make sure that different Worm Thralls were being placed everytime but unfortunatelly no Worm thralls are appearing - although I get the messages and they do change i.e. This is number 1, then the next victim - This is number 2 etc.. Anything you could possibly suggest?

This issue of PlaceAtMe will have an impact on numerous mods (especially the ones where a character can amass an unlimited number of creatures / actors to use in an army or similar. Characters will be left via "Wait here" to only disappear Three days later if the player doesn't return to that cell.

Does anyone know if theres a way to suggest to the people who are responsible for the OBSE about maybe implementing a use where by if a PlaceAtMe actor can remain after cell reset if it is required by the modder in any possible future releases.


Once again though guys .. thaks for getting back to me :)

Necromancer.
User avatar
Honey Suckle
 
Posts: 3425
Joined: Wed Sep 27, 2006 4:22 pm

Post » Tue Nov 30, 2010 1:57 am

Did you run .enable on them after moving them? I'm assuming you set them to Initially disabled?
User avatar
Michael Korkia
 
Posts: 3498
Joined: Mon Jul 23, 2007 7:58 pm

Post » Mon Nov 29, 2010 11:09 pm

Hey again,

I'm afraid I've run against that brickwall again :banghead:

@ Utumno - I tried your suggestion but I'm afraid it didn't work. Anything else I can try? :( . Oh and thanks for the tip about trying mods on clean game saves. Thats another thing had I have known earlier would have saved time :thumbsup:

@ Zorg and CDM_ - I've rewritten the script for the spell adding what you suggested into it, giving the following,


I put the messages in there to make sure that different Worm Thralls were being placed everytime but unfortunatelly no Worm thralls are appearing - although I get the messages and they do change i.e. This is number 1, then the next victim - This is number 2 etc.. Anything you could possibly suggest?

yes - send the thrall to the right cell lol untested:
Spoiler
scn AdamWormThrallerref Selfref StandWormThrallshort SpellSuccess	;ref SpellSuccess nope; ref targetBegin Scripteffectstart	set self to getself	if ( iscreature == 0  && isactor == 1 && getdead == 0 && getvampire ==0 && isessential == 0)		if  player.getitemcount BlackSoulGem			Toggleactorsai			AdamWormThrallerSpellEffect.moveto self	; dunno what these commands are doing - are they working alright ?			Set SpellSuccess to 1			self.pme strp			AdamWormThrallerSpellEffect.pme Myth			AdamWormThrallerSpellEffect.pme Dghe		else			message "You need an empty Black Soul Gem to Wormthrall"		endif		; return	else		Message "You cannot Worm Thrall this target"	; return	endifendbegin scripteffectfinishif ( SpellSuccess == 1 )	self.kill Player	self.Removeallitems player	; self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid **********************	self.pme myth	DISABLE	; set target to getself ;WHY AGAIN	If ( AdamWormActivator.WormThrallNumber <= 1 )		WormThrall1.moveto self ; YOU WERE MOVING THE THRALL TO YOUR VOID CELL *******************		self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid		WormThrall1.resurrect 1		Message "THIS IS NUMBER 1"		set AdamWormActivator.WormThrallNumber to 2	elseif ( AdamWormActivator.WormThrallNumber == 2 )		WormThrall2.moveto self		self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid		WormThrall2.resurrect 1		Message "This is NUMBER 2"		set AdamWormActivator.WormThrallNumber to 3	elseif ( AdamWormActivator.WormThrallNumber == 3 )		WormThrall3.moveto self		self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid		WormThrall3.resurrect 1		message "THIS IS NUMBER 3"		set AdamWormActivator.WormThrallNumber to 1	endif	; Disable	Message "You have created a Black Worm Gem with the captured soul"	player.removeitemns BlackSoulGem 1	player.additemns AdamBlackWormGem 1endifend

I guess you have a way to check if all 3 thralls are present
Please use code tags and intend your script !! As a penalty for the time I spent indenting I didn't check it thoroughly :cookie: I recommend notepad++ - search in tesnexus for notepad to get scripts definitions files
thanks for checking the respawn thing - not sure why it doesn't work - anyone ?

EDIT: corrected couple of things in the script :rolleyes:
User avatar
Maria Leon
 
Posts: 3413
Joined: Tue Aug 14, 2007 12:39 am

Post » Mon Nov 29, 2010 7:10 pm

Did you run .enable on them after moving them? I'm assuming you set them to Initially disabled?


Hi. Yep double checked and triple checked ... Still no luck. :(


yes - send the thrall to the right cell lol untested:
Spoiler
scn AdamWormThrallerref Selfref StandWormThrallshort SpellSuccess	;ref SpellSuccess nope; ref targetBegin Scripteffectstart	set self to getself	if ( iscreature == 0  && isactor == 1 && getdead == 0 && getvampire ==0 && isessential == 0)		if  player.getitemcount BlackSoulGem			Toggleactorsai			AdamWormThrallerSpellEffect.moveto self	; dunno what these commands are doing - are they working alright ?			Set SpellSuccess to 1			self.pme strp			AdamWormThrallerSpellEffect.pme Myth			AdamWormThrallerSpellEffect.pme Dghe		else			message "You need an empty Black Soul Gem to Wormthrall"		endif		; return	else		Message "You cannot Worm Thrall this target"	; return	endifendbegin scripteffectfinishif ( SpellSuccess == 1 )	self.kill Player	self.Removeallitems player	; self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid **********************	self.pme myth	DISABLE	; set target to getself ;WHY AGAIN	If ( AdamWormActivator.WormThrallNumber <= 1 )		WormThrall1.moveto self ; YOU WERE MOVING THE THRALL TO YOUR VOID CELL *******************		self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid		WormThrall1.resurrect 1		Message "THIS IS NUMBER 1"		set AdamWormActivator.WormThrallNumber to 2	elseif ( AdamWormActivator.WormThrallNumber == 2 )		WormThrall2.moveto self		self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid		WormThrall2.resurrect 1		Message "This is NUMBER 2"		set AdamWormActivator.WormThrallNumber to 3	elseif ( AdamWormActivator.WormThrallNumber == 3 )		WormThrall3.moveto self		self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid		WormThrall3.resurrect 1		message "THIS IS NUMBER 3"		set AdamWormActivator.WormThrallNumber to 1	endif	; Disable	Message "You have created a Black Worm Gem with the captured soul"	player.removeitemns BlackSoulGem 1	player.additemns AdamBlackWormGem 1endifend

I guess you have a way to check if all 3 thralls are present
Please use code tags and intend your script !! As a penalty for the time I spent indenting I didn't check it thoroughly :cookie: I recommend notepad++ - search in tesnexus for notepad to get scripts definitions files
thanks for checking the respawn thing - not sure why it doesn't work - anyone ?

EDIT: corrected couple of things in the script :rolleyes:



So thats what you meant by indent. Still haven't done it right but I'll look up the notepad++ when I'm done trying to sort this Mod out. I tried the code and still no worm thrall appears. For now I've reverted to the PlaceAtMe option with the hope that a solution will become available to keep them from being deleted. Still thanks for all your help. :)
User avatar
Wanda Maximoff
 
Posts: 3493
Joined: Mon Jun 12, 2006 7:05 am

Post » Mon Nov 29, 2010 7:42 pm

I guess you have the 3 thralls in your void cell - do this - double click on their references and make them initially disabled then use the script below :
Spoiler
scn AdamWormThrallerref Selfref StandWormThrallshort SpellSuccessBegin Scripteffectstart	set self to getself	if ( iscreature == 0  && isactor == 1 && getdead == 0 && getvampire ==0 && isessential == 0)		if  player.getitemcount BlackSoulGem			Toggleactorsai			AdamWormThrallerSpellEffect.moveto self	; dunno what these commands are doing - are they working alright ?			Set SpellSuccess to 1			self.pme strp			AdamWormThrallerSpellEffect.pme Myth			AdamWormThrallerSpellEffect.pme Dghe			player.removeitemns BlackSoulGem 1 ; better be here maybe		else			message "You need an empty Black Soul Gem to Wormthrall"		endif		; return	else		Message "You cannot Worm Thrall this target"	; return	endifendbegin scriptEffect updateif ( SpellSuccess == 1 )	self.kill Player	self.Removeallitems player	; self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid **********************	self.pme myth	If ( AdamWormActivator.WormThrallNumber <= 1 )		WormThrall1.moveto self ; YOU WERE MOVING THE THRALL TO YOUR VOID CELL *******************		Message "THIS IS NUMBER 1"	elseif ( AdamWormActivator.WormThrallNumber == 2 )		WormThrall2.moveto self		Message "This is NUMBER 2"	elseif ( AdamWormActivator.WormThrallNumber == 3 )		WormThrall3.moveto self		message "THIS IS NUMBER 3"	endif	set spellsucces to 2endifendbegin scripteffectfinishif ( SpellSuccess == 2 )	DISABLE	If ( AdamWormActivator.WormThrallNumber <= 1 )		self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid	; NOT SURE SELF IS NEEDED		WormThrall1.resurrect 1							; NOT SURE IF YOU MUST FIRST ENABLE AND THEN RESSURECT - NEVER USED RESSURECT CHECK THE WIKI		WormThrall1.ENABLE						; NOT SURE IF YOU MUST FIRST ENABLE AND THEN RESSURECT - NEVER USED RESSURECT CHECK THE WIKI		Message "THIS IS NUMBER 1 : finish"		set AdamWormActivator.WormThrallNumber to 2	elseif ( AdamWormActivator.WormThrallNumber == 2 )		self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid		WormThrall2.resurrect 1		WormThrall1.ENABLE		Message "This is NUMBER 2 : finish"		set AdamWormActivator.WormThrallNumber to 3	elseif ( AdamWormActivator.WormThrallNumber == 3 )		self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid		WormThrall3.resurrect 1		WormThrall1.ENABLE		message "THIS IS NUMBER 3 : finish"		set AdamWormActivator.WormThrallNumber to 1	endif	Message "You have created a Black Worm Gem with the captured soul"	player.additemns AdamBlackWormGem 1endifend

It's the moveto bug :rolleyes: - check the wiki
god I forgot it again

give your script effect some duration

when you carry them back your thrallies DISABLE them again alright ?

edit : corrected bug - BTW more scripting is needed to ensure the player won't cast the spell while the thrall number has't changed - a variable in your activator like activatorBusy
chances are a persistent reference won't get destroyed on cell reset - I've seen it with books - so probably this is your solution after all
User avatar
Harinder Ghag
 
Posts: 3405
Joined: Wed Jan 17, 2007 11:26 am

Post » Mon Nov 29, 2010 10:10 pm

I guess you have the 3 thralls in your void cell - do this - double click on their references and make them initially disabled then use the script below :
Spoiler
scn AdamWormThrallerref Selfref StandWormThrallshort SpellSuccessBegin Scripteffectstart	set self to getself	if ( iscreature == 0  && isactor == 1 && getdead == 0 && getvampire ==0 && isessential == 0)		if  player.getitemcount BlackSoulGem			Toggleactorsai			AdamWormThrallerSpellEffect.moveto self	; dunno what these commands are doing - are they working alright ?			Set SpellSuccess to 1			self.pme strp			AdamWormThrallerSpellEffect.pme Myth			AdamWormThrallerSpellEffect.pme Dghe			player.removeitemns BlackSoulGem 1 ; better be here maybe		else			message "You need an empty Black Soul Gem to Wormthrall"		endif		; return	else		Message "You cannot Worm Thrall this target"	; return	endifendbegin scriptEffect updateif ( SpellSuccess == 1 )	self.kill Player	self.Removeallitems player	; self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid **********************	self.pme myth	If ( AdamWormActivator.WormThrallNumber <= 1 )		WormThrall1.moveto self ; YOU WERE MOVING THE THRALL TO YOUR VOID CELL *******************		Message "THIS IS NUMBER 1"	elseif ( AdamWormActivator.WormThrallNumber == 2 )		WormThrall2.moveto self		Message "This is NUMBER 2"	elseif ( AdamWormActivator.WormThrallNumber == 3 )		WormThrall3.moveto self		message "THIS IS NUMBER 3"	endif	set spellsucces to 2endifendbegin scripteffectfinishif ( SpellSuccess == 2 )	DISABLE	If ( AdamWormActivator.WormThrallNumber <= 1 )		self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid	; NOT SURE SELF IS NEEDED		WormThrall1.resurrect 1							; NOT SURE IF YOU MUST FIRST ENABLE AND THEN RESSURECT - NEVER USED RESSURECT CHECK THE WIKI		WormThrall1.ENABLE						; NOT SURE IF YOU MUST FIRST ENABLE AND THEN RESSURECT - NEVER USED RESSURECT CHECK THE WIKI		Message "THIS IS NUMBER 1 : finish"		set AdamWormActivator.WormThrallNumber to 2	elseif ( AdamWormActivator.WormThrallNumber == 2 )		self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid		WormThrall2.resurrect 1		WormThrall1.ENABLE		Message "This is NUMBER 2 : finish"		set AdamWormActivator.WormThrallNumber to 3	elseif ( AdamWormActivator.WormThrallNumber == 3 )		self.Positioncell 0, 0, 0, 0, AdamWormThrallVoid		WormThrall3.resurrect 1		WormThrall1.ENABLE		message "THIS IS NUMBER 3 : finish"		set AdamWormActivator.WormThrallNumber to 1	endif	Message "You have created a Black Worm Gem with the captured soul"	player.additemns AdamBlackWormGem 1endifend

It's the moveto bug :rolleyes: - check the wiki
god I forgot it again

give your script effect some duration

when you carry them back your thrallies DISABLE them again alright ?

edit : corrected bug - BTW more scripting is needed to ensure the player won't cast the spell while the thrall number has't changed - a variable in your activator like activatorBusy
chances are a persistent reference won't get destroyed on cell reset - I've seen it with books - so probably this is your solution after all


lol .. Thanks for all your help but I've managed to solve the problem of disappearing PlaceAtMe's. I know there may be concerns about this but unchecking the 'No low level Porocessing' keeps the live actors from being deleted but their corpses are cleared away :). I can't believe it was something so simple!! I plan to implement a condition whereby if the player is in a different cell or a certain distance away then the Worm Thralls shall not move or anything to try and minimise bloating - though I'll have to look up how to do it!

All this work that you guys have done for me (especially Utumno - Morgoth would be proud!) is certainly not in vain as I have a new avenue to explore now. I will implement this script that you have very kindly made from my poor excuse for a script into the mod as an alternative to those people who may not like the idea of lots of low level processing PlaceAtMe's in their game (That is if I ever release the mod!)

Cheers once more!! :foodndrink:

Necromancer.
User avatar
Christine
 
Posts: 3442
Joined: Thu Dec 14, 2006 12:52 am

Post » Tue Nov 30, 2010 8:16 am

Glad to be of use -and even gladier to see there is a solution to this ! Was very puzzling lol
for low-level processing make sure the script on them, if any, returns early and often and I don't think it will be a performance issue (unless there are thousands of them)
User avatar
Krystal Wilson
 
Posts: 3450
Joined: Wed Jan 17, 2007 9:40 am


Return to IV - Oblivion