Getting stupid summons out of way

Post » Thu Jun 21, 2012 3:03 pm

Ok I'm trying to figure out a good way to get stupid Summons from my Necromancy mod out of the way, when for example you go into a small space and have a lot of them blocking you. I want to make a way to set them so you can just walk through them if you are within a certain distance. Ive tried several different approaches which you can see here. Most of them I didnt like that much or just plain did not work and I have them disabled with ;

Ideally I would like to just set them so you can walk right through them. I was under the impression that if you set their Mass to 0 then you could walk through them. But setting it to 0 didn't do anything.

ToggleCollisions() worked fairly well except I want a way to toggle collisions for only the summon not for everything. When I had that active it made the player char fly through the air or move through the floor which obviously is not desirable.

Pushing the mob wasn't really that effective (And they just pushed backwards even if it was towards you) and I when I tried to work out how to push AWAY from the player I just got a CTD on loading Skyrim. But it didn't seem that great anyways

Changing the scale actually worked pretty well as they pretty much disappear, allow you to move through and then reappear behind you. But I feel that detracts a little from the atmosphere of the game.

Does anyone have a suggestion or know a trick to get collision off for just the summoned mob alone? BTW this is a script on the actual summoned actor

  if (Game.GetPlayer().getDistance(self) < 100)        If ChangeScale == 0            ;Debug.MessageBox("The player is close to me")             ;float x_mod = -(Game.GetPlayer().GetPositionX()-Self.GetPositionX())              ;float y_mod = -(Game.GetPlayer().GetPositionY()-Self.GetPositionY())              ;float z_mod = -(Game.GetPlayer().GetPositionZ()-Self.GetPositionZ())            ;(Game.GetPlayer()).PushActorAway(Self, 100.0)             ;self.ApplyHavokImpulse(x_mod, y_mod, z_mod + 20, 20)            ;self.SetAV("Mass", 0)            ;Debug.ToggleCollisions()            ;Self.SetGhost()            Self.SetScale(0.01)            ChangeScale = 1        endif    endif    if (Game.GetPlayer().getDistance(self) >=100)        If ChangeScale == 1            ;Debug.MessageBox("The Player is far away from me")            ;self.SetAV("Mass", 100)            ;Debug.ToggleCollisions()            ;Self.SetGhost(False)            Self.SetScale(1.0)            ChangeScale = 0        endif
User avatar
Eileen Collinson
 
Posts: 3208
Joined: Thu Dec 28, 2006 2:42 am

Post » Thu Jun 21, 2012 10:35 am

How about equiping them a fleing package where you are what they flee from for a pair of seconds on activate?
User avatar
Katharine Newton
 
Posts: 3318
Joined: Tue Jun 13, 2006 12:33 pm

Post » Thu Jun 21, 2012 3:56 pm

Conjurer is so scary his own undead thralls flee from the sight of him.
User avatar
Antonio Gigliotta
 
Posts: 3439
Joined: Fri Jul 06, 2007 1:39 pm

Post » Thu Jun 21, 2012 7:53 am

Ok I tried creating a package to make the summon flee but its not working.. I'm not expert on packages though so maybe someone can help. Here is what Ive got..

Condition GetDistance Reference 'PlayerRef' < 500
Flee from Target, Target Select, Player Ref
Distance to Flee Float 1000.00
Search Location NearSelf Radius, 1000.00
Forget Dead Threat Bool False
Quiet Bool False


Ok so that's what I have but its not working.. Is there something else I need to to do make it always run from me? Or run from me period at all....
User avatar
Emily Shackleton
 
Posts: 3535
Joined: Sun Feb 11, 2007 12:36 am

Post » Thu Jun 21, 2012 4:20 am

Probably a long shot but, how about a scripted constant magic effect on your summons that causes them to move behind you when you get very close with MoveTo(PlayerRef, X, Y, Z, boMatchRotation = True)?
User avatar
Kortknee Bell
 
Posts: 3345
Joined: Tue Jan 30, 2007 5:05 pm

Post » Thu Jun 21, 2012 12:24 am

Ultimately that would do kind of already what I do because they would appear to just vanish from what I understand Which isn't really what I want.
User avatar
Frank Firefly
 
Posts: 3429
Joined: Sun Aug 19, 2007 9:34 am

Post » Thu Jun 21, 2012 2:30 am

In the flee package, set UseDynamicGoalInstead to true, to make them use the flee from behavior instead of the flee to, which didn't fit here. quiet true, and countasisfleeing false, as you don't want to show panic.
User avatar
Carolyne Bolt
 
Posts: 3401
Joined: Mon Jul 10, 2006 4:56 am

Post » Thu Jun 21, 2012 2:44 pm

Hmmm I dont see an option for True on that.. Only False, Flee From?, Forget Dead Threats and Quiet. I have selected Flee From? Since that makes the most sense as I have the playerref selected as the target. But its still not working.. ;(

I dont have a duration selected for the package only 0.000 Hours but i dont think duration really applies here does it?
User avatar
REVLUTIN
 
Posts: 3498
Joined: Tue Dec 26, 2006 8:44 pm

Post » Thu Jun 21, 2012 1:20 pm

That's one of the oddest things about packages. Instead of you being able to insert data directly, you need to use variables you already used. flee from? is the value you selected previously for flee from. The same is applied to every other variable. You can introduce and fill new variables in the upper part anyway, so if you need a 15.000 value and no one of the other variables has that value, you just can create a new one, select the correct type, name it and assing a 15.000 value.

0.000 in the duration means infinite (or until conditions stop being meet).
User avatar
Glu Glu
 
Posts: 3352
Joined: Sun Apr 01, 2007 5:39 am

Post » Thu Jun 21, 2012 9:59 am

Yeah that seems to be how Ive set it up. when I come home from work I'll post all my settings again because it still wasn't working as of last night. :/

Annoying
User avatar
sally coker
 
Posts: 3349
Joined: Wed Jul 26, 2006 7:51 pm

Post » Thu Jun 21, 2012 1:20 pm

The only other things I think of right now is 1. PlayerRef. Is not exactly the same as Game.Getplayer() ?? But I would think it should be. Or 2. Packages don't work on summoned creatures? If that's the case I'm going to have to redesign a lot and go back and change all the spells from summon to placeatme and find a way to turn them into followers of some sort which has its own problems because it doesn't appear you can set relationships for skeletons ( although now I'm thinking that may have possibly been because I had summonable checked when I tried it.)

Or lastly there is just something about the packages I'm not getting correct like the condition maybe. But if it were a script I know my condition would work.
User avatar
Kayla Keizer
 
Posts: 3357
Joined: Tue Dec 12, 2006 4:31 pm

Post » Thu Jun 21, 2012 1:30 pm

Or 2. Packages don't work on summoned creatures?

This could very well be true. I've been messing around with reanimated actors and they are soooooo broken.
User avatar
Alexander Lee
 
Posts: 3481
Joined: Sun Nov 04, 2007 9:30 pm


Return to V - Skyrim