Language Macro

Help section from before the user variable changes that broke all macros

Moderator: MacroQuest Developers

Zeus
a hill giant
a hill giant
Posts: 180
Joined: Wed Feb 19, 2003 10:03 am
Contact:

Language Macro

Post by Zeus » Wed Feb 19, 2003 10:06 am

Did a macro for raising language skills but having this problem. When I put in the code /g blah instead of talking in the current language (language is changed on a few lines up) talks in common. Any way around this?

Vendor001
Cheezily Banned
Cheezily Banned
Posts: 78
Joined: Wed Nov 13, 2002 1:37 pm

Post by Vendor001 » Wed Feb 19, 2003 6:40 pm

You could always cheeze(no pun intended) it and just stuff the language text to spam in a hotkey bank.

Then you'd just do /press 1, /press 2, etc. in the spam loop.

Zeus
a hill giant
a hill giant
Posts: 180
Joined: Wed Feb 19, 2003 10:03 am
Contact:

Post by Zeus » Thu Feb 20, 2003 12:20 am

I did that for the time being but i really hate using cheap work arounds was trying to find ouf if that's intended behaviour of MQ or something no one has ever noticed.

Valerian
a grimling bloodguard
a grimling bloodguard
Posts: 709
Joined: Sun Jul 28, 2002 3:29 am

Post by Valerian » Thu Feb 20, 2003 12:35 am

it's actually a bug/feature of EQ, /language command will affect only the default language of the window it's entered in... with only one chat window, it usually works, but with more than one it's best to set the main chat window as the default window to enter text from... other than that, try changing the language for the default window using the popup menu for that window

Zeus
a hill giant
a hill giant
Posts: 180
Joined: Wed Feb 19, 2003 10:03 am
Contact:

Post by Zeus » Thu Feb 20, 2003 9:53 am

Chat is done on the main window and language is changed there too so doubt that's it.

Vendor001
Cheezily Banned
Cheezily Banned
Posts: 78
Joined: Wed Nov 13, 2002 1:37 pm

Post by Vendor001 » Thu Feb 20, 2003 4:16 pm

I think chat && macroquest is kinda hosered in general. After the last patch I had consistently received tells from people asking why I was changing my language(dark speech<->common), when the only thing that was different was using MQ.

Maybe it's not MQ, but doesn't matter much to me anymore...since I wont play if MQ no work(MQ made it kinda fun to play, emphasis on kinda).

L4ZYN00B
decaying skeleton
decaying skeleton
Posts: 2
Joined: Wed Feb 19, 2003 11:23 am

n00b answer

Post by L4ZYN00B » Mon Feb 24, 2003 6:37 am

I am trying to have a language macro too...

My idea would be to be real rough and do something along the line of

/set language 1
/g blahblah
/set language 2
/g blahblah
etc.
and loop it....

I'd love to have a skill check in this but don't quite know how to do that. Ultimately it is not really required as you can just kill the macro when you don’t see your skills raise anymore.

Any idea if the above would work? Would the coding be what I wrote (I wish!!! :lol: ) or something more subtle and sweet? :wink:

Zeus
a hill giant
a hill giant
Posts: 180
Joined: Wed Feb 19, 2003 10:03 am
Contact:

Post by Zeus » Mon Feb 24, 2003 9:10 am

What I did was, have a hotkey with somthing like this

/lang x
/g a
/g a
/g a
/lang 1

macro keeps pressing that hotkey

It runs on two macros. listener and spammer, listener checks wich language spammer is talking in (spammer says Teaching X), sine I couldn't find anywhere how to check the skill you have to go to the macro and fill in the space with the current skill. It then adds to a counter starting in that skill point every time you get language increase message till it gets to a 100 and then says stop. When spammer says stop it stops spamming. I'll post it when I'm dnoe playing with it and feel it's running ok (still has some minor bugs)

woodcraft
orc pawn
orc pawn
Posts: 10
Joined: Tue Jan 14, 2003 10:39 pm

Post by woodcraft » Thu Jun 05, 2003 10:58 am

I am working on a similar script - could you post what you have done so far and I'll see if I can keep it going.... I currently have skill 100 in 2 languages, over 30 in 12 others.....

I just hate doing it on the /press method.

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Thu Jun 05, 2003 11:07 am

Put 5 lines of text in a hotkey:

/g Teaching a language
/g Teaching a language
/g Teaching a language
/g Teaching a language
/g Teaching a language

