Jump to content

Strange glitch happening with Custom Summon


Recommended Posts

I've been working on some custom summon spells through scripting, but I have encountered a pretty bizzarre glitch.
Whenever a custom summon is killed, for the reminder of the spell duration, all other characters involved in the battle freezes. They can still attack you if you get close, but they won't move on their own as long as the spell is active or the same creature is summoned again.

I used this tutorial to make the spells

https://cs.uesp.net/wiki/Scripting_Tutorial:_Summoned_Creatures

Is there a way that this inconvenience can be fixed?
Everything is perfect save for this.
Thanks in advance.

Link to comment
Share on other sites

Propably inserting "Dispel" command would help, if it's really the only problem:

	if ( timer > 30 )    ;Creature is dead and fade timer passed
		;Move our creature back to its holding cell
		if killed == 0
			SUMN.kill
		endif
		SUMN.moveto CreatureCageREF 0 0 10 
		;Reset our creature if dead
		SUMN.resurrect    
		;Set our creature to an unprocessed state                            
		SUMN.disable
		;If creature was killed by something else, dispel a summon spell
		if killed != 0
			set killed to 0
			dispel {Editor ID of this spell}
		endif
	endif

	;Adjust timer state for early fade/disable upon death
	if ( SUMN.getdead == 1 ) && ( timer < 28 )                
		set timer to 28
		set killed to 1	;new short "flag" variable
	endif

 

Link to comment
Share on other sites

I've been trying to update the script, but I always receive a

"Script Syntax Error. Unkown command 'killed'."

Does CS need to be launched with OBSE to have that line be properly read?
If so, is there a way to make it work without using OBSE?

Link to comment
Share on other sites

So, I managed to fix that issue, but now another one showed up 😢
When the summon dies, it doesn't play the fade nor death animation anymore, but it just poof out of existance instantly.

This is the script in question.
What am I getting wrong?

Spoiler

ScriptName AAASummonWolfApprenticeScript

float timer
float fade
short playonce
ref SUMN

Begin ScriptEffectStart

    set SUMN to SummonWolf1REF                                           
    SUMN.disable        
    SUMN.moveto Player 30 30 10        
    SUMN.enable    

     
    set fade to 1    
    set timer to 0   
    set playonce to 0

End

Begin ScriptEffectUpdate
 
    set timer to timer + GetSecondsPassed
 
    if ( timer > 0.1 ) && ( playonce == 0 )
        SUMN.pms effectSummonMythicDawn 1            
        set playonce to 1
    endif
          
    if ( SUMN.getdead == 1 ) && ( timer < 34 )                
        set timer to 35
    endif
      
    if ( timer > 35 ) && ( playonce == 1 )
        if SUMN.GetDead == 0
            SUMN.kill
        endif
        set playonce to 2
    endif
          
    if ( playonce == 2 )    
        set fade to fade - 0.03
        SUMN.saa fade
    endif
          
    if ( timer > 35 )
        SUMN.moveto CreatureCageREF 0 0 10
        SUMN.resurrect                                    
        SUMN.disable                                    
    endif

     if (SUMN.getdead == 1)
     SUMN.moveto CreatureCageREF 0 0 10
        SUMN.resurrect                                    
        SUMN.disable                                 
    dispel AAASummonWolfApprenticeSpell
    endif

              
End

 

Link to comment
Share on other sites

You're using Dispel command at a wrong time. Timer conditions are mismatched too, making a "fade phase" never to occur.

Spoiler

ScriptName AAASummonWolfApprenticeScript

float timer
float fade
short playonce
short killed
ref SUMN

Begin ScriptEffectStart

    set SUMN to SummonWolf1REF                                           
    SUMN.disable        
    SUMN.moveto Player 30 30 10        
    SUMN.enable    

     
    set fade to 1    
    set timer to 0   
    set playonce to 0
    set killed to 0

End

Begin ScriptEffectUpdate
 
    set timer to timer + GetSecondsPassed

    ;first play a summon effect     
    if ( timer > 0.1 ) && ( playonce == 0 )
        SUMN.pms effectSummonMythicDawn 1            
        set playonce to 1
    endif
         
    ;if creature was killed too early
    ;move timer ahead and set a flag   
    if ( SUMN.getdead == 1 ) && ( timer < 34 )                
        set timer to 34
        set killed to 1
    endif
    
    ;begin a "kill phase"  
    if ( timer >= 34 ) && ( playonce == 1 )
        ;if creature was not killed already, kill it
        if killed == 0
            SUMN.kill
        endif
        set playonce to 2 ;begin "fade phase"
    endif

    ;make creature transparent      
    if ( playonce == 2 )    
        set fade to fade - 0.03
        SUMN.saa fade
    endif

    ;prepare creature for next summon     
    if ( timer > 35 ) ;give some time to creature become transparent
        SUMN.moveto CreatureCageREF 0 0 10
        SUMN.resurrect                                    
        SUMN.disable
        ;if timer was moved forward, dispel this spell
        if killed != 0
           set killed to 0
           dispel AAASummomWolfApprenticeSpell
        endif                                   
    endif
              
End

 

Link to comment
Share on other sites

Posted (edited)

Ok so uh...

After extensive testing on all summons I've making, I've discovered another strange glitch, this time is more severe because it can cause the game to crash.
Apparently, when I summon specifically a Spriggan, the first time she appears she is immediately killed, then, on re-casting the spell, she appears normally, but doesn't use the summon bear spell all base Spriggans have.

Also, sometimes, it can happen that, upon death of said summon, the game crashes.

The scripts is the same listed two posts above. What could possibly be causing this other strange issue?
Thanks you in advance

Edited by 9zAZO
Link to comment
Share on other sites

I've checked every mod for the script in use, but nothing seems to restore it.
And again, after testing, I found out another serious bug : (
Apparently, when you move from cells while you have a scripted summon out, the script actually stops working. The creature isn't killed anymore on time out nor gets refreshed properly if it's killed, but you need to recast the spell to make it go away, and if you summon again, the problem persists.

😖 and I thought I had the hang of this.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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