PLassist.mac Now with INI support

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

Draconis
a lesser mummy
a lesser mummy
Posts: 40
Joined: Tue Mar 23, 2004 4:53 pm

PLassist.mac Now with INI support

Post by Draconis » Wed Jan 19, 2005 6:33 pm

This is my first attempt at a public macro, and I think Ive gotten all the bugs out of it. Thanks to A_Druid_00, Fluffy, and Wassup for help cleaning it up.

New Version # 6

* Ini Support
* Mount on / Mount off command *NEW
* Give heal command (heals masters target to an ammount you set)
* 7 custom Buff slots
* Heal to full command
* Auto Healing
* Give buff command
* Auto follow
* Camp command
* List buffs and Hp / Mana
* Ability to reset macro from Masters computer should need arise
* Tell forwarding
* Fizzleproof casting

EDIT: New code, added features, Edit Plassist.INI to edit spells, will create after first load.

Code: Select all

| Plassist.mac                     
|                                 
| syntax:                           
|   /macro Plassist <Masters Name>
| Example:
|   /macro Plassist Newbie
|
| Syntax for Buffs { just say into channel you have choosen }
| "Need Buff 1", "Need Buff 2" , Ect to cast buffs 1-7.
| "Give Buff 1 soandso", "Give Buff 2 soandso", Ect to cast buffs 1-7 on soandso
| "Need Heal" : to have bot heal master to full
| "Give heal" : to have bot heal the masters target
|
| ------------------------------------------------------
| Syntax for misc stuff...
| "Camp Now" : to have bot camp and end the macro
| "Need Info" : to have bot display HP and Mana %,and current buff list.
| "Sit Now" : to have bot sit down
| "Reset mac" : to restart the macro
| "Follow me" : to have Bot follow you
| "Stop Follow" : to have Bot stop following you
| "Mount on" : to have Bot cast its Mount
| "Mount off" : to have Bot dismount
|
|   Notes
|
| * Must Include spellcast.inc
| * Bot MUST have your channel set as number 1, or it will not work.
| * Any tells sent to the Bot will be forwarded to the chat channel.
| * Must have MQ2MoveUtils for follow command to work
| * If you change the name of the macro you must edit the macname var
|    for the reset command to work.
|-------------------------------------------------------

#event Buffs "#*#Need Buff #1#"
#event Buffother "#*#Give Buff #1# #2#'"
#event Heal "#*#Need Heal#*#"
#event healother "#*#Give heal#*#"
#event sit "#*#Sit down#*#"
#event camp "#*#Camp now#*#"
#event Info "#*#Need Info#*#"
#event reset "#*#Reset mac#*#"
#event Follow "#*#Follow me#*#"
#event Stop "#*#Stop Follow#*#"
#event mountfail "You can not summon a mount here."
#event mountup "#*#Mount on#*#"
#event dismount "#*#Mount off#*#"
#chat tell

#include spellcast.inc

Sub Main

/deletevar Master
/deletevar Buff
/deletevar Healspell
/deletevar macname
/deletevar healat
/deletevar healto
/deletevar sit
/deletevar channel
/deletevar havemount
/deletevar mount

/declare Master string Global
/declare Buff[7] string Global
/declare Healspell string Global
/declare macname string Global
/declare healat int Global
/declare healto int Global
/declare sit string Global
/declare channel string Global
/declare havemount string Global
/declare mount string Global
/varset Master ${Param0}

|-----------------------
|Load INI
|-----------------------
/1 Loading Configuration File
/call Load_Config
/1 Configuration File Loaded Version ${Ini[plassist.ini,Configuration,VERSION]} online

|-----------------------
| Edit chat channel
|-----------------------
/join plassist:plassist

|                                          |
|------------------------------------------|
|                                          |
/echo Pl Assistant Started
|                                          |
|------------------------------------------|
|                                          |

/delay 1s
/1 Booted and ready to run...
:loop
/doevents
/tar ${Master}
/if (${Target.PctHPs}<= ${healat}) {
/goto :heal
} else {
/goto :loop
}
/return

|                                          |
|------------------------------------------|
|                                          |

:heal
/tar ${Master}
/if (${Target.PctHPs}< ${healto}) {
/call Cast "${Healspell}"
/goto :heal
} else {
/if (${sit}) /sit
/goto :loop
}

|                                          |
|------------------------------------------|
|                                          |

Sub Event_camp
/camp
/1 Camping, Macro is now disabled
/endmac
/return