Bind to hotkey 6

Code: Select all

sub main
:loop
/press 6
/goto :loop
/endmacro
Make sure your main chat is the active chat window. Pick a language, run macro. It will spam the group.

When language reaches 100 for both sender and receiver (language skill now goes up from speaking as well as listening), click on the chat window and change the language. Macro just keeps running, but will now use the new language.

Took me about two hours to Master every language for myself and my wife. Just sat there watching TV, and changed to a new language when the current one reached 100 for both characters. Basically just came back to the computer and changed languages during every commercial break during the season finale of Survivor.

Automating the language change is more trouble than it's worth... I mean, after all, you don't macro unattended do you? :)
MQ2: Think of it as Evolution in action.

woodcraft
orc pawn
orc pawn
Posts: 10
Joined: Tue Jan 14, 2003 10:39 pm

Post by woodcraft » Thu Jun 05, 2003 11:22 am

How do you trap your skill level ?

I would like to put in a /filter so the window doesn't fill up.

Also I would prefer to have a macro per language, but that can be done by changing the button (if I have to)

My sons and I would like to have the script work on each language cycling from one to the next after mastery has happened. If this works in that fashion, then we could let it run for a while (say while were having dinner, etc)

Comments welcome, either here or directly - rmarshal@progress.com

Zeus
a hill giant
a hill giant
Posts: 180
Joined: Wed Feb 19, 2003 10:03 am
Contact:

Post by Zeus » Fri Jun 20, 2003 2:34 am

Kinda messy cause I never fully finished and $char(skill,X) didn't gave back languages (at least at the time so here's what I did, One script for the teacher and one for the listener, had to harcode the current language. Every 10 points of the skill the listener shows a message in group and when its done it ays a message on group for the teacher to stop. Wrote this a few months ago so sorry if I'm a bit rusty on it and can't explain everything in detail.

Code: Select all

| Language Learner

#event Skillup "Your language skills"
#event Teach "Teaching"

#define Lang v10
#define Lng v20

Sub Main
	|/call Skillset
:Mainloop
	/doevents
	/if n $Lang==100 {
		/g Stop skill maxed
		/return
	} else
		/goto :Mainloop
	}	
/return

Sub Skillset
	/delay 1
/return

Sub Event_Teach
	
	/if "$p0"=="Common" {
		/varset Lang 1
	} else /if "$p0"~~"Barbarian" {
		/varset Lang 100
	} else /if "$p0"~~"Erudian" {
		/varset Lang 100
	} else /if "$p0"~~"Dark_Elvish" {
		/varset Lang 5
	} else /if "$p0"~~"Dwarvish" {
		/varset Lang 10
	} else /if "$p0"~~"Troll" {
		/varset Lang 1
	} else /if "$p0"~~"Ogre" {
		/varset Lang 33
	} else /if "$p0"~~"Gnomish" {
		/varset Lang 1
	} else /if "$p0"~~"Halfling" {
		/varset Lang 0
	} else /if "$p0"~~"Thieves_Cant" {
		/varset Lang 3
	} else /if "$p0"~~"Old_Erudian" {
		/varset Lang 6
	} else /if "$p0"~~"Elder_Elvish" {
		/varset Lang 0
	} else /if "$p0"~~"Froglok" {
		/varset Lang 100
	} else /if "$p0"~~"Goblin" {
		/varset Lang 0
	} else /if "$p0"~~"Gnoll" {
		/varset Lang 0
	} else /if "$p0"~~"Combine_Tongue" {
		/varset Lang 0
	} else /if "$p0"~~"Elder_Teir'Dal" {
		/varset Lang 0
	} else /if "$p0"~~"Lizardman" {
		/varset Lang 0
	} else /if "$p0"~~"Orcish" {
		/varset Lang 0
	} else /if "$p0"~~"Faerie" {
		/varset Lang 0
	} else /if "$p0"~~"Dragon" {
		/varset Lang 0
	} else /if "$p0"~~"Elder_Dragon" {
		/varset Lang 0
	} else /if "$p0"~~"Dark_Speech" {
		/varset Lang 16
	} else /if "$p0"~~"Vah_Shir" {
		/varset Lang 0
	} else /if "$p0"~~"Elvish" {
		/varset Lang 100
	} else {
		/varset Language -1
	}
	/doevents flush
	/g My skill at it is $Lang
	/delay 1
/return

