• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Bonechips Revised (1 Viewer)

Change the affected lines to look like this.
Rich (BB code):
 /declare Porter string outer toonname
| /declare Translocator string outer YYYY

 /declare EQBCOn bool outer 0
 /declare UseTransloc bool outer 0

Let me know how it goes.
 
With minor alterations, I've gotten this working near flawlessly for the last week on a Self porting wizard.

Started at 85 and after about a week he's at 95 with 350k in platinum. Not bad, only downside is I noticed my log file for him is now 6gb+.
 
I did a compare in notepad++ between mine and yours:

mine:

Rich (BB code):
	/declare Porter			string	outer Porter
	/declare Translocator	string	outer YYYY

	
	/declare EQBCOn			bool	outer 0
	/declare UseTransloc	bool	outer 0


Yours:

Rich (BB code):
|	/declare Porter			string	outer Toon
	/declare Translocator	string	outer Toon

	/declare SelfPorter		bool	outer 0
	
	/declare EQBCOn			bool	outer 1
	/declare UseTransloc	bool	outer 1

Try commenting out the /declare SelfPorter bool outer 0 line.
Also uncomment this line | /declare Porter string outer Toon
.

We may need to wait for disasteroid to look at this, it's his code and he understands it better than I do.
 
:(

We will need to wait on disasteroid then, those were the only differences I saw between the setups. I'm sorry, I haven't been modifying macros very long.
 
No worries. Thanks for trying though.

Replace the following in the first sub:
Rich (BB code):
/if (${Me.Level}>=80 && (${Me.Class.Name.Equal[Wizard]} || ${Me.Class.Name.Equal[Druid]}) && !${UseTransloc}) {
		/if (${Me.Gem[Brell's Rest Gate]} || ${Me.Gem[Brell's Rest Portal]}) {
		/varset BrellsSpell "Brell's Rest Gate"
		/varset Porter ${Me}
		/varset SelfPorter 1
		
		} else /if (${Me.Gem[Ring of Brell's Rest]} || ${Me.Gem[Circle of Brell's Rest]} && ${SelfPorter}) {
		/varset BrellsSpell "Ring of Brell's Rest"
		/varset Porter ${Me}
		/varset SelfPorter 0
		}
	}

EDIT: Here's the full code. I've made some minor revisions that streamline the code but make no real improvements. Also, I mentioned creating a macro that would allow a party as well as the porter to all run the macro, but I'm officially abandoning that concept in favor of simply using a translocator at either end. It's two more bots you need to run but 1) accounts are cheap and 2) it's easily 100 times simpler.

Rich (BB code):
|AutobonesV3.mac
|TurnIn, ClearCursor, SafeTarget, Events, CleanInventory and BuyChips routines by EqMule
|Merc support written by Redbot
|CheckPlugin written by Maskoi
|Movement routines written by Randyleo

#turbo 120
#Event TSCursor		"#*#because only tradeskill items may go in a tradeskill bag.#*#"
#Event NullSlot		"#*#Invalid item slot 'null#*#"

Sub Main
| ***	Change XXXX and YYYY to Porter/Translocator's name ***
	/declare Porter			string	outer yyyy
	/declare Translocator	string	outer xxxx
	/declare SelfPorter		bool	outer 0
	
	/declare EQBCOn			bool	outer 0
	/declare UseTransloc	bool	outer 1
	
	/declare BrellsSpell	string outer
	/declare GunlokTurnY	float 	outer 1316
	/declare GunlokTurnX	float	outer 136
	/declare BrellsTurnY	float	outer -626
	/declare BrellsTurnX	float	outer 81

| ***	If you want to end the macro when character reaches a target level, set the following
|		variable or use /mac macro_name #, where # is the target level.
		/declare HighLevel		int		outer 110
	
	/declare ItemToHandIn	string	outer Bone Chips
	/declare TurnInTarget	string	outer Gunlok
	/declare NullExit		int		outer 0
	
| -------------------------------------------------------------------------------------
| Check if required plugins are loaded		Stolen from KissAssist
| -------------------------------------------------------------------------------------
	/echo Checking Plugins...
	/call CheckPlugin MQ2Cast
	/call CheckPlugin MQ2Moveutils
	/call CheckPlugin MQ2EQBC
	/call CheckPlugin MQ2Autoaccept
	/call CheckPlugin MQ2Posse
	/squelch /autoaccept add ${Porter}
	/squelch /autoaccept add ${Translocator}

	/if (${Defined[Param0]}) {
		/if (${Int[${Param0}]}>0) {
			/varset HighLevel ${Param0}
		} else {
			/echo Bad 1st argument, ignoring.
			/varset Param0 NULL
		}
	}
	
	/if (${Me.Level}>=80 && (${Me.Class.Name.Equal[Wizard]} || ${Me.Class.Name.Equal[Druid]}) && !${UseTransloc}) {
		/if (${Me.Gem[Brell's Rest Gate]} || ${Me.Gem[Brell's Rest Portal]}) {
		/varset BrellsSpell "Brell's Rest Gate"
		/varset Porter ${Me}
		/varset SelfPorter 0
		
		} else /if (${Me.Gem[Ring of Brell's Rest]} || ${Me.Gem[Circle of Brell's Rest]} && ${SelfPorter}) {
		/varset BrellsSpell "Ring of Brell's Rest"
		/varset Porter ${Me}
		/varset SelfPorter 1
		}
	}
	
	:mainloop
	/call LevelCheck
	/if (${Zone.ID}==67) {
		/call MoveToGunlok
		/call PreTurnIn
		/delay 5
		
		:KaladimLoop
		/call LevelCheck
		/call SafeTarget ${TurnInTarget}
		/call ClearCursor
		/call TurnIn
		/call ClearCursor
		/if (${FindItemCount[${ItemToHandIn}]}>0) {
			/goto :KaladimLoop
		} else {
			/call ClearCursor
			/call CleanInventory
			/call PortToBrellsRest
			/call Marie
			/call Bind
			/goto :mainloop
		}
	} else /if (${Zone.ID}==480) {
		/call ClearCursor
		/call CleanInventory
		/call Marie
		/call Bind
		/goto :mainloop
	} else {
		/echo Get your ass to Mar--err Marie, Quaid!
		/echo (Macro needs to start in Brell's Rest or N. Kaladim.)
		/goto :mainloop
	}
/return


| ----------------------------------------------------------------------------
| SUB: Check Plugin		Stolen from KissAssist
| ----------------------------------------------------------------------------

Sub CheckPlugin(string pluginname)

	/if (!${Bool[${Plugin[${pluginname}]}]}) {
		/squelch /plugin ${pluginname}
		/echo ${pluginname} not detected! This macro requires it! Loading ...
	}
	
	/if (${String[${pluginname}].Equal[MQ2EQBC]}) /varset EQBCOn 1
	
/return


| ----------------------------------------------------------------------------
| SUB: CheckGM
| ----------------------------------------------------------------------------

Sub CheckGM
	/declare GMPCEchoed	bool local 0
	
	:ReCheck
	/doevents
	/if (!${AFKToolsOn}) {
		/squelch /posse load 
		/if (${Bool[${Spawn[gm].ID}]}) { 
			/if (!${GMPCEchoed}) {
				/echo A GM or Guide has been detected in the zone, pausing macro until zone is clear.
				/varset GMPCEchoed 1
			}
			/delay 600s 
			/goto :ReCheck 
		}
		
		/if (${Posse.Strangers}>=1) { 
			/if (!${GMPCEchoed}) {
				/echo Another player is nearby, pausing macro until they leave.
				/varset GMPCEchoed 1
			}
			/delay 60s 
			/goto :ReCheck 
		}
	}
	/varset GMPCEchoed 0
/return


| ----------------------------------------------------------------------------
| SUB: MoveToGunlok
| ----------------------------------------------------------------------------

Sub MoveToGunlok
	/declare LocOffsetX local float 0
	/declare LocOffsetY local float 0
	/declare TurnX local float
	/declare TurnY local float
	
	/varset LocOffsetX ${Math.Calc[${Math.Calc[${Math.Rand[300]}/100].Centi}+${GunlokTurnX}]}
	/varset LocOffsetY ${Math.Calc[${Math.Calc[${Math.Rand[300]}/100].Centi}+${GunlokTurnY}]}

	/squelch /target clear
	/moveto mdist 10
	/squelch /target "Gunlok Jure"
	/delay 2s
	
	:recheck
	/if (${Target.Distance}>15) /moveto loc ${LocOffsetY} ${LocOffsetX}
	/delay 5s
	/if (${Me.Moving}) {
		/delay 5
		/goto :recheck
	} else {
		/delay 1
	}
		
	/if (${Target.Distance}>15) /moveto id
	/delay 0 ${MoveTo.Stopped}
	/face fast
	
/return


| --------------------------------------------------------------
| Sub: PreTurnIn
| --------------------------------------------------------------
Sub PreTurnIn
|	/if (${Mercenary.State.Equal[SUSPENDED]}) {
|		/echo Unsuspending mercenary.
|			/if (!${Window[MMGW_ManageWnd].Child[MMGW_SuspendButton].Enabled}) {
|			/echo Waiting for button to enable...
|			/delay 60s 
|			}
|		/notify MMGW_ManageWnd MMGW_SuspendButton LeftMouseUp
|	}

	/if (${Target.Type.Equal[npc]}) {
		/if (${Me.Grouped}) {
			/echo Disbanding group for mad XPs.
			/disband
		}
	}
	/call ClearCursor
	/delay 5
/return

| ---------------------------------------------------------------
| Sub: ClearCursor
| ---------------------------------------------------------------
Sub ClearCursor
	:redestroy
	/if (${Cursor.ID} && ${Cursor.NoDrop}==FALSE) {
		/destroy
		/delay 0 ${Bool[${Cursor.ID}]}==FALSE
		/goto :redestroy
	}
/return


| --------------------------------------------------------------
| Sub: SafeTarget
| --------------------------------------------------------------
Sub SafeTarget(string targ)
	/declare targid int local 0
	:retarget
	/if (${Target.ID} && ${Target.ID}==${Spawn[${targ}].ID}) /return
	/if (${Spawn[${targ}].ID}) {
		/varset targid ${Spawn[${targ}].ID}
		/if (${Spawn[${targ}].Distance}<100) {
			/echo Targeting ${Spawn[${targ}]}
			/target id ${targid}
			/delay 30 ${Target.ID}==${targid}
		}
	}
	/if (!${Target.ID}) {
		/echo [SafeTarget] couldnt find a target, retrying
		/delay 1s
		/goto :retarget
	}
/return


| ---------------------------------------------------------------
| Sub: TurnIn
| ---------------------------------------------------------------
Sub TurnIn
	/declare bonetimer timer local 0
	/declare i int local

	/doevents
	/call CheckGM
	/call LevelCheck
	/for i 0 to 3
		:GetBoneChips
		/if (${FindItemCount[${ItemToHandIn}]}>0) {   
		/itemnotify "${ItemToHandIn}" leftmouseup
		/delay 1 ${Cursor.ID}==13073
		:retrygive
		/if (${Cursor.ID}==13073) {
			/click left target
			/delay 1 ${Window[GiveWnd].Child[GVW_MyItemSlot${i}].Tooltip.NotEqual[${ItemToHandIn}]}==FALSE
			/if (${Cursor.ID} && ${Cursor.ID}==13073) {
				/goto :retrygive
			}
		} else {
			/goto :GetBoneChips
		}
	}
	
	/next i
	/if (${Window[GiveWnd].Open}) {
		/notify GiveWnd GVW_Give_Button leftmouseup
		/delay 200 !${Window[GiveWnd].Open}
   }
/return


| ----------------------------------------------------------------------------
| SUB: CleanInventory
| ----------------------------------------------------------------------------	
	
Sub CleanInventory
|	 /if (${Mercenary.State.Equal[ACTIVE]}) {
|		/echo suspending mercenary
|		/notify MMGW_ManageWnd MMGW_SuspendButton LeftMouseUp
|	}
	/declare StuffToDestroy string local Rusty Broad Sword|Torch|Rusty Short Sword|Rusty Mace|Rusty Two Handed Sword|Rusty Axe|Small Patchwork Sleeves|Small Patchwork Tunic|Small Tattered Gloves|Small Lantern|Small Tattered Skullcap|Small Patchwork Pants
	/declare i  int local
	/for i 1 to 12
		/echo ${StuffToDestroy.Arg[${i},|]} ${FindItemCount[${StuffToDestroy.Arg[${i},|]}]}
		/if (${FindItemCount[${StuffToDestroy.Arg[${i},|]}]}>0) {
			:MoreToDestroy
			/doevents
			/itemnotify "${StuffToDestroy.Arg[${i},|]}" leftmouseup
			/delay 10 ${Cursor.Name.Equal[${StuffToDestroy.Arg[${i},|]}]}
			/if (${Cursor.Name.Equal[${StuffToDestroy.Arg[${i},|]}]}) {
				/destroy
				/delay 10 ${Bool[${Cursor.ID}]}==FALSE
			}
			/if (${FindItemCount[${StuffToDestroy.Arg[${i},|]}]}>0) {
				/goto :MoreToDestroy	  
			}
		}
	/next i
	/squelch /target clear
/return


| ----------------------------------------------------------------------------
| SUB: PortToBrellsRest
| ----------------------------------------------------------------------------

Sub PortToBrellsRest
	:PortLoop
	/if (${SelfPorter}) {
		/casting ${BrellsSpell} -maxtries|10
		/delay 20s
	} else {
		/squelch /target clear
		/squelch /target ${Porter}
		
		/if (${Target.Type.Equal[PC]}) {
			/if (${UseTransloc}) {
				/squelch /bct ${Porter} //delay 15s
				/squelch /bct ${Porter} //casting "Translocate: Brell's Rest" -targetid|${Me.ID} -maxtries|10
				/echo Bumming a transloc back to Brell's Rest from ${Porter} the Amazing.
				/delay 20s
			} else {
				/bct ${Porter} //invite ${Me.Name}
				/delay 3s
				/notify ConfirmationDialogBox CD_Yes_Button leftmouseup
				/delay 3s
				/echo Porting to Brell's Rest...
				/bct ${Porter} //casting ${BrellsSpell} -maxtries|5
				/delay 20s
			}
		} else {
			/echo My ride to Brell's Rest is missing, waiting...
			/delay 60s
			/goto :PortLoop
		}
	}
	/if (${Zone.ShortName.NotEqual[brellsrest]}) {
		/echo Recasting teleport...
		/goto :PortLoop
	}
/return


| ----------------------------------------------------------------------------
| SUB: Marie
| ----------------------------------------------------------------------------

Sub Marie

	/delay 5
	/call MoveToMarie
	/face fast
	/call NPC "Marie Fay"
	/call BuyChips
	/delay 3s
	
/return	


| ----------------------------------------------------------------------------
| SUB: Bind
| ----------------------------------------------------------------------------

Sub Bind

	/squelch /target clear
	/if (${Merchant.Open}) {
		/notify MerchantWnd MW_Done_Button leftmouseup
		/delay 1s !${Merchant.Open}
		/delay 5s
	}

	:PortAgain
	/if (${UseTransloc} || ${SelfPorter}) {
		/if (${Me.AltAbilityReady[Gate]} && ${Me.Level}>=55) {
			/casting Gate -maxtries|5
			/echo Gating (AA) back to turn-in...
			/delay 15s
		
		} else /if (${Me.Gem[Gate]}) {
			/casting ${Me.Gem[Gate]} -maxtries|10
			/echo Gating (spell) back to turn-in...
			/delay 15s
			
		} else /if (${FindItem[Philter of Major Translocation].InvSlot}) {
			/casting "Philter of Major Translocation"
			/echo Gating (potion) back to turn-in... I have ${FindItemCount[${Philter of Major Translocation}]} pots left.
			/delay 15s
			
		} else /if (${Defined[Translocator]}) {
			/squelch /target clear
			/squelch /target ${Translocator}
			/delay 5
			
			/if (${Target.Name.Equal[${Translocator}]}) {
				/squelch /bct ${Translocator} //delay 15s
				/squelch /bct ${Translocator} //casting Translocate -targetid|${Me.ID} -maxtries|10
				/echo Bumming a ride from ${Translocator} the Magnificent.
				/delay 20s
			} else {
				/echo My translocator is missing, waiting...
				/delay 5s
				/goto :PortAgain
			} 
		} else {
			/echo I have no methods of returning to bind! Ending macro.
			/endmacro
		}
	} else {
		/bct ${Porter} //casting "Teleport Bind" -maxtries|5
		/delay 15s
	}
		
	/if (${Zone.ShortName.Equal[brellsrest]}) {
		/echo Trying again.
		/goto :PortAgain
	}
	
/return


| ----------------------------------------------------------------------------
| SUB: NPC(NPCName)
| ----------------------------------------------------------------------------

Sub NPC(NPCName)

	/target npc ${NPCName}
	/delay 1s
	
	/if (!${Select[${Target.Type},npc,pet]} || !${Target.ID} || ${Target.Type.Equal[pet]} && !${Target.CleanName.Find[familiar]}) {
		/echo Please target a vendor or guildbanker
	}
	
	/echo Doing business with ${NPCName}
	/target id ${Spawn[${NPCName}].ID}
	/delay 3s ${Target.ID}==${Spawn[${NPCName}].ID}
	
	/if (${Target.Distance}>15) {
		/moveto id  ${Spawn[${NPCName}].ID}
		/delay 250 ${MoveTo.Stopped}
	}
	
	/face nolook
	/delay 1s
	/nomodkey /click right target
	/echo Waiting 5s for merchant/guildbank window to populate
	/delay 5s
	
/return


| ----------------------------------------------------------------------------
| SUB: BuyChips		Written by EqMule
| ----------------------------------------------------------------------------

Sub BuyChips

| This is to adjust number of free lots to be left open while buying Bone Chips.
| I suggest leaving a couple of slots open in case of severe lag.

	/declare FreeSlots int local 0

	/notify MerchantWnd ItemList listselect ${Window[MerchantWnd].Child[ItemList].List[=Bone Chips,2]}
	/delay 2s
	:goagain
	/if (${Me.FreeInventory}>${FreeSlots}) {
		/Shiftkey /notify merchantwnd MW_Buy_Button leftmouseup
		:waitforit
		
		/if (${Window[MerchantWnd].Child[MW_Buy_Button].Enabled}==FALSE) {
			/echo button is false
			/delay 2
			/goto :waitforit
		}
		
		/goto :goagain
	}

	/delay 2s
/return

| ----------------------------------------------------------------------------
| SUB: MoveToMarie
| ----------------------------------------------------------------------------

Sub MoveToMarie
	/declare LocOffsetX local float 0
	/declare LocOffsetY local float 0
	/declare TurnX local float
	/declare TurnY local float
	
|	/varset LocOffsetX ${Math.Calc[${Math.Calc[${Math.Rand[30]}/100].Centi}+${BrellsTurnX}]}
|	/varset LocOffsetY ${Math.Calc[${Math.Calc[${Math.Rand[30]}/100].Centi}+${BrellsTurnY}]}

	/varset LocOffsetX ${BrellsTurnX}]}
	/varset LocOffsetY ${BrellsTurnY}]}

	/squelch /target clear
	/moveto mdist 10
	/squelch /target "Marie Fay"
	/delay 2s
	
	:recheck
	/if (${Target.Distance}>15) /moveto loc ${LocOffsetY} ${LocOffsetX}
	/delay 5
	/if (${Me.Moving}) {
		/delay 5
		/goto :recheck
	} else {
		/delay 1
	}
		
	/if (${Target.Distance}>15) /moveto id
	/delay 0 ${MoveTo.Stopped}
	/face fast

/return

| ----------------------------------------------------------------------------
| SUB: MoveToPorter
| ----------------------------------------------------------------------------

Sub MoveToPorter

	/if (!${UseTransloc}) {
		/echo Moving to ${Porter}
		/squelch /target clear
		
		/if (${Merchant.Open}) {
			/notify MerchantWnd MW_Done_Button leftmouseup
			/delay 1s !${Merchant.Open}
		}		
		/moveto mdist 10					  
		/moveto loc ${BrellsTurnY} ${BrellsTurnX}
		
		:StillMoving2 
		/delay 1
		/if (${MoveTo.Moving} || ${Me.Moving}) /goto :StillMoving2
		/delay 0 !${Me.Moving}

		/squelch /target ${Porter}
		/if (${Target.Distance}>15) /moveto id
		/delay 10 ${MoveTo.Stopped}
	}

/return


| ----------------------------------------------------------------------------
| SUB: LevelCheck
| ----------------------------------------------------------------------------

Sub LevelCheck
	/if (${Me.Level}>=${HighLevel}) {
		/echo Reached target level, ending macro.
		/endmacro
	}
/return
	

| --------------------------------------------------------------------------
| Sub: Event_TSCursor
| --------------------------------------------------------------------------
Sub Event_TSCursor
	/declare ItemToDestroy string local Small Patchwork Sleeves|Small Patchwork Tunic|Small Tattered Gloves|Small Tattered Skullcap|Small Patchwork Pants|Rusty Axe|Rusty Broad Sword|Rusty Mace|Rusty Short Sword|Rusty Two Handed Sword|Small Lantern|Torch
	/declare i  int local
	/for i 1 to 12
		:retryclearTSCursor
		/if (${Cursor.Name.Equal[${ItemToDestroy.Arg[${i},|]}]}) {
			/echo ${ItemToDestroy.Arg[${i},|]} on cursor. Destroying!
			/destroy
			|might need this:/delay 1
			/goto :retryclearTSCursor
		}
	/next i
	/doevents
