Hazefest's Written AHK Guide for Eden.

The right place for talking about Dark Age of Camelot or Eden
User avatar
Hazefest
Esquire
Esquire
Posts: 12
Joined: Thu Nov 03, 2022 11:03 pm

Hazefest's Written AHK Guide for Eden.

Hello.

I made this for many players wanting to know more about AutoHotKey and for players currently not happy with their scripts and want to look over how someone that has been using AHK for a while and doing additional research to improve upon the scripts.

All of my AHK information is at your disposal.

Here is my Eden Google Drive with all my AHK scripts and this written Guide as well.
https://drive.google.com/drive/u/1/fold ... TTITPHq9Kb

Here is a Eden AHK basic's video for newer users or players that are considering AHK.
https://www.youtube.com/watch?v=9cOU6V1hmUI

Here is the link to this written guide on my Eden Google Drive.
https://docs.google.com/document/d/1Azk ... share_link

Hopefully this will be useful for some of you.

Eden AutoHotKey Guide

This is a guide geared towards newer users and even some adept users like myself. I am not a master of all things AHK, but I do enjoy sharing what I have learned with players like you. Use the Table of Contents to move around this document and take what you need.

NOTES:
  • This works for players with US QWERTY keyboard layouts best.
    IF you have a DUAL LANGUAGE keyboard you may have to put in extra work to get this working properly.
    Make sure to run Camelot.exe and the Eden Launcher as Administrator from the Eden installation location.
Installing AutoHotKey
  • Download the latest version of AHK here: https://www.autohotkey.com/

    Click “Download Current Version (1.1)” and it will download the .exe file.

    Run the .exe file. Click on Install/Upgrade 64-bit.

    Click “Run AutoHotKey”. Close the AutoHotKey Help window that appears.

    Reboot your PC before proceeding.
After rebooting. Check to see if you can create a new AHK script. Right click>New>AutoHotKey Script. If you see this you have installed AHK.


Now you are ready to begin your first AHK script.


Why use AutoHotKey?
  • Improve reaction time.
    Perform tedious actions with less mistakes.
    Help players fumble keys less by pressing the right keys for you.
    Swap main and offhand weapons at the same time with one key press.
    Assist in RvR combat jitters.
    Counter UI jankiness due to the older game’s User Interface.
    Mindless press 1 key when farming while watching TV/working.
    Reduce button presses from 30+ keys on some classes down to 5-6 keys.
    Assist players with disabilities.
    Increase player E-peen.
    Play a class better.
    Control your character/pets/siege weapons/chants/styles with ease and less stress.
    Apply poisons to multiple weapons in a split second.
    Allow you to copy and paste sources or text into DAoC chat.


Understanding/reading what the strings do.
This is a small string. I will break it down on the right

Normal String

;Cast DD{PgDn} Solo
Xbutton1::
{
Send, f{PgDn}
}
return




Breakdown

;Cast DD{PgDn} Solo
Any line beginning with ; is ignored by the script logic. Semicolons can be used to make notes in your script.
Casts a spell using a “Page Down” /qbind

Xbutton1::
This is the key/button you press to use the string.
Pressing a side mouse button uses the shown string.

{ {
Send, f{PgDn} or Send, f
} Send, {PgDn}
}
This is a full string. I have written it two ways. The string begins with { and ends with }. Everything in between these two brackets is the “string”
Send is the command to press the keys F and Page Down.
F is face. Page Down is the Nightshade ranged spell cast.

return

This is the command in AHK that closes a string off and prevents your strings crossing one another.




Hazefest’s AutoHotKey Script Vault

Busy? Lazy? Just want a script? No matter your reason I got you fam! Below is a link to my AHK script vault. Some of these are complex like the Nightshade script. Some are simple like the melee DPS scripts. I do not have scripts for all classes yet unfortunately.

Link to Hazefest's AutoHotKey Script Vault
https://drive.google.com/drive/folders/ ... share_link

AutoHotKey Melee Style Basics
The way that styles work with AHK is that you can only use two style chains on a single key.
A style chain is your conditional/positional/anytime styles.

