iwystic

Veteran
Joined
Aug 27, 2019
Topics
290
Messages
4,875
Solutions
490
Reaction score
10,505
league of legends script, league of legends script download, league of legends script free, league of legends script 2022, league of legends script indir, lol script free, lol script 2022, lol script download, lol script bedava, lol hack

:yazili_anlatim:

AyayaLeague is an external script platform written in nodejs that supports custom user scripts.
AyayaLeague is a free platform for League of Legends, where you can activate ready-made scripts or add custom scripts yourself. Using these scripts in the game League of Legends, you can activate functions that will give you more game features. For example, Show Player Attack Range, Show Enemy Champions Attack Range, Show Missiles, Custom Scripts and more.

:ozellikler:

Show player attack range
Show enemy champions attack range
Show enemy champions summoner spells cooldown
Settings window [Key: CTRL + SPACE]
Show enemy champions ultimate cooldown
Show missiles
Custom user scripts [Read more below spoiler]

User Scripts





Every user script is located into: /scripts/userscripts/ (on prebuilt version /resources/app/scripts/userscripts/)

AyayaLeague comes with 2 default UserScripts called SimpleEvade.js and Orbwalker.js.

How to write a script




1. Create your script file inside the /scripts/userscripts/ folder and call it _yourscriptname_.js

2. Write a setup function to manage initialization

Code:
function setup() {
  console.log("Script is loaded");
}

3. Write a onTick function to execute actions every tick. It accepts 2 arguments: manager and ticks.

Code:
function onTick(manager, ticks) {
  if (manager.me.spells[3].ready == true) {
    console.log("R is up");
  }
}

4. Write a onMissileCreate function to execute actions every time a new missile is created

Code:
function onMissileCreate(missile, manager) {
  if (missile.isAutoAttack) console.log("Auto attack missile created");
  if (missile.isTurretShot) console.log("Turret shot missile created");
}

5. Write a onMoveCreate function to execute actions every time an enemy changes direction

Code:
function onMoveCreate(player, manager) {
   const x = player.AiManager.endPath.x;
   const z = player.AiManager.endPath.z;
   console.log(player.name + ' heading to' + x + ' ' + z);
}

6. Write a onDraw function to draw something every frame

Code:
function onDraw(ctx, manager) {
   ctx.circle(manager.me.gamePos, manager.me.range, 50, 255, 1);
}

7. Optionally you can add the JSDoc before the functions to get intellisense inside Visual Studio Code

Code:
/**
* @typedef {import('../../src/models/drawing/DrawContext').DrawContext} DrawContext
* @typedef {import('../UserScriptManager').UserScriptManager} Manager
* @typedef {import('../../src/models/Missile').Missile} Missile
* @typedef {import('../../src/models/Entity').Entity} Entity
*/


/**
* @param {Manager} manager
* @param {number} ticks
**/
function onTick(manager, ticks) {
  if (manager.me.spells[3].ready == true) {
    console.log("R is up");
  }
}

/**
* @param {Missile} missile
* @param {Manager} manager
**/
function onMissileCreate(missile, manager) {
  if (missile.isAutoAttack) console.log("Auto attack missile created");
  if (missile.isTurretShot) console.log("Turret shot missile created");
}

/**
* @param {Entity} player
* @param {Manager} manager
**/
function onMoveCreate(player, manager) {
   const x = player.AiManager.endPath.x;
   const z = player.AiManager.endPath.z;
   console.log(player.name + ' heading to' + x + ' ' + z);
}

/**
* @param {DrawContext} ctx
* @param {Manager} manager
**/
function onDraw(ctx, manager) {
   ctx.circle(manager.me.gamePos, manager.me.range, 50, 255, 1);
}

8. Export the functions we just created

Code:
module.exports = { setup, onTick, onMissileCreate, onMoveCreate, onDraw };

9. Start AyayaLeague (npm run start) and enjoy your script :)




How to add settings to your script





1. From setup function return the settings for your script

Code:
function setup() {
  console.log('SettingTest is loaded');

  const settings = [
    {type: 'check', text: 'Test checkbox', defalut: false },
    {type: 'string', text: 'Test string', defalut: "" },
    {type: 'number', text: 'Test number', defalut: 0 },
    {type: 'key', text: 'Test key', defalut: "Space" },
  ]

  return settings;
}

2. Use them in other functions

Code:
function onTick(manager, ticks, settings) {
  console.log('SettingTest is loaded');
  if (settings[0].value == true) console.log('Test checkbox is enabled');
  console.log('Test string has value of', settings[1].value);
  console.log('Test number has value of', settings[2].value);
  console.log('Test key has value of', settings[3].value);
}

Script functions








onTick​

onTick(manager: UserScriptManager, ticks:number) - Called every tick. Used to execute actions inside user scripts.




setup​

setup() - Called at script load. Used to initialize the script.




