Jump to content

[LE] Need help with Shout by script


irswat

Recommended Posts

I'm brand new to these functions pertaining to Shouts and Words of Power. I was hoping someone could help me figure out why this script won't compile. Perhaps there is an easier way to do this:

 

if CurrentCMD=="Thuum"
	bool[] ShoutCmdCheck=new bool[4]
	string[] ShoutCmdArray=new string[4]
	WordOfPower[] ShoutCmdForm=new WordOfPower[4]
	
	form ShoutForm
	
	WordOfPower wWOP
	WordOfPower curWOP
							
	int ShoutKey = Input.GetMappedKey("Shout",0x00)	;borrowed this from SkyVoice
	int iShoutForm
	int ShoutLoop
	int ShoutLoop2
	int ShoutStrength
	
	float ShoutiCheck
	float curWOPRecoveryTime
	
	bool BreakShoutLoop=false
	
	string ShoutName
	
	debug.trace("Equip CMD detected")
	endCMD=SVE_DumpArray.Find("QUICK", iCMDFound)	;index of delimiter, begins at index of current CMD
	CMDLength=endCMD - iCMDFound ;number of words between command and delimiter("QUICK")
	while (CMDParserCounter<CMDLength)	
		ShoutLoop=1
		ShoutStrength=0
		ShoutLoop2=0
		Break=false
		
		wToParse=SVE_DumpArray[iCMDFound + CMDParserCounter]	;parsing command content word by word
		iItemFound=ShoutWords.Find(wToParse)
		
		if CmdParserCounter==1
			iShoutForm=((iItemFound/3) as int)	;this gives me the index of the shout the word is from
			ShoutName=ShoutNames[iShoutForm]	;this gives me the name of the shout
			ShoutForm=ShoutFormList.GetAt(iShoutForm)	;this gives me the form of the shout
			ShoutForm=(ShoutForm as Shout)
			
			if ShoutForm
				while (ShoutLoop<=3)
					wWOP=ShoutForm.GetNthWordOfPower(ShoutLoop - 1)
					ShoutCmdForm[ShoutLoop]=wWOP;this fills an array [1-3] with the three 'words of power'
					ShoutLoop+=1
				endwhile
			endif
		endif 
												
		ShoutLoop=0					
		
		;this bit of code determines whether this is word 1, 2, or 3
		ShoutiCheck=iItemFound/3
		if ShoutiCheck==(ShoutiCheck as int)
			ShoutCmdArray[3]=wToParse
		elseif ShoutiCheck!=(ShoutiCheck as int)
			ShoutiCheck=(iItemFound - 1)/2
			if ShoutiCheck==(ShoutiCheck as int)
				ShoutCmdArray[2]=wToParse
			endif
		else
			ShoutCmdArray[1]=wToParse
		endif
	endWhile
	
	while (ShoutLoop<=3)
		if ShoutCmdArray[ShoutLoop]==ShoutCmdForm[ShoutLoop].GetName()
			ShoutCmdCheck[ShoutLoop]=true
		else
			ShoutCmdCheck[ShoutLoop]=false
			BreakShoutLoop=true
		endif
		ShoutLoop+=1
	endWhile
		
	if BreakShoutLoop==true
		ShoutLoop-=2	;shoutloop now represents the number of valid consecutive words of 'power'
	else
		ShoutLoop-=1	;transformed ShoutLoop to execute word of power beginning with index 0
	endif
	if ShoutCmdCheck[1]==true
		while (ShoutLoop2<=ShoutLoop)
			curWOPRecoveryTime=PlayerRef.GetVoiceRecoveryTime()
			if (curWOPRecoveryTime<=0) 
				curWOP=ShoutForm.GetNthWordOfPower(ShoutLoop2)
				if Game.IsWordUnlocked(curWOP)
					PlayerREF.EquipShout(ShoutForm)
					Input.HoldKey(ShoutKey)	;borrowed this method from SkyVoice
					Utility.wait(0.02)
				endif
			endif
		endwhile
	endif			
	
	Input.ReleaseKey(ShoutKey)		
 

 

 

 