/return


| ----------------------------------------------------------------------------
| Sub: Event_NullSlot
| ----------------------------------------------------------------------------
Sub Event_NullSlot
	/varset NullExit 1
	/echo Opening all bags to correct null slot
	/keypress OPEN_INV_BAGS
	/timed 100 /keypress CLOSE_INV_BAGS
/return
 
Last edited:
Many thanks! And if I'm just using one wizard, do I change the porter to the characters name or both? My wiz is bound in Kaladim and can port to brell's easy enough. Just need to know which one to change. Been using his teleport to bind aa to get them back to Kaladim after filling up in Brells.
 
Many thanks! And if I'm just using one wizard, do I change the porter to the characters name or both? My wiz is bound in Kaladim and can port to brell's easy enough. Just need to know which one to change. Been using his teleport to bind aa to get them back to Kaladim after filling up in Brells.
It should automatically set a self porter's name. Macro looks for a Brell's Rest teleport spell, and if you have one it will set the character's name to be the porter. The macro can't however parse another character's spells if someone else is teleporting them, you set the variable.
 
Replace the following in the first sub:
Rich (BB code):
/if (${Me.Level}>=80 && (${Me.Class.Name.Equal[Wizard]} || ${Me.Class.Name.Equal[Druid]}) && !${UseTransloc}) {
		/if (${Me.Gem[Brell's Rest Gate]} || ${Me.Gem[Brell's Rest Portal]}) {
		/varset BrellsSpell "Brell's Rest Gate"
		/varset Porter ${Me}
		/varset SelfPorter 1
		
		} else /if (${Me.Gem[Ring of Brell's Rest]} || ${Me.Gem[Circle of Brell's Rest]} && ${SelfPorter}) {
		/varset BrellsSpell "Ring of Brell's Rest"
		/varset Porter ${Me}
		/varset SelfPorter 0
		}
	}

EDIT: Here's the full code. I've made some minor revisions that streamline the code but make no real improvements. Also, I mentioned creating a macro that would allow a party as well as the porter to all run the macro, but I'm officially abandoning that concept in favor of simply using a translocator at either end. It's two more bots you need to run but 1) accounts are cheap and 2) it's easily 100 times simpler.

Rich (BB code):
|AutobonesV3.mac
|TurnIn, ClearCursor, SafeTarget, Events, CleanInventory and BuyChips routines by EqMule
|Merc support written by Redbot
|CheckPlugin written by Maskoi
|Movement routines written by Randyleo

#turbo 120
#Event TSCursor		"#*#because only tradeskill items may go in a tradeskill bag.#*#"
#Event NullSlot		"#*#Invalid item slot 'null#*#"

Sub Main
| ***	Change XXXX and YYYY to Porter/Translocator's name ***
	/declare Porter			string	outer yyyy
	/declare Translocator	string	outer xxxx
	/declare SelfPorter		bool	outer 0
	
	/declare EQBCOn			bool	outer 0
	/declare UseTransloc	bool	outer 1
	
	/declare GunlokTurnY	float 	outer 1316
	/declare GunlokTurnX	float	outer 136
	/declare BrellsTurnY	float	outer -626
	/declare BrellsTurnX	float	outer 81

| ***	If you want to end the macro when character reaches a target level, set the following
|		variable or use /mac macro_name #, where # is the target level.
		/declare HighLevel		int		outer 110
	
	/declare ItemToHandIn	string	outer Bone Chips
	/declare TurnInTarget	string	outer Gunlok
	/declare NullExit		int		outer 0
	
| -------------------------------------------------------------------------------------
| Check if required plugins are loaded		Stolen from KissAssist
| -------------------------------------------------------------------------------------
	/echo Checking Plugins...
	/call CheckPlugin MQ2Cast
	/call CheckPlugin MQ2Moveutils
	/call CheckPlugin MQ2EQBC
	/call CheckPlugin MQ2Autoaccept
	/call CheckPlugin MQ2Posse
	/squelch /autoaccept add ${Porter}
	/squelch /autoaccept add ${Translocator}

	/if (${Defined[Param0]}) {
		/if (${Int[${Param0}]}>0) {
			/varset HighLevel ${Param0}
		} else {
			/echo Bad 1st argument, ignoring.
			/varset Param0 NULL
		}
	}
	
	/if (${Me.Level}>=80 && (${Me.Class.Name.Equal[Wizard]} || ${Me.Class.Name.Equal[Druid]}) && !${UseTransloc}) {
		/if (${Me.Gem[Brell's Rest Gate]} || ${Me.Gem[Brell's Rest Portal]}) {
		/varset BrellsSpell "Brell's Rest Gate"
		/varset Porter ${Me}
		/varset SelfPorter 0
		
		} else /if (${Me.Gem[Ring of Brell's Rest]} || ${Me.Gem[Circle of Brell's Rest]} && ${SelfPorter}) {
		/varset BrellsSpell "Ring of Brell's Rest"
		/varset Porter ${Me}
		/varset SelfPorter 1
		}
	}
	
	:mainloop
	/call LevelCheck
	/if (${Zone.ID}==67) {
		/call MoveToGunlok
		/call PreTurnIn
		/delay 5
		
		:KaladimLoop
		/call LevelCheck
		/call SafeTarget ${TurnInTarget}
		/call ClearCursor
		/call TurnIn
		/call ClearCursor
		/if (${FindItemCount[${ItemToHandIn}]}>0) {
			/goto :KaladimLoop
		} else {
			/call ClearCursor
			/call CleanInventory
			/call PortToBrellsRest
			/call Marie
			/call Bind
			/goto :mainloop
		}
	} else /if (${Zone.ID}==480) {
		/call ClearCursor
		/call CleanInventory
		/call Marie
		/call Bind
		/goto :mainloop
	} else {
		/echo Get your ass to Mar--err Marie, Quaid!
		/echo (Macro needs to start in Brell's Rest or N. Kaladim.)
		/goto :mainloop
	}
/return


| ----------------------------------------------------------------------------
| SUB: Check Plugin		Stolen from KissAssist
| ----------------------------------------------------------------------------

Sub CheckPlugin(string pluginname)

	/if (!${Bool[${Plugin[${pluginname}]}]}) {
		/squelch /plugin ${pluginname}
		/echo ${pluginname} not detected! This macro requires it! Loading ...
	}
	
	/if (${String[${pluginname}].Equal[MQ2EQBC]}) /varset EQBCOn 1
	
/return


| ----------------------------------------------------------------------------
| SUB: CheckGM
| ----------------------------------------------------------------------------

Sub CheckGM
	/declare GMPCEchoed	bool local 0
	
	:ReCheck
	/doevents
	/if (!${AFKToolsOn}) {
		/squelch /posse load 
		/if (${Bool[${Spawn[gm].ID}]}) { 
			/if (!${GMPCEchoed}) {
				/echo A GM or Guide has been detected in the zone, pausing macro until zone is clear.
				/varset GMPCEchoed 1
			}
			/delay 600s 
			/goto :ReCheck 
		}
		
		/if (${Posse.Strangers}>=1) { 
			/if (!${GMPCEchoed}) {
				/echo Another player is nearby, pausing macro until they leave.
				/varset GMPCEchoed 1
			}
			/delay 60s 
			/goto :ReCheck 
		}
	}
	/varset GMPCEchoed 0
/return


| ----------------------------------------------------------------------------
| SUB: MoveToGunlok
| ----------------------------------------------------------------------------

Sub MoveToGunlok
	/declare LocOffsetX local float 0
	/declare LocOffsetY local float 0
	/declare TurnX local float
	/declare TurnY local float
	
	/varset LocOffsetX ${Math.Calc[${Math.Calc[${Math.Rand[300]}/100].Centi}+${GunlokTurnX}]}
	/varset LocOffsetY ${Math.Calc[${Math.Calc[${Math.Rand[300]}/100].Centi}+${GunlokTurnY}]}

	/squelch /target clear
	/moveto mdist 10
	/squelch /target "Gunlok Jure"
	/delay 2s
	
	:recheck
	/if (${Target.Distance}>15) /moveto loc ${LocOffsetY} ${LocOffsetX}
	/delay 5
	/if (${Me.Moving}) {
		/delay 5
		/goto :recheck
	} else {
		/delay 1
	}
		
	/if (${Target.Distance}>15) /moveto id
	/delay 0 ${MoveTo.Stopped}
	/face fast
	
/return


| --------------------------------------------------------------
| Sub: PreTurnIn
| --------------------------------------------------------------
Sub PreTurnIn
|	/if (${Mercenary.State.Equal[SUSPENDED]}) {
|		/echo Unsuspending mercenary.
|			/if (!${Window[MMGW_ManageWnd].Child[MMGW_SuspendButton].Enabled}) {
|			/echo Waiting for button to enable...
|			/delay 60s 
|			}
|		/notify MMGW_ManageWnd MMGW_SuspendButton LeftMouseUp
|	}

	/if (${Target.Type.Equal[npc]}) {
		/if (${Me.Grouped}) {
			/echo Disbanding group for mad XPs.
			/disband
		}
	}
	/call ClearCursor
	/delay 5
/return

| ---------------------------------------------------------------
| Sub: ClearCursor
| ---------------------------------------------------------------
Sub ClearCursor
	:redestroy
	/if (${Cursor.ID} && ${Cursor.NoDrop}==FALSE) {
		/destroy
		/delay 0 ${Bool[${Cursor.ID}]}==FALSE
		/goto :redestroy
	}
/return


| --------------------------------------------------------------
| Sub: SafeTarget
| --------------------------------------------------------------
Sub SafeTarget(string targ)
	/declare targid int local 0
	:retarget
	/if (${Target.ID} && ${Target.ID}==${Spawn[${targ}].ID}) /return
	/if (${Spawn[${targ}].ID}) {
		/varset targid ${Spawn[${targ}].ID}
		/if (${Spawn[${targ}].Distance}<100) {
			/echo Targeting ${Spawn[${targ}]}
			/target id ${targid}
			/delay 30 ${Target.ID}==${targid}
		}
	}
	/if (!${Target.ID}) {
		/echo [SafeTarget] couldnt find a target, retrying
		/delay 1s
		/goto :retarget
	}
/return


| ---------------------------------------------------------------
| Sub: TurnIn
| ---------------------------------------------------------------
Sub TurnIn
	/declare bonetimer timer local 0
	/declare i int local

	/doevents
	/call CheckGM
	/call LevelCheck
	/for i 0 to 3
		:GetBoneChips
		/if (${FindItemCount[${ItemToHandIn}]}>0) {   
		/itemnotify "${ItemToHandIn}" leftmouseup
		/delay 1 ${Cursor.ID}==13073
		:retrygive
		/if (${Cursor.ID}==13073) {
			/click left target
			/delay 1 ${Window[GiveWnd].Child[GVW_MyItemSlot${i}].Tooltip.NotEqual[${ItemToHandIn}]}==FALSE
			/if (${Cursor.ID} && ${Cursor.ID}==13073) {
				/goto :retrygive
			}
		} else {
			/goto :GetBoneChips
		}
	}
	
	/next i
	/if (${Window[GiveWnd].Open}) {
		/notify GiveWnd GVW_Give_Button leftmouseup
		/delay 200 !${Window[GiveWnd].Open}
   }
/return


| ----------------------------------------------------------------------------
| SUB: CleanInventory
| ----------------------------------------------------------------------------	
	
Sub CleanInventory
|	 /if (${Mercenary.State.Equal[ACTIVE]}) {
|		/echo suspending mercenary
|		/notify MMGW_ManageWnd MMGW_SuspendButton LeftMouseUp
|	}
	/declare StuffToDestroy string local Rusty Broad Sword|Torch|Rusty Short Sword|Rusty Mace|Rusty Two Handed Sword|Rusty Axe|Small Patchwork Sleeves|Small Patchwork Tunic|Small Tattered Gloves|Small Lantern|Small Tattered Skullcap|Small Patchwork Pants
	/declare i  int local
	/for i 1 to 12
		/echo ${StuffToDestroy.Arg[${i},|]} ${FindItemCount[${StuffToDestroy.Arg[${i},|]}]}
		/if (${FindItemCount[${StuffToDestroy.Arg[${i},|]}]}>0) {
			:MoreToDestroy
			/doevents
			/itemnotify "${StuffToDestroy.Arg[${i},|]}" leftmouseup
			/delay 10 ${Cursor.Name.Equal[${StuffToDestroy.Arg[${i},|]}]}
			/if (${Cursor.Name.Equal[${StuffToDestroy.Arg[${i},|]}]}) {
				/destroy
				/delay 10 ${Bool[${Cursor.ID}]}==FALSE
			}
			/if (${FindItemCount[${StuffToDestroy.Arg[${i},|]}]}>0) {
				/goto :MoreToDestroy	  
			}
		}
	/next i
	/squelch /target clear
/return


| ----------------------------------------------------------------------------
| SUB: PortToBrellsRest
| ----------------------------------------------------------------------------

Sub PortToBrellsRest
	:PortLoop
	/if (${SelfPorter}) {
		/casting ${BrellsSpell} -maxtries|10
		/delay 20s
	} else {
		/squelch /target clear
		/squelch /target ${Porter}
		
		/if (${Target.Type.Equal[PC]}) {
			/if (${UseTransloc}) {
				/squelch /bct ${Porter} //delay 15s
				/squelch /bct ${Porter} //casting "Translocate: Brell's Rest" -targetid|${Me.ID} -maxtries|10
				/echo Bumming a transloc back to Brell's Rest from ${Porter} the Amazing.
				/delay 20s
			} else {
				/bct ${Porter} //invite ${Me.Name}
				/delay 3s
				/notify ConfirmationDialogBox CD_Yes_Button leftmouseup
				/delay 3s
				/echo Porting to Brell's Rest...
				/bct ${Porter} //casting ${BrellsSpell} -maxtries|5
				/delay 20s
			}
		} else {
			/echo My ride to Brell's Rest is missing, waiting...
			/delay 60s
			/goto :PortLoop
		}
	}
	/if (${Zone.ShortName.NotEqual[brellsrest]}) {
		/echo Recasting teleport...
		/goto :PortLoop
	}
/return


| ----------------------------------------------------------------------------
| SUB: Marie
| ----------------------------------------------------------------------------

Sub Marie

	/delay 5
	/call MoveToMarie
	/face fast
	/call NPC "Marie Fay"
	/call BuyChips
	/delay 3s
	
/return	


| ----------------------------------------------------------------------------
| SUB: Bind
| ----------------------------------------------------------------------------

Sub Bind

	/squelch /target clear
	/if (${Merchant.Open}) {
		/notify MerchantWnd MW_Done_Button leftmouseup
		/delay 1s !${Merchant.Open}
		/delay 5s
	}

	:PortAgain
	/if (${UseTransloc} || ${SelfPorter}) {
		/if (${Me.AltAbilityReady[Gate]} && ${Me.Level}>=55) {
			/casting Gate -maxtries|5
			/echo Gating (AA) back to turn-in...
			/delay 15s
		
		} else /if (${Me.Gem[Gate]}) {
			/casting ${Me.Gem[Gate]} -maxtries|10
			/echo Gating (spell) back to turn-in...
			/delay 15s
			
		} else /if (${FindItem[Philter of Major Translocation].InvSlot}) {
			/casting "Philter of Major Translocation"
			/echo Gating (potion) back to turn-in... I have ${FindItemCount[${Philter of Major Translocation}]} pots left.
			/delay 15s
			
		} else /if (${Defined[Translocator]}) {
			/squelch /target clear
			/squelch /target ${Translocator}
			/delay 5
			
			/if (${Target.Name.Equal[${Translocator}]}) {
				/squelch /bct ${Translocator} //delay 15s
				/squelch /bct ${Translocator} //casting Translocate -targetid|${Me.ID} -maxtries|10
				/echo Bumming a ride from ${Translocator} the Magnificent.
				/delay 20s
			} else {
				/echo My translocator is missing, waiting...
				/delay 5s
				/goto :PortAgain
			} 
		} else {
			/echo I have no methods of returning to bind! Ending macro.
			/endmacro
		}
	} else {
		/bct ${Porter} //casting "Teleport Bind" -maxtries|5
		/delay 15s
	}
		
	/if (${Zone.ShortName.Equal[brellsrest]}) {
		/echo Trying again.
		/goto :PortAgain
	}
	
/return


| ----------------------------------------------------------------------------
| SUB: NPC(NPCName)
| ----------------------------------------------------------------------------

Sub NPC(NPCName)

	/target npc ${NPCName}
	/delay 1s
	
	/if (!${Select[${Target.Type},npc,pet]} || !${Target.ID} || ${Target.Type.Equal[pet]} && !${Target.CleanName.Find[familiar]}) {
		/echo Please target a vendor or guildbanker
	}
	
	/echo Doing business with ${NPCName}
	/target id ${Spawn[${NPCName}].ID}
	/delay 3s ${Target.ID}==${Spawn[${NPCName}].ID}
	
	/if (${Target.Distance}>15) {
		/moveto id  ${Spawn[${NPCName}].ID}
		/delay 250 ${MoveTo.Stopped}
	}
	
	/face nolook
	/delay 1s
	/nomodkey /click right target
	/echo Waiting 5s for merchant/guildbank window to populate
	/delay 5s
	
/return


| ----------------------------------------------------------------------------
| SUB: BuyChips		Written by EqMule
| ----------------------------------------------------------------------------

Sub BuyChips

| This is to adjust number of free lots to be left open while buying Bone Chips.
| I suggest leaving a couple of slots open in case of severe lag.

	/declare FreeSlots int local 0

	/notify MerchantWnd ItemList listselect ${Window[MerchantWnd].Child[ItemList].List[=Bone Chips,2]}
	/delay 2s
	:goagain
	/if (${Me.FreeInventory}>${FreeSlots}) {
		/Shiftkey /notify merchantwnd MW_Buy_Button leftmouseup
		:waitforit
		
		/if (${Window[MerchantWnd].Child[MW_Buy_Button].Enabled}==FALSE) {
			/echo button is false
			/delay 2
			/goto :waitforit
		}
		
		/goto :goagain
	}

	/delay 2s
/return

| ----------------------------------------------------------------------------
| SUB: MoveToMarie
| ----------------------------------------------------------------------------

Sub MoveToMarie
	/declare LocOffsetX local float 0
	/declare LocOffsetY local float 0
	/declare TurnX local float
	/declare TurnY local float
	
|	/varset LocOffsetX ${Math.Calc[${Math.Calc[${Math.Rand[30]}/100].Centi}+${BrellsTurnX}]}
|	/varset LocOffsetY ${Math.Calc[${Math.Calc[${Math.Rand[30]}/100].Centi}+${BrellsTurnY}]}

	/varset LocOffsetX ${BrellsTurnX}]}
	/varset LocOffsetY ${BrellsTurnY}]}

	/squelch /target clear
	/moveto mdist 10
	/squelch /target "Marie Fay"
	/delay 2s
	
	:recheck
	/if (${Target.Distance}>15) /moveto loc ${LocOffsetY} ${LocOffsetX}
	/delay 5
	/if (${Me.Moving}) {
		/delay 5
		/goto :recheck
	} else {
		/delay 1
	}
		
	/if (${Target.Distance}>15) /moveto id
	/delay 0 ${MoveTo.Stopped}
	/face fast

