k Ive been working on a Warrpull mac by borrowing snips from mac i thought would work. But i cant seem to get a decent pull section to the mac. Keep in mind this one of my first mac i tried to build (Not very Successful either) but I'm trying. Was hoping peeps could give me some Hint and tip of what Ive done wrong and which way to head to try and fix it. Well any way here it is.
PHP:
|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|
|\\\\\\\\\\\\\\\\\\\\\\\\Created For Warrior's//////////////////////////|
|////////////////////////////////Enjoy\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|
|\\\\\\\\\\\\\\\\\\Must Have Nan.mac, Wait4Rez.Inc,/////////////////////|
|//////////////////ninjadvloot.inc, spell_routines.inc\\\\\\\\\\\\\\\\\\|
|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////|
|\\\\\\\\\\\\\Req. Plugin's: Mq2melee, Mq2moveutils,\\\\\\\\\\\\\\\\\\\\|
|//////////////////// Mqexchange, Mq2cast, mq2pax///////////////////////|
|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////|
|//////////////Code Snip's From all over so Thank You\\\\\\\\\\\\\\\\\\\|
|\\\\\\\\\\\\\\All that worked on any of this coding!///////////////////|
|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|
|------------------------------Events-----------------------------------|
#Event ImDead "You have been slain by#*#"
#Event ImDead "You died#*#"
#Event ImDead "You have fallen to your death#*#"
#event ExpTracker "#*#experience!#*#"
#event AA "You have gained an ability point!#*#"
#event Kills "#*#My Progress#*#"
#event invite "Invite pls"
|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|
|------------------------------Req. Inc. Files--------------------------|
#Include Wait4Rez.inc
#include ninjadvloot.inc
#include spell_routines.inc
|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|
|-----------------------------------------------------------------------|
Sub Main
|-----------------------------------------------------------------------|
/call SetupAdvLootVars
/declare AlertListVoid int outer
/varset AlertListVoid 10
/call LoadVoidlist
|xxxxxxxxxxxxxxxxxxxxxxxxxxxxEXPTRACKERxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|
|-----------------------------------------------------------------------|
/declare Kills int outer 0
/declare AA int outer 0
/declare Exper float outer
/declare AAExp float outer
/declare LDRExp float outer
/varset Exper ${Me.PctExp}
/varset AAExp ${Me.PctAAExp}
/varset LDRExp ${Me.PctGroupLeaderExp}
|xxxxxxxxxxxxxxxxxxxxxxxxxxxxCLICKYSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|
|-----------------------------------------------------------------------|
/declare ClickyItemUse int outer 1
/declare ClickyItem[8] string outer
|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|
|---------------------------Clicky Item Names Here----------------------|
/varset ClickyItem[1] NULL
/varset ClickyItem[2] NULL
/varset ClickyItem[3] Cazic Thule Guardian Band
/varset ClickyItem[4] Diazophire earing
/varset ClickyItem[5] Witherskin cloak
/varset ClickyItem[6] null
/varset ClickyItem[7] NULL
/varset ClickyItem[8] NULL
/declare MobRadius int outer 45
|-----------------------------------------------------------------------|
|MedSection|
|-----------------------------------------------------------------------|
/declare MainAssist string outer MATANK
/declare DoMACheck int outer 1
/declare DoHealerCheck int outer 1
/declare HealerName string outer CLERICNAME
/declare Debug int outer 1
|-----------------------------------------------------------------------|
|Location of Camp|
|-----------------------------------------------------------------------|
/declare MyXLOC int outer ${Me.X}
/declare MyYLOC int outer ${Me.Y}
/declare MyZLOC int outer ${Me.Z}
/waypoint add Warrp_${Me}
/waypoint update Warrp_${Me}
|------------------------------Main Loop -------------------------------|
:main
/doevents
/call Check_Clicky
/delay 1s
/call DoWePause
/delay 1s
/echo Checking For Gms!!
/if (${Spawn[gm].ID}) /q
/disc Commanding Voice
/hidecorpse looted
/Echo Finding a Target!!
/delay 1s
/if (${Me.Endurance}<15500) /g Medding Low on Endur!!
/if (${Me.Endurance}<15500) /goto :med
/target clear
/delay 1s
/moveto loc ${MyYLOC} ${MyXLOC}
/if (${Target.ID}) /echo Starting Pulls Moving to Camp & switching to snare setup!
/bandolier activate Snare
/goto :mobmove
|---------------------------Movement to Mob-----------------------------|
:mobmove
/doevents
/target ${NearestSpawn[NPC alert ${AlertListVoid}]}
/if (${Target.Distance}>1000) /target clear
/face fast nolook
/if (${Me.XTarget} > 0) /goto :camp
/autofire
/delay 1s
/if (${Target.ID}) /moveto id
/if (${Target.ID}) /disc Bazu Roar Rk. II
/if (${Me.XTarget} > 0) /goto :camp
/if (!${Target.ID}) /goto :main
/goto :mobmove
|------------------------Relocating part of mac-------------------------|
:wait1
/doevents
/delay 1s
/moveto loc ${MyYLOC} ${MyXLOC}
/Echo Waiting on targets, Might as Well Sit Down!
/g Medding Sec waiting on Targets!!
/delay 2s
/if (${Me.Standing}) /sit
/delay 20s
/goto :buff
|-------------------------Back to Camp Part of Mac----------------------|
:camp
/doevents
/bandolier activate Sheild
/if (${Me.XTarget} > 0) /moveto loc ${MyYLOC} ${MyXLOC}
/delay 1s
/if (${Me.XTarget} > 0) /goto :kill
/if (!${Target.ID}) /goto :main
/goto :main
|--------------------The Killing Part of mac----------------------------|
:kill
/doevents
/delay 1s
/if (${Me.PctHPs}<=20) /disc Fortitude discipline
/if (${SpawnCount[npc radius 50]}>1) /disc Wheeling Blades Rk. II
/if (${SpawnCount[npc radius 50]}>1 & ${Me.AltAbilityReady["Area Taunt"]}) /alt act 110
/if (${SpawnCount[npc radius 50]}>1 & ${Me.AltAbilityReady["Rampage"]}) /alt act 109
/attack on
/if ((${Me.AbilityReady["Bash"]}) && (${Target.Distance}<18) && (${Me.Endurance}>500)) /doability "Bash"
/if ((${Me.AbilityReady["Taunt"]}) && (${Target.Distance}<18) && (${Me.Endurance}>500)) /doability "Taunt"
/if ((${Me.AbilityReady["Disarm"]}) && (${Target.Distance}<18) && (${Me.Endurance}>500)) /doability "Disarm"
/if (${Me.AltAbilityReady["Call of challenge"]} & ${Target.PctHPs}<=45) /alt activate 552
/if (${Target.PctHPs}<=95 & ${Me.AltAbilityReady["Stomping leap"]}) /alt activate 960
/if (${Me.AltAbilityReady["Hold the Line"]} && ${Me.PctHPs}<=50) /echo Popping Hold the Line!!!!!
/if (${Me.AltAbilityReady["Hold the Line"]} && ${Me.PctHPs}<=50) /alt activate 734
/if (${Target.PctHPs}<=15) /disc Strategic Strike Rk. II
/if (${Target.Type.Equal[Corpse]}) /goto :loot
/if (${Target.ID}) /goto :kill
/if (!${Target.ID}) /goto :loot
/if (!${Me.XTarget} > 0) /goto :main
/goto :kill
|--------------------------The Loot Portion------------------------------|
:loot
/doevents
/echo Looting Corpse!!
/if (!${Target.ID}) /target corpse
/if (${Target.Type.Equal[Corpse]} && ${Target.Distance} <15) /moveto Id
/if (${Target.Type.Equal[Corpse]} && ${Target.Distance} >25) /goto :main
/if (${Target.Type.Equal[Corpse]}) /call LootCorpse
/delay 1s
/goto :main
|-----------------------Heal Potion portion------------------------------|
:potion
/doevents
/if (${Me.PctHPs}<=40 && ${Me.Combat}) /Echo Popping Potion!!
/if (${Me.PctHPs}<=40 && ${Me.Combat}) /potionbelt activate 1
/if (${Me.PctHPs}<=40 && ${Me.Combat}) /goto :kill
/goto :kill
/return
|---------------------------Buff Section---------------------------------|
:buff
/doevents
/delay 1s
/call Check_Clicky
/delay 1s
/disc champions aura
/delay 5s
/goto :med
/return
|-------------------------Medding Section--------------------------------|
:med
/if (${Me.XTarget} > 0 & ${Me.Endurance}<15500) /echo Got Add Going to Kill!!
/if (${Me.XTarget} > 0 & ${Me.Endurance}<15500) /popup Got An Add Going To Kill!!
/if (${Me.XTarget} > 0 & ${Me.Endurance}<15500) /goto :mobmove
/doevents
/if (${Me.Standing}) /moveto loc ${MyYLOC} ${MyXLOC}
/delay 3s
/if (${Me.Standing}) /sit
/delay 1s
/if (!${Agro} & ${Me.Endurance}<15500) /Echo Low On Endur Popping Fourth Wind!!
/if (!${Agro} & ${Me.Endurance}<15500) /disc Fifth Wind Rk. II
/if (!${Agro} && ${Me.PctHPs}<90) /goto :med
/if (!${Agro} && ${Me.Endurance}<35000) /goto :med
/if (${Me.Endurance}>32001) /goto :main
/return
|-------------------All the Sub Sections---------------------------------|
| # Sub Accept Rez
Sub Accept_rez
/if (!${AcceptRez}) /return
/timed 7000 /varset varDead 0
:wait
/doevents
/delay 5s ${Window[ConfirmationDialogBox].Open}
/if (!${Window[ConfirmationDialogBox].Open} && ${varDead}) /goto :wait
/if (${Window[ConfirmationDialogBox].Open}) {
/nomodkey /notify ConfirmationDialogBox Yes_Button leftmouseup
/varset varDead 0
}
/delay 5s
/if (${Window[RespawnWnd].Open}) /nomodkey /notify RespawnWnd RW_OptionsList listselect 2
/delay 5s
/if (${Window[RespawnWnd].Open}) /nomodkey /notify RespawnWnd RW_SelectButton leftmouseup
/return
| # I Died
Sub Event_ImDead
/echo I have died. And the Angels wept.
/varset varDead 1
/call Accept_rez
/return
|-----------------------------------------------------------------------|
Sub LoadVoidlist
/declare inizone string local ${Zone.ShortName}
/declare Cntr1 int local
/declare CntrSt int local 1
/declare CntrMax int local 10
/declare tempnm string local
/if (${Ini[NaN,${inizone},1,NOTFOUND].Find["NOTFOUND"]}) {
| /echo No Exclude list exists.
/return
}
/squelch /alert clear ${AlertListVoid}
:CntParse
/for Cntr1 ${CntrSt} to ${CntrMax}
/varset tempnm ${Ini[NaN,${inizone},${Cntr1},NOTFOUND]}
/if (${tempnm.Equal["NOTFOUND"]}) {
/goto :ParsEnd
} else {
/if (${tempnm.Find["NONE"]}) {
/goto :skipline
} else {
/squelch /alert add ${AlertListVoid} "${tempnm}"
}
}
:skipline
/next Cntr1
/varcalc CntrSt ${CntrMax}+1
/varcalc CntrMax ${CntrMax}+10
/if (${CntrSt}>=1001) {
/echo More then 1000 NPC in the ini??? Parse-Loop seams broken, ending.
/end
}
/goto :CntParse
:ParsEnd
/squelch /alert add ${AlertListVoid} ${Me.Name}
/return
|---Ikky Illusion Section---|
sub event_Iksar
/call Check_Clicky
/return
|----------------------------------------------------------------------------
| SUB: Check_Clicky
|----------------------------------------------------------------------------
Sub Check_Clicky
/declare i int local
/declare TwistOff int local
/if (!${ClickyItemUse}) /return
/if (${Me.Pet.CleanName.Equal[${Me.Name}`s familiar]}) /pet get lost
/for i 1 to ${ClickyItem.Size}
/if (${FindItemCount[${ClickyItem[${i}]}]}<=0) /next i
/if (${FindItem[${ClickyItem[${i}]}].Spell.Stacks[0]} && !${Me.Buff[${FindItem[${ClickyItem[${i}]}].Spell}].ID} && ${NearestSpawn[NPC].Distance}>=${MobRadius}) {
| - Turn off bard twisting
/if (${Me.Class.ShortName.Equal[BRD]} && ${Twist}) /multiline ; /squelch /twist off ; /varset TwistOff 1
/delay 3
/call Cast "${ClickyItem[${i}]}" item
/echo Clicking ${ClickyItem[${i}]}
}
/next i
| - Turn on bard twisting again
/if (${TwistOff}) /squelch /twist start
/return
|-------------------------------------------------------------------------------------
| SUB: DoWePause
|-------------------------------------------------------------------------------------
Sub DoWePause
/if (${Debug}) /echo DoWePause ( Are We Going to Med!!)
/call CheckStats ${DoMACheck} "${MainAssist}" "${MAClass}" Endurance 20 95
/call CheckStats ${DoHealerCheck} "${HealerName}" "${HealerClass}" Mana 40 95
/if (${Debug}) /echo leave DoWePause
/return
|-------------------------------------------------------------------------------------
| SUB: CheckStats
|-------------------------------------------------------------------------------------
Sub CheckStats(int statcheck, charname, ckclass, stat, int pause,int resume)
/if (${Debug}) /echo statcheck "${statcheck}" charname "${charname}" ckclass "${ckclass}" stat "${stat}" pause "${pause}" resume "${resume}"
/if (!${statcheck} || !${Spawn[${ckclass} ${charname}].ID} || ${Group.Member[${Group.Member[${Spawn[Group ${ckclass} ${charname}]}]}].Current${stat}}>${pause}) /return
/echo Waiting for ${charname} to med up to ${resume}% ${stat}.
:wait_for_resume
/if (${Group.Member[${Group.Member[${Spawn[Group ${ckclass} ${charname}]}]}].Current${stat}}<${resume}) /goto :wait_for_resume
/echo ${charname} is now above ${resume}% ${stat} resuming activity.
/if (${Debug}) /echo leaving CheckStats
/return
|**************************************************************************************|
|--------------------------------------------------------------------------------------|
Sub event_ExpTracker
/varset AAExp ${Math.Calc[${Me.PctAAExp}-${AAExp}]}
/varset Exper ${Math.Calc[${Me.PctExp}-${Exper}]}
/varset LDRExp ${Math.Calc[${Me.PctGroupLeaderExp}-${LDRExp}]}
/echo EXP: ${Exper} (${Me.PctExp}%) - AA: ${AAExp} (${Me.PctAAExp}%) : ${Time.Time12} :
/varset Exper ${Me.PctExp}
/varset AAExp ${Me.PctAAExp}
/varset LDRExp ${Me.PctGroupLeaderExp}
/varcalc Kills (${Kills}+1)
/echo =====================================
/echo ======= Kill Count - ${Kills} =======
/echo ========= AA Earned - ${AA} =========
/echo ======= Time - ${Time.Time12} =======
/echo =====================================
/return
/return
Sub event_AA
/echo ${Time.Time12}
/varcalc AA (${AA}+1)
/return
Sub event_invite
/invite Person
/return
Last edited: