Jump to content

Question regarding setignorefriendlyhits


V31O

Recommended Posts

Hello everyone,

 

I've been trying to fix a bug that's apparent in the Conjuration Plus Plus 1.1 mod, but I can't seem to find the solution. Basically, what's wrong is that when you hit your summoned creature multiple times it will turn hostile, just like the original summon spells did. However, in this mod the summoned creature will stay hostile even after dying, if you summon it again and get attacked by something, the summoned creature will stop following me and turn hostile.

 

setignorefriendlyhits 1 should make the summoned creature completely ignore hits, so I've tried to apply that to CStatus 0 as well, anyway, here is the code:

scn dsSummonScript

float timer
short doOnce
short slot
short CStatus

begin OnActivate
if (GetActionRef == player)
	set timer to 0
	setignorefriendlyhits 1
endif
end

begin GameMode
if (GetDisabled == 0)
	if (doOnce == 0)
		set doOnce to 1
		setignorefriendlyhits 1
	endif

	if (player.isincombat == 1) || (isincombat == 1)
		if (CStatus == 0)
			set CStatus to 1
			setav aggression 100
			setignorefriendlyhits 1
			EvaluatePackage
		endif
	else
		if (CStatus == 1)
			set CStatus to 0
			setav aggression 5
			setignorefriendlyhits 1
			EvaluatePackage
		endif
	endif


	if (GetDead == 1)
		set timer to 0
	endif

	if (timer > 0)
		set timer to (timer - GetSecondsPassed)
	else
		Disable
		Resurrect 0
		ResetHealth
		setav aggression 5
		set CStatus to 0
		if (slot == 1)
			set qFirefly.slot1 to 0
		elseif (slot == 2)
			set qFirefly.slot2 to 0
		elseif (slot == 3)
			set qFirefly.slot3 to 0
		endif
	endif

endif
end

 

And this is the original:

scn dsSummonScript

float timer
short doOnce
short slot
short CStatus

begin OnActivate
if (GetActionRef == player)
	set timer to 0
endif
end

begin GameMode
if (GetDisabled == 0)
	if (doOnce == 0)
		set doOnce to 1
		setignorefriendlyhits 1
	endif

	if (player.isincombat == 1) || (isincombat == 1)
		if (CStatus == 0)
			set CStatus to 1
			setav aggression 100
			EvaluatePackage
		endif
	else
		if (CStatus == 1)
			set CStatus to 0
			setav aggression 5
			EvaluatePackage
		endif
	endif


	if (GetDead == 1)
		set timer to 0
	endif

	if (timer > 0)
		set timer to (timer - GetSecondsPassed)
	else
		Disable
		Resurrect 0
		ResetHealth
		setav aggression 5
		set CStatus to 0
		if (slot == 1)
			set qFirefly.slot1 to 0
		elseif (slot == 2)
			set qFirefly.slot2 to 0
		elseif (slot == 3)
			set qFirefly.slot3 to 0
		endif
	endif

endif
end

 

I hope someone can help me with this problem.

 

Thanks in advance.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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