/return

| ----------------------------------------------------------------------------
| SUB: MoveToPorter
| ----------------------------------------------------------------------------

Sub MoveToPorter

	/if (!${UseTransloc}) {
		/echo Moving to ${Porter}
		/squelch /target clear
		
		/if (${Merchant.Open}) {
			/notify MerchantWnd MW_Done_Button leftmouseup
			/delay 1s !${Merchant.Open}
		}		
		/moveto mdist 10					  
		/moveto loc ${BrellsTurnY} ${BrellsTurnX}
		
		:StillMoving2 
		/delay 1
		/if (${MoveTo.Moving} || ${Me.Moving}) /goto :StillMoving2
		/delay 0 !${Me.Moving}

		/squelch /target ${Porter}
		/if (${Target.Distance}>15) /moveto id
		/delay 10 ${MoveTo.Stopped}
	}

/return


| ----------------------------------------------------------------------------
| SUB: LevelCheck
| ----------------------------------------------------------------------------

Sub LevelCheck
	/if (${Me.Level}>=${HighLevel}) {
		/echo Reached target level, ending macro.
		/endmacro
	}
/return
	

| --------------------------------------------------------------------------
| Sub: Event_TSCursor
| --------------------------------------------------------------------------
Sub Event_TSCursor
	/declare ItemToDestroy string local Small Patchwork Sleeves|Small Patchwork Tunic|Small Tattered Gloves|Small Tattered Skullcap|Small Patchwork Pants|Rusty Axe|Rusty Broad Sword|Rusty Mace|Rusty Short Sword|Rusty Two Handed Sword|Small Lantern|Torch
	/declare i  int local
	/for i 1 to 12
		:retryclearTSCursor
		/if (${Cursor.Name.Equal[${ItemToDestroy.Arg[${i},|]}]}) {
			/echo ${ItemToDestroy.Arg[${i},|]} on cursor. Destroying!
			/destroy
			|might need this:/delay 1
			/goto :retryclearTSCursor
		}
	/next i
	/doevents
