//////save text below as swapcast.inc///////////
///////That is the end of the swapcast.inc file/////////////////////////
///////////////////////////////////////////////////////////////////////////
//////THIS IS Example MACRO YOU EDIT WITH YOUR ITEMS/////////
///////////////////////////////////////////////////////////////////////////
Inside the "....." is the item name, next is the slot you will swap it to. (true / false) Tell it if it has to target you for the buff. Like if using bracer of the hidden you have to target yourself for that item clicky so you would put true. if you don't have to target yourself to cast the clicky then put false.
Ccomp5950 edit:
C-, See me after class.
Rich (BB code):
|RULES FOR USING THIS SUB ROUTINE:
|
|If you DO NOT use the syntax below when calling this function
|you may have unpredictable results.
|
|SYNTAX:
| /call SwapCast "vItem" vSlot vSelf
|
|
|EXAMPLE:
| /call SwapCast "Bracer of the Hidden" leftwrist TRUE
|
|
|vItem - Must use quotations. This parameter is the name of the item.
|
|vSlot - This is the slot that the item equips into. Use "none" if you
| do not want the item to be swapped. This means that the
| item MUST be in your general inventory. If the item
| is in a bag and you specify "none" it will not click properly.
|
|vSelf - Use TRUE to indicate that you want to target yourself. This
| is used for self buff clickies such as the Bangle of Disease Warding.
| Do not use quotations.
|
|
|
|
|Below are the valid slots you can swap items into.
|-LeftEar
|-Head
|-Face
|-RightEar
|-Neck
|-Shoulders
|-sleeves
|-Back
|-LeftWrist
|-RightWrist
|-Range
|-Hands
|-Primary
|-Secondary
|-Left Ring
|-Right Ring
|-Chest
|-Legs
|-Feet
|-Waist
|-Ammo
|-Pack1
|-Pack2
|-Pack3
|-Pack4
|-Pack5
|-Pack6
|-Pack7
|-Pack8
|-Note that pack slots are your general inventory slots.
|DO NOT EDIT THIS CODE UNLESS YOU KNOW WHAT YOU ARE DOING
|DO NOT EDIT THIS CODE UNLESS YOU KNOW WHAT YOU ARE DOING
|DO NOT EDIT THIS CODE UNLESS YOU KNOW WHAT YOU ARE DOING
Sub SwapCast(string vItem, string vSlot, bool vSelf)
/declare slot int
/declare itemslot string
/declare bagslot int
/declare bClose bool
/varset slot ${FindItem[${vItem}].InvSlot}
/varset itemslot ${InvSlot[${vSlot}].Item.Name}
/declare currentTargetID int
/varset currentTargetID ${Target.ID}
/if (${vSelf}) /target myself
|Item not found
/if (${slot}==0) /echo (${vItem}) not found in inventory!
|This will determine if the item is already equiped
/if (${slot}>0 && ${slot}<23) {
/echo Casting (${vItem}).
|Cast Item
/itemn "${vSlot}" rightmouseup
:castloop1
/if (${Me.Casting.ID}) /goto :castloop1
}
|This will determine if item is in inventory and swap it
/if (${slot}>22 && ${slot}<31) {
/if (${vSlot.Equal[none]}) {
/echo Casting (${vItem}).
/itemn "${slot}" rightmouseup
/goto :none1
}
/echo Swapping and casting (${vItem}).
|Pickup Item
:inv1
/itemnotify ${slot} leftmouseup
/if (${Cursor.Name.NotEqual[${vItem}]}) /goto :inv1
|Swap Item
:inv2
/itemnotify ${vSlot} leftmouseup
/if (${Cursor.Name.NotEqual[${itemslot}]}) /goto :inv2
|Cast Item
/itemn "${vSlot}" rightmouseup
:castloop2
/if (${Me.Casting.ID}) /goto :castloop2
|Swap Item
:inv3
/itemnotify ${vSlot} leftmouseup
/if (${Cursor.Name.NotEqual[${vItem}]}) /goto :inv3
|Put Item Back
:inv4
/itemnotify ${slot} leftmouseup
/if (${Cursor.Name.Equal[${vItem}]}) /goto :inv4
:none1
}
|If item is in a bag, this will find which bag slot and swap it
/if (${slot}>261 && ${slot}<342) {
/varset bagslot ${FindItem[${vItem}].InvSlot.Pack}
/varset bagslot ${Math.Calc[${bagslot}-22]}
/if (${vSlot.Equal[none]}) {
/echo (${vItem}) was not found in main inventory.
/goto :none2
}
:window1
/if (!${Window[pack${bagslot}].Open}) {
/itemnotify pack${bagslot} rightmouseup
/varset bClose TRUE
}
/if (!${Window[pack${bagslot}].Open}) /goto :window1
/delay 2
/echo Swapping and casting (${vItem}).
|Pickup Item
:inv5
/itemnotify ${slot} leftmouseup
/if (${Cursor.Name.NotEqual[${vItem}]}) /goto :inv5
|Swap Item
:inv6
/itemnotify ${vSlot} leftmouseup
/if (${Cursor.Name.NotEqual[${itemslot}]}) /goto :inv6
|Cast Item
/itemn "${vSlot}" rightmouseup
:castloop3
/if (${Me.Casting.ID}) /goto :castloop3
|Swap Item
:inv7
/itemnotify ${vSlot} leftmouseup
/if (${Cursor.Name.NotEqual[${vItem}]}) /goto :inv7
:window2
/if (!${Window[pack${bagslot}].Open}) {
/itemnotify pack${bagslot} rightmouseup
}
/if (!${Window[pack${bagslot}].Open}) /goto :window2
|Put Item Back
:inv8
/itemnotify ${slot} leftmouseup
/if (${Cursor.Name.Equal[${vItem}]}) /goto :inv8
:none2
}
/if (${bClose} && ${Window[pack${bagslot}].Open}) /itemnotify pack${bagslot} rightmouseup
/if (${Defined[currentTargetID]}) /target id ${currentTargetID}
/deletevar currentTargetID
/deletevar bClose
/deletevar slot
/deletevar itemslot
/deletevar bagslot
/return
///////That is the end of the swapcast.inc file/////////////////////////
///////////////////////////////////////////////////////////////////////////
//////THIS IS Example MACRO YOU EDIT WITH YOUR ITEMS/////////
///////////////////////////////////////////////////////////////////////////
Rich (BB code):
#Include swapcast.inc
#turbo
|MACRO: customclickies.mac
|
|This Macro uses the swapcast.inc file to do all of the work.
|You need to follow some rules when customizing this macro.
|Read about the rules in the swapcast.inc file.
|
|
|Usage:
| /macro customclickies #
| # = the delay you want in 10ths of seconds
| A delay of 10 = 1 second, 20 = 2 seconds, etc
Sub Main(p0)
/stand
/declare vDelay int
/varset vDelay ${Int[${p0}]}
/echo Macro: customclickies.mac
/echo -
/echo Using delay: ${vDelay}
/call swapcast "Fractured Frontal Plate" pack8 false
/delay ${vDelay}
/call swapcast "Fractured Werewolf Incisors" pack8 false
/delay ${vDelay}
/call swapcast "Fractured Werewolf Jawbone" pack8 false
/delay ${vDelay}
/call swapcast "Fractured Bone Ridges" pack8 false
/delay ${vDelay}
/deletevar vDelay
/return
Inside the "....." is the item name, next is the slot you will swap it to. (true / false) Tell it if it has to target you for the buff. Like if using bracer of the hidden you have to target yourself for that item clicky so you would put true. if you don't have to target yourself to cast the clicky then put false.
Ccomp5950 edit:
C-, See me after class.
Last edited by a moderator: