Basically what it does,
When you attack a NPC, if it is within 150range....
-It will stick to the NPC, attack and do special abilities until it dies.
-It will pause attacking if: you are stunned, on mob enrage
-It will end combat loop if: you switch targets, mob dies, mob gates, you turn off attack
-On the fly taunt toggle/usage
-Keeps stick-npc.ini, currently only info inside is melee distance
(edit your stick-NPC.ini for ae-rampage mobs / mobs with huge hitbox)
-Keeps stick-pc.ini, currently used for combat abilities + default settings
-It also will auto /loot NPC's you gain exp for, as in it will open the corpse and grant you loot rights
(if you were allowed to normally)
-On the fly NinjaLewt usage
Spellcast.inc is commented out along with SK specific code, remove if your a 65 sk with the spells.
http://macroquest2.com/phpBB2/viewtopic ... 6289#36289
I play a SK now so has some sk specific spell useage inside it, this will not effect other class's.
------------------------
Basic usage:
1. First time use per character will create info in stick-pc.ini and you will need to edit & restart.
2. macro will accept 4 paramaters at start, if no params it will use defaults from stick-pc.ini.
3. Syntax = /mac stick "NinjaLoot (0 or 1)" "MeleeAbility_1" "MeleeAbility_2" "MeleeAbility_3"
Taunt Usage:
Basically 4 ways to do this..
1. Change a CombatAbility_# from NULL to "taunt" in stick-pc.ini
2. start it with /mac stick 0 taunt
3. "/echo tt" will toggle taunting on or off,
4. Manually use taunt ability during a fight will taunt that mob until attack loop is ended.
(next mob will not be taunted)
-------------
==================================
Future plans:
1. npc specific ini support for..
a) ranged only fights (fennin etc, for rangers)
b) ???
2. Character/Class specific ini support for...
a) Always arrow fight
b) self spell/item combat and rest buffs
3. better ninjaloot logic (for green cons)
4. stop attacking on mez (soon as i figure something out)
5. logic to decide if should move behind mob
(if your tanking dont want to run in circles and look stupid)
6. Universal combat spell implementation. (possible pure int/wis caster support then)
7. a FAST clean way to find max melee so you dont have to edit stick-npc.ini (everything i have tried is too slow thus annoying)
8. as always... code improvements / logic improvements.
==================================
Only problems i have had so far are with rathe council event / mob you are fighting gets mez'd.
I and many other people run this script 24/7 on our melees and it works great.
Any suggestions are appreciated.
Enjoy.
BUFF's ARE NOT IMPLEMENTED IN THIS VERSION
that is just a placeholder in the ini's
Code: Select all
|===========|
| 02.25.04a |
|___________|
| |
| stick.mac |
| by m0nk |
|___________|
|
| -Syntax = /mac stick "NinjaLoot (0 or 1)" "MeleeAbility_1" "MeleeAbility_2" "MeleeAbility_3"
| example = /mac stick 0 "bash" (will not loot and only bash)
| example = /mac stick 1 "Flying Kick" "Disarm" (will loot, Flying Kick ,disarm)
| example = /mac stick (will do what the defaults are set to in the stick-pc.ini file)
|
#turbo
#define MOBini "stick-npc.ini"
#define PCini "stick-pc.ini
|#include spellcast.inc
#event EXP "experience!!"
#event RageON "has become ENRAGED."
#event RageOFF "is no longer enraged"
#event MobGate " Gates."
#event Invited "To join the group, click on the 'FOLLOW' option, or 'DISBAND' to cancel"
#event StunON "You are stunned"
#event StunON "You lose control of yourself!"
#event StunOFF "You are unstunned"
#event StunOFF "You have control of yourself again."
#event TauntThisRound "to ignore others and attack you!"
#event ToggleTaunt "[MQ2] tt"
#event ToggleNinja "[MQ2] nl"
Sub main
:setupDeclare
/zapvars
/declare MA_SB global
/declare MobID global
/declare CharX global
/declare CharY global
/declare Time_MA_SB timer
/declare NinjaLewt global
/declare RestBuff_1 global
/declare RestBuff_2 global
/declare RestBuff_3 global
/declare RestBuff_4 global
/declare RestBuff_5 global
/declare RestBuff_6 global
/declare RestBuff_7 global
/declare RestBuff_8 global
/declare CmbtBuff_1 global
/declare CmbtBuff_2 global
/declare CmbtBuff_3 global
/declare CmbtBuff_4 global
/declare CmbtBuff_5 global
/declare CmbtBuff_6 global
/declare CmbtBuff_7 global
/declare CmbtBuff_8 global
/declare TauntToggle global
/declare MA_Timer_SB global
/declare MeleeAttack_1 global
/declare MeleeAttack_2 global
/declare MeleeAttack_3 global
/declare MeleeDistance global
/declare RestItemBuff_1 global
/declare RestItemBuff_2 global
/declare RestItemBuff_3 global
/declare RestItemBuff_4 global
/declare RestItemBuff_5 global
/declare RestItemBuff_6 global
/declare RestItemBuff_7 global
/declare RestItemBuff_8 global
/declare CmbtItemBuff_1 global
/declare CmbtItemBuff_2 global
/declare CmbtItemBuff_3 global
/declare CmbtItemBuff_4 global
/declare CmbtItemBuff_5 global
/declare CmbtItemBuff_6 global
/declare CmbtItemBuff_7 global
/declare CmbtItemBuff_8 global
/declare DefaultMeleeDistance global
:setupVarset
/varset MA_SB "NULL"
/varset MeleeAttack_1 "@Param1"
/varset MeleeAttack_2 "@Param2"
/varset MeleeAttack_3 "@Param3"
/varset MA_Timer_SB 60
/varset TauntToggle NULL
/varset NinjaLewt "@Param0"
:setPCiniOther
/if $defined(Param0)!=TRUE /varset NinjaLewt $ini("PCini","$char(name)","NinjaLewt")
/if "@NinjaLewt"=="NOTFOUND" {
/ini "PCini" "$char(name)" "NinjaLewt" "0"
/delay 0
/varset NinjaLewt $ini("PCini","$char(name)","NinjaLewt")
}
/if $defined(Param1)!=TRUE /varset MeleeAttack_1 $ini("PCini","$char(name)","MeleeAttack_1")
/if "@MeleeAttack_1"=="NOTFOUND" {
/ini "PCini" "$char(name)" "MeleeAttack_1" "NULL"
/delay 0
/varset MeleeAttack_1 $ini("PCini","$char(name)","MeleeAttack_1")
}
/if $defined(Param2)!=TRUE /varset MeleeAttack_2 $ini("PCini","$char(name)","MeleeAttack_2")
/if "@MeleeAttack_2"=="NOTFOUND" {
/ini "PCini" "$char(name)" "MeleeAttack_2" "NULL"
/delay 0
/varset MeleeAttack_2 $ini("PCini","$char(name)","MeleeAttack_2")
}
/if $defined(Param3)!=TRUE /varset MeleeAttack_3 $ini("PCini","$char(name)","MeleeAttack_3")
/if "@MeleeAttack_3"=="NOTFOUND" {
/ini "PCini" "$char(name)" "MeleeAttack_3" "NULL"
/delay 0
/varset MeleeAttack_3 $ini("PCini","$char(name)","MeleeAttack_3")
}
/varset DefaultMeleeDistance $ini("PCini","$char(name)","DefaultMeleeDistance")
/if "@DefaultMeleeDistance"=="NOTFOUND" {
/ini "PCini" "$char(name)" "DefaultMeleeDistance" "15"
/delay 0
/varset DefaultMeleeDistance $ini("PCini","$char(name)","DefaultMeleeDistance")
}
:setPCiniBuffs
/varset RestBuff_1 "$ini("PCini","$char(name)","RestBuff_1")"
/if "@RestBuff_1"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestBuff_1" "NULL"
/delay 0
/varset RestBuff_1 $ini("PCini","$char(name)","RestBuff_1")
}
/varset RestBuff_2 $ini("PCini","$char(name)","RestBuff_2")
/if "@RestBuff_2"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestBuff_2" "NULL"
/delay 0
/varset RestBuff_2 $ini("PCini","$char(name)","RestBuff_2")
}
/varset RestBuff_3 $ini("PCini","$char(name)","RestBuff_3")
/if "@RestBuff_3"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestBuff_3" "NULL"
/delay 0
/varset RestBuff_3 $ini("PCini","$char(name)","RestBuff_3")
}
/varset RestBuff_4 $ini("PCini","$char(name)","RestBuff_4")
/if "@RestBuff_4"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestBuff_4" "NULL"
/delay 0
/varset RestBuff_4 $ini("PCini","$char(name)","RestBuff_4")
}
/varset RestBuff_5 $ini("PCini","$char(name)","RestBuff_5")
/if "@RestBuff_5"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestBuff_5" "NULL"
/delay 0
/varset RestBuff_5 $ini("PCini","$char(name)","RestBuff_5")
}
/varset RestBuff_6 $ini("PCini","$char(name)","RestBuff_6")
/if "@RestBuff_6"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestBuff_6" "NULL"
/delay 0
/varset RestBuff_6 $ini("PCini","$char(name)","RestBuff_6")
}
/varset RestBuff_7 $ini("PCini","$char(name)","RestBuff_7")
/if "@RestBuff_7"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestBuff_7" "NULL"
/delay 0
/varset RestBuff_7 $ini("PCini","$char(name)","RestBuff_7")
}
/varset RestBuff_8 $ini("PCini","$char(name)","RestBuff_8")
/if "@RestBuff_8"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestBuff_8" "NULL"
/delay 0
/varset RestBuff_8 $ini("PCini","$char(name)","RestBuff_8")
}
/varset CmbtBuff_1 "$ini("PCini","$char(name)","CmbtBuff_1")"
/if "@CmbtBuff_1"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtBuff_1" "NULL"
/delay 0
/varset CmbtBuff_1 $ini("PCini","$char(name)","CmbtBuff_1")
}
/varset CmbtBuff_2 $ini("PCini","$char(name)","CmbtBuff_2")
/if "@CmbtBuff_2"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtBuff_2" "NULL"
/delay 0
/varset CmbtBuff_2 $ini("PCini","$char(name)","CmbtBuff_2")
}
/varset CmbtBuff_3 $ini("PCini","$char(name)","CmbtBuff_3")
/if "@CmbtBuff_3"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtBuff_3" "NULL"
/delay 0
/varset CmbtBuff_3 $ini("PCini","$char(name)","CmbtBuff_3")
}
/varset CmbtBuff_4 $ini("PCini","$char(name)","CmbtBuff_4")
/if "@CmbtBuff_4"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtBuff_4" "NULL"
/delay 0
/varset CmbtBuff_4 $ini("PCini","$char(name)","CmbtBuff_4")
}
/varset CmbtBuff_5 $ini("PCini","$char(name)","CmbtBuff_5")
/if "@CmbtBuff_5"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtBuff_5" "NULL"
/delay 0
/varset CmbtBuff_5 $ini("PCini","$char(name)","CmbtBuff_5")
}
/varset CmbtBuff_6 $ini("PCini","$char(name)","CmbtBuff_6")
/if "@CmbtBuff_6"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtBuff_6" "NULL"
/delay 0
/varset CmbtBuff_6 $ini("PCini","$char(name)","CmbtBuff_6")
}
/varset CmbtBuff_7 $ini("PCini","$char(name)","CmbtBuff_7")
/if "@CmbtBuff_7"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtBuff_7" "NULL"
/delay 0
/varset CmbtBuff_7 $ini("PCini","$char(name)","CmbtBuff_7")
}
/varset CmbtBuff_8 $ini("PCini","$char(name)","CmbtBuff_8")
/if "@CmbtBuff_8"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtBuff_8" "NULL"
/delay 0
/varset CmbtBuff_8 $ini("PCini","$char(name)","CmbtBuff_8")
}
/varset RestItemBuff_1 "$ini("PCini","$char(name)","RestItemBuff_1")"
/if "@RestItemBuff_1"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestItemBuff_1" "NULL"
/delay 0
/varset RestItemBuff_1 $ini("PCini","$char(name)","RestItemBuff_1")
}
/varset RestItemBuff_2 $ini("PCini","$char(name)","RestItemBuff_2")
/if "@RestItemBuff_2"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestItemBuff_2" "NULL"
/delay 0
/varset RestItemBuff_2 $ini("PCini","$char(name)","RestItemBuff_2")
}
/varset RestItemBuff_3 $ini("PCini","$char(name)","RestItemBuff_3")
/if "@RestItemBuff_3"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestItemBuff_3" "NULL"
/delay 0
/varset RestItemBuff_3 $ini("PCini","$char(name)","RestItemBuff_3")
}
/varset RestItemBuff_4 $ini("PCini","$char(name)","RestItemBuff_4")
/if "@RestItemBuff_4"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestItemBuff_4" "NULL"
/delay 0
/varset RestItemBuff_4 $ini("PCini","$char(name)","RestItemBuff_4")
}
/varset RestItemBuff_5 $ini("PCini","$char(name)","RestItemBuff_5")
/if "@RestItemBuff_5"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestItemBuff_5" "NULL"
/delay 0
/varset RestItemBuff_5 $ini("PCini","$char(name)","RestItemBuff_5")
}
/varset RestItemBuff_6 $ini("PCini","$char(name)","RestItemBuff_6")
/if "@RestItemBuff_6"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestItemBuff_6" "NULL"
/delay 0
/varset RestItemBuff_6 $ini("PCini","$char(name)","RestItemBuff_6")
}
/varset RestItemBuff_7 $ini("PCini","$char(name)","RestItemBuff_7")
/if "@RestItemBuff_7"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestItemBuff_7" "NULL"
/delay 0
/varset RestItemBuff_7 $ini("PCini","$char(name)","RestItemBuff_7")
}
/varset RestItemBuff_8 $ini("PCini","$char(name)","RestItemBuff_8")
/if "@RestItemBuff_8"=="NOTFOUND" {
/ini "PCini" "$char(name)" "RestItemBuff_8" "NULL"
/delay 0
/varset RestItemBuff_8 $ini("PCini","$char(name)","RestItemBuff_8")
}
/varset CmbtItemBuff_1 "$ini("PCini","$char(name)","CmbtItemBuff_1")"
/if "@CmbtItemBuff_1"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtItemBuff_1" "NULL"
/delay 0
/varset CmbtItemBuff_1 $ini("PCini","$char(name)","CmbtItemBuff_1")
}
/varset CmbtItemBuff_2 $ini("PCini","$char(name)","CmbtItemBuff_2")
/if "@CmbtItemBuff_2"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtItemBuff_2" "NULL"
/delay 0
/varset CmbtItemBuff_2 $ini("PCini","$char(name)","CmbtItemBuff_2")
}
/varset CmbtItemBuff_3 $ini("PCini","$char(name)","CmbtItemBuff_3")
/if "@CmbtItemBuff_3"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtItemBuff_3" "NULL"
/delay 0
/varset CmbtItemBuff_3 $ini("PCini","$char(name)","CmbtItemBuff_3")
}
/varset CmbtItemBuff_4 $ini("PCini","$char(name)","CmbtItemBuff_4")
/if "@CmbtItemBuff_4"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtItemBuff_4" "NULL"
/delay 0
/varset CmbtItemBuff_4 $ini("PCini","$char(name)","CmbtItemBuff_4")
}
/varset CmbtItemBuff_5 $ini("PCini","$char(name)","CmbtItemBuff_5")
/if "@CmbtItemBuff_5"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtItemBuff_5" "NULL"
/delay 0
/varset CmbtItemBuff_5 $ini("PCini","$char(name)","CmbtItemBuff_5")
}
/varset CmbtItemBuff_6 $ini("PCini","$char(name)","CmbtItemBuff_6")
/if "@CmbtItemBuff_6"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtItemBuff_6" "NULL"
/delay 0
/varset CmbtItemBuff_6 $ini("PCini","$char(name)","CmbtItemBuff_6")
}
/varset CmbtItemBuff_7 $ini("PCini","$char(name)","CmbtItemBuff_7")
/if "@CmbtItemBuff_7"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtItemBuff_7" "NULL"
/delay 0
/varset CmbtItemBuff_7 $ini("PCini","$char(name)","CmbtItemBuff_7")
}
/varset CmbtItemBuff_8 $ini("PCini","$char(name)","CmbtItemBuff_8")
/if "@CmbtItemBuff_8"=="NOTFOUND" {
/ini "PCini" "$char(name)" "CmbtItemBuff_8" "NULL"
/delay 0
/varset CmbtItemBuff_8 $ini("PCini","$char(name)","CmbtItemBuff_8")
}
:setupSBCheck
/if ("@MeleeAttack_1"=="bash" || "@MeleeAttack_1"=="slam") {
/echo Auto @MeleeAttack_1 every @MA_Timer_SB.
/varset MA_SB "@MeleeAttack_1"
/varset MeleeAttack_1 "NULL"
}
/if ("@MeleeAttack_2"=="bash" || "@MeleeAttack_2"=="slam") {
/echo Auto @MeleeAttack_2 every @MA_Timer_SB
/varset MA_SB "@MeleeAttack_2"
/varset MeleeAttack_2 "NULL"
}
/if ("@MeleeAttack_3"=="bash" || "@MeleeAttack_3"=="slam") {
/echo Auto @MeleeAttack_3 every @MA_Timer_SB
/varset MA_SB "@MeleeAttack_3"
/varset MeleeAttack_3 "NULL"
}
:start
/if "@MeleeAttack_1"!="NULL" /echo Auto @MeleeAttack_1 when availiable.
/if "@MeleeAttack_2"!="NULL" /echo Auto @MeleeAttack_2 when availiable.
/if "@MeleeAttack_3"!="NULL" /echo Auto @MeleeAttack_3 when availiable.
/if n @NinjaLewt==1 /echo Auto Ninja Loot
:mainloop
/if $combat==TRUE /call Attack
/doevents
/goto :mainloop
/endmacro
Sub attack
:attackCheck
/varset MobID $target(id)
:attackSetup
/if $target(type)!=NPC {
/attack off
/delay 5
/return
}
/if n $target(distance)>150 {
/attack off
/delay 5
/return
}
:attackPreFight
/call ClearReturn
/if n $char(pet)!=0 /pet attack
/varset MeleeDistance $ini("MOBini","$zone","$target(name,clean).DistanceMelee")
/if "@MeleeDistance"=="NOTFOUND" {
/ini "MOBini" "$zone" "$target(name,clean).DistanceMelee" @DefaultMeleeDistance
/delay 0
/varset MeleeDistance $ini("MOBini","$zone","$target(name,clean).DistanceMelee")
}
:attackMeleeLoop
/doevents exp
/doevents RageOn
/doevents MobGate
/doevents StunON
/doevents ToggleTaunt
/doevents TauntThisRound
/if n $target(id)!=@MobID /goto :attackend
/if $return==EndATK /goto :attackEnd
/if $combat!=TRUE /goto :attackend
/if $char(casting)!=TRUE /if n $char(feetwet)!=0 /face fast
/if $char(casting)!=TRUE /if n $char(feetwet)==0 /face fast nolook
/if n $target(id)==@MobID /if $char(casting)!=TRUE /if n $target(distance)>@MeleeDistance /sendkey down up
/if n $target(id)==@MobID /if $char(casting)!=TRUE /if n $target(distance)<=@MeleeDistance /sendkey up up
/if n $target(id)==@MobID /if $char(casting)!=TRUE /if n $target(distance)<=$calc(@MeleeDistance-5) /press down
/if "@MeleeAttack_1"!="NULL" /if $char(casting)!=TRUE /if n $target(distance)<=@MeleeDistance /if $char(ability,"@MeleeAttack_1")>0 /doability "@MeleeAttack_1"
/if "@MeleeAttack_2"!="NULL" /if $char(casting)!=TRUE /if n $target(distance)<=@MeleeDistance /if $char(ability,"@MeleeAttack_2")>0 /doability "@MeleeAttack_2"
/if "@MeleeAttack_3"!="NULL" /if $char(casting)!=TRUE /if n $target(distance)<=@MeleeDistance /if $char(ability,"@MeleeAttack_2")>0 /doability "@MeleeAttack_3"
/if "@TauntToggle"!="NULL" /if $char(casting)!=TRUE /if n $target(distance)<=@MeleeDistance /if $char(ability,"taunt")>0 /doability "taunt"
/if "@MA_SB"!="No" /if n "@Time_MA_SB"=="0" /if $char(casting)!=TRUE /if n $target(distance)<=@MeleeDistance {
/doability "@MA_SB"
/varset Time_MA_SB @MA_Timer_SB
}
|/if "$char(class)"=="Shadow Knight" /if $target(id)==@MobID /if $char(casting)!=TRUE /if n $target(distance)<=@MeleeDistance /goto :attackSpellsSK
/goto :attackMeleeLoop
:attackSpellsSK
/if n $char(gem,"Zevfeer's Bite")>0 /if n $char(mana,pct)>20 /if n $target(hp,pct)<90 /call cast "Zevfeer's Bite"
/if n $char(gem,"Aura of Hate")>0 /if n $char(mana,pct)>20 /if n $target(hp,pct)<90 /call cast "Aura of Hate"
/if n $char(gem,"Spear of Decay")>0 /if n $char(mana,pct)>50 /if n $target(hp,pct)<90 /call cast "Spear of Decay"
/if n $char(gem,"Spear of Plague")>0 /if n $char(mana,pct)>50 /if n $target(hp,pct)<90 /call cast "Spear of Plague"
/if n $char(hp,pct)<90 /if n $char(buff,"Bond of Death Recourse")==0 /if n $char(gem,"Bond of Death")>0 /if n $char(mana,pct)>20 /if n $target(hp,pct)<90 /call cast "Bond of Death"
/goto :attackMeleeLoop
:attackend
/if n @NinjaLewt!=0 /doevents exp
/varset MobID NULL
/if @TauntToggle!=NULL /varset TauntToggle NULL
/attack off
/pet backoff
/pet hold
/sendkey up up
/return
Sub ClearReturn
/return NULL
Sub event_exp
/if n $target(hp,pct)>0 /return
/if n @NinjaLewt==0 /return EndATK
/if $target(type)!=CORPSE /target id @MobID
/loot
/sendkey up up
/loot
/loot
/loot
/return EndATK
Sub event_RageOn
/if n $target(hp,pct)>15 /return
/if n $target(hp,pct)==0 /return
/if $target(id)==@MobID /if $char(casting)!=TRUE /sendkey up up
/call ClearReturn
/echo Rage On
/attack off
/pet back off
/pet hold
/call ClearReturn
:waitRage
/doevents
/if $target(id)!=@MobID /return EndATK
/if $return==EndATK /return EndATK
/if $return==RageOFF /return
/goto :waitRage
Sub event_RageOFF
/echo Rage OFF
/attack on
/return RageOFF
Sub event_MobGate
/if n $target(distance)<100 /return
/echo MOB GATED!
/attack off
/return EndATK
Sub event_Invited
/invite
/return
Sub event_StunON
/doevents flush StunOFF
/call ClearReturn
:LoopStunOFF
/doevents StunOFF
/if "$return"=="StunOFF" {
/call ClearReturn
/return
}
/goto :LoopStunOFF
Sub event_StunOFF
/return StunOFF
Sub event_TauntThisRound
/if "@TauntToggle"!="Yes" /if "@MeleeAttack_1"!="taunt" /if "@MeleeAttack_2"!="taunt" /if "@MeleeAttack_3"!="taunt") {
/echo Taunting this round against %t
/varset TauntToggle Yes
}
/return
Sub event_ToggleTaunt
/if "@MeleeAttack_1"=="taunt" {
/varset MeleeAttack_1 "NULL"
/echo Will no longer taunt.
/return
}
/if "@MeleeAttack_2"=="taunt" {
/varset MeleeAttack_2 "NULL"
/echo Will no longer taunt.
/return
}
/if "@MeleeAttack_3"=="taunt" {
/varset MeleeAttack_3 "NULL"
/echo Will no longer taunt.
/return
}
/if "@MeleeAttack_1"=="NULL" {
/varset MeleeAttack_1 taunt
/echo Auto @MeleeAttack_1 when availiable.
/return
}
/if "@MeleeAttack_2"=="NULL" {
/varset MeleeAttack_2 taunt
/echo Auto @MeleeAttack_2 when availiable.
/return
}
/if "@MeleeAttack_3"=="NULL" {
/varset MeleeAttack_3 taunt
/echo Auto @MeleeAttack_3 when availiable.
/return
}
/return
Sub event_ToggleNinja
/if n "@NinjaLewt"=="0" {
/varset NinjaLewt 1
/echo NinjaLewt On
/return
}
/if n "@NinjaLewt"=="1" {
/varset NinjaLewt 1
/echo NinjaLewt Off
}
/return
You dont need to copy this....
By default , stick-pc.ini sets defaultmeleedistance to 15
edit stick-npc.ini for the zone/mob-name of mobs with large hit box's
Code: Select all
[Doomfire, The Burning Lands]
Jaxoliz Dawneyes.DistanceMelee=30
a soldier of fire.DistanceMelee=15
Pyronis.DistanceMelee=25
Blazzax the Omnifiend.DistanceMelee=60
Criare Sunmane.DistanceMelee=50
Quavonis Firetail.DistanceMelee=50
a diviner of fire.DistanceMelee=15
General Druav Flamesinger.DistanceMelee=25
You dont need to copy this....
The only edit i did was add bash, the macro will create this file+data, for each character it is run on, you will need to edit it for each character.
Code: Select all
[Character-Name-Here]
NinjaLewt=0
MeleeAttack_1=Bash
MeleeAttack_2=NULL
MeleeAttack_3=NULL
DefaultMeleeDistance=15
RestBuff_1=NULL
RestBuff_2=NULL
RestBuff_3=NULL
RestBuff_4=NULL
RestBuff_5=NULL
RestBuff_6=NULL
RestBuff_7=NULL
RestBuff_8=NULL
CmbtBuff_1=NULL
CmbtBuff_2=NULL
CmbtBuff_3=NULL
CmbtBuff_4=NULL
CmbtBuff_5=NULL
CmbtBuff_6=NULL
CmbtBuff_7=NULL
CmbtBuff_8=NULL
RestItemBuff_1=NULL
RestItemBuff_2=NULL
RestItemBuff_3=NULL
RestItemBuff_4=NULL
RestItemBuff_5=NULL
RestItemBuff_6=NULL
RestItemBuff_7=NULL
RestItemBuff_8=NULL
CmbtItemBuff_1=NULL
CmbtItemBuff_2=NULL
CmbtItemBuff_3=NULL
CmbtItemBuff_4=NULL
CmbtItemBuff_5=NULL
CmbtItemBuff_6=NULL
CmbtItemBuff_7=NULL
CmbtItemBuff_8=NULL
that is just a placeholder in the ini's