onMissileCreate​

onMissileCreate(missile: Missile, manager: UserScriptManager) - Called every time a new missile is created




onMoveCreate​

onMoveCreate(player: Entity, manager: UserScriptManager) - Called every an enemy clicks to move




onDraw

onDraw(ctx: DrawContext, manager: UserScriptManager) - Called every frame (16ms at 60fps)

UserScriptManager




How data is read Every time a property is used it gets read from the game and cached for subsequent calls on the same tick.
The manager reads the game data only if a script use that specific piece of data


Properties:
- spellSlot: SpellSlot - Enum of game key codes
- game Game - Get game informations and execute actions
- playerState PlayerState - Get player state
- me Entity - Get local player
- utils ScriptUtils - Get utility functions
- missiles Missile - Get all missiles
- monsters Entity[ ] - Get all monsters

Champions:
all Entity[ ] - Get all champions
allies Entity[ ] - Get allied champions
enemies Entity[ ] - Get enemy champions

turrets:
- all Entity[ ] - Get all turrets
- allies Entity[ ] - Get allied turrets
- enemies Entity[ ] - Get enemy turrets

Minions:
- all Entity[ ] - Get all minions
- allies Entity[ ] - Get allied minions
- enemies Entity[ ] - Get enemy minions

Methods:
- checkCollision
(target:Entity, missile:Missile): CollisionResult - Checks the collision between target and missile
- worldToScreen(pos:Vector3): Vector2 - Return pos converted to screen position
- setPlayerState(state: PlayerState) - Set the player state

DrawContext




- line(p1: Vector2, p2: Vector2, color?: number, thickness?: number) - Draw a line from p1 to p2 with color color and thickness thickness
- linePoints(x1: number, y1: number, x2: number, y2: number, color?: number, thickness?: number) - Draw a line from x1 y1 to x2 y2 with color color and thickness thickness

- circle(c: Vector3, r: number, points?: number, color?: number, thickness?: number) - Draw a circle at c of r radius with color color and thickness thickness. It automatically transform the circle from game coordinates to screen coordinates using points points to rappresent it

- text(str: string, x: number, y: number, size: number, color?: number) - Draw str at x,y with sizee size and color color

Models






Entity





Properties:

netId number - Entity network identifier
name string - Entity name
gamePos Vector3 - Entity position relative to the game map
screenPos Vector3 - Entity position relative to the screen
hp number - Entity current health points
maxHp number - Entity max health points
visible boolean - True if the entity is outside fog of war
dead boolean - True if the entity is dead
range number - Entity attack range
team number - Entity team identifier (100 = Team1, 200 = Neutral, 300 = Team2)
spells Spell[] - Entity spells
AiManager AiManager - Used to check player movement
satHitbox - Used internally to check collisions

Spell





Properties:

name string - Spell name
readyAt number - Timestamp when the spell will be ready
level number - Spell level (always 1 for summoner spells)
ready boolean - True if the spell is not on cooldown
readyIn boolean - Seconds to wait before the spell is ready




Missile






Properties:

gameStartPos Vector3 - Missile start position relative to the game map
gameEndPos Vector3 - Missile end position relative to the game map
screenStartPos Vector3 - Missile start position relative to the screen
screenEndPos Vector3 - Missile end position relative to the screen
team number - Missile team identifier (100 = Team1, 200 = Neutral, 300 = Team2)
isBasicAttack boolean - True if the missile is a basic attack
isTurretAttack boolean - True if the missile is a turret shot
isMinionAttack boolean - True if the missile is a minion attack
spellName string - Name of the spell that created the missile
satHitbox - Used internally to check collisions




AiManager





Properties:

startPath Vector3 - Start position of the player movement
endPath Vector3 - End position of the player movement
isDashing boolean - True if the entity is dashing
isMoving boolean - True if the entity is moving
dashSpeed number - Speed of the dash




CollisionResult





Properties:

result boolean - True if there is a collision
evadeAt Vector3 - Screen position to move the player in order to dodge the missile



Game





Properties:

time number - get seconds passed after game start

Methods:

- issueOrder(pos: Vector2, isAttack: boolean, delay?: boolean): void - Moves the player to pos position. If isAttack is true attacks at pos position.
NOTE: You must set PlayerMoveClick to U and PlayerAttackOnly to "I".

- castSpell(slot:number, pos1?: Vector2, pos2?: Vector2, selfCast?: boolean): void - Cast the spell slot at pos1 if provided to pos2 if provided.
Self cast the spell if selfCast is true.
Use pos2 for spells like Viktor Q or Viego W.
You can use spellSlot of UserScriptManager for slot

- isKeyPressed(key: number): boolean - Return true if the key is pressed.
You can get the key numbers here

- pressKey(key: number): void - Press the key key.
You can use spellSlot of UserScriptManager.
(Ex: manager.spellSlot.Q)

