0.0.12 • Published 10 months ago

lfs-akairo v0.0.12

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

LFS Akairo

LFS Akairo is a JavaScript library (with TypeScript support) designed to simplify the creation of InSim's for Live for Speed. It features a modular system where each part of the InSim is separated, providing greater flexibility and dynamics in development and execution.

Features

  • Modular Code: Each module manages a specific part of your InSim.
  • Internationalization with i18n: Add translation files, and the game will automatically translate based on the available language (fallback to en-US).
  • Easy Command Binding: Command-ready, supports aliases for commands.
  • Binding for Non-Existent Commands: Handle commands even if they don’t exist.
  • Native Interval System: Set up a tick (e.g., 1 second), and it will call the function at the specified interval, also providing a list of all players.
  • Effortless Packet Handling: Receive packet data along with the associated player instance (if available).
  • Dynamic and Fast Player Data Management: Easily assign and retrieve data from players.

Installation

npm install lfs-akairo

Example Usage

const { Akairo, Module, Player } = require('lfs-akairo');
const { PacketType } = require('node-insim/packets');

class ExampleModule extends Module {
  constructor(akairo) {
    super(akairo);

    this.onPacket(PacketType.ISP_NCI, this.onPlayerJoin.bind(this));
    this.onCommand('help', this.onHelpCommand.bind(this));
  }

  async onPlayerJoin(player) {
    player.message(`Hello, ${player.userName}!`);
  }

  async onHelpCommand(player, args) {
    player
      .message('^7Hi, this is the help command!')
      .message('^6Is this really useful?');
  }
}

const akairo = new Akairo();

akairo.loadModule(ExampleModule);

akairo.connect({
  host: '127.0.0.1',
  port: 29999,
  password: 'Admin Password',
});

For a ready-to-use example, check out our example repository: LFS Akairo Example

Managing Player Data

player.set('your.data.key', 10); // { your: { data: { key: 10 } } }
player.get<number>('your.data.key'); // 10

Contributing

We welcome suggestions! If you find an issue, please create an issue. If you'd like to contribute improvements, feel free to fork the repository and submit a pull request.


Enjoy coding with LFS Akairo!

0.0.12

10 months ago

0.0.11

10 months ago

0.0.10

10 months ago

0.0.9

10 months ago

0.0.8

10 months ago

0.0.7

10 months ago

0.0.6

10 months ago

0.0.5

11 months ago

0.0.4

11 months ago

0.0.3

11 months ago

0.0.2

11 months ago

0.0.1

11 months ago

0.0.0

11 months ago