• IS THIS SITE UGLY? Click "RG3" at the very bottom-left of this page to change it. To dismiss this notice, click the X --->
Guild Port Bot

Utility Guild Port Bot 1.2.2

Download now: Join us with Level 2 access
or earn your way in with RedCents.
Software Requirements
spell_routines.inc
Spell_Routines.inc
MQ2Cast_Spell_Routines.inc
Server Type
Live, Emu, TLP, Test Server
Hello Everyone! Here is my latest creation. It is a fork of my Guild Buff Bot but only for the Druid class. She will buff and respond to commands for ports. My druid is only level 75 at the moment so I did not get to test this extensively like my other scripts.

Features:
- Buffs level appropriate buffs when Hailed.
- Announces via say all available ports when it hears "ports".
- Setup to use languages for FV.
- Echos who it is helping to EQBC with debug is on.
- Druid: Ports to all available druid Zephyrs.

Rich (BB code):
|------------------------------------------------------------|
|          PortBot.mac
|
|      Last Modified by: TheDroidUrLookingFor
|
|        Version:    1.2.2
|
|------------------------------------------------------------|
#turbo
|------------------------------------------------------------|
|          Includes
|------------------------------------------------------------|
#include spell_routines.inc
|#include Spell_Routines.inc
|#include MQ2Cast_Spell_Routines.inc
|------------------------------------------------------------|
|          Defines
|------------------------------------------------------------|
|#define CHATMETHOD          "/if (${ShowDebug}) /i say"
#define CHATMETHOD          "/if (${ShowDebug}) /bc"
#define CHATMETHOD1       "/echo"
#define CHATMETHOD2       "/t"
|------------------------------------------------------------|
|          Events
|------------------------------------------------------------|
#Event Hail "#1# says, 'Hail, |${Me.Name}|'"
#Event Hail "#1# says, in #*#, 'Hail, |${Me.Name}|'"
#Event Ports "#1# says, 'ports'"
#Event Ports "#1# says, in #*#, 'ports'"
#Event BlightfireMoors "#1# says, in #*#, 'moors'"
#Event BlightfireMoors "#1# says, 'moors'"
#Event Nexus "#1# says, in #*#, 'nexus'"
#Event Nexus "#1# says, 'nexus'"
#Event Toxxulia "#1# says, in #*#, 'tox'"
#Event Toxxulia "#1# says, 'tox'"
#Event ButcherBlock "#1# says, in #*#, 'butcher'"
#Event ButcherBlock "#1# says, 'butcher'"
#Event Iceclad "#1# says, in #*#, 'iceclad'"
#Event Iceclad "#1# says, 'iceclad'"
#Event Karana "#1# says, in #*#, 'karana'"
#Event Karana "#1# says, 'karana'"
#Event Commonlands "#1# says, in #*#, 'cl'"
#Event Commonlands "#1# says, 'cl'"
#Event SurefallGlade "#1# says, in #*#, 'sfg'"
#Event SurefallGlade "#1# says, 'sfg'"
#Event StoneBrunt "#1# says, in #*#, 'stoneBrunt'"
#Event StoneBrunt "#1# says, 'stoneBrunt'"
#Event Grimling "#1# says, in #*#, 'grimling'"
#Event Grimling "#1# says, 'grimling'"
#Event Feerrott "#1# says, in #*#, 'feerrott'"
#Event Feerrott "#1# says, 'feerrott'"
#Event Steamfont "#1# says, in #*#, 'steamfont'"
#Event Steamfont "#1# says, 'steamfont'"
#Event Combines "#1# says, in #*#, 'combines'"
#Event Combines "#1# says, 'combines'"
#Event Ro "#1# says, in #*#, 'ro'"
#Event Ro "#1# says, 'ro'"
#Event Twilight "#1# says, in #*#, 'twilight'"
#Event Twilight "#1# says, 'twilight'"
#Event GreatDivide "#1# says, in #*#, 'gd'"
#Event GreatDivide "#1# says, 'gd'"
#Event WakeningLands "#1# says, in #*#, 'wl'"
#Event WakeningLands "#1# says, 'wl'"
#Event CobaltScar "#1# says, in #*#, 'cs'"
#Event CobaltScar "#1# says, 'cs'"
#Event Misty "#1# says, in #*#, 'misty'"
#Event Misty "#1# says, 'misty'"
#Event PoKnowledge "#1# says, in #*#, 'pok'"
#Event PoKnowledge "#1# says, 'pok'"
#Event LavaStorm "#1# says, in #*#, 'lavastorm'"
#Event LavaStorm "#1# says, 'lavastorm'"
#Event UnderShore "#1# says, in #*#, 'undershore'"
#Event UnderShore "#1# says, 'undershore'"
#Event Arcstone "#1# says, in #*#, 'arcstone'"
#Event Arcstone "#1# says, 'arcstone'"
#Event Natimbi "#1# says, in #*#, 'natimbi'"
#Event Natimbi "#1# says, 'natimbi'"
#Event Dawnshroud "#1# says, in #*#, 'dawnshroud'"
#Event Dawnshroud "#1# says, 'dawnshroud'"
#Event Barindu "#1# says, in #*#, 'barindu'"
#Event Barindu "#1# says, 'barindu'"
#Event Bloodfields "#1# says, in #*#, 'bloodfields'"
#Event Bloodfields "#1# says, 'bloodfields'"
#Event TheSteppes "#1# says, in #*#, 'steppes'"
#Event TheSteppes "#1# says, 'steppes'"
#Event BuriedSea "#1# says, in #*#, 'buriedsea'"
#Event BuriedSea "#1# says, 'buriedsea'"
#Event Slaughter "#1# says, in #*#, 'slaughter'"
#Event Slaughter "#1# says, 'slaughter'"
#Event Direwind "#1# says, in #*#, 'direwind'"
#Event Direwind "#1# says, 'direwind'"
#Event LopingPlains "#1# says, in #*#, 'loping'"
#Event LopingPlains "#1# says, 'loping'"
#Event PoTime "#1# says, in #*#, 'time'"
#Event PoTime "#1# says, 'time'"
#Event BrellsRest "#1# says, in #*#, 'brells'"
#Event BrellsRest "#1# says, 'brells'"
#Event Grounds "#1# says, in #*#, 'grounds'"
#Event Grounds "#1# says, 'grounds'"
#Event BeastsDomain "#1# says, in #*#, 'beasts'"
#Event BeastsDomain "#1# says, 'beasts'"
#Event PillarsOfAlra "#1# says, in #*#, 'pillars'"
#Event PillarsOfAlra "#1# says, 'pillars'"
#Event ShardsLanding "#1# says, in #*#, 'shards'"
#Event ShardsLanding "#1# says, 'shards'"
#Event WestKarana "#1# says, in #*#, 'wkarana'"
#Event WestKarana "#1# says, 'wkarana'"
#Event Lceanium "#1# says, in #*#, 'lceanium'"
#Event Lceanium "#1# says, 'lceanium'"
#Event TempestTemple "#1# says, in #*#, 'tempest'"
#Event TempestTemple "#1# says, 'tempest'"