/return


| ----------------------------------------------------------------------------
| Sub: Event_NullSlot
| ----------------------------------------------------------------------------
Sub Event_NullSlot
	/varset NullExit 1
	/echo Opening all bags to correct null slot
	/keypress OPEN_INV_BAGS
	/timed 100 /keypress CLOSE_INV_BAGS
/return

When I use this one, I'm always running into the wall instead of running to Marie. If I start the mac at Marie it's fine until she ports back.
 
When I use this one, I'm always running into the wall instead of running to Marie. If I start the mac at Marie it's fine until she ports back.

The previous version did that for me too. This has the same :move to Marie sub, so this should work. In the Sub MoveToMarie section find:
Rich (BB code):
:recheck
	/if (${Target.Distance}>15) /moveto loc ${LocOffsetY} ${LocOffsetX}
	/delay 5

Change /delay 5 to /delay 5s


Rich (BB code):
:recheck
	/if (${Target.Distance}>15) /moveto loc ${LocOffsetY} ${LocOffsetX}
	/delay 5s
 
The previous version did that for me too. This has the same :move to Marie sub, so this should work. In the Sub MoveToMarie section find:
Rich (BB code):
:recheck
	/if (${Target.Distance}>15) /moveto loc ${LocOffsetY} ${LocOffsetX}
	/delay 5

Change /delay 5 to /delay 5s


Rich (BB code):
:recheck
	/if (${Target.Distance}>15) /moveto loc ${LocOffsetY} ${LocOffsetX}
	/delay 5s

I've edited the macro in #170 to reflect this change. Thanks for pointing it out!
 
Can this be done with just a druid? I have a lvl 65 Druid I would like to get up to the mid High 80's using this.

Thanks
 
I tried your code in 169 with a solo Wizard, it looks like it is missing a
Rich (BB code):
/declare BrellsSpell string outer "Group_Teleport_Spell_Name"
because it poops out without one added.
 
I tried your code in 169 with a solo Wizard, it looks like it is missing a
Rich (BB code):
/declare BrellsSpell string outer "Group_Teleport_Spell_Name"
because it poops out without one added.

Good catch, edited code.
 
Thanks for the great macro , optional can use "Zari Ikura" in the dream too,
-bound wiz directly next to merchant have char to powerlvl bound in kaladim directly next to npc
-use Wiz "Teleport Bind" AA to get char to the merchant
-Wiz stays @ merchant till turn ins done and char gives command to Wiz to use "Secondary Recall" to come and send char back to merchant.

Char that lvls in this case is a caster that is able to gate himself back to Kaladim and Requirement for Wiz is the bare minimum of 69.
 
I was wonder if anyone has ever tried to make a macro for the Field of Bone , Bonechip task

Trooper Mozo can be found at -2555, +3565, guarding the zone-in to East Cabilis.

You say, 'Hail, Trooper Mozo'

Trooper Mozo looks upon you smugly. 'And what are you? Some sort of adventurer. Bah!! You will be shaken by the first undead you come across. Wetting your pants you shall be. Ha ha!! I doubt you could even [kill the decaying skeletons].'

You say, 'I can kill the decaying skeletons.'

Trooper Mozo says 'You kill skeletons?!! I think not!! They will bounce you with no trouble at all. Ten silver says you cannot collect four bone chips!! When Velious melts!! Hah!'

Hand in 4 x Bone Chips.

Trooper Mozo gasps in astonishment. Wha...? This!! But... I... Why you... I oughts.. All right!! A bet is a bet. Here you go. A few silver pieces for your achievement. What?!! You thought I would give ten? Fat chance! Now get lost or I will haul you in for impersonating a froglok.'

Your faction standing with Legion of Cabilis could not possibly get any better.
Your faction standing with Cabilis Residents got better.
Your faction standing with Scaled Mystics got better.
Your faction standing with Crusaders of Greenmist got better.
Your faction standing with Swift Tails got better.
You gain experience!!
You receive 7 silver from Trooper Mozo.

