https://github.com/mtasa-typescript/mtasa-lua-types
Typescript definitions for MTASA Lua to be used with the Lua compiler to TypeScript transpiler
https://github.com/mtasa-typescript/mtasa-lua-types
definitions mtasa mtasa-lua mtasa-typescript typescript
Last synced: 3 months ago
JSON representation
Typescript definitions for MTASA Lua to be used with the Lua compiler to TypeScript transpiler
- Host: GitHub
- URL: https://github.com/mtasa-typescript/mtasa-lua-types
- Owner: mtasa-typescript
- License: gpl-3.0
- Created: 2021-03-10T08:42:42.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-08T00:59:36.000Z (almost 3 years ago)
- Last Synced: 2025-10-21T21:11:46.379Z (6 months ago)
- Topics: definitions, mtasa, mtasa-lua, mtasa-typescript, typescript
- Language: TypeScript
- Homepage: https://mtasa-typescript.github.io/
- Size: 7.38 MB
- Stars: 11
- Watchers: 1
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# 🎩 TypeScript type definitions for MTASA Lua
Declares TypeScripts types for MTASA. They are generated and updated with
[wiki-parser](https://github.com/mtasa-typescript/mtasa-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](https://github.com/mtasa-typescript/resource-boilerplate)
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
```shell
npm install --save-dev mtasa-lua-types
```
# 🌟 Features
Examples of type definition features
## ▶ Global Functions
```ts
import { mtasa } from 'mtasa-lua-types/client'
mtasa.outputChatBox(
`Your health: ${mtasa.getElementHealth(
mtasa.localPlayer
)}`
)
```

## ▶ OOP
```ts
import { mtasa } from 'mtasa-lua-types/server'
const v = new mtasa.Vehicle(411, 10, 11, 12)
mtasa.Player
.getRandom()
.warpIntoVehicle(v, 1)
```

## ▶ Defined callbacks
```ts
import { mtasa } from 'mtasa-lua-types/server'
const p = mtasa.Player.getRandom()
mtasa.bindKey(
p,
'8',
'down',
function (player, key, state) {
}
)
```

## ▶ Generics
```ts
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(
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](https://github.com/mtasa-typescript/mtasa-lua-types/issues).
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](https://github.com/mtasa-typescript/mtasa-wiki-parser/tree/develop#-how-to-contribute)
for more details.
### ❗ `utf8` functions
Due to [this issue](https://github.com/mtasa-typescript/mtasa-wiki-parser/issues/31) `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](https://github.com/mtasa-typescript/mtasa-wiki-parser#connect-dump-repository)
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.