Explo Pot Toggle'N'Toss (TNT) Macro :P

amonseti

Grandmaster
A PvP Legal Single key Explo Pot Toggle Macro
Please see code notes for more info:


Code:
// $$$$$$$$ TNT TOGGLER   $$$$$$$
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
// ?? By Amonseti
// ?? VB0.1
// ??????????????????????????????????????????????????
// ??
// ?? This Macro is an auto toggle to use with explosion
// ?? pots. has 2 phases phase 1 (first click) to start
// ?? count down and phase 2 (2nd click) to toss the pot.
// ?? Usage: Obviously you need explo pots , and You will
// ?? also need a current target
// ??
// ???????????????????????????????????????
//
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//!! Commented out code:
//!! Not sure why this condition is not catching
//!! is needed to reset journal in the event
//!! A pot was not tossed, (Blowed up in hand)
//if @injournal 'Target cancelled' 'system'
//@clearjournal
//endif
//!! Right now if the pot blows up in hand
//!! the next pot will be thrown at last target emediatly
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
if @injournal 'You should throw it now' 'system'
  //?? Phase 2 toss the pot at last target
  usetype '0xf0d' 'any' 'backpack' '2'
  waitfortarget 35000
  pause 100
  attack 'enemy'
  target! 'last'
  @clearjournal
else
  //?? Phase 1 start pot countdown and clear cursor
  usetype '0xf0d' 'any' 'backpack' '2'
  pause 100
  @canceltarget
  //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  //!! Could add functionality to obtain target here
  //!! I left out as
endif
 

halygon

Grandmaster
I have "a" working solution to this issue, that I used for a good while in the field and in tourneys. But I am curious to what the community comes up with so I will hold off on posting my macro until this one is worked out.
 

Swayze

Grandmaster
Now, how would I create some kind of macro to throw the pot away if the person is too far away?
 

amonseti

Grandmaster
You don't use macros . If the person is to far you can click a ground tile .
yes thats what ive been doing .. its not a pretty one . Ill admit I have not really played my alchy dexxer , so it is a learning process for me also.
 

Young Star

Grandmaster
You don't use macros . If the person is to far you can click a ground tile .
When it's obvious that the target is out of range it is easy enough to just target the ground. I think the main reason for wanting something to chuck it away is when you aren't sure if you're close enough. So when you hit your toss key it doesn't just say target not found and blow in your pack.

I think you could use some of the code that is used for lumberjacking and just change the tile number it uses. Whatever is used needs to be simple and short or it will take too long to throw.

Something like
if target not found(can't remember syntax)
targettileoffset -10 0 0
Else target 'last'

Not sure how the tiles are identified but you get the idea
 
Last edited by a moderator:

amonseti

Grandmaster
When it's obvious that the target is out of range it is easy enough to just target the ground. I think the main reason for wanting something to chuck it away is when you aren't sure if you're close enough. So when you hit your toss key it doesn't just say target not found and blow in your pack.

I think you could use some of the code that is used for lumberjacking and just change the tile number it uses. Whatever is used needs to be simple and short or it will take too long to throw.

Something like
if target not found(can't remember syntax)
targettileoffset -10 0 0
Else target 'last'

Not sure how the tiles are identified but you get the idea
yup great idea
 

halygon

Grandmaster
I guess this never was really finished? Here is a legal one-button explosion potion macro. All it does is combine the two key approach into a single key, but the timing is still completely manually (as it should be):

Code:
//
//Halygon's Single Key Exp Pots
//Best Viewed in hue 1284
//

//Lists are used to hold the status of the hotkey because lists are global variables in UOSteam
if not listexists 'potswitch'
createlist 'potswitch'
endif

//if list is empty, cook potion and cancel target
if list 'potswitch' == 0
usetype! 0xf0d
waitfortarget 600
// throw away target //
canceltarget
pushlist 'potswitch' 'ExpPot'

//if list is not empty, activate potion and throw it
elseif list 'potswitch' == 1

//Re-prime Exp Pot and Throw to Last
usetype! 0xf0d
waitfortarget 600
target! 'last'
@clearlist 'potswitch'
endif

The issue with the above is that if you hold down the button, it will swap through the states and then the next time you use it, it is unreliable. I have stopped using the above because reliability is core to me, but some of you out there might find it useful.
 

Strigo

Expert
It seems two things would break it:

Never throwing it would mean the next time you hit it to cook it instead throws.
and
Trying to cook when it's on cooldown, with the same result as above

Let's say the delay between throwing a pot and being able to cook a new one is 1500, and the total time from initial cook to next cook is 5000 (could be 3 or 4 count, I know I know), have a timer that resets after target! 'last'. Set the throw pot portion to require a timer between 1500-5000, and the cook pot portion runs otherwise, wouldn't that address both break factors?
 
Top