Probier mal das hier:
Code:
Scriptname ZFinisherQuestScript

Short bFinish
Short iFinisherKey
Float fQuestdelayTime
Float fTimer
Ref rTarget

Begin GameMode
	if ( bFinish )
		set fTimer to ( fTimer + GetSecondsPassed )
		if ( fTimer >= 0.5 )
			rTarget.Kill
			rTarget.RemoveItem ZTFinisherRing, 1
			set bFinish to 0
			set fTimer to 0
		endif
	elseif ( IsKeyPressed2 iFinisherKey )
		set rTarget to GetCrosshairRef
		if ( IsFormValid rTarget )
			if ( rTarget.IsActor ) && ( rTarget.GetIsCreature == 0 ) && ( rTarget.GetDead == 0 )
				set bFinish to 1
				rTarget.AddItem ZTFinisherRing, 1
				Player.Pickidle
				rTarget.PickIdle
			endif
		endif
	endif
End

Bei der alten Version wurde der Timer nie verwendet: es war extrem unwahrscheinlich, dass Possible bis zur Abfrage auch wirklich 2 bleibt.