XP , cash , nothing to destroy and works faction ( I know non- Iksar's use it to try and get Greenmist )
 
I was wonder if anyone has ever tried to make a macro for the Field of Bone , Bonechip task

Trooper Mozo can be found at -2555, +3565, guarding the zone-in to East Cabilis.
Problem with this idea is if you are not Iksar you need to do something special before you work the quest because you will be KOS. Either you need to do some faction work or use invis/SOS tricks. otherwise id say it would be a grand idea.
 
I was wondering if there was a way to recall the bag clearing sub on the fly while the mac is running.
Sometimes the toons jump the gun and port back without fully clearing bags.
 
I had to pause someone doing this today,
sorry for doing this to a fellow player.
but you should be /role or anon
 
biggest problem was that quest gives less exp

- - - Updated - - -

I was wondering if there was a way to recall the bag clearing sub on the fly while the mac is running.
Sometimes the toons jump the gun and port back without fully clearing bags.

edit your routine and tell it to clear bags twice, this fixes the issue
 
Absolutely Phenomenal work on this from many peeps esp the ones credited with work on this:


|TurnIn, ClearCursor, SafeTarget, Events, CleanInventory and BuyChips routines by EqMule
|Merc support written by Redbot
|CheckPlugin written by Maskoi
|Movement routines written by Randyleo


And we can't forget, disasteroid for all his work on this also! I used up my RedCents for those I can for now due to all the help with this.

Thank you all for your Hard Work and Testing and Re-Testing on this to get it working (for me, flawlessly).

This has been Rock Solid for hours now. I have two Macs running for two different teams on my computer atm. Two Wizzies helpin to PL 1 toon from lvl 2 up to 76 so far and the other team is helping PL an already Heroic toon from 86 up. Almost 87 now. Worked Faction by killing Emp Crush some 7 or 8 times and wiping CB then doing hand ins of Crushbone Shoulderpads and Crushbone Belts on my DE toon.

I may later get my 3rd Wizzy running on a 3rd mac but for now I am going to retire for the night... I'm dead tired.

BTW- Important note I never saw mentioned here or other threads I read concerning the Bone Chips. In Kaladim, you actually earn more plat than what you spend for the stacks of Bone Chips!! When I was reading peeps posts and plat was mentioned I thought for sure that you pay out more than you get.

Toon with about 200 slots free, I'm avg of some +245pp each run.

Earlier today I tried the Cabillis Ent idea... yea, as my toon (Dwarf) was not evil, that would have too many snags and did not want to mess with faction there.

Thank you,
~TheFiddler~

P.S. Yes, you read that correctly. I have two copies of this Mac running simultaneously and it works very well. Named them:
Rich (BB code):
AutobonesV3a.mac
AutobonesV3b.mac
Detailed the different Wizzy names inside is the only real difference between them.
 
yes you certainly earn plat with this, but by the time you go buy your spells its not even enough to buy all your spells to 85...... but it does put a nice dent in the cost!
 
His post was most certainly a complete attempt to troll and brag about his l33t accomplishments while also giving everyone else the finger. Pretty much saw right off the bat that it was going to get hit with the nerf bat once it was publicly posted. Curious to see how severe it was though. Sounds like maybe they didn't completely run it into the ground...
 
ooooooooo I want to say what I think about TLP and this crap but I shall refrain (Don't want Mr Scaley mad at me) Fucking fucktards fucking up real servers, I will miss bonechips!
 
If that guy has a username on redguides, please let me know so I can permaban him.
 
I can tell you that on live servers they were DCing my guys (like 20 of them) everytime I ported to Brells! So after a few hours of levels I got to 75 and left to level elsewhere....
 
Hmm, did I miss something with bonechips?

My freshly created druid seemed to turn in BCs just fine in Kaladim this night/morning(regular live server).

Or is the nerf only on TLP?

(the xp did go down 2x but that was just the bonus weekend ending)

That said, if you were doing 1-100 on BCs and had another 100 already, that was just laziness.

It is much faster to level 70+ grouping with a 100 than doing BCs.
 
Hmm, did I miss something with bonechips?

My freshly created druid seemed to turn in BCs just fine in Kaladim this night/morning(regular live server).

Or is the nerf only on TLP?

(the xp did go down 2x but that was just the bonus weekend ending)
.

still doing it, but it does seems slower/stagnant but you're right its hard to gauge with double exp just being a recent memory.
I had a toon just outside of 89% to 75! However after seeing him hand in like a few extraplanar bags there is no movement from 89% :(
 
Okay, the nerf is pretty bad looks like 10x from regular (not double xp)

pre nerf
Rich (BB code):
[09/09/2015 02:46:38] myserv mychar 83 52.42 starting to give bones
[09/09/2015 03:07:03] myserv mychar 83 55.45 all done with giving bones
[09/09/2015 03:07:35] buying bones
[09/09/2015 03:10:14] done buying bones
[09/09/2015 03:10:33] myserv mychar 83 55.45 starting to give bones
[09/09/2015 03:30:40] myserv mychar 83 58.18 all done with giving bones

post nerf
Rich (BB code):
[09/09/2015 07:52:42] starting xel
[09/09/2015 07:52:59] buying bones
[09/09/2015 07:55:36] done buying bones
[09/09/2015 07:55:55] myserv mychar 83 58.18 starting to give bones
[09/09/2015 08:15:35] myserv mychar 83 58.48 all done with giving bones
[09/09/2015 08:16:08] buying bones
[09/09/2015 08:18:48] done buying bones
[09/09/2015 08:19:07] myserv mychar 83 58.48 starting to give bones
[09/09/2015 08:38:20] myserv mychar 83 58.48 all done with giving bones
[09/09/2015 08:38:52] buying bones
[09/09/2015 08:41:18] done buying bones
[09/09/2015 08:41:37] myserv mychar 83 58.48 starting to give bones
[09/09/2015 09:01:09] myserv mychar 83 58.79 all done with giving bones
[09/09/2015 09:01:41] buying bones
[09/09/2015 09:04:19] done buying bones
[09/09/2015 09:04:38] myserv mychar 83 58.79 starting to give bones
[09/09/2015 09:24:14] myserv mychar 83 59.09 all done with giving bones

Was getting about 3% at 83 per turnin now only 0.3% , ouch.

EDIT2: EFP quest is similarly nerfed...:(
 
Last edited:
It was 1 to 81 in about a day of double xp, I was too lazy to turn it off since it was a low pop server. Saw 2 wizards doing the same one 91 one 86.

I think you could get 1-100 in about a month of bonechips. But yeah, ordinarily you could run it overnight for 1-70 and then go level elsewhere.
 
Bonechips Revised

Users who are viewing this thread

Back
Top
Cart