Code: Select all
| --------------------
| -- Event AutoDrag --
| --------------------
Sub Event_AutoDrag(string Line, string corpseNames)
/varset lastEvent Event_AutoDrag
/varset corpseNames ${corpseNames.Right[-1]}
/declare corpseCount int local 1
/declare corpseNumber int local 0
:countCorpses
/if (${corpseNames.Arg[${corpseCount}].Length}) {
/varcalc corpseCount (${corpseCount} + 1)
/goto :countCorpses
}
/varcalc corpseCount (${corpseCount} - 1)
/if (${corpseCount} == 0) {
/echo · ··-~^vV - No corpse names supplied!
/return
} else {
/echo · ··-~^vV - Target self (F1) to stop dragging!
}
:dragLoop
/for corpseNumber 1 to ${corpseCount}
/if (${Target.ID} == ${Me.ID}) {
/echo · ··-~^vV - Body dragging ceased.
/return
}
/squelch /target "${corpseNames.Arg[${corpseNumber}]}'s corpse"
/corpse
/delay 3
/next corpseNumber
/goto :dragLoop
/return
| --------------------------
| -- Event RandomIllusion --
| --------------------------
Sub Event_RandomIllusion
/varset lastEvent Event_RandomIllusion
/if (${illusionCount} > 0) {
/declare buffNumber int local 0
/for buffNumber 1 to 15
/if (${Me.Buff[${buffNumber}].Spell.Name.Find[Illusion]}) {
/varcalc buffNumber (${buffNumber} - 1)
/notify BuffWindow Buff${buffNumber} leftmouseup
/delay 1
/goto :illusionDropped
}
/next buffNumber
:illusionDropped
/varcalc buffNumber ${Math.Rand[${illusionCount}]}+1
/echo · ··-~^vV - Casting Illusion: ${illusions[${buffNumber}]}
/popup Casting Illusion: ${illusions[${buffNumber}]}
/call Event_ClickItem "" " Illusion_${illusions[${buffNumber}]}"
/declare beforeShrinkTargetID ${Target.ID}
/squelch /target myself
/call Event_AutoShrink
/squelch /target id ${beforeShrinkTargetID}
}
}
/return
| -----------------------
| -- Event SummonHorse --
| -----------------------
Sub Event_SummonHorse
/varset lastEvent Event_SummonHorse
/declare fullName string local ${Ini[PuppetMaster.ini,ClickItems,Horse_FullName]}
/if (${fullName.Equal[NULL]}) {
/echo · ··-~^vV - [Horse] not in INI file!
/return
}
/declare buffNumber int local 0
/for buffNumber 1 to 15
/if (${Me.Buff[${buffNumber}].Spell.Name.Equal[Summon Horse]}) {
/varcalc buffNumber (${buffNumber} - 1)
/notify BuffWindow Buff${buffNumber} leftmouseup
/delay 1
/goto :horseDropped
}
/next buffNumber
:horseDropped
/if (${FindItem[${fullName}].InvSlot.Pack}) {
/declare wasOpen bool local TRUE
:openPack
/if (!${Window[${FindItem[${fullName}].InvSlot.Pack.Name}].Open}) {
/varset wasOpen FALSE
/itemnotify ${FindItem[${fullName}].InvSlot.Pack.Name} rightmouseup
/delay 2
/goto :openPack
}
/declare cameFrom ${FindItem[${fullName}].InvSlot}
:grabItem
/itemnotify ${InvSlot[${cameFrom}]} leftmouseup
/delay 2
/if (!${Cursor.ID}) {
/goto :grabItem
}
/declare clickItemID ${Cursor.ID}
/declare wornAt pack1
/declare pack1WasOpen ${Window[pack1].Open}
:swapIn
/itemnotify ${InvSlot[${wornAt}]} leftmouseup
/delay 2
/if (${Cursor.ID} == ${clickItemID}) {
/goto :swapIn
}
/declare swappedOutItemID ${Cursor.ID}
/echo · ··-~^vV - Summoning Horse
/itemnotify ${InvSlot[${wornAt}]} rightmouseup
:clickIt
/if (${Me.Ducking}) {
/goto :swapOut
}
/if (${Me.Casting.ID}) {
/delay 2
/goto :clickIt
}
:swapOut
/itemnotify ${InvSlot[${wornAt}]} leftmouseup
/delay 2
/if (${Cursor.ID} == ${swappedOutItemID}) {
/goto :swapOut
}
/if (!${mustEquip}) {
/if (${pack1WasOpen} && !${Window.[pack1].Open}) {
/itemnotify ${InvSlot[pack1]} rightmouseup
}
}
:putBack
/if (${Cursor.ID} == ${clickItemID}) {
/itemnotify ${InvSlot[${cameFrom}]} leftmouseup
/delay 2
/goto :putBack
}
:closePack
/if (${Window[${InvSlot[${cameFrom}].Pack.Name}].Open} && !${wasOpen}) {
/itemnotify ${InvSlot[${cameFrom}].Pack.Name} rightmouseup
/delay 2
/goto :closePack
}
} else /if (${FindItem[${fullName}].InvSlot}) {
/declare wornAt ${FindItem[${fullName}].InvSlot}
/echo · ··-~^vV - Summoning Horse
/itemnotify ${InvSlot[${wornAt}]} rightmouseup
:clickIt2
/if (${Me.Ducking}) {
/goto :stopCast
}
/if (${Me.Casting.ID}) {
/delay 2
/goto :clickIt2
}
:stopCast
} else {
/echo · ··-~^vV - ${fullName} not found!
}
/return
| --------------------
| -- Event Incoming --
| --------------------
Sub Event_Incoming
/varset lastEvent Event_Incoming
/if (${incomingCount} > 0) {
/declare messageNumber int local 0
/varcalc messageNumber (${Math.Rand[${incomingCount}]} + 1)
/docommand /${incomingChannel} ${incomingMessages[${messageNumber}]}
}
/return
| ------------------------------
| -- Event SetIncomingChannel --
| ------------------------------
Sub Event_SetIncomingChannel(string Line, string newIncomingChannel)
/varset lastEvent Event_SetIncomingChannel
/varset newIncomingChannel ${newIncomingChannel.Right[-1]}
/if (${newIncomingChannel.Length}) {
/varset incomingChannel ${newIncomingChannel}
}
/echo · ··-~^vV - Incoming Message Channel: ${incomingChannel}
/return
| -------------------------------
| -- Event CheckForFadingBuffs --
| -------------------------------
Sub Event_CheckForFadingBuffs
/if (${checkForFadingBuffs} && ${dropUnwantedBuffs}) {
/declare buffNumber int local 0
/declare unwantedBuff int local 0
/for buffNumber 1 to 15
/if (${Me.Buff[${buffNumber}].Spell.ID} && ${Me.Buff[${buffNumber}].Spell.SpellType.NotEqual[Detrimental]}) {
/for unwantedBuff 1 to ${unwantedBuffsCount}
/if (${Me.Buff[${buffNumber}].Spell.Name.Find[${unwantedBuffs[${unwantedBuff}]}]}) {
/varcalc buffNumber (${buffNumber} - 1)
/notify BuffWindow Buff${buffNumber} leftmouseup
/varcalc buffNumber (${buffNumber} + 1)
/delay 1
/next buffNumber
}
/next unwantedBuff
/if (${Me.Buff[${buffNumber}].Duration.TotalSeconds} <= 120) {
/echo · ··-~^vV - ${Me.Buff[${buffNumber}].Spell.Name} is about to fade!
/popup ${Me.Buff[${buffNumber}].Spell.Name} is about to fade!
}
}
/next buffNumber
} else /if (${checkForFadingBuffs}) {
/declare buffNumber int local 0
/for buffNumber 1 to 15
/if (${Me.Buff[${buffNumber}].Spell.ID} && ${Me.Buff[${buffNumber}].Spell.SpellType.NotEqual[Detrimental]}) {
/if (${Me.Buff[${buffNumber}].Duration.TotalSeconds} <= 120) {
/echo · ··-~^vV - ${Me.Buff[${buffNumber}].Spell.Name} is about to fade!
/popup ${Me.Buff[${buffNumber}].Spell.Name} is about to fade!
}
}
/next buffNumber
} else /if (${dropUnwantedBuffs}) {
/declare buffNumber int local 0
/declare unwantedBuff int local 0
/for buffNumber 1 to 15
/if (${Me.Buff[${buffNumber}].Spell.ID} && ${Me.Buff[${buffNumber}].Spell.SpellType.NotEqual[Detrimental]}) {
/for unwantedBuff 1 to ${unwantedBuffsCount}
/if (${Me.Buff[${buffNumber}].Spell.Name.Find[${unwantedBuffs[${unwantedBuff}]}]}) {
/varcalc buffNumber (${buffNumber} - 1)
/notify BuffWindow Buff${buffNumber} leftmouseup
/varcalc buffNumber (${buffNumber} + 1)
/delay 1
/next buffNumber
}
/next unwantedBuff
}
/next buffNumber
}
/return
| -----------------------
| -- Event LoadAliases --
| -----------------------
Sub Event_LoadAliases
/varset lastEvent Event_LoadAliases
/squelch /alias /kill /echo Time to kick ass!!
/squelch /alias /rangeattack /echo ToggleAutoRangeAttack
/squelch /alias /doassist /echo Assist
/squelch /alias /mainassist /echo SetMainAssist
/squelch /alias /assistchange /echo SetAutoAssistChange
/squelch /alias /assistmsg /echo SetAssistMessage
/squelch /alias /tankmode /echo SetTankMode
/squelch /alias /autostick /echo SetAutoStick
/squelch /alias /closeness /echo SetCloseness
/squelch /alias /loosestick /echo SetLooseStick
/squelch /alias /moveback /echo SetMoveBack
/squelch /alias /movebehind /echo SetMoveBehind
/squelch /alias /autoevade /echo SetAutoEvade
/squelch /alias /evadeaggro /echo SetEvadeAggro
/squelch /alias /autobs /echo SetAutoBackstab
/squelch /alias /autostrike /echo SetAutoStrike
/squelch /alias /autodisarm /echo SetAutoDisarm
/squelch /alias /autofear /echo SetAutoIntimidate
/squelch /alias /autopp /echo SetAutoPickpocket
/squelch /alias /autobeg /echo SetAutoBeg
/squelch /alias /autohide /echo SetAutoSneakHide
/squelch /alias /dropsneak /echo SetDropSneakInCombat
/squelch /alias /autotrapdisarm /echo SetAutoTrapDisarm
/squelch /alias /rangetype /echo SetRangeType
/squelch /alias /maxrange /echo SetMaxRange
/squelch /alias /strikeskill /echo SetStrikeSkill
/squelch /alias /minend /echo SetMinEndurance
/squelch /alias /autoescape /echo SetAutoEscape
/squelch /alias /autonimble /echo SetAutoNimble
/squelch /alias /dynimble /echo SetDynamicNimble
/squelch /alias /checkbuffs /echo SetCheckForFadingBuffs
/squelch /alias /dropunwanted /echo SetDropUnwantedBuffs
/squelch /alias /autoillusion /echo SetAutoIllusion
/squelch /alias /calldi /echo SetCallDI
/squelch /alias /autojoin /echo SetAutoJoinGroups
/squelch /alias /autogreet /echo SetAutoGreet
/squelch /alias /autoloot /echo SetAutoLoot
/squelch /alias /minvalue /echo SetMinLootValue
/squelch /alias /collectitem /echo SetCollectItem
/squelch /alias /semiafk /echo SetSemiAfk
/squelch /alias /pause /echo SetPause
/squelch /alias /autofollow /echo AutoFollow
/squelch /alias /leash /echo Leash
/squelch /alias /iclick /echo ClickItem
/squelch /alias /iset /echo SetClickItem
/squelch /alias /autoheal /echo AutoHeal
/squelch /alias /autocure /echo AutoCure
/squelch /alias /autoshrink /echo AutoShrink
/squelch /alias /groupshrink /echo GroupShrink
/squelch /alias /lootmycorpse /echo LootMyCorpse
/squelch /alias /lootcorpse /echo AutoLoot
/squelch /alias /drag /echo AutoDrag
/squelch /alias /illusion /echo RandomIllusion
/squelch /alias /horse /echo SummonHorse
/squelch /alias /inc /echo Incoming
/squelch /alias /channel /echo SetIncomingChannel
/squelch /alias /buffcheck /echo CheckForFadingBuffs
/squelch /alias /reload /echo ReloadIni
/squelch /alias /status /echo StatusReport
/squelch /alias /pmhelp /echo DisplayHelp
|-- Drop-Buff Short Commands
/squelch /alias /buff1 /notify BuffWindow Buff0 leftmouseup
/squelch /alias /buff2 /notify BuffWindow Buff1 leftmouseup
/squelch /alias /buff3 /notify BuffWindow Buff2 leftmouseup
/squelch /alias /buff4 /notify BuffWindow Buff3 leftmouseup
/squelch /alias /buff5 /notify BuffWindow Buff4 leftmouseup
/squelch /alias /buff6 /notify BuffWindow Buff5 leftmouseup
/squelch /alias /buff7 /notify BuffWindow Buff6 leftmouseup
/squelch /alias /buff8 /notify BuffWindow Buff7 leftmouseup
/squelch /alias /buff9 /notify BuffWindow Buff8 leftmouseup
/squelch /alias /buff10 /notify BuffWindow Buff9 leftmouseup
/squelch /alias /buff11 /notify BuffWindow Buff10 leftmouseup
/squelch /alias /buff12 /notify BuffWindow Buff11 leftmouseup
/squelch /alias /buff13 /notify BuffWindow Buff12 leftmouseup
/squelch /alias /buff14 /notify BuffWindow Buff13 leftmouseup
/squelch /alias /buff15 /notify BuffWindow Buff14 leftmouseup
|-- Discipline Short Commands
/squelch /alias /nimble /disc nimble
/squelch /alias /counter /disc counterattack
/squelch /alias /duelist /disc duelist
/squelch /alias /kine /disc kinesthetics
/squelch /alias /twisted /disc twisted chance
/squelch /alias /deadeye /disc deadeye
/squelch /alias /deadly /disc deadly precision
/squelch /alias /blinding /disc blinding speed
/squelch /alias /healing /disc healing will
/squelch /alias /fearless /disc fearless
/squelch /alias /resistant /disc resistant
/squelch /alias /assassins /disc assassins strike
/squelch /alias /kyv /disc kyv strike
/squelch /alias /chaos /disc chaos strike
/ini "PuppetMaster.ini" "Version" "AliasVersion" "2.20"
/echo · ··-~^vV - Commands loaded.
/return
| ---------------------
| -- Event ReloadIni --
| ---------------------
Sub Event_ReloadIni
/varset lastEvent Event_ReloadIni
/call IniLoad
/call IllusionCheck
/call IncomingMessageLoad
/call UnwantedBuffsLoad
/echo · ··-~^vV - Ini loaded
/return
| ------------------------
| -- Event StatusReport --
| ------------------------
Sub Event_StatusReport
/varset lastEvent Event_DisplayHelp
/echo · ··-~^vV - -=-=[ Current Settings ]=-=-
/echo · ··-~^vV - Current MainAssist: ${mainAssist}
/echo · ··-~^vV - Automatic MainAssist-Change: ${If[${autoAssistChange},ON,OFF]}
/echo · ··-~^vV - Assist Message: ${assistMessage}
/echo · ··-~^vV - Assist on Message: ${If[${assistOnMessage},ON,OFF]}
/echo · ··-~^vV - Automatically stick to your Target: ${If[${autoStick},ON,OFF]}
/echo · ··-~^vV - Closeness on sticking: ${closeness}% of max melee range
/echo · ··-~^vV - Loose sticking: ${If[${looseStick},ON,OFF]}
/echo · ··-~^vV - Move back on sticking: ${If[${moveBack},ON,OFF]}
/echo · ··-~^vV - Move Behind on sticking: ${If[${moveBehind},ON,OFF]}
/echo · ··-~^vV - Automatically evading in Combat: ${If[${autoEvade},ON,OFF]}
/echo · ··-~^vV - Automatic Aggro-Evasion: ${If[${evadeAggro},ON,OFF]}
/echo · ··-~^vV - Automatically backstabbing in Combat: ${If[${autoBackstab},ON,OFF]}
/echo · ··-~^vV - Automatically disarming in Combat: ${If[${autoDisarm},ON,OFF]}
/echo · ··-~^vV - Automatically intimidating in Combat: ${If[${autoIntimidate},ON,OFF]}
/echo · ··-~^vV - Automatically pickpocket in Combat: ${If[${autoPickpocket},ON,OFF]}
/echo · ··-~^vV - Automatically begging in Combat: ${If[${autoBeg},ON,OFF]}
/echo · ··-~^vV - Automatically Sneaking/Hiding: ${If[${autoSneakHide},ON,OFF]}
/echo · ··-~^vV - Drop sneak in combat: ${If[${dropSneakInCombat},ON,OFF]}
/echo · ··-~^vV - Current Strike Skill to use: ${strikeSkill}
/echo · ··-~^vV - Minimal Endurance to strike: ${minEndurance}%
/echo · ··-~^vV - Automatically Escape: ${If[${autoEscape},ON,OFF]}
/echo · ··-~^vV - Escape Health: ${escapeHealth}%
/echo · ··-~^vV - Automatically use Nimble: ${If[${autoNimble},ON,OFF]}
/echo · ··-~^vV - Nimble Health: ${nimbleHealth}%
/echo · ··-~^vV - Dynamic Nimble Control: ${If[${dynamicNimble},ON,OFF]}
/echo · ··-~^vV - Warn about fading Buffs: ${If[${checkForFadingBuffs},ON,OFF]}
/echo · ··-~^vV - Automatically drop unwanted Buffs: ${If[${dropUnwantedBuffs},ON,OFF]}
/echo · ··-~^vV - Automatically cast random Illusion on Zone or Fade: ${If[${autoIllusion},ON,OFF]}
/echo · ··-~^vV - Call DI while on raid: ${If[${callDI},ON,OFF]}
/echo · ··-~^vV - Automatically join Groups: ${If[${autoJoinGroups},ON,OFF]}
/echo · ··-~^vV - Automatically greet new Groupmembers: ${If[${autoGreet},ON,OFF]}
/echo · ··-~^vV - Minimum Loot Value: ${Math.Calc[${minLootValue}/1000]}pp
/echo · ··-~^vV - Automatically Loot: ${If[${autoLoot},ON,OFF]}
/echo · ··-~^vV - Loot Distance: ${lootDistance}
/echo · ··-~^vV - Collect Item: ${If[${collectItem},ON,OFF]}
/echo · ··-~^vV - Collect Item Name: ${collectItemName}
/return
| -----------------------
| -- Event DisplayHelp --
| -----------------------
Sub Event_DisplayHelp
/varset lastEvent Event_DisplayHelp
/echo · ··-~^vV - -=-=[ Help ]=-=-
/echo · ··-~^vV - /kill
/echo · ··-~^vV - /rangeattack
/echo · ··-~^vV - /doassist
/echo · ··-~^vV - /mainassist [<main assist>]
/echo · ··-~^vV - /assistmsg [on/off/<assist message>]
/echo · ··-~^vV - /tankmode on/off
/echo · ··-~^vV - /autostick [on/off]
/echo · ··-~^vV - /closeness [<% of max melee range>]
/echo · ··-~^vV - /loosestick [on/off]
/echo · ··-~^vV - /moveback [on/off]
/echo · ··-~^vV - /movebehind [on/off]
/echo · ··-~^vV - /autoevade [on/off]
/echo · ··-~^vV - /evadeaggro [on/off]
/echo · ··-~^vV - /autobs [on/off]
/echo · ··-~^vV - /autodisarm [on/off]
/echo · ··-~^vV - /autofear[on/off]
/echo · ··-~^vV - /autopp [on/off]
/echo · ··-~^vV - /autobeg [on/off]
/echo · ··-~^vV - /autohide [on/off]
/echo · ··-~^vV - /dropsneak [on/off]
/echo · ··-~^vV - /strikeskill [<strike skill>]
/echo · ··-~^vV - /minend [<minimal endurance %>]
/echo · ··-~^vV - /autoescape [on/off/<% health to use it>]
/echo · ··-~^vV - /autonimble [on/off/<% health to use it> [<% health to use it on hit>]]
/echo · ··-~^vV - /dynimble [on/off]
/echo · ··-~^vV - /checkbuffs [on/off]
/echo · ··-~^vV - /dropunwanted [on/off]
/echo · ··-~^vV - /autoillusion [on/off]
/echo · ··-~^vV - /calldi [on/off]
/echo · ··-~^vV - /autojoin [on/off]
/echo · ··-~^vV - /autogreet [on/off]
/echo · ··-~^vV - /autoloot [on/off]
/echo · ··-~^vV - /collectitem [on/off/<item to collect>]
/echo · ··-~^vV - /semiafk [on/off]
/echo · ··-~^vV - /pause [on/off]
/echo · ··-~^vV - /autofollow [<distance> [<distance on move>]/off]
/echo · ··-~^vV - /leash [<distance>/off]
/echo · ··-~^vV - /iclick <short item name> [<cast count>]
/echo · ··-~^vV - /iset <short item name> "<full item name>" [mustequip] [<slash command>]
/echo · ··-~^vV - /autoheal [<target health %>]
/echo · ··-~^vV - /autocure
/echo · ··-~^vV - /autoshrink
/echo · ··-~^vV - /groupshrink
/echo · ··-~^vV - /lootmycorpse
/echo · ··-~^vV - /drag <corpse1> [<corpse2>] ..
/echo · ··-~^vV - /illusion
/echo · ··-~^vV - /horse
/echo · ··-~^vV - /inc
/echo · ··-~^vV - /channel
/echo · ··-~^vV - /buffcheck
/echo · ··-~^vV - /reload
/echo · ··-~^vV - /status
/echo · ··-~^vV - /help
/return
| ----------------------
| -- Sub Check_Behind --
| ----------------------
Sub Check_Behind
/varset behindTarget FALSE
/if ((${Target.Heading.DegreesCCW} > 90.0) && (${Target.Heading.DegreesCCW} <= 270.0)) {
/if (${Target.Heading.DegreesCCW} == 270.0) {
/if (${Me.E} < ${Target.E}) {
/varset behindTarget TRUE
}
} else {
/declare m float ${Math.Tan[${Target.Heading.DegreesCCW}]}
/declare n float ${Math.Calc[${Target.N} - (${m} * ${Target.E})]}
/if (${Me.N} > ${Math.Calc[(${m} * ${Me.E}) + ${n}]}) {
/varset behindTarget TRUE
}
}
} else {
/if (${Target.Heading.DegreesCCW} == 90.0) {
/if (${Me.E} > ${Target.E}) {
/varset behindTarget TRUE
}
} else {
/declare m float ${Math.Tan[${Target.Heading.DegreesCCW}]}
/declare n float ${Math.Calc[${Target.N} - (${m} * ${Target.E})]}
/if (${Me.N} < ${Math.Calc[(${m} * ${Me.E}) + ${n}]}) {
/varset behindTarget TRUE
}
}
}
/return
| -----------------------------
| -- Sub Check_ViewDirection --
| -----------------------------
Sub Check_ViewDirection
/varset facingTarget FALSE
/if (${Math.Abs[${Target.HeadingTo.DegreesCCW} - ${Me.Heading.DegreesCCW}]} <= 55.0) {
/varset facingTarget TRUE
}
/return
| ---------------------
| -- Sub Check_Range --
| ---------------------
Sub Check_Range
/varset inRange ${If[(${Target.Distance} < ${Target.MaxRangeTo}),TRUE,FALSE]}
/return
| -----------------
| -- Sub DoStick --
| -----------------
Sub DoStick
/squelch /stick off
/if (${isInfuriated}) {
/squelch /stick ${Target.MaxRangeTo} 200% mpause moveback ${If[${Me.Swimming},uw,]} ${If[${looseStick},loose,]}
} else {
/squelch /stick ${Target.MaxRangeTo} ${closeness}% ${If[(!${moveBehind} || ${aggroDetected}),,behind]} mpause ${If[${moveBack},moveback,]} ${If[${Me.Swimming},uw,]} ${If[${looseStick},loose,]}
}
/return
| ------------------
| -- Sub DoStick2 --
| ------------------
Sub DoStick2
/if (${isInfuriated}) {
} else {
/face
}
/return
| ----------------------
| -- Sub DoAutoFollow --
| ----------------------
Sub DoAutoFollow
/if ((${Spawn[${followTargetID}].Speed} > 100.00) && (${Spawn[${followTargetID}].Distance} > ${followDistance_OnMove})) {
/face ${If[${Me.Swimming},,nolook]} id ${followTargetID}
/declare oldX float ${Me.X}
/declare oldY float ${Me.Y}
/keypress FORWARD hold
/delay 1s (${Spawn[${followTargetID}].Distance} <= ${followDistance})
/keypress FORWARD
/if ((${oldX} <= ${Me.X} + 2) && (${oldX} >= ${Me.X} - 2) && (${oldY} <= ${Me.Y} + 2) && (${oldY} >= ${Me.Y} - 2)) {
/if (${Math.Rand[2]}) {
/keypress STRAFE_LEFT hold
/delay 5
/keypress STRAFE_LEFT
} else {
/keypress STRAFE_RIGHT hold
/delay 5
/keypress STRAFE_RIGHT
}
}
} else /if (${Spawn[${followTargetID}].Distance} > ${followDistance}) {
/if (${Math.Rand[2]}) {
/face ${If[${Me.Swimming},,nolook]} heading ${Math.Calc[(${Spawn[${followTargetID}].HeadingTo.DegreesCCW} + ${Math.Rand[30]} + 360) % 360]}
} else {
/face ${If[${Me.Swimming},,nolook]} heading ${Math.Calc[(${Spawn[${followTargetID}].HeadingTo.DegreesCCW} - ${Math.Rand[30]} + 360) % 360]}
}
/keypress FORWARD hold
/delay 1s (${Spawn[${followTargetID}].Distance} <= ${followDistance})
/keypress FORWARD
/if ((${oldX} <= ${Me.X} + 2) && (${oldX} >= ${Me.X} - 2) && (${oldY} <= ${Me.Y} + 2) && (${oldY} >= ${Me.Y} - 2)) {
/if (${Math.Rand[2]}) {
/keypress STRAFE_LEFT hold
/delay 2s
/keypress STRAFE_LEFT
} else {
/keypress STRAFE_RIGHT hold
/delay 2s
/keypress STRAFE_RIGHT
}
}
}
/return
| -----------------
| -- Sub DoLeash --
| -----------------
Sub DoLeash
/if (${Math.Distance[${Me.Y},${Me.X}:${stakeY},${stakeX}]} > ${leashDistance}) {
/face ${If[${Me.Swimming},,nolook]} heading ${Math.Calc[(${Heading[${stakeY},${stakeX}].DegreesCCW} + 180) % 360]}
/declare oldX float ${Me.X}
/declare oldY float ${Me.Y}
/keypress BACK hold
/delay 1s (${Math.Distance[${Me.Y},${Me.X}:${stakeY},${stakeX}]} <= ${Math.Calc[${leashDistance} * 0.75]})
/keypress BACK
/if ((${oldX} <= ${Me.X} + 2) && (${oldX} >= ${Me.X} - 2) && (${oldY} <= ${Me.Y} + 2) && (${oldY} >= ${Me.Y} - 2)) {
/if (${Math.Rand[2]}) {
/keypress STRAFE_LEFT hold
/delay 2s
/keypress STRAFE_LEFT
} else {
/keypress STRAFE_RIGHT hold
/delay 2s
/keypress STRAFE_RIGHT
}
}
}
/return
| --------------------
| -- Sub AutoStrike --
| --------------------
Sub AutoStrike
/if (${Me.AbilityReady["Backstab"]} && ${InvSlot[mainhand].Item.Type.Equal[Piercing]}) {
/echo · ··-~^vV - Executing Strike on: ${oldTargetName}
/doability "Backstab"
/attack on
}
/return
| ----------------------
| -- Sub AutoBackstab --
| ----------------------
Sub AutoBackstab
/if (${Me.AbilityReady["Backstab"]} && ${InvSlot[mainhand].Item.Type.Equal[Piercing]}) {
/echo · ··-~^vV - Backstabbing: ${oldTargetName}
/doability "Backstab"
}
/return
| --------------------
| -- Sub AutoDisarm --
| --------------------
Sub AutoDisarm
/if (${Me.AbilityReady["Disarm"]}) {
/echo · ··-~^vV - Trying to disarm: ${oldTargetName}
/doability "Disarm"
}
/return
| ------------------------
| -- Sub AutoIntimidate --
| ------------------------
Sub AutoIntimidate
/if (${Me.AbilityReady["Intimidation"]}) {
/echo · ··-~^vV - Trying to intimidate: ${oldTargetName}
/doability "Intimidation"
}
/return
| ------------------------
| -- Sub AutoPickpocket --
| ------------------------
Sub AutoPickpocket
/if (${Me.AbilityReady["Pick Pockets"]}) {
/if ((${Target.Distance} <= 15)) {
/echo · ··-~^vV - Trying to Pick Pockets of: ${oldTargetName}
/doability "Pick Pockets"
}
}
/return
| -----------------
| -- Sub AutoBeg --
| -----------------
Sub AutoBeg
/if (${Me.AbilityReady["Begging"]}) {
/if ((${Target.Distance} <= 15)) {
/echo · ··-~^vV - Begging from: ${oldTargetName}
/doability "Begging"
}
}
/return
| -------------------
| -- Sub AutoEvade --
| -------------------
Sub AutoEvade
/if (${Me.AbilityReady["Hide"]}) {
/echo · ··-~^vV - Trying to evade from: ${oldTargetName}
/doability "Hide"
}
/return
| ---------------------
| -- Sub RangeAttack --
| ---------------------
Sub RangeAttack
/if (${Me.RangedReady} && (${Target.Distance} >= 30) && ${Target.LineOfSight} && (${Target.Distance} <= ${maxRange}) && ${InvSlot[ranged].Item.Type.Equal[${rangeType}]}) {
/ranged
}
/return
| -----------------------
| -- Sub AutoSneakHide --
| -----------------------
Sub AutoSneakHide
/if (!${Me.Mount.ID} && !${reHideTimer.Value}) {
/if (${Me.AbilityReady["Sneak"]}) {
/doability "Sneak"
}
/if (${Me.AbilityReady["Hide"]} && (${Me.Sneaking} && !${Me.AbilityReady["Sneak"]}) && !${Me.Buff[Shroud of Stealth].Duration}) /doability "Hide"
}
/return
| ------------------------
| -- Sub AutoSenseTraps --
| ------------------------
Sub AutoSenseTraps
/if (${Me.AbilityReady["Sense Traps"]}) {
/declare oldHeading float local ${Me.Heading.DegreesCCW}
/doability "Sense Traps"
/face heading ${oldHeading} fast
}
/return
| ------------------------
| -- Sub AutoTrapDisarm --
| ------------------------
Sub AutoTrapDisarm
/if (${Me.AbilityReady["Disarm Traps"]}) {
/doability "Disarm Traps"
}
/return
| -----------------------------
| -- Sub SneakHideButtonFind --
| -----------------------------
Sub SneakHideButtonFind
/if (${Window[ActionsWindow].Child[AAP_FirstAbilityButton].Text.Equal[Hide]}) {
/varset hideButtonNumber 1
} else /if (${Window[ActionsWindow].Child[AAP_FirstAbilityButton].Text.Equal[Sneak]}) {
/varset sneakButtonNumber 1
}
/if (${Window[ActionsWindow].Child[AAP_SecondAbilityButton].Text.Equal[Hide]}) {
/varset hideButtonNumber 2
} else /if (${Window[ActionsWindow].Child[AAP_SecondAbilityButton].Text.Equal[Sneak]}) {
/varset sneakButtonNumber 2
}
/if (${Window[ActionsWindow].Child[AAP_ThirdAbilityButton].Text.Equal[Hide]}) {
/varset hideButtonNumber 3
} else /if (${Window[ActionsWindow].Child[AAP_ThirdAbilityButton].Text.Equal[Sneak]}) {
/varset sneakButtonNumber 3
}
/if (${Window[ActionsWindow].Child[AAP_FourthAbilityButton].Text.Equal[Hide]}) {
/varset hideButtonNumber 4
} else /if (${Window[ActionsWindow].Child[AAP_FourthAbilityButton].Text.Equal[Sneak]}) {
/varset sneakButtonNumber 4
}
/if (${Window[ActionsWindow].Child[AAP_FifthAbilityButton].Text.Equal[Hide]}) {
/varset hideButtonNumber 5
} else /if (${Window[ActionsWindow].Child[AAP_FifthAbilityButton].Text.Equal[Sneak]}) {
/varset sneakButtonNumber 5
}
/if (${Window[ActionsWindow].Child[AAP_SixthAbilityButton].Text.Equal[Hide]}) {
/varset hideButtonNumber 6
} else /if (${Window[ActionsWindow].Child[AAP_SixthAbilityButton].Text.Equal[Sneak]}) {
/varset sneakButtonNumber 6
}
/return
| -----------------------------
| -- Sub IncomingMessageLoad --
| -----------------------------
Sub IncomingMessageLoad
/varset incomingCount 0
/declare messageNumber int local 0
/for messageNumber 1 to 10
/if (${Ini[PuppetMaster.ini,IncomingMessages,Message_${messageNumber}].NotEqual[NULL]} && ${Ini[PuppetMaster.ini,IncomingMessages,Message_${messageNumber}].Length}) {
/varcalc incomingCount (${incomingCount} + 1)
/varset incomingMessages[${incomingCount}] ${Ini[PuppetMaster.ini,IncomingMessages,Message_${messageNumber}]}
} else {
/ini "PuppetMaster.ini" "IncomingMessages" "Message_${messageNumber}" ""
}
/next messageNumber
/return
| ---------------------------
| -- Sub UnwantedBuffsLoad --
| ---------------------------
Sub UnwantedBuffsLoad
/varset unwantedBuffsCount 0
/declare unwantedBuffNumber int local 0
/for unwantedBuffNumber 1 to 10
/if (${Ini[PuppetMaster.ini,UnwantedBuffs,UnwantedBuff_${unwantedBuffNumber}].NotEqual[NULL]} && ${Ini[PuppetMaster.ini,UnwantedBuffs,UnwantedBuff_${unwantedBuffNumber}].Length}) {
/varcalc unwantedBuffsCount (${unwantedBuffsCount} + 1)
/varset unwantedBuffs[${unwantedBuffsCount}] ${Ini[PuppetMaster.ini,UnwantedBuffs,UnwantedBuff_${unwantedBuffNumber}]}
} else {
/ini "PuppetMaster.ini" "UnwantedBuffs" "UnwantedBuff_${unwantedBuffNumber}" ""
}
/next unwantedBuffNumber
/return
| -----------------------
| -- Sub IllusionCheck --
| -----------------------
Sub IllusionCheck
/varset illusionCount 0
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_DarkElf_FullName].NotEqual[NULL]}) {
/varcalc illusionCount (${illusionCount} + 1)
/varset illusions[${illusionCount}] DarkElf
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_EarthElemental_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] EarthElemental
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_Erudite_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] Erudite
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_FireElemetal_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] FireElemetal
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_Gnome_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] Gnome
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_HalfElf_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] HalfElf
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_Halfling_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] Halfling
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_HighElf_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] HighElf
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_Human_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] Human
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_Iksar_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] Iksar
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_Ogre_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] Ogre
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_Skeleton_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] Skeleton
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_VahShir_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] VahShir
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_WoodElf_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] WoodElf
}
/return
| -----------------
| -- Sub IniLoad --
| -----------------
Sub IniLoad
/if (${Ini[PuppetMaster.ini,Settings,MainAssist].NotEqual[NULL]}) {
/varset mainAssist ${Ini[PuppetMaster.ini,Settings,MainAssist]}
} else {
/ini "PuppetMaster" "Settings" "MainAssist" "${mainAssist}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoAssistChange].NotEqual[NULL]}) {
/varset autoAssistChange ${Ini[PuppetMaster.ini,Settings,AutoAssistChange]}
} else {
/ini "PuppetMaster.ini" "Settings" "AutoAssistChange" "${autoAssistChange}"
}
/if (${Ini[PuppetMaster.ini,Settings,AssistMessage].NotEqual[NULL]}) {
/varset assistMessage ${Ini[PuppetMaster.ini,Settings,AssistMessage]}
} else {
/ini "PuppetMaster" "Settings" "AssistMessage" "${assistMessage}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoStick].NotEqual[NULL]}) {
/varset autoStick ${Ini[PuppetMaster.ini,Settings,AutoStick]}
} else {
/ini "PuppetMaster" "Settings" "AutoStick" "${autoStick}"
}
/if (${Ini[PuppetMaster.ini,Settings,Closeness].NotEqual[NULL]}) {
/varset closeness ${Ini[PuppetMaster.ini,Settings,Closeness]}
} else {
/ini "PuppetMaster" "Settings" "Closeness" "${closeness}"
}
/if (${Ini[PuppetMaster.ini,Settings,LooseStick].NotEqual[NULL]}) {
/varset looseStick ${Ini[PuppetMaster.ini,Settings,LooseStick]}
} else {
/ini "PuppetMaster" "Settings" "LooseStick" "${looseStick}"
}
/if (${Ini[PuppetMaster.ini,Settings,MoveBack].NotEqual[NULL]}) {
/varset moveBack ${Ini[PuppetMaster.ini,Settings,MoveBack]}
} else {
/ini "PuppetMaster" "Settings" "MoveBack" "${moveBack}"
}
/if (${Ini[PuppetMaster.ini,Settings,MoveBehind].NotEqual[NULL]}) {
/varset moveBehind ${Ini[PuppetMaster.ini,Settings,MoveBehind]}
} else {
/ini "PuppetMaster" "Settings" "MoveBehind" "${moveBehind}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoEvade].NotEqual[NULL]}) {
/varset autoEvade ${Ini[PuppetMaster.ini,Settings,AutoEvade]}
} else {
/ini "PuppetMaster" "Settings" "AutoEvade" "${autoEvade}"
}
/if (${Ini[PuppetMaster.ini,Settings,EvadeAggro].NotEqual[NULL]}) {
/varset evadeAggro ${Ini[PuppetMaster.ini,Settings,EvadeAggro]}
} else {
/ini "PuppetMaster" "Settings" "EvadeAggro" "${evadeAggro}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoBackstab].NotEqual[NULL]}) {
/varset autoBackstab ${Ini[PuppetMaster.ini,Settings,AutoBackstab]}
} else {
/ini "PuppetMaster" "Settings" "AutoBackstab" "${autoBackstab}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoStrike].NotEqual[NULL]}) {
/varset autoStrike ${Ini[PuppetMaster.ini,Settings,AutoStrike]}
} else {
/ini "PuppetMaster" "Settings" "AutoStrike" "${autoStrike}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoDisarm].NotEqual[NULL]}) {
/varset autoDisarm ${Ini[PuppetMaster.ini,Settings,AutoDisarm]}
} else {
/ini "PuppetMaster" "Settings" "AutoDisarm" "${autoDisarm}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoIntimidate].NotEqual[NULL]}) {
/varset autoIntimidate ${Ini[PuppetMaster.ini,Settings,AutoIntimidate]}
} else {
/ini "PuppetMaster" "Settings" "AutoIntimidate" "${autoIntimidate}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoPickpocket].NotEqual[NULL]}) {
/varset autoPickpocket ${Ini[PuppetMaster.ini,Settings,AutoPickpocket]}
} else {
/ini "PuppetMaster" "Settings" "AutoPickpocket" "${autoPickpocket}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoBeg].NotEqual[NULL]}) {
/varset autoBeg ${Ini[PuppetMaster.ini,Settings,AutoBeg]}
} else {
/ini "PuppetMaster" "Settings" "AutoBeg" "${autoBeg}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoSneakHide].NotEqual[NULL]}) {
/varset autoSneakHide ${Ini[PuppetMaster.ini,Settings,AutoSneakHide]}
} else {
/ini "PuppetMaster" "Settings" "AutoSneakHide" "${autoSneakHide}"
}
/if (${Ini[PuppetMaster.ini,Settings,DropSneakInCombat].NotEqual[NULL]}) {
/varset dropSneakInCombat ${Ini[PuppetMaster.ini,Settings,DropSneakInCombat]}
} else {
/ini "PuppetMaster" "Settings" "DropSneakInCombat" "${dropSneakInCombat}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoTrapDisarm].NotEqual[NULL]}) {
/varset autoTrapDisarm ${Ini[PuppetMaster.ini,Settings,AutoTrapDisarm]}
} else {
/ini "PuppetMaster" "Settings" "AutoTrapDisarm" "${autoTrapDisarm}"
}
/if (${Ini[PuppetMaster.ini,Settings,RangeType].NotEqual[NULL]}) {
/varset rangeType ${Ini[PuppetMaster.ini,Settings,RangeType]}
} else {
/ini "PuppetMaster" "Settings" "RangeType" "${rangeType}"
}
/if (${Ini[PuppetMaster.ini,Settings,MaxRange].NotEqual[NULL]}) {
/varset maxRange ${Ini[PuppetMaster.ini,Settings,MaxRange]}
} else {
/ini "PuppetMaster" "Settings" "MaxRange" "${maxRange}"
}
/if (${Ini[PuppetMaster.ini,Settings,StrikeSkill].NotEqual[NULL]}) {
/varset strikeSkill ${Ini[PuppetMaster.ini,Settings,StrikeSkill]}
} else {
/ini "PuppetMaster" "Settings" "StrikeSkill" "${strikeSkill}"
}
/if (${Ini[PuppetMaster.ini,Settings,MinEndurance].NotEqual[NULL]}) {
/varset minEndurance ${Ini[PuppetMaster.ini,Settings,MinEndurance]}
} else {
/ini "PuppetMaster" "Settings" "MinEndurance" "${minEndurance}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoEscape].NotEqual[NULL]}) {
/varset autoEscape ${Ini[PuppetMaster.ini,Settings,AutoEscape]}
} else {
/ini "PuppetMaster" "Settings" "AutoEscape" "${autoEscape}"
}
/if (${Ini[PuppetMaster.ini,Settings,EscapeHealth].NotEqual[NULL]}) {
/varset escapeHealth ${Ini[PuppetMaster.ini,Settings,EscapeHealth]}
} else {
/ini "PuppetMaster" "Settings" "EscapeHealth" "${escapeHealth}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoNimble].NotEqual[NULL]}) {
/varset autoNimble ${Ini[PuppetMaster.ini,Settings,AutoNimble]}
} else {
/ini "PuppetMaster" "Settings" "AutoNimble" "${autoNimble}"
}
/if (${Ini[PuppetMaster.ini,Settings,NimbleHealth].NotEqual[NULL]}) {
/varset nimbleHealth ${Ini[PuppetMaster.ini,Settings,NimbleHealth]}
} else {
/ini "PuppetMaster" "Settings" "NimbleHealth" "${nimbleHealth}"
}
/if (${Ini[PuppetMaster.ini,Settings,DynamicNimble].NotEqual[NULL]}) {
/varset dynamicNimble ${Ini[PuppetMaster.ini,Settings,DynamicNimble]}
} else {
/ini "PuppetMaster" "Settings" "DynamicNimble" "${dynamicNimble}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoIllusion].NotEqual[NULL]}) {
/varset autoIllusion ${Ini[PuppetMaster.ini,Settings,AutoIllusion]}
} else {
/ini "PuppetMaster" "Settings" "AutoIllusion" "${autoIllusion}"
}
/if (${Ini[PuppetMaster.ini,Settings,CheckForFadingBuffs].NotEqual[NULL]}) {
/varset checkForFadingBuffs ${Ini[PuppetMaster.ini,Settings,CheckForFadingBuffs]}
} else {
/ini "PuppetMaster" "Settings" "CheckForFadingBuffs" "${checkForFadingBuffs}"
}
/if (${Ini[PuppetMaster.ini,Settings,DropUnwantedBuffs].NotEqual[NULL]}) {
/varset dropUnwantedBuffs ${Ini[PuppetMaster.ini,Settings,DropUnwantedBuffs]}
} else {
/ini "PuppetMaster" "Settings" "DropUnwantedBuffs" "${dropUnwantedBuffs}"
}
/if (${Ini[PuppetMaster.ini,Settings,CallDI].NotEqual[NULL]}) {
/varset callDI ${Ini[PuppetMaster.ini,Settings,CallDI]}
} else {
/ini "PuppetMaster" "Settings" "CallDI" "${callDI}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoJoinGroups].NotEqual[NULL]}) {
/varset autoJoinGroups ${Ini[PuppetMaster.ini,Settings,AutoJoinGroups]}
} else {
/ini "PuppetMaster" "Settings" "AutoJoinGroups" "${autoJoinGroups}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoGreet].NotEqual[NULL]}) {
/varset autoGreet ${Ini[PuppetMaster.ini,Settings,AutoGreet]}
} else {
/ini "PuppetMaster" "Settings" "AutoGreet" "${autoGreet}"
}
/if (${Ini[PuppetMaster.ini,Settings,AutoLoot].NotEqual[NULL]}) {
/varset autoLoot ${Ini[PuppetMaster.ini,Settings,AutoLoot]}
} else {
/ini "PuppetMaster" "Settings" "AutoLoot" "${autoLoot}"
}
/if (${Ini[PuppetMaster.ini,Settings,MinLootValue].NotEqual[NULL]}) {
/varset minLootValue ${Ini[PuppetMaster.ini,Settings,MinLootValue]}
} else {
/ini "PuppetMaster.ini" "Settings" "MinLootValue" "${minLootValue}"
}
/if (${Ini[PuppetMaster.ini,Settings,LootDistance].NotEqual[NULL]}) {
/varset lootDistance ${Ini[PuppetMaster.ini,Settings,LootDistance]}
} else {
/ini "PuppetMaster" "Settings" "LootDistance" "${lootDistance}"
}
/if (${Ini[PuppetMaster.ini,Settings,CollectItem].NotEqual[NULL]}) {
/varset collectItem ${Ini[PuppetMaster.ini,Settings,CollectItem]}
} else {
/ini "PuppetMaster" "Settings" "CollectItem" "${collectItem}"
}
/if (${Ini[PuppetMaster.ini,Settings,CollectItemName].NotEqual[NULL]}) {
/varset collectItemName ${Ini[PuppetMaster.ini,Settings,CollectItemName]}
} else {
/ini "PuppetMaster" "Settings" "CollectItemName" "${collectItemName}"
}
/return