|                                          |
|------------------------------------------|
|                                          |

Sub Event_Info
/1 Buff1 = ${Buff[1]}
/1 Buff2 = ${Buff[2]}
/1 Buff3 = ${Buff[3]}
/1 Buff4 = ${Buff[4]}
/1 Buff5 = ${Buff[5]}
/1 Buff6 = ${Buff[6]}
/1 Buff7 = ${Buff[7]}
/1 Heal Spell = ${Healspell}
/1 Current HP = ${Me.PctHPs}
/1 Current Mana = ${Me.PctMana}
/return

|                                          |
|------------------------------------------|
|                                          |

Sub Event_sit
/if (${Me.State.NotEqual[SIT]}) {
  /sit
  /delay 5
}
/return

|                                          |
|------------------------------------------|
|                                          |

Sub Event_Buffs(string line, int buffnumber)

/stand
/tar ${Master}
/1 Casting ${Buff[${buffnumber}]} on %t...
/call Cast "${Buff[${buffnumber}]}"
/delay 1s
/if (${sit}) /sit
/return

|                                          |
|------------------------------------------|
|                                          |

Sub Event_Buffother(string line, int buffnumber,string casttarget)

/stand
| Removed /delay no need for it
/if ( ${casttarget.Equal[NULL]} ) {
      | If they didnt give a target it is for Master
      /target ${Master}
      } else {
      | They gave a target. So lets target them
      /target ${casttarget}
      }
| If we dont have a target something is wrong. Just announce it and return
/if ( ${Target.CleanName.Equal[NULL]} ) {
      /1 Could not target ${casttarget} aborting
      /return
}

| Otherwise lets slap them with the buff
/1 Casting ${Buff[${buffnumber}]} on ${Target.CleanName}...
/call Cast "${Buff[${buffnumber}]}"
/delay 1s
/if (${sit}) /sit
/return

|                                          |
|------------------------------------------|
|                                          |

Sub Event_Chat(ChatType,Sender,ChatText)
/1 ${Sender} told Me, '${ChatText}'
/return

|                                          |
|------------------------------------------|
|                                          |

Sub Event_reset
/1 reseting in 5s
/delay 5s
/deletevar Buff[7]
/deletevar Healspell
/macro ${macname} ${Master}

|                                          |
|------------------------------------------|
|                                          |

Sub Event_Follow

/stand
/delay 5
/tar ${Master}
/1 Following you ${Master}
/stick
/return

|                                          |
|------------------------------------------|
|
Sub Event_Stop


/1  No longer Following ${Master}
/stick off
/delay 1
/return

|                                          |
|------------------------------------------|
|

|-----------------------
|Load_Config
|-----------------------
Sub Load_Config()

| If there isnt a config lets make one for them
/if (!${Ini[plassist.ini,Configuration,VERSION]} ) /call Save_New_Config

/varset macname ${Ini[plassist.ini,Configuration,MACRONAME]}
/varset Buff[1] ${Ini[plassist.ini,Configuration,Buff1]}
/varset Buff[2] ${Ini[plassist.ini,Configuration,Buff2]}
/varset Buff[3] ${Ini[plassist.ini,Configuration,Buff3]}
/varset Buff[4] ${Ini[plassist.ini,Configuration,Buff4]}
/varset Buff[5] ${Ini[plassist.ini,Configuration,Buff5]}
/varset Buff[6] ${Ini[plassist.ini,Configuration,Buff6]}
/varset Buff[7] ${Ini[plassist.ini,Configuration,Buff7]}
/varset Healspell ${Ini[plassist.ini,Configuration,HealSpell]}
/varset healat ${Ini[plassist.ini,Autoheal,healat]}
/varset healto ${Ini[plassist.ini,Autoheal,healto]}
/varset havemount ${Ini[plassist.ini,Mount,havemount]}
/varset mount ${Ini[plassist.ini,Mount,mount]}
/varset sit ${Ini[plassist.ini,Sit?,sit]}


/return