|------------------------------------------------------------|
|          Main Rountine
|------------------------------------------------------------|
Sub Main
|-----------EQBC----------------------------------------=----|
/Declare UseEQBC            bool outer TRUE
/Declare EQBCServerAddr        string outer "192.168.1.251"
/Declare EQBCPort            string outer "2112"
/Declare EQBCPassword        string outer ""
|-----------Items--------------------------------------------|
/declare HorseItem            string outer "Jungle Raptor Saddle"
/declare UseHorse            bool outer TRUE
/declare ShowDebug            bool outer TRUE
/declare TargetName         string outer
/declare MaxRequests        int outer 20
|------------------------------------------------------------|


/if (!${Defined[AFKMessage]}) /declare AFKMessage string outer AFK
/if (!${Defined[MedMessage]}) /declare MedMessage string outer ...Meditating... Low on mana.
/afk ${AFKMessage}
/tgb on

/popup ALL VARIABLES LOADED: Check Mq2 Window for Errors.
/if (${UseEQBC}) /bccmd connect ${EQBCServerAddr} ${EQBCPort} ${EQBCPassword}

CHATMETHOD1 [NBB]+ Initialized ++[NBB]
CHATMETHOD [NBB]+ Initialized ++[NBB]
CHATMETHOD1 [NBB]++ NEWBIE BUFF BOT STARTED ++[NBB]
CHATMETHOD [NBB]++ NEWBIE BUFF BOT STARTED ++[NBB]

