Git Product home page Git Product logo

tera-guide-core's Introduction

tera-guide-core

Functional module for creating your own guides for dungeons, bosses and mechanics. With this set of features, you can create your guide in any translation, for this you just need to write a simple script and require the tera-guide-core module into your index.js.

The guides based on this module can be found here: https://github.com/hsdn/tera-guide

Basic features

  • Complete tools for custom guides creation for your favorite dungeons.
  • Support for the features to add your languages translations.
  • Built-in GUI support for all guide settings.
  • Support for voice notifications (Windows TTS module is used).
  • Flexible and powerful functionality for scripting guides.
  • Automatically generated dungeon list based on game client files.
  • Used modern JavaScript for improved performance.
  • To handle all events and hooks used nodejs EventEmitter.

Dependencies

When using TeraToolbox, all dependencies will be installed automatically.

Manual Installation

Extract to mods directory in your TeraToolbox.
Make sure it's named tera-guide-core not "tera-guide-core-master".

Распаковать в директорию mods в ваш TeraToolbox.
Директория должна называться tera-guide-core, а не "tera-guide-core-master".

How to make your own guide

  1. Create new module for TeraToolbox (index.js, module.json, manifest.json, settings_migrator.js).
  2. Add necessary code (is given below) to the index.js and module.json.
  3. Create a folder called guides into root directory of your module.
  4. Create your own guide script files and place it into guides folder.

Detailed information of guides creating is available here: https://github.com/hsdn/tera-guide-core/wiki

Example of index.js file

"use strict";

module.exports.NetworkMod = function (mod) {
	try {
		mod.require["tera-guide-core"].load(mod, {
			languages: ["en"], // supported languages
			colors: { gui: {}, general: {} }, // you can change the color settings here
			command: ["guide"], // set your module command(s) name
			chat_name: "Guide", // set chat author name for notices
		});
	} catch (e) {
		mod.error("Warning!\nDepended module \"tera-guide-core\" is needed, but not installed!");
		throw e;
	}
};

Example of module.json file

Note: The dependencies section cannot be changed.

{
    "disableAutoUpdate": false,
    "name": "dungeon-guide",
    "options": {
        "cliName": "Guide",
        "guiName": "Dungeon-Guide",
        "settingsFile": "config.json",
        "settingsMigrator": "settings_migrator.js",
        "settingsVersion": 1.01
    },
    "author": "Example",
    "description": "The dungeon guide module with TTS notifications.",
    "servers": ["https://raw.githubusercontent.com/__YOUR_REPOSITORY_HERE__/master/"],
    "dependencies": {
        "library": "https://raw.githubusercontent.com/tera-private-toolbox/library/master/module.json",
        "tera-guide-core": "https://raw.githubusercontent.com/hsdn/tera-guide-core/master/module.json"
    }
}

Custom translation

If necessary, you can add your own translation of the commands, GUI and dungeon list. To do this, create a lang folder into root directory of your module, add there files strings.js and dungeons.js, and edit them to include your translation. It is recommended to use ISO code to specify the language in the string arrays.

At next edit your settings_migrator.js by changing the language parameter to specify your language code (the code must match the one specified in the guide files and files above). To specify the your language for message strings in guide files, please use the keys in format message_LANG (where LANG is the ISO code of your language), for example: message_RU.

Available guides

Based on this module, many guides have already been created for all dungeons.
The guide script files are available here: https://github.com/hsdn/tera-guide-archive/

Credits

  • Kasea - Original developer of Tera-Guide and Library modules
  • michengs - Developer of initial code of the module core
  • Multarix - Author of some ideas that were used in the code

tera-guide-core's People

Contributors

justkeepquiet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

tera-guide-core's Issues

Red Message Cascade - Menma

at a certain point today out of nowhere i noticed this messages, simple by alt tabbing, the game was functioning as normal, nothing really visible ingame

"[15:50:08.117] [dispatch] [tera-guide] handle: error running hook for S_ABNORMALITY_BEGIN<4>
hook: (anonymous) in tera-guide
data: {
target: 72198331709810377n,
source: 0n,
id: 4610,
duration: 3539352n,
stacks: 1,
hitCylinderId: 0,
unk3: 2
}
error: player.playersInParty.has is not a function
at Object.module.exports.callback (D:\Games\Menma's Tera\TeraToolbox Private\mods\tera-guide-core\lib\core\events\hooks\S_ABNORMALITY_BEGIN.js:45:35)
at Object.callback (D:\Games\Menma's Tera\TeraToolbox Private\mods\tera-guide-core\lib\core\hooks.js:110:15)"
and displayed as red not sure what happened, didnt notice anything until i put the toolbox window on focus by mistake.

This is the error log

12_marzo_2023.log

Error

[06:48:32.435] [tera-guide] ERROR: Warning!
Depended module "tera-guide-core" needed for TERA-Guide is not installed!
Please download and install: https://github.com/hsdn/tera-guide-core

[06:48:32.436] [mods] ERROR: Module "Guide" (tera-guide) could not be applied to server connection!
[06:48:32.436] [mods] ERROR: Please contact the module's author: https://github.com/hsdn/tera-guide/issues
[06:48:32.437] TypeError: mod.require.tera-guide-core.load is not a function
at new exports.NetworkMod (C:......\AppData\Local\Programs\TeraToolbox\mods\tera-guide-master\index.js:5:34)
at Mod.loadNetworkInstance (C:......\AppData\Local\Programs\TeraToolbox\bin\mod.js:595:31)
at ModManager.loadNetwork (C:......\AppData\Local\Programs\TeraToolbox\bin\mod-manager.js:252:20)
at C:......\AppData\Local\Programs\TeraToolbox\bin\mod-manager.js:233:22
at Map.forEach ()
at ModManager.loadAllNetwork (C:......\AppData\Local\Programs\TeraToolbox\bin\mod-manager.js:231:25)
at Socket. (C:......\AppData\Local\Programs\TeraToolbox\bin\connection-manager.js:59:33)
at Socket.emit (events.js:228:7)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1120:10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.