Parry, Block, Evade, Target Fumbles, Target Blocks, Target Parries, Target Evades, Side, Back, Front, and Anytime styles and each of their follow ups are considered one chain each.

Each of these examples is a real single key press AHK string using the melee styles below.

Example 1
Kinetic Blade>Lunging Blade>Return Blade is a Parry chain.
Solar Flare> Hurricane is an Anytime chain

Example 2
Cobra>Taipan>Copperhead>Viper is a Block chain.
Anaconda>Tiger Snake>Kingsnake is a Parry Chain

Example 3
Aurora Borealis> Icy Brilliance> Snowsquall is a Back chain
Demolish>Frost Hammer is a Side chain

NOTES:
  • You can mix and match any of the style chains.
    /stick and /face will work with these. /stick is better.
    Weapon swapping before the styles will work with the strings
    Instant cast spells can be used with styles in the same string.
    You must use the follow up styles before the conditional/positional/anytime styles as shown in the example above.
    Anytime styles are always last in the send string.
.
Full AHK Key List
This has all the AHK keys written out as they would be used in your AHK scripts. This is for reference when making your own scripts.
Source: https://www.autohotkey.com/docs/KeyList.htm

Hazefest’s AHK Strings (Copy and Paste)
Create your own scripts from strings below.

In this portion of this guide you can copy and paste sections at your leisure to fit the situation you intend to create. I write the script like this so they are easier to read/change.

Required code for building any DAoC AHK Scripts (start with this)
________________________________________
;Name of script

RETURN
#UseHook
#IfWinActive, ahk_class DAoCMWC
#MaxThreadsPerHotkey 1
#MaxHotKeysPerInterval 200
#NoEnv

;Paste your strings here. Delete this line.

#UseHook off
________________________________________

#UseHook Is the beginning of the script

#UseHook off is the end of the script. ALL strings go in between these two lines.

Basic Melee String

;Stick+{f1}, Leaper{=} & Hamstring{f2} or Achilles Heel{right} & Garrote{f3}, Instant DD{PgUp}
$1::
{
Send, {Shift down}{f1}{Shift up}
Send, {=}
Send, {f2}
Send, {right}
Send, {f3}
Send, {PgUp}
}
return
________________________________________
In this basic string I set Stick, Leaper, Hamstring, Achilles Heel, Garrote, and an instant cast spell to my One key. /qbinds are marked as { } following the styles/skills I am using in this string.

Toggle the AHK script on and off

Simple

;toggle (pauses and resumes script)
=::
Suspend,toggle
return
________________________________________
This simple on/off toggle uses = key to suspend or resume the script manually.

Complex on/off toggles when typing automatically

;Suspend when typing
~NumpadEnter::
~+Enter::
~Enter::
Suspend, Toggle
ToolTip, % A_IsSuspended ? "Script Suspended" : ""
Return

;Other keys that open chat /commands, console, r reply key
~NumpadDiv::
~/::
~'::
~r::
Suspend, On
ToolTip, Script Suspended
Return

;Escape closes chat window
~esc::
Suspend, Off
ToolTip
Return
________________________________________
NOTE: US QWERTY and MMO /keyboard setup in DAoC may be required.
This set of strings will suspend the script if you press Enter, Shift Enter, Numpad Enter, Numpad /, /, ‘, or R keys to type into chat. Pressing Enter to send the chat or Escape to cancel chat will resume the script for you.

Ever want to paste something into DAoC chat? Try this.

;control v windows default paste command
$^v::
Suspend, Permit
if A_IsSuspended
SendInput, % Clipboard
Return
________________________________________
This string will allow you to paste copied text into the chat within DAoC.

Main Hand and Offhand weapon swapping

;Weapon swap slots 1-2
$6::
{
Send, {Shift down}z{Shift up}
Send, {Ctrl down}e{Ctrl up}
}
return
________________________________________
The $ on the 6:: just means #UseKeyboardHook. It's a redundancy for #UseHook
{Shift down} tells the logic to press and hold the key down. (This works for Shift/Control/Alt)
{Shift up} releases the held down key. (This works for Shift/Control/Alt)