|-----------------------
|Save_New_Config
|-----------------------
Sub Save_New_Config()
/ini "plassist.ini" "Configuration" "VERSION" "6"
/ini "plassist.ini" "Configuration" "MACRONAME" "Plassist.mac"
/ini "plassist.ini" "Configuration" "Buff1" "Shield of Thistles"
/ini "plassist.ini" "Configuration" "Buff2" "Riftwind's Protection"
/ini "plassist.ini" "Configuration" "Buff3" "Skin like Steel" "
/ini "plassist.ini" "Configuration" "Buff4" "Spirit of Wolf""
/ini "plassist.ini" "Configuration" "Buff5" "Strength of Earth"
/ini "plassist.ini" "Configuration" "Buff6" ""
/ini "plassist.ini" "Configuration" "Buff7" ""
/ini "plassist.ini" "Configuration" "HealSpell" "Healing"
/ini "plassist.ini" "Autoheal" "healat" "50"
/ini "plassist.ini" "Autoheal" "healto" "80"
/ini "plassist.ini" "Mount" "havemount" "FALSE"
/ini "plassist.ini" "Mount" "mount" "Small Black Drum"
/ini "plassist.ini" "Sit?" "sit" "TRUE"
/return

|                                          |
|------------------------------------------|
|                                          |
Sub Event_healother


/assist ${Master}
/delay 2s
/1 Casting ${Healspell} on %t untill ${healto}
:healtar
/if (${Target.PctHPs}< ${healto}) {
/call Cast "${Healspell}"
/goto :healtar
} else {
/if (${sit}) /sit
/return
}
|                                          |
|------------------------------------------|
|                                          |
Sub Event_mountfail
/1 Cant cast a mount here moving on..
/return
|                                          |
|------------------------------------------|
|                                          |
Sub Event_Mountup
/if (${havemount}) {
    /1 Mounting my horse/drogmor
    /call Cast "${mount}" item 3s
    /return
    }
/1 Sorry I dont have a mount/drogmor edit ini to reflect if I do
/return
|                                          |
|------------------------------------------|
|                                          |
Sub Event_Dismount
/1 Dismount my horse/drogmor
/dismount
/return
|                                          |
|------------------------------------------|
|                                          |                                                                              
Sub Event_Heal
/tar ${Master}
/stand
/1 Casting ${Healspell} on %t untill %100
:CheckHealAgain
/if (${Target.PctHPs}<100) {
  /call Cast "${Healspell}"
  /goto :CheckHealAgain
} else {
/1 %t is at %100
/delay 1s
/if (${sit}) /sit
}
/return 
Last edited by Draconis on Wed Apr 20, 2005 1:19 pm, edited 16 times in total.

User avatar
Fluffy
a ghoul
a ghoul
Posts: 81
Joined: Sun Aug 22, 2004 5:08 pm

Post by Fluffy » Thu Jan 20, 2005 4:54 am

Well just my two cents. And not trying to be a douche but more along the lines or pointing things out...

Code: Select all

Sub Event_camp 
You have delay 5s. Why there is no reason for that end the macro or allow for them to back out? With maybe an abort camp command or something?

Code: Select all

#event Buff1 "#*#Need Buff 1#*#" 
#event Buff2 "#*#Need Buff 2#*#" 
#event Buff3 "#*#Need Buff 3#*#" 
#event Buff4 "#*#Need Buff 4#*#" 
#event Buff5 "#*#Need Buff 5#*#" 
Could be converted into 1 function with a

Code: Select all

#event Buffs "#*#Need Buff #1#"

/declare Buff[5] string outer
/varset Buff[1] "Spell Number1"
/varset Buff[2] "Spell Number2"
/varset Buff[3] "Spell Number3"


Sub Event_Buffs(string line, int buffnumber)
/if (${Me.State.NotEqual[STAND]}) { 
  /stand 
  /delay 5 
} 
/tar ${Master} 
/cast ${Buff[${buffnumber}]} 
/1 Casting ${Buff[${buffnumber}]} on %t... 
/delay 10s 
/sit 
/return 
In your main loop why do you delay 2s between each parse? No need is there?

In the event to resend tells you should pump that to the channel as well as if you get multiple tells you will lose them since you are parsed at 2s between allowed tells

In your follow you can just /stick ${Master} I think.. Not sure

In your stopfollow you can just /stick off instead of moving them to break stick

In your event heal if you trigger you are not checking for fizzles and such. You should #include spellcast.inc and use /call Cast will make your life alot easier for casting detection.

Hope that helps in your development.

wassup
Official Guardian and Writer of TFM
Official Guardian and Writer of TFM
Posts: 1487
Joined: Sat Oct 26, 2002 5:15 pm

Post by wassup » Thu Jan 20, 2005 5:47 am

Pretty good for first macro IMO.

Only thing other than what Fluffy said is I never understood why people do this:

Code: Select all

Sub Event_Buffs(string line, int buffnumber) 
/if (${Me.State.NotEqual[STAND]}) { 
  /stand 
  /delay 5 
} 
.
.
.
/return
You want to stand up period, so why not just use:

Code: Select all

Sub Event_Buffs(string line, int buffnumber) 
   /stand
   /delay 5 
   /tar ${Master} 
   /cast ${Buff[${buffnumber}]} 
   /1 Casting ${Buff[${buffnumber}]} on %t... 
   /delay 10s 
   /sit 
/return
As a matter of fact, I think EQ will make you stand now when you go to cast a spell, but I'm not 100% sure on that.

A_Druid_00
Macro Maker Extraordinaire
Posts: 2378
Joined: Tue Jul 13, 2004 12:45 pm
Location: Rolling on the Lawn Farting

Post by A_Druid_00 » Thu Jan 20, 2005 7:00 am

As a matter of fact, I think EQ will make you stand now when you go to cast a spell, but I'm not 100% sure on that.
It's a toggle though; and one which he has turned off due to breaking FD on his necro occasionally, geting him killed. Being a druid, I never saw a need to turn the auto standing off, but I guess it has it's merits.
[quote]<DigitalMocking> man, A_Druid_00 really does love those long ass if statements
<dont_know_at_all> i don't use his macro because i'm frightened of it[/quote]
[quote][12:45] <dont_know_at_all> never use a macro when you can really fuck up things with a plugin[/quote]

wassup
Official Guardian and Writer of TFM
Official Guardian and Writer of TFM
Posts: 1487
Joined: Sat Oct 26, 2002 5:15 pm

Post by wassup » Thu Jan 20, 2005 7:53 am

A_Druid_00 wrote:
As a matter of fact, I think EQ will make you stand now when you go to cast a spell, but I'm not 100% sure on that.
It's a toggle though; and one which he has turned off due to breaking FD on his necro occasionally, geting him killed. Being a druid, I never saw a need to turn the auto standing off, but I guess it has it's merits.
Well, either way... if you want to stand just do a /stand without checking if you are standing. Not that there is anything wrong with doing the check, but IMO it's a useless check.

Draconis
a lesser mummy
a lesser mummy
Posts: 40
Joined: Tue Mar 23, 2004 4:53 pm

Post by Draconis » Thu Jan 20, 2005 8:26 am

Ok made suggested changes, have not tested them yet but when I do if everything works ill remove top code and replace.

The camp command had a delay because I wanted to add and abort camp command but never got to it, so just cut the delay.

the stand code is there because I did shut off that toggle.

cut the main loop delay and sends tells to chat channel now.

Code: Select all


new code up top removed this old stuff

Last edited by Draconis on Fri Jan 21, 2005 1:09 pm, edited 1 time in total.

User avatar
Fluffy
a ghoul
a ghoul
Posts: 81
Joined: Sun Aug 22, 2004 5:08 pm

Post by Fluffy » Thu Jan 20, 2005 2:32 pm

Well looking good but there is a couple things left..

First you have /call Cast Spell then you have your message sent.. Problem with this now is /call Cast wont return until it has casted the spell.. You will want to move your announcement of the message before you call cast.

Send would be you have

Code: Select all

/declare Buff[1] string Global 
/declare Buff[2] string Global 
/declare Buff[3] string Global 
/declare Buff[4] string Global 
/declare Buff[5] string Global 
Convert that to be

Code: Select all

/declare Buff[5] string Global
No need to do all that extra stuff. I will have to say for your first macro it was nicely done. Most show through with a form of almost panic meets pure crap on thier first macro. Seems like you even took the time to format it.. /golfclap on.. Keep it up.

Draconis
a lesser mummy
a lesser mummy
Posts: 40
Joined: Tue Mar 23, 2004 4:53 pm

Post by Draconis » Thu Jan 20, 2005 3:31 pm

OK fixed again :smile:

Was not entirely sure if I was supposed to delete the other Buff[] vars or not, still dont know alot of the code, thanks for pointing these out to me.

anyways

* Fizzles taken care of
* cast chat taken care of
* useless stuff cut

1st post updated with newest code. Again always open to suggestions or tips.

User avatar
Fluffy
a ghoul
a ghoul
Posts: 81
Joined: Sun Aug 22, 2004 5:08 pm

Post by Fluffy » Fri Jan 21, 2005 2:38 am

Draconis wrote:OK fixed again :smile:

