"Runfunction index greater than function count"

Post » Wed Dec 18, 2013 1:38 am

Hoping someone here can help me. I am trying to get Adul's Opponent Fatigue Indicator mod to work since I want to play a monk (hand-to-hand). However, despite the fact that I have MGE XE 0.9 with the internal MWSE enabled, the script gives me the following error anytime I punch someone:

"Script Opponents_Fatigue_Indicator_bg
Trying to RunFunction Index greater than function count
The Script will not run anymore"

The script for Opponents_Fatigue_Indicator_bg is below:

Begin opponent_fatigue_indicator_bgShort local_screen_yFloat local_screen_y_floatLong local_playerLong local_opponentLong local_opponent_lastShort local_hud_reqFloat local_hud_timerFloat local_fp_currentFloat local_fp_maxFloat local_fp_countShort local_hud_numShort local_hud_typeShort local_pic_numShort local_pic_typeLong local_pic_nameset local_hud_req to MenuModeifx ( local_hud_req )	ifx ( local_hud_type )		MGEFreeHUD, "adul_ofi_hud"		setx local_pic_name to xStringBuild, "adul\ofi\%d_%d.tga", local_hud_type, local_hud_num		MGEFreeTexture, local_pic_name		set local_hud_type to 0	endif	Returnendifsetx local_player to xGetRef, "player"xSetRef, local_playerset local_hud_req to GetWeaponTypeset local_hud_req to ( local_hud_req + 1 )ifx ( local_hud_req )	ifx ( local_hud_type )		MGEFreeHUD, "adul_ofi_hud"		setx local_pic_name to xStringBuild, "adul\ofi\%d_%d.tga", local_hud_type, local_hud_num		MGEFreeTexture, local_pic_name		set local_hud_type to 0		set local_hud_timer to 0	endif	ReturnendifxSetRef, local_playerset local_hud_req to GetWeaponDrawnifx ( local_hud_req )else	ifx ( local_hud_type )		MGEFreeHUD, "adul_ofi_hud"		setx local_pic_name to xStringBuild, "adul\ofi\%d_%d.tga", local_hud_type, local_hud_num		MGEFreeTexture, local_pic_name		set local_hud_type to 0		set local_hud_timer to 0	endif	Returnendifsetx local_opponent to local_player->xGetCombatifx ( local_opponent )else	ifx ( local_hud_type )		MGEFreeHUD, "adul_ofi_hud"		setx local_pic_name to xStringBuild, "adul\ofi\%d_%d.tga", local_hud_type, local_hud_num		MGEFreeTexture, local_pic_name		set local_hud_type to 0		set local_hud_timer to 0	endif	ReturnendifxSetRef, local_opponentset local_hud_req to ( GetSoundPlaying, "Hand To Hand Hit" )ifx ( local_hud_req )else	xSetRef, local_opponent	set local_hud_req to ( GetSoundPlaying, "Hand to Hand Hit 2" )	ifx ( local_hud_req )	else		xSetRef, local_opponent		set local_hud_req to ( GetSoundPlaying, "Health Damage" )		ifx ( local_hud_req )		else			xSetRef, local_player			set local_hud_req to ( GetSoundPlaying, "miss" )		endif	endifendifif ( local_hud_req == 1 )	set local_hud_timer to 5elseif ( local_hud_timer > 0 )	set local_hud_timer to ( local_hud_timer - GetSecondsPassed )	set local_hud_req to 1endififx ( local_hud_req )else	ifx ( local_hud_type )		MGEFreeHUD, "adul_ofi_hud"		setx local_pic_name to xStringBuild, "adul\ofi\%d_%d.tga", local_hud_type, local_hud_num		MGEFreeTexture, local_pic_name		set local_hud_type to 0		set local_hud_timer to 0	endif	Returnendifsetx local_fp_count to local_player->xDistance, local_opponentif ( local_fp_count < 500 )	set local_hud_timer to 5endifxSetRef, local_opponentset local_fp_current to GetFatigueif ( local_fp_current > 1 )	set local_pic_num to 1	set local_pic_type to 1	if ( local_opponent == local_opponent_last )		set local_hud_req to 0	else		set local_hud_req to 1	endifelseif ( local_fp_current < -1 )	set local_pic_num to -1	set local_pic_type to 2	if ( local_opponent == local_opponent_last )		set local_hud_req to 0	else		set local_hud_req to 1	endifelse	set local_pic_num to 0	set local_pic_type to 1endififx ( local_pic_num )	ifx ( local_hud_req )		set local_opponent_last to local_opponent		xSetRef, local_opponent		ModCurrentFatigue, 64000		xSetRef, local_opponent		set local_fp_max to GetFatigue		set local_fp_count to ( local_fp_current - local_fp_max )		xSetRef, local_opponent		ModCurrentFatigue, local_fp_count	endif	set local_fp_current to ( local_fp_current * local_pic_num )	set local_fp_count to ( local_fp_current / local_fp_max )	set local_fp_count to ( local_fp_count * 60 )	set local_fp_count to ( local_fp_count + 1 )	set local_pic_num to local_fp_countendifif ( local_pic_num > 61 )	set local_pic_num to 61endifif ( local_pic_num == local_hud_num )	if ( local_pic_type == local_hud_type )		set local_hud_req to 0	else		set local_hud_req to 1	endifelse	set local_hud_req to 1endififx ( local_hud_req )	ifx ( local_hud_type )		MGEFreeHUD, "adul_ofi_hud"		setx local_pic_name to xStringBuild, "adul\ofi\%d_%d.tga", local_hud_type, local_hud_num		MGEFreeTexture, local_pic_name	endif	set local_hud_num to local_pic_num	set local_hud_type to local_pic_type	setx local_pic_name to xStringBuild, "adul\ofi\%d_%d.tga", local_hud_type, local_hud_num   MGELoadHUD, "adul_ofi_hud", local_pic_name	set local_screen_y to ofi_screen_height	ifx ( local_screen_y )	else		setx local_screen_y to MGEGetHeight	endif	set local_screen_y_float to ( local_screen_y - 86 )	MGEPositionHUD, "adul_ofi_hud", 13, local_screen_y_float	MGEEnableHUD, "adul_ofi_hud"endifEnd opponent_fatigue_indicator_bg

Please point out whether I am being an idiot and missing something or whether there is something I can fix in the script. I attempted to post on Adul's site but have not gotten a response.

Thanks for any assistance!

User avatar
Farrah Lee
 
Posts: 3488
Joined: Fri Aug 17, 2007 10:32 pm

Post » Wed Dec 18, 2013 6:58 am

Hmm...I actually have an edited copy I made that needs cleaning up yet...it works...but the code isn't pretty...guess I should dig that up and finish it...As for Adul...try to contact him http://www.wolflore.net/memberlist.php?mode=viewprofile&u=4338, he hangs out there a lot.

User avatar
Charlotte Lloyd-Jones
 
Posts: 3345
Joined: Fri Jun 30, 2006 4:53 pm


Return to III - Morrowind