:MainLoop
/if (${MacroQuest.GameState.Equal[CHARSELECT]}) /end
/if (!${Me.AFK}) /call AFK
/if (${Me.PctMana} < 40) /call Med
/if (${Window[TradeWnd].Open}) /call Money
/if (!${Me.Mount.ID} && ${UseHorse} && ${Zone.Type}==1 && ${FindItem[${HorseItem}].Name.NotEqual["NULL"]}) /call cast "${FindItem[${HorseItem}]}" item
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/doevents
/if (${MacroQuest.GameState.Equal[CHARSELECT]}) /end
/delay 5
/goto :MainLoop
/return
|------------------------------------------------------------|
|          End Main Rountine
|------------------------------------------------------------|
|------------------------------------------------------------|
|          Target Buff Rountine
|------------------------------------------------------------|
Sub BuffTarget(string WhoToBuff)
/varset TargetName ${WhoToBuff}
/if (${Me.Sitting}) /stand up
/if (${Window[TradeWnd].Open}) /call Money
/delay 2
/target id ${Spawn[PC ${TargetName}].ID}
/delay 1s ${Target.ID}
CHATMETHOD1 Buffing started on ${Target.CleanName}!
CHATMETHOD Buffing started on ${Target.CleanName}!

/if (${Window[TradeWnd].Open}) /call Money
/if (${Spawn[pc ${TargetName}].Pet.ID}) {
/target ${Spawn[PC ${TargetName}].Pet}
/delay 1s ${Target.ID}
/face
/call Buff
CHATMETHOD1 Serviced: ${Target.CleanName}
CHATMETHOD Serviced: ${Target.CleanName}
}
/if (${Spawn[PC ${TargetName}].MercID}) {
/target id ${Spawn[PC ${TargetName}].MercID}
/delay 1s ${Target.ID}
/face
/call Buff
CHATMETHOD1 Serviced: ${Target.CleanName}
CHATMETHOD Serviced: ${Target.CleanName}
}
/target id ${Spawn[PC ${TargetName}].ID}
/delay 1s ${Target.ID}
/face
/call Buff
CHATMETHOD1 Serviced: ${Target.CleanName}
CHATMETHOD Serviced: ${Target.CleanName}
/return
|------------------------------------------------------------|
|          End Target Buff Rountine
|------------------------------------------------------------|
|------------------------------------------------------------|
|          Other Rountines
|------------------------------------------------------------|
Sub AFK
/afk ${AFKMessage}
/return

Sub Med
/afk ${MedMessage}
/if (!${Me.Sitting} && !${Me.Mount.ID}) /sit on
/delay 5m ${Me.PctMana} > 60
/afk ${AFKMessage}
/return

Sub Money
/delay 3s ${Window[TradeWnd].Open}
/delay 3s ${Window[TradeWnd].HisTradeReady}
/if (${Window[TradeWnd].HisTradeReady}) {
CHATMETHOD1 Received a donation from ${Target.CleanName}.
CHATMETHOD Received a donation from ${Target.CleanName}.
/notify TradeWnd TRDW_Trade_Button leftmouseup
}
/delay 1s
/return