Was not entirely sure if I was supposed to delete the other Buff[] vars or not, still dont know alot of the code, thanks for pointing these out to me.

anyways

* Fizzles taken care of
* cast chat taken care of
* useless stuff cut

1st post updated with newest code. Again always open to suggestions or tips.
So a few other questions I have for you to see what the thoughts where behind doing it

Code: Select all

Sub Event_Heal 
/tar ${Master} 
/stand 
/1 Casting ${Healspell} on %t untill %100 
:CheckHealAgain 
/if (${Target.PctHPs}<100) { 
  /call Cast ${Healspell} 
  /delay 1s 
  /goto :CheckHealAgain 
} else { 
/1 %t is at %100 
/delay 1s 
/sit 
} 
/return 
What is the reason for this function? Looks like you want to say heal and it will heal to full. But with what you have here there is a chance that he will keep spamming heal if you call this in the middle of a fight. For example. You are getting hit then you call for the heal, the bot will heal you to 100% and delay 1s you get hit in that time you wont be 100% so he will heal you again? Is that what you wanted?? If not then I would suggest just changing this to a single heal and allowing for them to determine when they want heals. Or set it to watch him and heal at a certain percent so they dont have to worry about it. Give me your htoughts and I can help you with the code.

Draconis
a lesser mummy
a lesser mummy
Posts: 40
Joined: Tue Mar 23, 2004 4:53 pm

Post by Draconis » Fri Jan 21, 2005 7:38 am

It was written this way to be used after a fight, but the spam healing that is caused if called durring a fight has been rather helpfull and saved my alts a few times. I thought about having something like

Code: Select all

/tar ${Master}
/if (Target.PctHPs<50) {
/goto :heal
} else {
/goto :loop
}
to the main loop and

Code: Select all

:heal
/tar ${Master}
/if (Target.PctHPs<90) {
/call Cast ${Healspell}
/goto :heal
} else {
/goto :loop
}
Although I wanted to avoid locking the bot to the Master in case you wanted to buff other people, without having to pause the macro to switch targets.

Maybe another sub could do other peoples buffs? like if you said soandso Needs buff 1, it would target them and cast buff 1 on them? But im not sure how to grab names as vars from chat.

EDIT: was thinking about the buffing others problem would something like adding

Code: Select all

#event Buffother "#*#Give Buff #1#"


Sub Event_Buffother(string line, int buffnumber) 

/stand 
/delay 5 
/assist ${Master}
/1 Casting ${Buff[${buffnumber}]} on %t... 
/call Cast ${Buff[${buffnumber}]} 
/delay 1s 
/sit 
/return 
allow me to cast whatever buff on my target? or would I have to declare a new set of vars for that sub? If this works I could add the auto watch for your masters health and remove the heal spamming that exsists now.

on a public computer atm so cant test to see if it would work, so asking here incase somone knows before I can get to my computer and test it.

Draconis
a lesser mummy
a lesser mummy
Posts: 40
Joined: Tue Mar 23, 2004 4:53 pm

Post by Draconis » Fri Jan 21, 2005 4:46 pm

Edit: found my problem...

Draconis
a lesser mummy
a lesser mummy
Posts: 40
Joined: Tue Mar 23, 2004 4:53 pm

Post by Draconis » Fri Jan 21, 2005 5:23 pm

New version up,. 1st post edited

Added:

* Auto Healing

* Give buff command (to give buffs to people other than master)

* 2 more buff slots

Cut:

* HPbuff command

* Need sow command

User avatar
Fluffy
a ghoul
a ghoul
Posts: 81
Joined: Sun Aug 22, 2004 5:08 pm

Post by Fluffy » Sat Jan 22, 2005 7:04 am

Draconis wrote:Edit: found my problem...
Well do buff who you want then you can do some simple checking

Code: Select all

#event Buffother "#*#Give Buff #1# #2#" 


Sub Event_Buffother(string line, int buffnumber,string casttarget) 

/stand 
| Removed /delay no need for it
/if ( ${casttarget.Equal[NULL]} ) {
      | If they didnt give a target it is for Master
      /target ${Master}
      } else {
      | They gave a target. So lets target them
      /target ${casttarget} 
      }
| If we dont have a target something is wrong. Just announce it and return
/if ( ${Target.CleanName.Equal[NULL]} ) {
      /1 Could not target ${casttarget} aborting
      /return
}