compiler log

 

Starting 1 compile threads for 1 files...
Compiling "SVE_ParserEngine"...
C:\Games\steamapps\common\skyrim\Data\Scripts\Source\SVE_ParserEngine.psc(691,24): GetNthWordOfPower is not a function or does not exist
C:\Games\steamapps\common\skyrim\Data\Scripts\Source\SVE_ParserEngine.psc(733,25): GetNthWordOfPower is not a function or does not exist
C:\Games\steamapps\common\skyrim\Data\Scripts\Source\SVE_ParserEngine.psc(735,19): type mismatch on parameter 1 (did you forget a cast?)
No output generated for SVE_ParserEngine, compilation failed.

 

 

Edited by irswat
Link to comment
Share on other sites

Very cool. I have hope that this method might work, but there are some bugs, with the logic, etc.

Here is the relevant code:

 

if curCMDFromList=="Thuum"
	debug.trace("Thuum CMD detected")
	endCMD=SVE_DumpArray.Find("QUICK", iCurCMDFromList)	;index of delimiter, begins at index of current CMD
	CMDLength=endCMD - iCurCMDFromList ;number of words between command and delimiter("QUICK")
	while (CMDParserCounter<CMDLength)	
		ShoutLoop=1
		ShoutStrength=0
		ShoutLoop2=0
		Break=false
		
		wToParse=SVE_DumpArray[iCurCMDFromList + CMDParserCounter]	;parsing command content word by word
		iItemFound=ShoutWords.Find(wToParse)
		debug.trace("PARSING WORD: " + wToParse)
		if CmdParserCounter==1
			iShoutForm=((iItemFound/3) as int)	;this gives me the index of the shout the word is from
			debug.trace("Index of shout form " + iShoutForm)
			ShoutName=ShoutNames[iShoutForm]	;this gives me the name of the shout
			debug.trace("Name of shout: " + ShoutName)
			ShoutForm=ShoutFormList.GetAt(iShoutForm)	;this gives me the form of the shout
			debug.trace("ShoutForm:" + ShoutForm)
			
			if ShoutForm
				while (ShoutLoop<=3)
					wWOP=(ShoutForm as Shout).GetNthWordOfPower(ShoutLoop - 1)
					debug.trace("Current word of power: " + wWOP)
					debug.trace("Current word of power: " + wWOP.GetName())
					ShoutCmdForm[ShoutLoop]=wWOP;this fills an array [1-3] with the three 'words of power'
					ShoutLoop+=1
				endwhile
			endif
		endif 
												
		ShoutLoop=0					
		
		;this bit of code determines whether this is word 1, 2, or 3
		ShoutiCheck=iItemFound/3
		if ShoutiCheck==(ShoutiCheck as int)
			ShoutCmdArray[3]=wToParse
			debug.trace("Word 3")
		elseif ShoutiCheck!=(ShoutiCheck as int)
			ShoutiCheck=(iItemFound - 1)/2
			if ShoutiCheck==(ShoutiCheck as int)
				ShoutCmdArray[2]=wToParse
				debug.trace("Word 2")
			endif
		else
			ShoutCmdArray[1]=wToParse
			debug.trace("Word 1")
		endif
		CmdParserCounter+=1
	endWhile
	
	while (ShoutLoop<=3)
		if ShoutCmdArray[ShoutLoop]==ShoutCmdForm[ShoutLoop]
			ShoutCmdCheck[ShoutLoop]=true
		else
			ShoutCmdCheck[ShoutLoop]=false
			BreakShoutLoop=true
		endif
		ShoutLoop+=1
	endWhile
		
	if BreakShoutLoop==true
		ShoutLoop-=2	;shoutloop now represents the number of valid consecutive words of 'power'
	else
		ShoutLoop-=1	;transformed ShoutLoop to execute word of power beginning with index 0
	endif
	if ShoutCmdCheck[1]==true
		while (ShoutLoop2<=ShoutLoop)
			curWOPRecoveryTime=PlayerRef.GetVoiceRecoveryTime()
			if (curWOPRecoveryTime<=0) 
				curWOP=ShoutCmdForm[ShoutLoop2]
				if Game.IsWordUnlocked(curWOP)
					PlayerREF.EquipShout(ShoutForm as Shout)
					Input.HoldKey(ShoutKey)	;borrowed this method from SkyVoice
					Utility.wait(0.02)
					debug.notification("casting shout " + ShoutName)
				endif
			endif
		endwhile
	endif			
	
	Input.ReleaseKey(ShoutKey)		
		
	CmdParserCounter=0

 

 