Sub Buff
|------------------------------------------------------------|
|          Druid
|------------------------------------------------------------|
/if (${Me.Class.Name.Equal[Druid]} && ${Spawn[ID ${Target.ID}].Level} <= 46) /call cast "Shield of Thorns" gem7 15s
/if (${Me.Class.Name.Equal[Druid]} && ${Spawn[ID ${Target.ID}].Level} >= 47 && ${Spawn[ID ${Target.ID}].Level} <= 60) /call cast "Shield of Bracken" gem8 15s
/if (${Me.Class.Name.Equal[Druid]} && ${Spawn[ID ${Target.ID}].Level} >= 61) /call cast "${Spell[Daggerspur Bulwark].RankName}" gem11 15s
/if (${Me.Class.Name.Equal[Druid]} && ${Spawn[ID ${Target.ID}].Level} <= 46) /call cast "Skin like Nature" gem1 15s
/if (${Me.Class.Name.Equal[Druid]} && ${Spawn[ID ${Target.ID}].Level} >= 47 && ${Spawn[ID ${Target.ID}].Level} <= 60) /call cast "Protection of the Nine" gem2 15s
/if (${Me.Class.Name.Equal[Druid]} && ${Spawn[ID ${Target.ID}].Level} >= 61) /call cast "${Spell[Shieldstone Skin].RankName}" gem6 15s
/if (${Me.Class.Name.Equal[Druid]} && ${Spawn[ID ${Target.ID}].Level} <= 46) /call cast "Spirit of Wolf" gem7 15s
/if (${Me.Class.Name.Equal[Druid]} && ${Spawn[ID ${Target.ID}].Level} >= 47) /call cast "Spirit of Eagle" gem8 15s
|------------------------------------------------------------|
|          Druid
|------------------------------------------------------------|
/return

Sub Port(string PortTarget, string PortToCast)
/if (${BuffGuildOnly} && !${Spawn[PC ${WhoToBuff}].Guild.Equal[${Me.Guild}]}) /return
/if (!${Me.Class.Name.Equal[Druid]}) /return
/varset TargetName ${PortTarget}
/if (${Me.Sitting}) /stand up
/if (${Window[TradeWnd].Open}) /call Money
/delay 2
/target id ${Spawn[PC ${TargetName}].ID}
/delay 1s ${Target.ID}
CHATMETHOD1 Porting: ${Target.CleanName} -- ${PortToCast} --
CHATMETHOD Porting: ${Target.CleanName} -- ${PortToCast} --
/call cast "${PortToCast}" gem10
/delay 1s !${Me.Casting.ID}
/return
|------------------------------------------------------------|
|          End Other Rountines
|------------------------------------------------------------|
|------------------------------------------------------------|
|          Events
|------------------------------------------------------------|
Sub Event_Hail(Line,Sender)
/call BuffTarget "${Sender}"
/return

Sub Event_Ports(Line,Sender)
/if (!${Me.Class.Name.Equal[Druid]}) /return
/say Available Zephyrs: moors, nexus, tox, butcher, iceclad, karana, cl, sfg, stoneBrunt, grimling, feerrott, steamfont, combines, ro, twilight, gd, wl, cs, misty, pok, lavastorm, undershore, arcstone, natimbi, dawnshroud, barindu, bloodfields, steppes, buriedsea, slaughter, direwind, loping, time, brells, grounds, beasts, pillars, shards, wkarana, lceanium, and tempest
/return

Sub Event_BlightfireMoors(Line,Sender)
/call Port "${Sender}" "Zephyr: Blightfire Moors"
/return

Sub Event_Nexus(Line,Sender)
/call Port "${Sender}" "Zephyr: Nexus"
/return

Sub Event_Toxxulia(Line,Sender)
/call Port "${Sender}" "Zephyr: Toxxulia"
/return

Sub Event_ButcherBlock(Line,Sender)
/call Port "${Sender}" "Zephyr: Butcherblock"
/return

Sub Event_Iceclad(Line,Sender)
/call Port "${Sender}" "Zephyr: Iceclad"
/return

Sub Event_Karana(Line,Sender)
/call Port "${Sender}" "Zephyr: Karana"
/return

Sub Event_Commonlands(Line,Sender)
/call Port "${Sender}" "Zephyr: Commonlands"
/return

Sub Event_SurefallGlade(Line,Sender)
/call Port "${Sender}" "Zephyr: Surefall Glade"
/return

Sub Event_StoneBrunt(Line,Sender)
/call Port "${Sender}" "Zephyr: Stonebrunt"
/return

Sub Event_Grimling(Line,Sender)
/call Port "${Sender}" "Zephyr: Grimling"
/return

Sub Event_Feerrott(Line,Sender)
/call Port "${Sender}" "Zephyr: Feerrott"
/return

Sub Event_Steamfont(Line,Sender)
/call Port "${Sender}" "Zephyr: Steamfont"
/return

Sub Event_Combines(Line,Sender)
/call Port "${Sender}" "Zephyr: Combines"
/return

Sub Event_Ro(Line,Sender)
/call Port "${Sender}" "Zephyr: Ro"
/return

Sub Event_Twilight(Line,Sender)
/call Port "${Sender}" "Zephyr: Twilight"
/return

Sub Event_GreatDivide(Line,Sender)
/call Port "${Sender}" "Zephyr: Great Divide"
/return

Sub Event_WakeningLands(Line,Sender)
/call Port "${Sender}" "Zephyr: Wakening Lands"
/return

Sub Event_CobaltScar(Line,Sender)
/call Port "${Sender}" "Zephyr: Cobalt Scar"
/return

Sub Event_Misty(Line,Sender)
/call Port "${Sender}" "Zephyr: Misty"
/return

Sub Event_PoKnowledge(Line,Sender)
/call Port "${Sender}" "Zephyr: Knowledge"
/return

Sub Event_LavaStorm(Line,Sender)
/call Port "${Sender}" "Zephyr: Lavastorm"
/return

Sub Event_UnderShore(Line,Sender)
/call Port "${Sender}" "Zephyr: Undershore"
/return

Sub Event_Arcstone(Line,Sender)
/call Port "${Sender}" "Zephyr: Arcstone"
/return

Sub Event_Natimbi(Line,Sender)
/call Port "${Sender}" "Zephyr: Natimbi"
/return

Sub Event_Dawnshroud(Line,Sender)
/call Port "${Sender}" "Zephyr: Dawnshroud"
/return

Sub Event_Barindu(Line,Sender)
/call Port "${Sender}" "Zephyr: Barindu"
/return

Sub Event_Bloodfields(Line,Sender)
/call Port "${Sender}" "Zephyr: Bloodfields"
/return

Sub Event_TheSteppes(Line,Sender)
/call Port "${Sender}" "Zephyr: The Steppes"
/return

Sub Event_BuriedSea(Line,Sender)
/call Port "${Sender}" "Zephyr: Buried Sea"
/return

Sub Event_Slaughter(Line,Sender)
/call Port "${Sender}" "Zephyr: Slaughter"
/return

Sub Event_Direwind(Line,Sender)
/call Port "${Sender}" "Zephyr: Direwind"
/return

Sub Event_LopingPlains(Line,Sender)
/call Port "${Sender}" "Zephyr: Loping Plains"
/return

Sub Event_PoTime(Line,Sender)
/call Port "${Sender}" "Zephyr: Plane of Time"
/return

Sub Event_BrellsRest(Line,Sender)
/call Port "${Sender}" "Zephyr: Brell's Rest"
/return

Sub Event_Grounds(Line,Sender)
/call Port "${Sender}" "Zephyr: the Grounds"
/return

Sub Event_BeastsDomain(Line,Sender)
/call Port "${Sender}" "Zephyr: Beasts' Domain"
/return

Sub Event_PillarsOfAlra(Line,Sender)
/call Port "${Sender}" "Zephyr: Pillars of Alra"
/return

Sub Event_ShardsLanding(Line,Sender)
/call Port "${Sender}" "Zephyr: Shard's Landing"
/return

Sub Event_WestKarana(Line,Sender)
/call Port "${Sender}" "Zephyr: West Karana"
/return

Sub Event_Lceanium(Line,Sender)
/call Port "${Sender}" "Zephyr: Lceanium"
/return

Sub Event_TempestTemple(Line,Sender)
/call Port "${Sender}" "Zephyr: Tempest Temple"
/return
|------------------------------------------------------------|
|          End Events
|------------------------------------------------------------|
Author
TheDroidUrLookingFor
Downloads
5
Views
53
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from TheDroidUrLookingFor

Top