All Projects → Mkalo → macro-maker

Mkalo / macro-maker

Licence: other
A TERA Toolbox module to help you make macros for any class, using only AHK with no other dependency.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to macro-maker

auto-target
auto lockon target heal, clean, dps in PVE and PVP
Stars: ✭ 15 (-6.25%)
Mutual labels:  tera-proxy, tera-mods, tera-toolbox
Guia-DG-Portugues-Espanol
Pack de Guias para Diversas Dungeons: Português e Español
Stars: ✭ 18 (+12.5%)
Mutual labels:  tera-proxy, tera-toolbox
tera-guide
[Menma's TERA / Asura Tera / VALKYTEQ / Starscape / Omni TERA] The dungeon guide for patch v100.02 (x64) and v92.04. Display hints on screen and drawing zones of bosses attacks and mechanics. Модуль подсказок по данжам, вывод сообщений в чат или на экран, а также отрисовка зон атак боссов и механик.
Stars: ✭ 47 (+193.75%)
Mutual labels:  tera-proxy, tera-toolbox
TerableAngler
Angler Tokens -> Gold
Stars: ✭ 12 (-25%)
Mutual labels:  tera, tera-proxy
Robotlib.jl
Robotics library written in the Julia programming language
Stars: ✭ 32 (+100%)
Mutual labels:  toolbox
monster-marker
Adds markers and warn you in vicinity of mob targets. Update v4.3.0 NA santa and bluebox event
Stars: ✭ 14 (-12.5%)
Mutual labels:  tera-proxy
TeraDpsMeterData
Data for Tera DPS meter
Stars: ✭ 19 (+18.75%)
Mutual labels:  tera
Awesome-Tools-For-WebDevelopers
Awesome Tools For Web Developers
Stars: ✭ 57 (+256.25%)
Mutual labels:  toolbox
couleurstoolbox
🍱 My toolbox that I take with me everytime I reinstall windows.
Stars: ✭ 72 (+350%)
Mutual labels:  toolbox
FISCO-BCOS-Toolbox
【Tools】FISCO BCOS Sol Toolbox created by SUIBE-Blockchain-Team.
Stars: ✭ 34 (+112.5%)
Mutual labels:  toolbox
treestoolbox
TREES toolbox
Stars: ✭ 20 (+25%)
Mutual labels:  toolbox
delay-discounting-analysis
Hierarchical Bayesian estimation and hypothesis testing for delay discounting tasks
Stars: ✭ 20 (+25%)
Mutual labels:  toolbox
Standard-Toolkit
An update to Component factory's krypton toolkit to support .NET Framework 4.6.2 - 4.8.1 to .NET Core/.NET
Stars: ✭ 194 (+1112.5%)
Mutual labels:  toolbox
bruceR
📦 BRoadly Useful Convenient and Efficient R functions that BRing Users Concise and Elegant R data analyses.
Stars: ✭ 110 (+587.5%)
Mutual labels:  toolbox
FAIR.m
Flexible Algorithms for Image Registration
Stars: ✭ 103 (+543.75%)
Mutual labels:  toolbox
wb-toolbox
Simulink toolbox to rapidly prototype robot controllers
Stars: ✭ 20 (+25%)
Mutual labels:  toolbox
Krypton-Toolkit-Suite-NET-Core
A update to Component factory's krypton toolkit to support .NET Framework 3.5 to .NET Core
Stars: ✭ 27 (+68.75%)
Mutual labels:  toolbox
FFmpegBox
📦 FFmpeg command line tool box for Android
Stars: ✭ 38 (+137.5%)
Mutual labels:  toolbox
auto-heal
Instantly heal and cleanse party members, no need to lockon.
Stars: ✭ 30 (+87.5%)
Mutual labels:  tera-proxy
hydrobox
hydrological preprocessing and analysis toolbox build upon pandas and numpy
Stars: ✭ 18 (+12.5%)
Mutual labels:  toolbox

Macro Maker

A TERA Toolbox module to assist with creating in-game macros for your class and/or specific characters. It uses no native dependency other than AutoHotkey, so make sure you have it installed. You can download AutoHotkey from here.

Official Discord Server: https://discord.gg/4drwzxj


How does it work?

The module works by transpiling the config that is inside the macros folder to AHK. The module will look for 3 kinds of file inside macros in this order: Name-ServerId.js, Name.js, Class.js. It's gonna use the first file it finds, that way you can have individual macro settings for each class or for each character individually or even for each character in different servers/regions.


Config

In the config.json file, you have to put the path to where your AutoHotkey.exe is installed.


Commands

Command Description
!macro Toggles macro on and off
!macro debug Toggles skill debug on and off
!macro debug abnormal Toggles abnormal debug on and off
!proxy reload macro-maker Reloads macro and recompile it. Don't reload again while it's reloading.

Debugging

For the skill debug, every time you cast a skill it will tell you in proxy chat:

skillId: XX subId: YY (ZZms)

The skillId and subId are the ids of the skill that you just casted and the time in ms from your last casted skill adjusted for your attackspeed. This should make it easier for you to setup delays in your macros for each skill. Keep in mind there is always a small overhead for each keypress, make your macros with this in mind


Configurating the Macro.js file

So I will explain and breakdown what each field inside the Macro.js file does. I advise you to use a text editor that has syntax highlight like Visual Studio Code to edit the file, so you can easily spot any missing comma or bracket.

  • enabled: true | false - Enables or disables the entire macro.
  • toggleRepeaterKey: key - Key that will be used to toggle the key repeater on and off. (More on the repeater down below)
  • skills: MacroSkillConfig
  • hotkeys: MacroHotkeysConfig

The list of keys can be found here. Keep in mind that to make it easier to configurate combo keys, you can use something like: Ctrl+Shift+E or Shift+Alt+Z. The valid modifiers are Ctrl, Shift and Alt, and the key can be any key from that list. There is also the key values of left-click, right-click and middle-click but you could also use the codes from the list like LButton, RButton and MButton.

MacroSkillConfig

Each key is a base skill id, and the value is the configuration for that skill, the config looks like this:

  • skillBaseId: {
    • enabled: true | false - Enables this one macro
    • key: key - Key that will be used for this macro, only used if onPress or repeater is present
    • repeater: true | false - If this is set to true, whenever you have this key pressed down, it will spam it until you release it
    • onPress: MacroAction | [MacroActions] - Actions to take on key press
    • onCast: MacroAction | [MacroActions] - Actions to take on skill cast

MacroHotkeysConfig

Each key is the hotkey that is being configured.

  • key: {
    • enabled: true | false - Enables this one macro
    • repeater: true | false - If this is set to true, whenever you have this key pressed down, it will spam it until you release it
    • onPress: MacroAction | [MacroActions] - Actions to take on key press

MacroActions

This is where most of the configuration is done. Array of actions that are going to be processed. You can have multiple actions per macro. One action looks like this:

  • action: keyTap | keyRepeat - Either tap the specified key once or repeat it for given duration every interval ms
  • delay: delay - Will delay this action for delay ms, scales with attack speed unless fixedDelay is set to true
  • key: key - Key that will be used for this action
  • skill: skillId - Can be used instead of key. This will use whichever key is assigned to that skill inside the config
  • holdDuration: duration - Only used if action is a keyTap, will hold the key for the given duration instead of instantly releasing
  • fixedDelay: true | false - If set to true, action will be delayed for delay ms without attack speed scaling
  • duration: duration - Required if action is a keyRepeat, will repeat key presses for duration ms
  • interval: interval - Required if action is a keyRepeat, will repeat key pesses every interval ms
  • inCombat: true | false - If set, action only happens if inCombat state equals to this value
  • skillSubId: subId | [subIds] - Used on onCast only, specify which skill subId(s) to trigger action
  • stopOnNextCast: true | false - Used on onCast only if action type keyRepeat, stops key presses after casting a skill
  • enableIfSkillCooldown: skill | [skills] - This action is only executed if all of these skill(s) are on cooldown
  • disableIfSkillCooldown: skill | [skills] - This action is only executed if all of these skill(s) are not on cooldown
  • enableIfAbnormality: abnormalityId | [abnormalityIds] - This action is only executed if all of these abnormalities are active
  • disableIfAbnormality: abnormalityId | [abnormalityIds] - This action is only executed if all of these abnormalities are not active

Example

Spring Attack -> Wallop only if Wallop is not on cooldown, block cancel it otherwise.

// Spring Attack
"13": {
    enabled: true,
    key: "3",
    onCast: [
        { action: "keyRepeat", key: "f4", skillSubId: 0, duration: 400, interval: 50, delay: 1850, disableIfSkillCooldown: "25", stopOnNextCast: true },
        { action: "keyRepeat", key: "f4", skillSubId: 30, duration: 400, interval: 50, delay: 940, disableIfSkillCooldown: "25", stopOnNextCast: true },
        { action: "keyRepeat", key: "right-click", skillSubId: 0, duration: 400, interval: 50, delay: 1850, enableIfSkillCooldown: "25", stopOnNextCast: true },
        { action: "keyRepeat", key: "right-click", skillSubId: 30, duration: 400, interval: 50, delay: 940, enableIfSkillCooldown: "25", stopOnNextCast: true },
    ],
    repeater: true,
}

For most chained skills, you will need different delay times, you can do that by using the skillSubId as I used.

You can see more examples here Matt.js.

Known Issues

XButton1 and XButton2 are not working properly.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].