Page 2 of 3
Posted: Sun Oct 12, 2003 6:20 am
by zedisdeadbaby
I like the change too. I'm a lazy programmer and I've had a few hard to find bugs before due to mis-spelled variables. That, and the way is was before was pretty wacky.
I would prefer a COM object, complete with events for chat, char being hit, someone making a trade, etc.., which I could use for an interface to eqlib from visual basic (censor: i'm an idiot; please ignore me). But I don't think anything is going to put that together anytime soon.
8)
Plazmic wrote:So far it seems the vocal people like the change... how many of the quiet don't like it? and if they don't like it so much, why have they been quiet for the last 2 weeks?
Posted: Sun Oct 12, 2003 8:09 am
by Mckorr
I can understand both points of view. Converting hundreds of macros is a chore.... especially for those script kiddies that didn't write them themselves. And before you jump on me I'll state straight out I didn't write most of my macros.
I didn't write them BECAUSE I had so much trouble with the old variable format. That mess of v's, p's, t's, etc. was a major pain to read and learn, especially with a heavy use of include files. My macros tend to be modular, using several include files so I don't have to cut and paste between files, and yes, that meant variable conflicts.
Don't get me started on arrays :) I never did figure those out.
The new variable format makes sense (well, I'm still figuring out when to use @ and when not to, and if I still need to do things like /if n @variable instead of /in @variable). To make things easy on myself I just converted the two macros I use constantly, deleted the rest, and started rewriting from the ground up.
Amazingly enough, it's easy

No more cryptic letters and numbers. No more wondering if I have a(#,#) set up correctly, or if I'm changing the first # when I should be changing the second.
Sure, a lot of people are unhappy with the change. A lot of people want "plug and play MQ", and a lot of very smart folks who wrote wonderful macros in the old format don't want to have to rewrite them. People are being forced to relearn the language, and people resist change.
But for the folks who are just learning to write macros the changes are a godsend. For those who integrate others work into their own partial macros (me for one) the ability to easily avoid variable conflicts is a blessing. And for all those old-timer wizard macro writers... thanks for your hard work, and sorry if the variable change is giving you headaches.
Now if only Plaz would give me my n-dimensional arrays... or arrays of arrays...

Posted: Sun Oct 12, 2003 10:32 am
by blakbelt
I like the changes and think once everyone gets to grip with them they will be a huge improvement. However, this is (without documentation) too much for my poor lame brain to convert.
It would help if one of you large cranium types could put something down in writing as to how we use this new language or syntax.
Thanks
like
Posted: Sun Oct 12, 2003 11:34 am
by FlashG
I Like the changes. It is a step closer to 'conventional' programming rules, which in the long run will make codeing faster.
In the short term it is a hasle to redo the macros and it DIDN'T do what I was hoping. I was Hoping that it would reduce 'case sensitivity' and misspelling of varible names. As a example I was re-doing my Muse.mac and had a Misspelled ToBeParsed as TobeParsed. This took ALONG time to catch and debug. Also, putting a misspelled Varible in a 'little used' bit of code could be disasterious. As as Example, under the old code I had code that Feigned Death and did some life saving maneuvers when summoned or near death. Well, the only way to debug it was tried to get killed. AFTER getting killed is not the time to find out a misspelling.
Flash
Posted: Sun Oct 12, 2003 4:01 pm
by Plazmic
My changes a couple weeks ago should have made debugging stuff like that easier...
The stack trace of what sub/line it was on and how the macro got there does help.
I want to know what the most annoying macro error is to people...
Mine is: varcalc encountered a '
Posted: Sun Oct 12, 2003 6:22 pm
by Nanan
All in all you did an amazing job plaz with a roll out smoother then the crap SoE gives us.
The only error that drives me up the wall is the "this var has already been declared" error. A small change to my code fixed it but it was not something I had expected at first.
Posted: Sun Oct 12, 2003 6:34 pm
by in_training
In regards to FlashG.
I don't know of any languages that are not case-sensitive. As you might know, computers think in 1's and 0's. an 'A' is NOT = an 'a', because of the ASCII chart. Most debugging is just what you had to do, a misspelled (or in this case, a mis-types) cariable. It's tedious and time comsuming, but over-all, it will allow the people that aren't 'Script-kiddies' to write marcos that will do anything that you can think of in EQ. IMHO, it's a great step in the right direction. Make it more like C, C++, or c#, and it'll give us more freedom to allow for a much broader array of possibilities.
I am new to MQ, yes however, I am a programmer, and I plan on writing macroed until you all are sick of seeing my name on these boards......
....Now, to figure out why my C complier is taking a poo on this new compile...
Posted: Sun Oct 12, 2003 7:55 pm
by ap50
in_training wrote:Most debugging is just what you had to do, a misspelled (or in this case, a mis-types) cariable.
I do love it when something meant to be serious turns into a funny.

Posted: Sun Oct 12, 2003 9:22 pm
by MajikL_p00p
I was still trying to learn to write macros the old way and I was close to actually being good, now im going to suck again and all my macros won't work now. Can anyone link me to a thread that explains the changes and how to convert old macros, if there is a thread like that?
Why me?
Posted: Sun Oct 12, 2003 10:56 pm
by auth
In regards to in_training:
In regards to FlashG.
I don't know of any languages that are not case-sensitive. As you might know, computers think in 1's and 0's. an 'A' is NOT = an 'a', because of the ASCII chart. Most debugging is just what you had to do, a misspelled (or in this case, a mis-types) cariable. It's tedious and time comsuming, but over-all, it will allow the people that aren't 'Script-kiddies' to write marcos that will do anything that you can think of in EQ. IMHO, it's a great step in the right direction. Make it more like C, C++, or c#, and it'll give us more freedom to allow for a much broader array of possibilities.
I am new to MQ, yes however, I am a programmer, and I plan on writing macroed until you all are sick of seeing my name on these boards......
You are a programmer and can't think of any languages that aren't case sensitive, everyone on this board is a programmer now? Don't try to be someone you're not, if you have schooled for more than two languages, you know there are langauges that aren't case sensitive (Cobol, RPG (which are still in use in over 50 percent of businesses today for the 'real programmers')) and while I realize that html is not a ... language per-say... I do know that it is one of the entries into the interest of programming, and it is easy enough to use. Before you go bombing on flash g, you need to step off of your high horse and realize that not everyone is a l33t pr0gr4mm3r l1k3 y0u (in my eyes claim to be). case sensitivity is not the issue however, I just wanted to point out your mistakes while you were pointing out others' mistakes.
The changes are good in the long run, but you must remember talking to your elders (especially grandparents) from when you were younger... Life was different then, everyone agrees. The true veterans will normally resist change, but will accept it over time. While I think the change will be better in the long run, it will cause much headache temporarilly (remember computers a long time ago?)
If people want to complain, let them complain without you complaining about their complaints. This board is a place to vent, not be put on a hot plate. If you want to attack people, go to play eq on a pvp server (sullon zek lets lvl 6 wizards try to kill 65 bards, try that one). If you want to be helpful, why not put some info on the board and help them in converting macros. Not to be a hypocrit(sp?), but in_training as a programmer should at least be able to make a parser to take in code and make output based on input. BTW: the people most of you end-users flame, are usually the ones who are up at 3am on september 9th patch, october 10th patch, and waiting for servers to come back up on to test their changes.
Kudos to the developers whom help in macroquest (I try to throw my two cents in when school and life aren't in the way), and to the flamers, get the hell off of these boards. Take a bath in gasoline before you visit these boards again, maybe that will make you think twice before you light up.
/kneel devs, offsetters, and testers.
case
Posted: Sun Oct 12, 2003 11:41 pm
by FlashG
Yes, Varibles are often case sentsitive, BUT the IDE/Editor/Compiler tells the programmer what varibles have yet to be defined, or flags them a different color. In VB there is an option to set this, in NI-LW C++ is standard. I dont pretend to be a super programmer, but finding out a misspelled key word or varible name during execution is my least loved error.
Flash
Posted: Mon Oct 13, 2003 2:23 am
by [40oz]
The worst part of the new macro system (and the old one, for that matter) is how strings both with and without spaces are handled.
For example:
Code: Select all
Sub MySub
/declare myString local
/varset myString @Param0
/echo "@Param0"
/return
If I were to /call MySub "Hello World!" this is what the output would be:
Hello
However, if you recode the sub and put quotes around @Param0 in the /varset line, you would get the full output "Hello World!"
And theres all kinds of other nuiances with variables that contain character information that I can't recall out of my head.
My guess is this is because the scripting language doesn't make us decide types of variables; strings and numbers go in the same variables.
Having coded tons of standard C and C++, it's a bit annoying to transition to this, where knowning whats IN the variable is what decides your syntax. Of course, these are simple scripts. It's not like I'm going through link lists of structs of all different types and it's more important to keep my types of variables straight, because I only know what KIND of data is going to be in it, not what's actually going to be in it.
Then again, it has a problem with spaces in other places too. For example:
... will not run correctly, however take out the space before nopredict, and it will.
I don't know if my blabber makes sense, but thats the only annoying nuiance, to me at least, the MQ scripting language has in it. After coding for 2 or 3 years for MQ, and programming since I was in 6th grade hooking it up in QBASIC omg omg, you'd think I'd catch the nuiances of the spaces in this script language. But when it comes to both spaces and string manipulation in this scripting language, I never seem to get it right the first try and it's pretty annoying.
Posted: Mon Oct 13, 2003 5:21 am
by in_training
Auth,
At my school, we either have to take COBOL or C. I never took COBOL, because I despise it. I like working with strings, COBOL sucks for that, so I avoided it.
I didn't mean to flame at all, and if you took it as a flame I am sorry. I just think this is a good change.
FlashG, I am sorry if I offended, I meant no harm.
Plaz,
I didn't even see those errors, thanks for pointing them out. =)
I really never mean anyone offence, sorry if it sounded like an offensive post.
Re: Why me?
Posted: Mon Oct 13, 2003 10:59 am
by Plazmic
auth wrote:...Cobol, RPG...
I thought Cobol was manditory all uppercase? ;)
Someone besides me knows what RPG is? Any chance you own your own AS/400? And I thought RPG4 was going case sensitive when it dropped the fixed format... haven't looked at it in 4 years though ;(
Change for the good!
Posted: Mon Oct 13, 2003 2:15 pm
by cantrememberusername
Just wanted to voice that this is a change for the good! No, better then good, great!
I have about 8 HUGE macros I use, converting them took less than an hour, and the ability to declare array made rewriting part of them a breeze!
Side note, I have 2 AS/400 as end tables on my game room... They rank up the with the pacman head-2-head table arcade game for conversation pieces.