Skip to content
This repository has been archived by the owner on Nov 7, 2023. It is now read-only.

Latest commit

 

History

History
59 lines (46 loc) · 1.49 KB

readme_ru.md

File metadata and controls

59 lines (46 loc) · 1.49 KB

Rager

Это простой фреймворк для RAGE MP основанный на typescript и decorators

Установка

npm i rager --save

Пример

Создаем контроллер

import {MyService} from "./MyService";
import {MpController, MpCommand, CurrentPlayer, Player, MpEvent} from "rager";

@MpController()
export class Controller {
    constructor(private service: MyService){}

    @MpEvent('playerJoin')
    startGame(@CurrentPlayer()player: Player){
        player.health = 100;
    }
    @MpCommand('command1')
    callCommand(@CurrentPlayer() player: Player){
        this.service.editUserSession(player);
    }
}

Создаем сервис по необходимости, который будет инжектиться в контроллер (для этого придется установить зависимость npm install typedi --save)

import {Service} from "typedi";
import {Player} from 'rager'

@Service()
export class MyService {
    editUserSession(player: Player){
        player.clientSession.hello = Math.random();
    }
}

Билдим

import {build} from 'rager'
import {Controller} from "./Controller";
build([Controller])

Создание декоратора для параметра

Функция должена быть синхронной!!

export const MyDecoratorPlayer = createParamDecorator((player, args) => {
    return player;
})