Here is my log:

 

 

[11/22/2016 - 12:34:57PM] Loop 3 of 3

[11/22/2016 - 12:34:57PM] GetCMDFromCMDOrder Reset? 3
[11/22/2016 - 12:34:57PM] Index of last command from SVE_DumpArray17
[11/22/2016 - 12:34:57PM] iCurCMDFromList: 12
[11/22/2016 - 12:34:57PM] GetCMDFromCMDOrder (int of command from commandlist: 0
[11/22/2016 - 12:34:57PM] curCMDFromList (string of current command from commandlist: Thuum
[11/22/2016 - 12:34:57PM] Thuum CMD detected
[11/22/2016 - 12:34:57PM] PARSING WORD: Fus
[11/22/2016 - 12:34:57PM] Index of shout form 25
[11/22/2016 - 12:34:57PM] Name of shout: Throw Voice
[11/22/2016 - 12:34:57PM] ShoutForm:[Form < (0007097F)>]
[11/22/2016 - 12:34:57PM] Current word of power: [WordOfPower < (000602A0)>]
[11/22/2016 - 12:34:57PM] Current word of power: Zul
[11/22/2016 - 12:34:57PM] Current word of power: [WordOfPower < (000602A1)>]
[11/22/2016 - 12:34:58PM] Current word of power: M9
[11/22/2016 - 12:34:58PM] Current word of power: [WordOfPower < (000602A2)>]
[11/22/2016 - 12:34:58PM] Current word of power: Gut
[11/22/2016 - 12:34:58PM] Word 3
[11/22/2016 - 12:34:58PM] PARSING WORD: Ro
[11/22/2016 - 12:34:58PM] Word 3
[11/22/2016 - 12:34:58PM] PARSING WORD: Dah
[11/22/2016 - 12:34:58PM] Word 3
[11/22/2016 - 12:34:58PM] Command parser test complete in 0.000299 seconds.

 



Question: I was looking through the names of the various words of power, and the fact that the names do not match what they ought to be will cause troubles for my mod. For example if I wanted the name of the second word of power in throw voice instead of "Mey" it would return "M9", because that is what is in the CK. I was going to fix the names on all of the word of power forms, am I correct to assume that shouldn't break anything in the game?

Link to comment
Share on other sites

relevant array info:


 

ShoutNames=new string[128] ;skipping 0 on purpose

ShoutNames[1]="Animal Allegiance"
ShoutNames[2]="Aura Whisper"
ShoutNames[3]="Battle Fury"
ShoutNames[4]="Become Ethereal"
ShoutNames[5]="Bend Will"
ShoutNames[6]="Call Dragon"
ShoutNames[7]="Call of Valor"
ShoutNames[8]="Clear Skies"
ShoutNames[9]="Cyclone"
ShoutNames[10]="Disarm"
ShoutNames[11]="Dismay"
ShoutNames[12]="Dragon Aspect"
ShoutNames[13]="Dragonrend Joor"
ShoutNames[14]="Drain Vitality"
ShoutNames[15]="Elemental Fury"
ShoutNames[16]="Fire Breath"
ShoutNames[17]="Frost Breath"
ShoutNames[18]="Ice Form"
ShoutNames[19]="Kyne's Peace"
ShoutNames[20]="Marked for Death"
ShoutNames[21]="Slow Time"
ShoutNames[22]="Soul Tear"
ShoutNames[23]="Storm Call"
ShoutNames[24]="Summon Durnehviir"
ShoutNames[25]="Throw Voice"
ShoutNames[26]="Unrelenting Force"
ShoutNames[27]="Whirlwind Sprint"
;***********************************************
ShoutWords=new string[128] ;skipping 0 on purpose
ShoutWords[1]="Raan"
ShoutWords[2]="Mir"
ShoutWords[3]="Tah"
ShoutWords[4]="Laas"
ShoutWords[5]="Yah"
ShoutWords[6]="Nir"
ShoutWords[7]="Mid"
ShoutWords[8]="Vur"
ShoutWords[9]="Shaan"
ShoutWords[10]="Feim"
ShoutWords[11]="Zii"
ShoutWords[12]="Gron"
ShoutWords[13]="Gol"
ShoutWords[14]="Hah"
ShoutWords[15]="Dov"
ShoutWords[16]="Od"
ShoutWords[17]="Ah"
ShoutWords[18]="Viing"
ShoutWords[19]="Hun"
ShoutWords[20]="Kaal"
ShoutWords[21]="Zoor"
ShoutWords[22]="Lok"
ShoutWords[23]="Vah"
ShoutWords[24]="Koor"
ShoutWords[25]="Ven"
ShoutWords[26]="Gaar"
ShoutWords[27]="Nos"
ShoutWords[28]="Zun"
ShoutWords[29]="Haal"
ShoutWords[30]="Viik"
ShoutWords[31]="Faas"
ShoutWords[32]="Ru"
ShoutWords[33]="Maar"
ShoutWords[34]="Mul"
ShoutWords[35]="Qah"
ShoutWords[36]="Diiv"
ShoutWords[37]="Joor"
ShoutWords[38]="Zah"
ShoutWords[39]="Frul"
ShoutWords[40]="Gaan"
ShoutWords[41]="Lah"
ShoutWords[42]="Haas"
ShoutWords[43]="Su"
ShoutWords[44]="Grah"
ShoutWords[45]="Dun"
ShoutWords[46]="Yol"
ShoutWords[47]="Toor"
ShoutWords[48]="Shul"
ShoutWords[49]="Fo"
ShoutWords[50]="Krah"
ShoutWords[51]="Diin"
ShoutWords[52]="Liz"
ShoutWords[53]="Slen"
ShoutWords[54]="Nus"
ShoutWords[55]="Kaan"
ShoutWords[56]="Drem"
ShoutWords[57]="Ov"
ShoutWords[58]="Krii"
ShoutWords[59]="Lun"
ShoutWords[60]="Aus"
ShoutWords[61]="Tiid"
ShoutWords[62]="Klo"
ShoutWords[63]="Ul"
ShoutWords[64]="Rii"
ShoutWords[65]="Vaaz"
ShoutWords[66]="Zol"
ShoutWords[67]="Struhn"
ShoutWords[68]="Bah"
ShoutWords[69]="Qo"
ShoutWords[70]="Dur"
ShoutWords[71]="Neh"
ShoutWords[72]="Viir"
ShoutWords[73]="Zul"
ShoutWords[74]="Mey"
ShoutWords[75]="Gut"
ShoutWords[76]="Fus"
ShoutWords[77]="Ro"
ShoutWords[78]="Dah"
ShoutWords[79]="Wuld"
ShoutWords[80]="Nah"
ShoutWords[81]="Kest"

 



Unfortunately my theory to divide the shoutwords index where the current word as three, and then cast that float as an int to get the index of the shoutname/shoutform, is slightly flawed. For example in the above test the CMD passed to the engine was Thuum Fus Ro Dah, which could have return index 26, and shout unrelenting force, but it is returning index 25/throw voice. The reason seems to be because as int rounds down.

Link to comment
Share on other sites

One little piece of code is keeping this function from working I think. I need a better method. Refer to the post directly above in show relevant array info. The commands come as literal strings, so I search a list of all shout words. The list of shout words is designed to match both a list(string array) of shout names, as well as a FormList of ShoutForms (e.g. index starting at 1-27 instead of 0-26). The idea was if I take the index of the word and divide that by three it would give me the shout that the word belongs to. And I was using the method below to try to determine what word of the shout it is (e.g. 1,2, or 3). Any suggestions?

 

;this bit of code determines whether this is word 1, 2, or 3
ShoutiCheck=iItemFound/3.0
if ShoutiCheck==(ShoutiCheck as int)
	ShoutCmdArray[3]=wToParse
	debug.trace("ShoutiCheck: " + ShoutiCheck + " ;as int: " + (ShoutICheck as int) + " . Word 3")
elseif ShoutiCheck!=(ShoutiCheck as int)
	ShoutiCheck=(iItemFound - 1.0)/2.0
	if ShoutiCheck==(ShoutiCheck as int)
		ShoutCmdArray[2]=wToParse
		debug.trace("ShoutiCheck: " + ShoutiCheck + " ;as int: " + (ShoutICheck as int) + " . Word 2")
	endif
else
	ShoutCmdArray[1]=wToParse
	debug.trace("ShoutiCheck: " + ShoutiCheck + " ;as int: " + (ShoutICheck as int) + " . Word 1")
endif
 

 



Log

 

[11/22/2016 - 03:44:50PM] Loop 3 of 3
[11/22/2016 - 03:44:50PM] GetCMDFromCMDOrder Reset? 3
[11/22/2016 - 03:44:50PM] Index of last command from SVE_DumpArray17
[11/22/2016 - 03:44:50PM] iCurCMDFromList: 12
[11/22/2016 - 03:44:50PM] GetCMDFromCMDOrder (int of command from commandlist: 0
[11/22/2016 - 03:44:50PM] curCMDFromList (string of current command from commandlist: Thuum
[11/22/2016 - 03:44:50PM] Thuum CMD detected
[11/22/2016 - 03:44:50PM] PARSING WORD: Fus at iItemFound 76
[11/22/2016 - 03:44:50PM] Index of shout form 25
[11/22/2016 - 03:44:50PM] Name of shout: Unrelenting Force
[11/22/2016 - 03:44:50PM] ShoutForm:[shout < (00013E07)>]
[11/22/2016 - 03:44:50PM] Current word of power: [WordOfPower < (00013E22)>]
[11/22/2016 - 03:44:50PM] Current word of power: Fus
[11/22/2016 - 03:44:50PM] Current word of power: [WordOfPower < (00013E23)>]
[11/22/2016 - 03:44:50PM] Current word of power: Ro
[11/22/2016 - 03:44:50PM] Current word of power: [WordOfPower < (00013E24)>]
[11/22/2016 - 03:44:50PM] Current word of power: Dah
[11/22/2016 - 03:44:50PM] PARSING WORD: Ro at iItemFound 77
[11/22/2016 - 03:44:50PM] ShoutiCheck: 38.000000 ;as int: 38 . Word 2
[11/22/2016 - 03:44:50PM] PARSING WORD: Dah at iItemFound 78
[11/22/2016 - 03:44:50PM] ShoutiCheck: 26.000000 ;as int: 26 . Word 3
[11/22/2016 - 03:44:50PM] WordFromShoutCMDArray: does not equal Fus
[11/22/2016 - 03:44:50PM] Adjusting ShoutLoop for use. Adjusted: 0
[11/22/2016 - 03:44:50PM] Command parser test complete in 0.000292 seconds.

 



edit: I forgot how finicky papyrus is with floats. I added '.0' in a couple places and got much better results. The "Else" condition to fill the first word seems to be failing still however. Else is valid in papyrus right?

Edited by irswat
Link to comment
Share on other sites

I got around that problem using a clumsy piece of code. Aside from 1, every 1st word is a multiple of 4.

 

				ShoutiCheck1=iItemFound/4.0
				ShoutiCheck2=(iItemFound - 1.0)/3.0
				ShoutiCheck3=iItemFound/3.0
								
				;this bit of code determines whether this is word 1, 2, or 3
				if ShoutiCheck1==(ShoutiCheck1 as int) || iItemFound==1
					ShoutCmdArray[1]=wToParse
					debug.trace("ShoutiCheck: " + ShoutiCheck1 + " ;as int: " + (ShoutICheck1 as int) + " . Word 1")
				endif
				if ShoutiCheck2==(ShoutiCheck2 as int) || iItemFound==2
					ShoutCmdArray[2]=wToParse
					debug.trace("ShoutiCheck: " + ShoutiCheck2 + " ;as int: " + (ShoutICheck2 as int) + " . Word 2")
				endif
				if ShoutiCheck3==(ShoutiCheck3 as int)
					ShoutCmdArray[3]=wToParse
					debug.trace("ShoutiCheck: " + ShoutiCheck3 + " ;as int: " + (ShoutICheck3 as int) + " . Word 3")
				endif

 



Log:

 

 

[11/22/2016 - 04:47:49PM] Loop 3 of 3

[11/22/2016 - 04:47:49PM] GetCMDFromCMDOrder Reset? 3
[11/22/2016 - 04:47:49PM] Index of last command from SVE_DumpArray17
[11/22/2016 - 04:47:49PM] iCurCMDFromList: 12
[11/22/2016 - 04:47:49PM] GetCMDFromCMDOrder (int of command from commandlist: 0
[11/22/2016 - 04:47:49PM] curCMDFromList (string of current command from commandlist: Thuum
[11/22/2016 - 04:47:49PM] Thuum CMD detected
[11/22/2016 - 04:47:49PM] PARSING WORD: Fus at iItemFound 76
[11/22/2016 - 04:47:49PM] Index of shout form 25
[11/22/2016 - 04:47:49PM] Name of shout: Unrelenting Force
[11/22/2016 - 04:47:49PM] ShoutForm:[shout < (00013E07)>]
[11/22/2016 - 04:47:49PM] Current word of power: [WordOfPower < (00013E22)>]
[11/22/2016 - 04:47:49PM] Current word of power: Fus
[11/22/2016 - 04:47:49PM] Current word of power: Ro
[11/22/2016 - 04:47:49PM] Current word of power: [WordOfPower < (00013E24)>]
[11/22/2016 - 04:47:49PM] Current word of power: Dah
[11/22/2016 - 04:47:49PM] ShoutiCheck: 19.000000 ;as int: 19 . Word 1
[11/22/2016 - 04:47:49PM] ShoutiCheck: 25.000000 ;as int: 25 . Word 2
[11/22/2016 - 04:47:49PM] PARSING WORD: Ro at iItemFound 77
[11/22/2016 - 04:47:49PM] PARSING WORD: Dah at iItemFound 78
[11/22/2016 - 04:47:49PM] ShoutiCheck: 26.000000 ;as int: 26 . Word 3
[11/22/2016 - 04:47:49PM] WordFromShoutCMDArray: Fus equals WordFromShoutCMDForm Fus
[11/22/2016 - 04:47:49PM] WordFromShoutCMDArray: Fus does not equal Ro

 

 

Edited by irswat
Link to comment
Share on other sites

Big progress. Two problems:

1.) I can't figure out why all three words aren't working. The big red flag is the part in the log that says "fus does not equal WordFromShoutCMDForm Ro".

e.g. I'm expecting this:

 

WordFromShoutCMDArray: Fus equals WordFromShoutCMDForm Fus

WordFromShoutCMDArray: Ro equals WordFromShoutCMDForm Ro

WordFromShoutCMDArray: Dah equals WordFromShoutCMDForm Dah


2.) The script runs says casting shout unrelenting force, and does equip the shout, but does not actually cast the shout.

here is the relevant piece of code:



ShoutKey=Input.GetMappedKey("Shout",0x00)	;borrowed this from SkyVoice
ShoutLoop=1
while (ShoutLoop<=3) && BreakShoutLoop==false
	WordFromShoutCMDArray=ShoutCmdArray[ShoutLoop]
	WordFromShoutCMDForm=ShoutCmdForm[ShoutLoop].GetName()
	
	if WordFromShoutCMDArray == WordFromShoutCMDForm
		ShoutCmdCheck[ShoutLoop]=true
		debug.trace("WordFromShoutCMDArray: " + WordFromShoutCMDArray + " equals WordFromShoutCMDForm " + WordFromShoutCMDForm)
	elseif WordFromShoutCMDArray != WordFromShoutCMDForm
		ShoutCmdCheck[ShoutLoop]=false
		BreakShoutLoop=true
		debug.trace("WordFromShoutCMDArray: " + WordFromShoutCMDArray + " does not equal WordFromShoutCMDForm " + WordFromShoutCMDForm)
	endif
	
	if BreakShoutLoop==false
		ShoutLoop+=1
	endif
endWhile

;ShoutLoop initializes at 1. ShoutLoop2 @ 0
;ShoutLoop-=1	;transformed ShoutLoop to execute word of power beginning with index 0
;debug.trace("Adjusting ShoutLoop for use. Adjusted: " + ShoutLoop)


while (ShoutLoop2<=ShoutLoop) && ShoutCmdCheck[ShoutLoop2]==true
	Debug.trace("Detected valid word of power " + ShoutLoop2)
	curWOPRecoveryTime=PlayerRef.GetVoiceRecoveryTime()
	if (curWOPRecoveryTime<=0.0) 
		curWOP=ShoutCmdForm[ShoutLoop2]
		if Game.IsWordUnlocked(curWOP)
			PlayerREF.EquipShout(ShoutForm as Shout)
			Input.HoldKey(ShoutKey)	;borrowed this method from SkyVoice
			Utility.wait(0.06)
			debug.trace("casting shout " + ShoutName)
		endif
	endif
	ShoutLoop2+=1
endwhile
Input.ReleaseKey(ShoutKey)		

 


and the log:

 

 

[11/22/2016 - 05:14:36PM] Loop 3 of 3

[11/22/2016 - 05:14:36PM] GetCMDFromCMDOrder Reset? 3
[11/22/2016 - 05:14:36PM] Index of last command from SVE_DumpArray17
[11/22/2016 - 05:14:36PM] iCurCMDFromList: 12
[11/22/2016 - 05:14:36PM] GetCMDFromCMDOrder (int of command from commandlist: 0
[11/22/2016 - 05:14:36PM] curCMDFromList (string of current command from commandlist: Thuum
[11/22/2016 - 05:14:36PM] Thuum CMD detected
[11/22/2016 - 05:14:36PM] PARSING WORD: Fus at iItemFound 76
[11/22/2016 - 05:14:36PM] Index of shout form 25
[11/22/2016 - 05:14:36PM] Name of shout: Unrelenting Force
[11/22/2016 - 05:14:36PM] ShoutForm:[shout < (00013E07)>]
[11/22/2016 - 05:14:36PM] Current word of power: [WordOfPower < (00013E22)>]
[11/22/2016 - 05:14:36PM] Current word of power: Fus
[11/22/2016 - 05:14:36PM] Current word of power: [WordOfPower < (00013E23)>]
[11/22/2016 - 05:14:36PM] Current word of power: Ro
[11/22/2016 - 05:14:36PM] Current word of power: [WordOfPower < (00013E24)>]
[11/22/2016 - 05:14:36PM] Current word of power: Dah
[11/22/2016 - 05:14:36PM] ShoutiCheck: 19.000000 ;as int: 19 . Word 1
[11/22/2016 - 05:14:36PM] ShoutiCheck: 25.000000 ;as int: 25 . Word 2
[11/22/2016 - 05:14:36PM] PARSING WORD: Ro at iItemFound 77
[11/22/2016 - 05:14:36PM] PARSING WORD: Dah at iItemFound 78
[11/22/2016 - 05:14:36PM] ShoutiCheck: 26.000000 ;as int: 26 . Word 3
[11/22/2016 - 05:14:36PM] WordFromShoutCMDArray: Fus equals WordFromShoutCMDForm Fus
[11/22/2016 - 05:14:36PM] WordFromShoutCMDArray: Fus does not equal WordFromShoutCMDForm Ro
[11/22/2016 - 05:14:36PM] Detected valid word of power 1
[11/22/2016 - 05:14:36PM] casting shout Unrelenting Force
[11/22/2016 - 05:14:36PM] Command parser test complete in 0.000376 seconds.

 


Edited by irswat
Link to comment
Share on other sites

  • Recently Browsing   0 members

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