На главную сайта / Inventory System 1.0.0 (RAGE MP)

Inventory System 1.0.0 (RAGE MP)

27-05-2026, 17:43

Многопользовательская система инвентаря RAGE

Простая система инвентаря с множеством функций и удобным интерфейсом!

*Этот скрипт не предусматривает систему сохранения и загрузки данных, это ваша задача. В классе инвентаря есть метод save, с помощью которого вы можете реализовать собственную систему сохранения в зависимости от используемой базы данных.

*Доступно в версиях на TypeScript и jаvascript.
*Ключи, привязанные к клиентскому скрипту, являются временными, их следует изменить в соответствии с вашими предпочтениями.
*Простота в использовании и реализации.

> Будет поддерживаться и обновляться в обычном режиме.

Предметы

Ниже приведен список свойств предметов. У каждого свойства есть свое уникальное применение, поэтому, пожалуйста, ознакомьтесь с ним.


type: ITEM_TYPES; //item type
typeCategory: ITEM_TYPE_CATEGORY; //item category see ITEM_TYPE_CATEGORY enum in index.d.ts
isPlaced: boolean; //whether item is 'placed' in clothes
quality: number; //item quality level
image: string; //item image
hash: string; //unique item hash, also used as linked to a child item
key: string; //item key which contains clothes data only (such as component id, drawable and texture)
render: string; //item render image which later on can be used in CDN if you have plenty items.
name: string; //item name
description: string; //item description
count: number; //item count, also determines whether you can split an item up
weight: number; //item weight
maxStack: number; //max stack determines how many items can be stacked in one slot
options: string[]; //item options (to be used when you right click an item) such
gender: number | null; //item gender, used on clothes whether the clothe is for female or male

modelHash?: string; //prop model name or hash that will be used to create object when dropping item
ammoType?: string; //ammo type that a weapon will contain
ammoInClip?: number; //ammo in weapon clip
amount?: number; //used for armor to contain its amount
effect?: {
// функция, которая определяет, будет ли предмет иметь эффект
[key: string]: number;
};
components?: Array<number>; // в будущем будет использоваться для навесного оружия

Структура класса

Класс Inventory — это основной класс для управления инвентарем игрока в игре. Он наследуется от других классов, таких как InventoryClothes, QuickUse и InventoryItem.

Этот класс предоставляет широкие функциональные возможности для управления инвентарем игрока, включая добавление, удаление, экипировку и использование предметов.

Свойства

Конструктор

Методы

Добавление новых элементов:

Javscript
-> Перейдите в файл Items.module.js, расположенный в папке inventory. Там вы увидите список уже добавленных элементов. После добавления элемента убедитесь, что его изображение отображается во внешнем интерфейсе. Если это не так, добавьте его и перестройте интерфейс.
Typescript
-> Перейдите к Items.module.ts, расположенному в папке inventory, там вы можете увидеть список уже добавленных элементов, и вы можете следовать по пути, после добавления элемента убедитесь, что изображение элемента существует во внешнем интерфейсе, если его нет, добавьте его и перестройте внешний интерфейс.

Приступаем к разработке

Установите необходимые пакеты, выполнив команду "npm install.\ Если вы используете версию на TypeScript, после установки пакетов вы можете выполнить команду \npm run watch:server`, чтобы отслеживать/компилировать серверную часть, и `npm run watch:client`, чтобы отслеживать/компилировать клиентскую часть. Если вы используете версию на jаvascript, ничего делать не нужно.

Начало работы с фронтендом.
В терминале перейдите в папку с фронтендом (cd frontend)
Запустите фронтенд в режиме разработки, выполнив команду: `npm run start`
Соберите интерфейсную часть (интерфейс инвентаризации), выполнив команду `npm run build`

Вернуться на сайт