Sub Event_Skillup
	/varadd Lang 1
	/if n $Lang!=0 {
		/if n $calc($Lang%10)==0 /g Skill at $Lang
		/if n $Lang>90 /g Skill at $Lang
	}
	/delay 1
/return

Code: Select all

| Language Teacher

#event Done "Stop"

#define Finish v10
#define Language v20

Sub Main
	/varset Finish 0
	/call SelectLang $p0
	/if n $Language==-1 {
		/g Didn't pick a language to teach
		/return
	} else {
		/g Teaching $p0
		/lang $Language
		/goto :MainLoop
	}
	
:MainLoop
	/doevents
	/press 3
	/delay 10
	/if n $Finish==1 {
		/lang 1
		/g Done Teaching $p0
		/return
	} else {
		/goto :MainLoop
	}
/return

Sub SelectLang
	/if "$p0"=="Common" {
		/varset Language 1
	} else /if "$p0"~~"Barbarian" {
		/varset Language 2
	} else /if "$p0"~~"Erudian" {
		/varset Language 3
	} else /if "$p0"~~"Dark_Elvish" {
		/varset Language 5
	} else /if "$p0"~~"Dwarvish" {
		/varset Language 6
	} else /if "$p0"~~"Troll" {
		/varset Language 7
	} else /if "$p0"~~"Ogre" {
		/varset Language 8
	} else /if "$p0"~~"Gnomish" {
		/varset Language 9
	} else /if "$p0"~~"Halfling" {
		/varset Language 10
	} else /if "$p0"~~"Thieves_Cant" {
		/varset Language 11
	} else /if "$p0"~~"Old_Erudian" {
		/varset Language 12
	} else /if "$p0"~~"Elder_Elvish" {
		/varset Language 13
	} else /if "$p0"~~"Froglok" {
		/varset Language 14
	} else /if "$p0"~~"Goblin" {
		/varset Language 15
	} else /if "$p0"~~"Gnoll" {
		/varset Language 16
	} else /if "$p0"~~"Combine_Tongue" {
		/varset Language 17
	} else /if "$p0"~~"Elder_Teir'Dal" {
		/varset Language 18
	} else /if "$p0"~~"Lizardman" {
		/varset Language 19
	} else /if "$p0"~~"Orcish" {
		/varset Language 20
	} else /if "$p0"~~"Faerie" {
		/varset Language 21
	} else /if "$p0"~~"Dragon" {
		/varset Language 22
	} else /if "$p0"~~"Elder_Dragon" {
		/varset Language 23
	} else /if "$p0"~~"Dark_Speech" {
		/varset Language 24
	} else /if "$p0"~~"Vah_Shir" {
		/varset Language 25
	} else /if "$p0"~~"Elvish" {
		/varset Language 4
	} else {
		/varset Language -1
	}
/return

|** Events **|

Sub Event_Done
	/varset Finish 1
	/delay 1
/return


Hope it helps

boldor
a ghoul
a ghoul
Posts: 94
Joined: Tue Sep 10, 2002 11:46 am

Post by boldor » Fri Jun 20, 2003 2:53 pm

http://macroquest2.com/phpBB2/viewtopic.php?t=2544

This is a link to one I posted in Macro Depot lastnight. It assumes that one person teaching has master or near master of all languages.

Doodman
a ghoul
a ghoul
Posts: 124
Joined: Thu Jan 02, 2003 12:07 pm

Post by Doodman » Fri Jun 20, 2003 5:00 pm

A few notes on languages:

1) Speaking does not raise your language skills, only listening.
2) You can only learn to a skill 1 point better that the speaker you are listeing to.
3) Your skill in languages is not take effect until you zone.

You can master a language if you have two chars and one of them has at least one point in the language. Although it would take a lot of zoning per person to get there.

Example:
Player A has 1 in lang x, player B has 0.
Player A "teaches" player B to 2. Player B needs to zone for the 2 to take effect (and back so they are in the same zone).
Player B "teaches" player A to 3. Player A needs to zone for the 3 to take effect (and back so they are in the same zone).
Repeat until each are 100.

Just something to keep in mind.

Valerian
a grimling bloodguard
a grimling bloodguard
Posts: 709
Joined: Sun Jul 28, 2002 3:29 am

Post by Valerian » Sat Jun 21, 2003 1:36 am

jeez, where have YOU been? they changed that a while ago. No need to zone now to see your language skill increase. You can train yourself as well, if grouped and talking in group. don't even have to be in the same zone as any group members to train yourself... Try it sometime...