I may be going crazy, not sure why I have been messing with this for so long as it is probably irrelevant and not worth fixing but figured I would pass this along....
1. It seems that enumeration is off?
2. On FV Common Tongue = Human Tongue. Not a bug just FV BS < /if ${langArray[${langNum}].Equal[Human Tongue]} ) /fix in macro >
3. Elder Teir'Dal seems messed up example /echo ${Me.Language[Elder Teir'Dal]} reports NULL, I tried a few different combos with no luck.
Code: Select all
|langtest.mac
#event langHelp "#1# - #2#"
sub main
/declare langArray[25] string outer
/declare langHelpNum int outer 1
/declare i int outer 1
/echo =====================
/echo =====================
/echo =====================
/doevents flush
/lang help
/delay 1
/doevents
/for langHelpNum 1 to ${langArray.Size}
/if ( ${Bool[${langArray[${langHelpNum}]}]} ) {
/echo =====================
/echo ${langHelpNum} - ${langArray[${langHelpNum}]}
/echo ${Me.Language[${langArray[${langHelpNum}]}]} - ${Me.Language[${langHelpNum}]}
/echo
}
/next langHelpNum
/return
sub event_langHelp(Line, int num, string name)
/varset langArray[${num}] ${name}
/delay 1
/return
Code: Select all
Logging to 'eqlog.txt' is now *ON*.
[MQ2] =====================
[MQ2] =====================
[MQ2] =====================
Format: /language #
1 - Human Tongue
2 - Barbarian
3 - Erudian
4 - Elvish
5 - Dark Elvish
6 - Dwarvish
7 - Troll
8 - Ogre
9 - Gnomish
10 - Halfling
11 - Thieves Cant
12 - Old Erudian
13 - Elder Elvish
14 - Froglok
15 - Goblin
16 - Gnoll
17 - Combine Tongue
18 - Elder Teir'Dal
19 - Lizardman
20 - Orcish
21 - Faerie
22 - Dragon
23 - Elder Dragon
24 - Dark Speech
25 - Vah Shir
[MQ2] =====================
[MQ2] 1 - Human Tongue
[MQ2] NULL - Human Tongue
[MQ2]
[MQ2] =====================
[MQ2] 2 - Barbarian
[MQ2] 1 - Barbarian
[MQ2]
[MQ2] =====================
[MQ2] 3 - Erudian
[MQ2] 2 - Erudian
[MQ2]
[MQ2] =====================
[MQ2] 4 - Elvish
[MQ2] 3 - Elvish
[MQ2]
[MQ2] =====================
[MQ2] 5 - Dark Elvish
[MQ2] 4 - Dark Elvish
[MQ2]
[MQ2] =====================
[MQ2] 6 - Dwarvish
[MQ2] 5 - Dwarvish
[MQ2]
[MQ2] =====================
[MQ2] 7 - Troll
[MQ2] 6 - Troll
[MQ2]
[MQ2] =====================
[MQ2] 8 - Ogre
[MQ2] 7 - Ogre
[MQ2]
[MQ2] =====================
[MQ2] 9 - Gnomish
[MQ2] 8 - Gnomish
[MQ2]
[MQ2] =====================
[MQ2] 10 - Halfling
[MQ2] 9 - Halfling
[MQ2]
[MQ2] =====================
[MQ2] 11 - Thieves Cant
[MQ2] 10 - Thieves Cant
[MQ2]
[MQ2] =====================
[MQ2] 12 - Old Erudian
[MQ2] 11 - Old Erudian
[MQ2]
[MQ2] =====================
[MQ2] 13 - Elder Elvish
[MQ2] 12 - Elder Elvish
[MQ2]
[MQ2] =====================
[MQ2] 14 - Froglok
[MQ2] 13 - Froglok
[MQ2]
[MQ2] =====================
[MQ2] 15 - Goblin
[MQ2] 14 - Goblin
[MQ2]
[MQ2] =====================
[MQ2] 16 - Gnoll
[MQ2] 15 - Gnoll
[MQ2]
[MQ2] =====================
[MQ2] 17 - Combine Tongue
[MQ2] 16 - Combine Tongue
[MQ2]
[MQ2] =====================
[MQ2] 18 - Elder Teir'Dal
[MQ2] NULL - Elder Teir'Dal
[MQ2]
[MQ2] =====================
[MQ2] 19 - Lizardman
[MQ2] 18 - Lizardman
[MQ2]
[MQ2] =====================
[MQ2] 20 - Orcish
[MQ2] 19 - Orcish
[MQ2]
[MQ2] =====================
[MQ2] 21 - Faerie
[MQ2] 20 - Faerie
[MQ2]
[MQ2] =====================
[MQ2] 22 - Dragon
[MQ2] 21 - Dragon
[MQ2]
[MQ2] =====================
[MQ2] 23 - Elder Dragon
[MQ2] 22 - Elder Dragon
[MQ2]
[MQ2] =====================
[MQ2] 24 - Dark Speech
[MQ2] 23 - Dark Speech
[MQ2]
[MQ2] =====================
[MQ2] 25 - Vah Shir
[MQ2] 24 - Vah Shir
[MQ2]
The current macro has ended.
Oh and my beautiful macro I used to play with arrays, for, and while that is semi-broken =)
Code: Select all
#event langHelp "#1# - #2#"
sub main
/echo =====================================
/echo You must click your main chat window so it will chat there for this to work as /lang only effects the active window
/echo =====================================
/if ( ${Me.GroupSize}<=1 ) /call endmac
/declare gsayDelay int outer 2
/declare gsayTeachCnt int outer
/declare gsayTeachTotal int outer 20
/declare langArray[25] string outer
/declare langNum int outer 1
/doevents flush
/lang help
/delay 5
/doevents langHelp
/for langNum 1 to ${langArray.Size}
/if ( ${Bool[${langArray[${langNum}]}]} ) {
/if ( ${langArray[${langNum}].Equal[Human Tongue]} ) {
/if ( ${Me.LanguageSkill[Common Tongue]} != 100 ) {
/echo Learning Common/Human Tongue
/lang ${langNum}
/while ( ${Me.LanguageSkill[Common Tongue]} < 100 ) {
/if ( ${Me.GroupSize}<=1 ) /call endmac
/delay ${gsayDelay}
/gsay Do you understand the words that are coming out of my mouth?
/gsay Do you understand the words that are coming out of my mouth?
/gsay Do you understand the words that are coming out of my mouth?
}
}
/next langNum
}
/if ( ${langArray[${langNum}].Equal[Elder Teir'Dal]} ) {
/echo Sorry Elder Teir'Dal is broken... skipping
/next langNum
/if ( ${Me.LanguageSkill[Elder Teir'Dal]} != 100 ) {
/echo Learning Elder Teir'Dal/Dragon
/lang ${langNum}
/while ( ${Me.LanguageSkill[Elder Dragon]} < 100 ) {
/if ( ${Me.GroupSize}<=1 ) /call endmac
/delay ${gsayDelay}
/gsay Do you understand the words that are coming out of my mouth?
/gsay Do you understand the words that are coming out of my mouth?
/gsay Do you understand the words that are coming out of my mouth?
}
}
/next langNum
}
/if ( ${Me.LanguageSkill[${langArray[${langNum}]}]} != 100 ) {
/echo Learning ${langArray[${langNum}]}
/lang ${langNum}
/while ( ${Me.LanguageSkill[${langArray[${langNum}]}]} < 100 ) {
/if ( ${Me.GroupSize}<=1 ) /call endmac
/delay ${gsayDelay}
/gsay Do you understand the words that are coming out of my mouth?
/gsay Do you understand the words that are coming out of my mouth?
/gsay Do you understand the words that are coming out of my mouth?
}
}
}
/next langNum
/echo Language all 100
/end
sub endmac
/echo [${Macro.Name}] You need a group! You have none! Goodbye!
/end
sub event_langHelp(Line, int num, string name)
/varset langArray[${num}] ${name}
/return