| Otherwise lets slap them with the buff
/1 Casting ${Buff[${buffnumber}]} on ${Target.CleanName}... 
/call Cast ${Buff[${buffnumber}]} 
/delay 1s 
/sit 
/return 
Should do it.. I have not tested this though.. But bang away with it. And replaced the %t with real Target Varibles..

I would also set in a sit delay feature.. To be able to set the sit delay for casting to give a little more "control" over it. And also while your doing that make a sit after cast varible too incase you dont want them to sit... And hell while we are adding in creeping features... What about horses? HAVE YOU THOUGHT OF HORSES OHH MY! :)..

Just let me know the features and such you want help with and I will help ya bang out what you need to get this where you want it..

User avatar
Fluffy
a ghoul
a ghoul
Posts: 81
Joined: Sun Aug 22, 2004 5:08 pm

Post by Fluffy » Sat Jan 22, 2005 7:22 am

So lets also while we are at this. Make some INI support.. As we all love ini support..

Remove this

Code: Select all

|----------------------- 
|Edit Name of Macro here if changed. 
|----------------------- 
/varset macname "Plassist.mac" 
|---------------------- 
|Edit spells here ( Must have " " around spells ) 
|---------------------- 
/varset Buff[1] "Shield of Thistles" 
/varset Buff[2] "Riftwind's Protection" 
/varset Buff[3] "Skin like Steel" 
/varset Buff[4] "Spirit of Wolf" 
/varset Buff[5] "Strength of Earth" 
/varset Buff[6] 
/varset Buff[7] 
/varset Healspell "Healing" 
Replace it with something like this

Code: Select all

|----------------------- 
|Load INI
|----------------------- 
/1 Loading Configuration File
/call Load_Config
/1 Configuration File Loaded Version ${Ini[plassist.ini,Configuration,VERSION]} online
Then add this function

Code: Select all

|----------------------- 
|Load_Config
|----------------------- 
Sub Load_Config()

| If there isnt a config lets make one for them
/if(!${Ini[plassist.ini,Configuration,VERSION]} ) /call Save_New_Config

/varset macname ${Ini[plassist.ini,Configuration,MACRONAME]}
/varset Buff[1] ${Ini[plassist.ini,Configuration,Buff1]}
/varset Buff[2] ${Ini[plassist.ini,Configuration,Buff2]}
/varset Buff[3] ${Ini[plassist.ini,Configuration,Buff3]}
/varset Buff[4] ${Ini[plassist.ini,Configuration,Buff4]}
/varset Buff[5] ${Ini[plassist.ini,Configuration,Buff5]}
/varset Buff[6] ${Ini[plassist.ini,Configuration,Buff6]}
/varset Buff[7] ${Ini[plassist.ini,Configuration,Buff7]}
/varset Healspell ${Ini[plassist.ini,Configuration,HealSpell]}

/return

|----------------------- 
|Save_New_Config
|----------------------- 
Sub Save_New_Config()
/ini "plassist.ini" "Configuration" "VERSION" "1"
/ini "plassist.ini" "Configuration" "MACRONAME" "Plassist.mac"
/ini "plassist.ini" "Configuration" "Buff1" "Shield of Thistles"
/ini "plassist.ini" "Configuration" "Buff2" "Riftwind's Protection"
/ini "plassist.ini" "Configuration" "Buff3" "Skin like Steel"
/ini "plassist.ini" "Configuration" "Buff4" "Spirit of Wolf"
/ini "plassist.ini" "Configuration" "Buff5" "Strength of Earth"
/ini "plassist.ini" "Configuration" "Buff6" ""
/ini "plassist.ini" "Configuration" "Buff7" ""
/ini "plassist.ini" "Configuration" "HealSpell" "Healing"
/return
Now mind you I have not tested this but in theroy it should work. Working on this almost makes me want to re-open my EQ account to play around again.. Hope that helps ya.

User avatar
aChallenged1
a grimling bloodguard
a grimling bloodguard
Posts: 1804
Joined: Mon Jun 28, 2004 10:12 pm

Post by aChallenged1 » Sat Jan 22, 2005 9:26 am

Wow, thanks Fluffy, that helps me to understand setting up and using INI's a LOT better than I've managed to date. Great info there.

Now, I want to know, how do I tell it to look for and write to and create new INI files in another/specific folder other than the macro folder; as in c:/mq2/release/macros/ini, I'd really appriciate knowing.

Thanks again for the helpful info.
Fuck writing MQ2 macros. Go with IS scripts; IS Rules!