- release(key: number): void - Release the key key.
You can use spellSlot of UserScriptManager.
(Ex: manager.spellSlot.Q)

- getMousePos(): Vector2 - Return the mouse position

- setMousePos(x: number, y: number): void - Set the mouse position to x, y

- blockInput(value: boolean) - If true blocks user input (keyboard+mouse), if false unlocks it.

- sleep(ms: number) - Wait ms milliseconds synchronously




ScriptUtils






Methods:

- enemyChampsInRange(range: number): Entity[] - Returns all the enemy champions inside range

- genericInRange(list: Entity[], range: number): Entity[] - Returns all the entities of list inside range

- lowestHealthEnemyChampInRange(range: number): Entity - Return the lowest health enemy champion inside range

- lowestHealthGenericInRange(list: Entity[], range: number) - Return the lowest health entity of list inside range

- predictPosition(target: Entity, castTime: number) - Returns the position of target after castTime ms if he keeps moving in the same direction




Vector2






Properties:

x number - x
y number - y
static zero Vector2 - Returns a vector with x=0 y=0

Methods:

- copy(): Vector2 - Returns a copy of the vector

- flatten(): Vector2 - Returns a copy of the vector with x, y as integer (instead of float)

- isEqual(vec: Vector2): Vector2 - Returns true if vectors have the same x, y

- add(x: number, y: number): Vector2 - Returns a copy of the vector with his x, y multiplied by x, y

- sub(x: number, y: number): Vector2 - Returns a copy of the vector with his x, y subtracted by x, y

- mul(x: number, y: number): Vector2 - Returns a copy of the vector with his x, y multiplied by x, y

- div(x: number, y: number): Vector2 - Returns a copy of the vector with his x, y divided by x, y

- dist(v: Vector2): number - Returns the distance between this and v

- static fromData(x: number, y: number): Vector2 - Returns a vector with x=x y=y




Vector3






Properties:

x number - x
y number - y
z number - z
static zero Vector2 - Returns a vector with x=x y=y z=z

Methods:


- copy(): Vector3 - Returns a copy of the vector

- flatten(): Vector3 - Returns a copy of the vector with x, y, z as integer (instead of float)

- isEqual:(vec: Vector3): Vector3 - Returns true if vectors have the same x, y, z

- add(x: number, y: number): Vector2 - Returns a copy of the vector with his x, y, z multiplied by x, y, z

- sub(x: number, y: number): Vector2 - Returns a copy of the vector with his x, y, z subtracted by x, y, z

- mul(x: number, y: number): Vector2 - Returns a copy of the vector with his x, y, z multiplied by x, y, z

- div(x: number, y: number): Vector2 - Returns a copy of the vector with his x, y, z divided by x, y, z

- dist(v: Vector3): number - Returns the distance between this and v

- static
fromData(x: number, y: number, z: number): Vector3 - Returns a vector with x=x y=y z=z




Enums









PlayerState






- isCasting
- isMoving
- isAttacking
- isEvading
- isCharging
- isChanneling
- idle

:notlar:
- Add width and height of missiles
- Use better serialization for settings

:resimler:

1661506631249.png









:videolar:

























:resimler:

1661506700710.png

1661506610212.png

1661506600682.png






:notlar:

🇬🇧
* Thanks to the Anti Ban system, your probability of being banned is minimized!
* You must read the spoiler section to be able to do the Orbwalker and Skill Dodge features.

🇹🇷
* Antiban sistemi sayesinde banlanma ihtimaliniz en düşüğe indirilmiştir!
* Orbwalker ve skill dodge özelliklerini yapabilmeniz için spoyler kısmını okumalısınız.

:kullanim:

🇬🇧
1. To use correctly the script you must adjust some settings inside League.

Set screen mode to "Borderless"
Set Player Move Click to "U" inside Settings > Shortcuts -> Player Movement
Set Player Attack Only to "I" inside Settings > Shortcuts -> Player Movement

2. Download hack from below.

3. Extract the folder content.

4. Run AyayaLeague.exe as administrator.

🇹🇷
1. Komut dosyasını doğru kullanmak için Lig içinde bazı ayarları yapmanız gerekir.

- Ekran modunu "Çerçevesiz" olarak ayarlayın
Ayarlar > Kısayollar -> Oyuncu Hareketi içinde "Oyuncu Hareketi" seçeneğini "U" tuşuna ayarlayın.
Ayarlar > Kısayollar -> Oyuncu Hareketi içinde "Sadece Oyunculara Saldır" seçeneğini "I" tuşuna ayarlayın.

2. Hileyi aşağıdan indirin.

3. RAR dosyasını klasöre çıkartın.

4. AyayaLeague.exe'yi yönetici olarak çalıştırın.






:ivt:

 
Last edited by a moderator:

Top