Skip to content

Typescript definitions for MTASA Lua to be used with the Lua compiler to TypeScript transpiler

License

Notifications You must be signed in to change notification settings

mtasa-typescript/mtasa-lua-types

Repository files navigation

🎩 TypeScript type definitions for MTASA Lua

Declares TypeScripts types for MTASA. They are generated and updated with wiki-parser.

🎈 How to use

💎 You are MTASA Resource developer

⚠ If you are resource developer, you should not manually install this package. There is a template you can use for creating MTASA Resources on TypeScript.

⚒ Another way

If you would like to use the types outside of the resource, you can add them into your project manually

npm install --save-dev mtasa-lua-types

🌟 Features

Examples of type definition features

▶ Global Functions

import { mtasa } from 'mtasa-lua-types/client'

mtasa.outputChatBox(
    `Your health: ${mtasa.getElementHealth(
        mtasa.localPlayer
    )}`
)

▶ OOP

import { mtasa } from 'mtasa-lua-types/server'

const v = new mtasa.Vehicle(411, 10, 11, 12)
mtasa.Player
    .getRandom()
    .warpIntoVehicle(v, 1)

▶ Defined callbacks

import { mtasa } from 'mtasa-lua-types/server'

const p = mtasa.Player.getRandom()

mtasa.bindKey(
    p,
    '8',
    'down',
    function (player, key, state) {

    }
)

▶ Generics

import { mtasa } from 'mtasa-lua-types/server'
import { BindKeyCallback } from 'mtasa-lua-types/server/structure'

const p = mtasa.Player.getRandom()
type CallbackFunctionType =
    BindKeyCallback<[number, string]>;

mtasa.bindKey<CallbackFunctionType>(
    p,
    '8',
    'down',
    function (player, key, state, num, str) {
        mtasa.iprint(player, key, state, num, str)
    },
    5, 'string'
)

🛠 How to contribute

If you found incorrect definitions or would like to suggest an idea, you can create an issue.

If you would like to create a merge request, see the content below.

🎇 Functions

If you would like to add or edit function. You should not edit code in this repository. A large part of function definitions are being automatically generated via mtasa-wiki-parser.

See the mtasa-wiki-parser "How to contribute" documentation for more details.

utf8 functions

Due to this issue utf8 functions are unprocessed by the mtasa-wiki-parser.

All utf8 function definitions can be changed manually.

🕶 OOP Methods, Fields, Classes

All OOP declarations are being automatically generated via mtasa-wiki parser.

See the mtasa-wiki-parser "How to contribute" documentation for more details.

🔁 Code requirements

  • Be sure to run tests before creating a merge request.
  • Create an issue before doing the merge request, if it is possible.

About

Typescript definitions for MTASA Lua to be used with the Lua compiler to TypeScript transpiler

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •