Giter Site home page Giter Site logo

cactoes / lcts Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 0.0 15.1 MB

A feature rich League of Legends client written in TypeScript, scripting & more

License: GNU General Public License v3.0

TypeScript 53.21% CSS 9.19% HTML 20.14% JavaScript 17.46%
electron javascript league-client league-client-api league-of-legends typescript automation

lcts's Introduction

LCTS (League Client TypeScript)

A feature rich league client written in TypeScript, with basic scripting & more

Installing the client

Just download the client from the releases tab & run 'lcts.exe'

A clean UI

A stylish clean ui, for ease of use

ui

An x88 style overlay

Your game has to be in borderless (or windowed) to work, (can be turned off)

overlay

Features

  • automatically
    • accept the match
    • pick
      • a champion to play
      • a champion to ban
    • set runes (runes do change you might not be able to see the changes when editing)
    • set summoner spells
    • check if you got the lane you want
  • scripting
  • toggleable overlay
  • config

Config

The config is located in resources/data/config.json, here you can customize everything

Structure

{
  "auto": {
    "acceptMatch": true, // automatically accepting a match
    "champion": {
      "set": true, // "hovering" of your pick/ban
      "lock": true, // lock-in the selected champion
      "ban": true, // ban the selected champion
      "checkLane": true, // check if the lane you got was the lane you chose in the lobby (primary lane only), for picking/banning
      "defaultLane": "utility", // if you didn't choose a lane this will be the lane it uses instead
      "lanePick": {
        "top": [
          "Gwen" // the list of champion you want to pick on the top lane
        ],
        "jungle": [
          "Lilia" // the list of champion you want to pick in the jungle
        ],
        "middle": [
          "Irelia" // the list of champion you want to pick on mid
        ],
        "bottom": [
          "Caitlyn" // the list of champion you want to pick as the adc
        ],
        "utility": [
          "Renata" // the list of champion you want to pick as the support
        ]
      },
      "laneBan": {
        "top": [
          "Garen" // the list of champion you want to ban on the top lane
        ],
        "jungle": [
          "Belveth" // the list of champion you want to ban in the jungle
        ],
        "middle": [
          "Akali" // the list of champion you want to ban on mid
        ],
        "bottom": [
          "Ezreal" // the list of champion you want to ban as the adc
        ],
        "utility": [
          "Leona" // the list of champion you want to ban as the support
        ]
      }
    },
    "runes": {
      "set": true, // automatically set the runes of the locked in champion
      "prefix": "[u.gg]" // change the runes that start with this
    },
    "spells": {
      "set": true, // automatically set you summoner spells
      "defaultLane": "utility", // if you didn't choose a lane this will be the lane it uses instead
      "lane": {
        "top": [
          "Teleport", // *D*
          "Flash" // *F*
        ],
        "jungle": [
          "Smite", // *D*
          "Flash" // *F*
        ],
        "middle": [
          "Ignite", // *D*
          "Flash" // *F*
        ],
        "bottom": [
          "Heal", // *D*
          "Flash" // *F*
        ],
        "utility": [
          "Ignite", // *D*
          "Flash" // *F*
        ]
      }
    }
  },
  "misc": {
    "status": {
      "text": "default-status", // what to set the status to
      "set": false // auto set it
    },
    "rank": {
      "tier": "diamond", // for storing your tier so you can use it in a script
      "rank": "III", // for storing your rank so you can use it in a script
      "set": false // auto set it
    },
    "userScript": true // make use of the user made script (script.js)
  },
  "overlay": true // enable in game overlay
}

Scripting

LCTS doesn't have any scripts, it only support "scripts" for automating the client

User made scripts

The client allows for function scripting (within LCTS itself), the script is located in resources/data/script.js.

  • The script has to be called "script.js" so the client can find it.

There are some default scripts available just rename the one you want to "script.js", and restart the LCTS to run them.

  • The default script are located in the "examples" folder

Structure

class LCScript {
  // when the game launches
  async onUserConnect(user, lobby, config) {
    // your code goes here
    return true
  }

  // when user joins a party
  async onPartyJoin(user, lobby, config) {
    // your code goes here
    return true
  }
}

Methods

Methods are called like this

await user.setStatus("example")

Some functions return data, they look like this:

Methods in user

async function setStatus(status: string): Promise<IUser>
async function setRank(tier: string, rank: string): Promise<IUser>

Methods in lobby

async function setLanes(first: string, second: string): Promise<void>
async function create(queueId: number): Promise<ILobby>
async function leave(): Promise<void>
async function setPartyType(type: string): Promise<void>
async function startSearch(): Promise<void>
async function stopSearch(): Promise<void>

Prerequisites

If you want to run the client from source make sure you have:

$ npm install -g typescript

Dependencies

DevDependencies

Installing the client from source

$ git clone https://github.com/cactoes/lcts.git
$ cd lcts
$ npm install

Running the client from source

Run the client directly from source

$ npm run test

Compiling the client

Compile / build the client from source

$ npm run package:win

Logo

The logo isn't mine it was made by surgingpink

Contributing

Contributing

License

GNU GPLv3

lcts's People

Contributors

cactoes avatar meloencoding avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

lcts's Issues

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.