Weapon Swap macro between 1h and 2h
z::
toggle := !toggle
send % toggle ? "b" : "n"
Return
________________________________________
Pressing :Z:: will toggle between pressing B and N.

Basic Friendly/Enemy Target Caster String

;Mez and demez
$3::
send, f
send, {f9}
send, {f11}
return
________________________________________
Press 3 to /face, cast enemy spell /bind to F9, cast friendly spell /qbind to F11.

Poison Weapon Script

;Poison Weapon Sets 1, 2, & 3 Lethal{f11} Infection{f9} Con/wep skill{end} Str{\}
$+q::
{
Send {f11}
Send {end}
Send {Shift down}z{Shift up}
Send {Ctrl down}e{Ctrl up}
Send {f9}
Send {end}
Send o
Send [
Send {\}
Send {f11}
Send k
Send z
Send {f11}
Send {f9}
}
return
________________________________________
Shift Q fires this string. Requires /switch macros /qbind Shift Z, Control E, O, [, K, and Z to to swap weapons. Poisons are /bind to F11, F9, End, and \.
This is a long string and may require adding dead keys in between each Send.

Swap Instrument and play song

;Speed Song
!1::
send, h
send, {f5}
return
________________________________________
Alt 1 fires the string. H equips the instrument. F5 is /qbind to song.

Ranger/Hunter Speed with Sprint

;Sprint {v}, Greater Forest Shadow {f11}
Z::
send, v
send, {f11}
return
________________________________________
Press Z. Sprint with V and use Run speed spell F11

Original Archery Auto-fire Crit Shot and reload.

;Face {f}, Swap Melee {b}, Swap Bow {h}, Crit Shot {f9}, Auto Fire and Reload {h}
Xbutton1::
send, f
send, b
send, {h down}{h up}
send, {f9}
send, {[ down}{[ up}
send, {k down}{k up}
return
________________________________________
Press Side mouse button. Faces target. Swaps Melee B, Swaps Bow H, Critshot F9, auto fire [, auto reload K. Useful as opener on Archer class.

Animist Shroom cast and place
;Face {f}, Reset Camera {Numpad5}, Place ground target w/ mouse{del}, and Summon Turret pet {f2}
Xbutton1::
send, .
send, {Numpad5 down}{Numpad5 up}
send, {f2}
send, {del}
return
________________________________________
Side mouse button. Changes mouse cursor to GT icon Delete. Place GT. Shroom appears F2.

All Paladin/Skald chants.
;Chants
Xbutton1::
{
Send, {Ctrl down}{f1}{Ctrl up}
Send, {Ctrl down}{f2}{Ctrl up}
Send, {Ctrl down}{f3}{Ctrl up}
Send, {Ctrl down}{f4}{Ctrl up}
Send, {Ctrl down}{f5}{Ctrl up}
Send, {Ctrl down}{f6}{Ctrl up}
Send, {Ctrl down}{f7}{Ctrl up}
Send, {Ctrl down}{f8}{Ctrl up}
Send, {Ctrl down}{f9}{Ctrl up}
Send, {Ctrl down}{f10}{Ctrl up}
Send, {Ctrl down}{f11}{Ctrl up}
Send, =
}
return
________________________________________
Side mouse button. Fires all Pally chants. May require adding dead keys in between each Send.
User avatar
Lianso
Wanderer
Wanderer
Posts: 1
Joined: Tue Aug 23, 2022 8:51 pm

Re: Hazefest's Written AHK Guide for Eden.

Thank you very much for this very helpful guide.

However, I have one problem with melee style chains:

Often (not always) when the first key is pressed and the Toon has not been in combat mode before, the game does not "wait" until all keys are pressed, but fires the first style in the ahk script, which logically is the last style in the chain, so that the "backup" anytimer style ist not executed und it only lands an autohit.

For example Mercanary back chain: Dual Shadows (Back Follow-up) > Penumbra (Back Opener) > Dark Tendrils (Anytimer).

Very often the game fires the Backup-Follower directly and does not wait until all keys are pressed.

Once the Character is in combat mode, this behaviour does not occur anymore. Is there any solution for this issue?
User avatar
Hazefest
Esquire
Esquire
Posts: 12
Joined: Thu Nov 03, 2022 11:03 pm

Re: Hazefest's Written AHK Guide for Eden.

Lianso wrote: Thu Feb 02, 2023 8:53 am Thank you very much for this very helpful guide.

However, I have one problem with melee style chains:

Often (not always) when the first key is pressed and the Toon has not been in combat mode before, the game does not "wait" until all keys are pressed, but fires the first style in the ahk script, which logically is the last style in the chain, so that the "backup" anytimer style ist not executed und it only lands an autohit.

For example Mercanary back chain: Dual Shadows (Back Follow-up) > Penumbra (Back Opener) > Dark Tendrils (Anytimer).

Very often the game fires the Backup-Follower directly and does not wait until all keys are pressed.

Once the Character is in combat mode, this behaviour does not occur anymore. Is there any solution for this issue?
Hello,

The way that the Eden server reads player input is the cause of this issue. The server is reading player inputs quickly enough that the player inputs from the scripts are getting 2 and sometimes 3 key presses before the character attacks. Normally the player would use Follow-up styles before conditionals (parry/block/evade/fumble) styles or Positional (front/back/side) style before Any time styles. So normally you would have four or more styles on a single key. When you press the AHK key to fire the string pay attention to the combat log. It will say you miss because you use a follow up or a evade/parry/block and it "failed" resulting in an auto attack.

This issue is resolved by having what I call an OPENER attack. Opener would be Positional or Anytime styles. On stealth assassins the Perforate Artery and Backstab 2 can be used together without issue. I recommend leading with PA on the string. I also use my Side/Back styles without issue to open with as well. I use only two styles on my openers.

I would recommend:
1. Side/Back snare/stuns
2. Side/front/back with an Anytime style whichever is your strongest openers

Once the opener attack starts combat and the MELEE SWING TIMER is in effect, all your string will fire normally due to the 1.5 or higher swing timer. There is no swing timer on an opener attacks, so the server uses the first style it catches on the receiving signal which pulses very often.

The Atlas server reads inputs differently which is why you can use full strings there and not have an issue. Eden seems to be more responsive which is not a bad thing. Just requires a bit more ingenuity on AHK side to work around.

I hope this long winded answer helps your understanding of the situation.
User avatar
Fyr
Wanderer
Wanderer
Posts: 7
Joined: Mon Aug 15, 2022 4:30 pm

Re: Hazefest's Written AHK Guide for Eden.

Also not sure if you mentioned it in your videos, but you also want your quickbar ordered in the way the AHK fires the styles/spells.
I was having some issues with primary/backup styles firing in incorrect order about a third of the time and found out from Gaven that the client will sometimes send the keys in the order of the char.ini/quickbar order.

So for example, the client would go through quickbar 1, bank 1, slot 1 all the way to quickbar 1, bank 10, slot 10, then it will go quickbar 2 and then quickbar 3. So you want your anytimer/backup style to be last on the bar.

Again thanks to Gaven for letting me know about this issue and fix.
User avatar
Hazefest
Esquire
Esquire
Posts: 12
Joined: Thu Nov 03, 2022 11:03 pm

Re: Hazefest's Written AHK Guide for Eden.

Fyr wrote: Fri Feb 03, 2023 7:42 pm Also not sure if you mentioned it in your videos, but you also want your quickbar ordered in the way the AHK fires the styles/spells.
I was having some issues with primary/backup styles firing in incorrect order about a third of the time and found out from Gaven that the client will sometimes send the keys in the order of the char.ini/quickbar order.

So for example, the client would go through quickbar 1, bank 1, slot 1 all the way to quickbar 1, bank 10, slot 10, then it will go quickbar 2 and then quickbar 3. So you want your anytimer/backup style to be last on the bar.

Again thanks to Gaven for letting me know about this issue and fix.
Weird issue. I will do some testing this in mind. Thank you!
User avatar
Gormek
Esquire
Esquire
Posts: 15
Joined: Mon Dec 12, 2022 2:24 am

Re: Hazefest's Written AHK Guide for Eden.

i'm trying to figure out a way to make a script for my casters

i just wanna add face and reset camera to most of my spells and i haven't succeded

i don't wanna qbind all my spells so mainly my main qbar 1 through 6 are the stuff i use the most and face being "e" and reset camera being "z"

could anyone please help? :)
User avatar
Hazefest
Esquire
Esquire
Posts: 12
Joined: Thu Nov 03, 2022 11:03 pm

Re: Hazefest's Written AHK Guide for Eden.

Cronox wrote: Mon Feb 06, 2023 10:32 pm i'm trying to figure out a way to make a script for my casters

i just wanna add face and reset camera to most of my spells and i haven't succeded

i don't wanna qbind all my spells so mainly my main qbar 1 through 6 are the stuff i use the most and face being "e" and reset camera being "z"

could anyone please help? :)
For face and camera reset look below. In order to use camera reset you must use the down/up commands with whatever key you want to use.

~1:: ;Press 1
{
Send {z down}{z up} ;Reset Camera
Send e ;Face
}
Return

Change the X:: keys to what you want to press and set the send lines to your face/cam keys and /qbinds

The ~1 before the keys will also press the the key on the bar 1
~2 will press 2 etc.

You can add additional send lines for any other skills you want to add to the casts.
User avatar
Gormek
Esquire
Esquire
Posts: 15
Joined: Mon Dec 12, 2022 2:24 am

Re: Hazefest's Written AHK Guide for Eden.

Hazefest wrote: Tue Feb 07, 2023 10:00 pm
Cronox wrote: Mon Feb 06, 2023 10:32 pm i'm trying to figure out a way to make a script for my casters

i just wanna add face and reset camera to most of my spells and i haven't succeded

i don't wanna qbind all my spells so mainly my main qbar 1 through 6 are the stuff i use the most and face being "e" and reset camera being "z"

could anyone please help? :)
For face and camera reset look below. In order to use camera reset you must use the down/up commands with whatever key you want to use.

~1:: ;Press 1
{
Send {z down}{z up} ;Reset Camera
Send e ;Face
}
Return

Change the X:: keys to what you want to press and set the send lines to your face/cam keys and /qbinds

The ~1 before the keys will also press the the key on the bar 1
~2 will press 2 etc.

You can add additional send lines for any other skills you want to add to the casts.
i kind of figured it out, everything works, but the suspend option is giving me issues, when i type something in chat, the script stays suspended, i have to hit escape each time for it to start working again
User avatar
Hazefest
Esquire
Esquire
Posts: 12
Joined: Thu Nov 03, 2022 11:03 pm

Re: Hazefest's Written AHK Guide for Eden.

[/quote] i kind of figured it out, everything works, but the suspend option is giving me issues, when i type something in chat, the script stays suspended, i have to hit escape each time for it to start working again
[/quote]

You can also press Enter to send the message and the suspend script message should toggle off. This way you can type without having to manually turn the script off and on.
User avatar
Gormek
Esquire
Esquire
Posts: 15
Joined: Mon Dec 12, 2022 2:24 am

Re: Hazefest's Written AHK Guide for Eden.

Hazefest wrote: Wed Feb 08, 2023 3:55 am
i kind of figured it out, everything works, but the suspend option is giving me issues, when i type something in chat, the script stays suspended, i have to hit escape each time for it to start working again
[/quote]

You can also press Enter to send the message and the suspend script message should toggle off. This way you can type without having to manually turn the script off and on.
[/quote]

yeah i copied the whole tihng from the description in your youtube video on casters, only replaced the strings for my abilities and my qbinds

when i press enter to type in chat, it suspends the script, but then i'm done typing it should resume but it doesn't i have to push ESC every time
Post Reply