HowTo: Difference between revisions
(→Hooks) |
|||
Line 84: | Line 84: | ||
= Hooks = | = Hooks = | ||
A hook allows you to inject your own code into existing subroutines. The only real limit to hooks are the pre populated places for the injections and your imagination. | A hook allows you to inject your own code into existing subroutines. The only real limit to hooks are the pre populated places for the injections and your imagination.<br/> | ||
A hook can be placed into any part of the code using the following example: | A hook can be placed into any part of the code using the following example:<br/> | ||
<code>GETINPUT main_loop swAuto|${maEnv.Find[swAuto].Value}</code><br/> | |||
<code>GETINPUT</code> is a call to a routine that will create the hook if the following two conditions are met.<br/> | |||
- the | - the <code>GETINPUT</code> must be followed by the name of the subroutine you want to create<br/> | ||
- and the name must be followed by either a | - and the name must be followed by either a <code>NULL|NULL</code> or a <code>variablename|variable value</code><br/> | ||
In your | In your <code>data\custom.inc</code> file, you can create the hook with the code that you want to run. Give the previous example, you would create a subroutine like this: | ||
<pre> | |||
sub hook_main_loop(string _auto) | sub hook_main_loop(string _auto) | ||
Line 102: | Line 102: | ||
/return | /return | ||
</pre> | |||
Hooks can get as complicated as anything else, drawing upon existing variable, maps, lists, whatever. Even making your own. | Hooks can get as complicated as anything else, drawing upon existing variable, maps, lists, whatever. Even making your own.<br/> | ||
Only going to say this part once, You are on your own with hooks. You break it, you bought it. | Only going to say this part once, You are on your own with hooks. You break it, you bought it.<br/> | ||
You will need to enable | You will need to enable <code>/entropy hook on</code> and restart the macro for this to take effect. | ||
= Creating your own variables to use = | = Creating your own variables to use = |
Revision as of 05:40, 8 May 2021
A very unorganized list on how to do some things...
Quick and Dirty
These are some very basic settings. There are a lot more details, but this will get the ball rolling.
set up a buff
load a targetable buff in gem 1
/buff 1 gem1 /buff 1 on /buff 1 tag crew add /buff crew on /env auto on
this will set up a targetable buff to cast on others in your dannet (your crew).
set up a heal
load a single target heal in gem 1
/heal 1 gem1 /heal 1 /heal 1 tag single add /cc mode heal on /heal group /env auto on
set up a nuke
load a single target nuke into gem1
/nuke 1 gem1 /nuke 1 on /cc mode nuke on /cc ass smart g /env auto on
now you have a nuker that will assist you groups main assist.
set up mezing
load an AE mez in gem 2 and a single target mez in gem 1
/debuff mez ae gem2 /debuff mez single gem1 /debuff mez use on /cc mode cc /cc ass smart g /chr ae 2
and you have a mezzer. it will ae mez when theres more then 1 mob in camp.
set up a basic tank
dust off your favorite speed bump
/pull rad 300 /pull with melee /pull active on /pull mode nav /home deathclear on /home incombat on /home facefast on /agro active on /cc mode melee on if you are part of a group, have the group leader set you as Main Assist /env rad 40 /env auto on
this will set you up as a simple melee puller. you will run out, smack a mob with whatever is in your hands and run back to camp
Multiple Pullers
With Entropy, you can easily have more then one puller in a group. Some guidelines to making it work properly;
Set your main assist, whatever that is, on base pulling with a reasonable radius. Basically, they control the local camp.
From there, you can use other classes to get mobs farther away back to the assist.
Set a ranger on base pulling with a 340 radius.
Set a pet class on pet pull with a stupid large radius, or whatever.
Set a melee class, on nav pulling with a large radius.
There is no limit to the number of pullers you use. If you do not apply a little common sense, they will run off and do stupid things tho.
Hooks
A hook allows you to inject your own code into existing subroutines. The only real limit to hooks are the pre populated places for the injections and your imagination.
A hook can be placed into any part of the code using the following example:
GETINPUT main_loop swAuto|${maEnv.Find[swAuto].Value}
GETINPUT
is a call to a routine that will create the hook if the following two conditions are met.
- the GETINPUT
must be followed by the name of the subroutine you want to create
- and the name must be followed by either a NULL|NULL
or a variablename|variable value
In your data\custom.inc
file, you can create the hook with the code that you want to run. Give the previous example, you would create a subroutine like this:
sub hook_main_loop(string _auto) /if (${_auto}) { /echo hi this is my hook, not yours. } /return
Hooks can get as complicated as anything else, drawing upon existing variable, maps, lists, whatever. Even making your own.
Only going to say this part once, You are on your own with hooks. You break it, you bought it.
You will need to enable /entropy hook on
and restart the macro for this to take effect.
Creating your own variables to use
In `data\custom.inc` create a subroutine called `custom_define(bool _debug)`; ``` sub custom_define(bool _debug)
| stuff goes here
/return TRUE ```
This routine will get loaded just prior to the individual class data loading. You can create them as normal MQ variables, or use/add to existing maps or lists, or even create your own. Can even add to the existing databases here.