• Будьте внимательны, не попадайтесь на уловки мошенников и при возможности используйте наш сервис. Также ознакомьтесь - Рекомендации по защите от мошенников.
  • Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

[Продам] Круговое меню действий а-ля Sims.

lmklde

Активный участник
BackEnd developer
1 Мар 2021
75
44
80
Продается система настраиваемых менюшек, количество подключаемых кнопок неограниченно, но рекомендуемое для красоты от 4 до 8.
Можно блокировать кнопки, выводить подсказки при наведении на кнопку, вставлять картинку перед текстом кнопки.
При нажатии на кнопку срабатывает функция вами созданная, на клик в любом другом месте кроме кнопки закрывает меню.
Звуковое оформление присутствует (при нажатии на кнопку). Подключается очень просто. Разброс кнопок от центра тоже можно настроить.

JavaScript:
const sm = require(`../simsMenu/index.js`); // подключение
const mainMenu = new sm.SimsMenu(); // объявляем меню
const sipleItem = new sm.SimsItem(); // объявляем кнопку

sipleItem.text = `Текст кнопки`; // редактируем кнопку
sipleItem.icon = `images/6.png`; // иконка возле текста
sipleItem.iconWidth = 33; // ширина иконки
sipleItem.enabled = false; // активна кнопка или нет
sipleItem.tooltip = `Текст подсказки`; // при наведении на кнопку
sipleItem.onClick = (player) => player.notify(`Нажал на кнопку`); // действие после нажатия на кнопку

if (!sipleItem.enabled) console.log(sipleItem.text); // `Текст кнопки`

mainMenu.addItem(sipleItem); // добавляем кнопку
mainMenu.addItems([sipleItem, sipleItem]); // добавляем еще 2 кнопки
mainMenu.addBackButton(`Назад`, (player) => player.notify(`сообщение`)); // создадим кнопку в центре меню (обычно используется для возврата назад)

mainMenu.build(); // собираем меню
mainMenu.show(player); // показываем игроку
JavaScript:
const mainMenu = new sm.SimsMenu();
const moreItemsMenu = new sm.SimsMenu();

const sipleItem = new sm.SimsItem();
sipleItem.text = `Просто кнопка`;
sipleItem.onClick = (player) => player.notify(`Нажал на просто кнопку`);

const iconItem = new sm.SimsItem();
iconItem.text = `Кнопка с картинкой`;
iconItem.icon = `images/6.png`;
iconItem.onClick = (player) => player.notify(`Нажал на кнопку с картинкой`);

const lockedTooltipItem = new sm.SimsItem();
lockedTooltipItem.text = `Заблокированная кнопка с подсказкой`;
lockedTooltipItem.enabled = false;
lockedTooltipItem.tooltip = `Текст подсказки тут.`;

const tooltipItem = new sm.SimsItem();
tooltipItem.text = `Просто кнопка с подсказкой`;
tooltipItem.tooltip = `Текст подсказки простой кнопки.`;
tooltipItem.onClick = (player) => player.notify(`Нажал на просто кнопку с подсказкой`);

const moreItems = new sm.SimsItem();
moreItems.text = `Много кнопок вместе...`;
moreItems.onClick = (player) => moreItemsMenu.show(player);

const item = new sm.SimsItem();
item.text = `Много кнопок`;

mainMenu.addItems([sipleItem, iconItem, lockedTooltipItem, tooltipItem, moreItems]);
moreItemsMenu.addItems([item, item, item, item, item, item, item, item, item, item]);
moreItemsMenu.addBackButton(`Назад`, (player) => mainMenu.show(player));

mainMenu.build();
moreItemsMenu.build();

mp.events.addCommand(`test`, (player) => {
    mainMenu.show(player);
});

Цена: 2000 руб. новая версия в ресурсах
Discord: lmklde#0793
Писать в личку или сюда.
 
Последнее редактирование:

lmklde

Активный участник
BackEnd developer
1 Мар 2021
75
44
80
Добавил небольшой эффект появления кнопок
 
Реакции: Raymond.json

lmklde

Активный участник
BackEnd developer
1 Мар 2021
75
44
80
Добавил еще одну мелочь в оформление: тень кнопки. Теперь заблокированные кнопки более выделяются на светлом фоне.
Скорее всего это последнее обновление, идей для развития темы не осталось.
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,708
1,558
211
28
Внешне выглядит очень приятно, теперь понятно, за что любят симс! :j3r:
Луйк.
 
Реакции: lmklde

kurlikmurlik

Участник портала
18 Сен 2021
91
12
53
Была бы типизация, нормальная реализация классов, с использованием фреймворка (фреймворк не указан, поэтому предположение что это jq, либо натив), то можно было бы продавать эту работу за 3500 рублей в разные руки. А так - не советую, работы на пару часов, а то и меньше.
 

lmklde

Активный участник
BackEnd developer
1 Мар 2021
75
44
80
Была бы типизация, нормальная реализация классов, с использованием фреймворка (фреймворк не указан, поэтому предположение что это jq, либо натив), то можно было бы продавать эту работу за 3500 рублей в разные руки. А так - не советую, работы на пару часов, а то и меньше.
Не совсем понял, что по вашему "нормальная реализация классов"?
 

IronPython

Начинающий специалист
7 Ноя 2020
169
62
102
Не совсем понял, что по вашему "нормальная реализация классов"?
Думаю тут человек увидел пример использования и ему не понравилось то как это все реализовано, думаю он хотел увидеть тру ооп ну и естественно ts с типами из коробки

JavaScript:
const menu = new Menu();
const subMenu = new Menu();

const simpleItem = {
    icon: 'name or path',
    text: 'close',
    toltip: '',
    disabled: false,
    onClick: (e) => e.menu.close(),
    onFocus: (e) => {}
};

const simpleLinkItem = {
    icon: 'name or path',
    text: '',
    targetMenu: subMenu
}

menu.addItem(simpleItem);
menu.addItem(simpleLinkItem);

menu.addItems([simpleItem1 , simpleItem2]);

menu.open();
 
Последнее редактирование:

IronPython

Начинающий специалист
7 Ноя 2020
169
62
102
Думаю тут человек увидел пример использования и ему не понравилось то как это все реализовано, думаю он хотел увидеть тру ооп

JavaScript:
const menu = new Menu();
const subMenu = new Menu();

const simpleItem = {
    icon: 'name or path',
    text: '',
    toltip: '',
    disabled: false,
    onClick: (e) => e.menu.close(),
    onFocus: (e) => {}
};

const simpleLinkItem = {
    icon: 'name or path',
    text: '',
    targetMenu: subMenu
}

menu.addItem(simpleItem);
menu.addItems([simpleItem1 , simpleItem2]);

menu.open();
Буду надеяться что вы меня поняли
 
Реакции: lmklde

kurlikmurlik

Участник портала
18 Сен 2021
91
12
53
Думаю тут человек увидел пример использования и ему не понравилось то как это все реализовано, думаю он хотел увидеть тру ооп ну и естественно ts с типами из коробки

JavaScript:
const menu = new Menu();
const subMenu = new Menu();

const simpleItem = {
    icon: 'name or path',
    text: 'close',
    toltip: '',
    disabled: false,
    onClick: (e) => e.menu.close(),
    onFocus: (e) => {}
};

const simpleLinkItem = {
    icon: 'name or path',
    text: '',
    targetMenu: subMenu
}

menu.addItem(simpleItem);
menu.addItem(simpleLinkItem);

menu.addItems([simpleItem1 , simpleItem2]);

menu.open();
Ну, почти.
 

IronPython

Начинающий специалист
7 Ноя 2020
169
62
102

lmklde

Активный участник
BackEnd developer
1 Мар 2021
75
44
80
Реакции: myokul и IronPython

lmklde

Активный участник
BackEnd developer
1 Мар 2021
75
44
80
В связи с последними отзывами была изменена реализация создания и управления меню. Теперь это проще и понятнее.
JavaScript:
const sm = require(`../simsMenu/index.js`); // подключение
const mainMenu = new sm.SimsMenu(); // объявляем меню
const sipleItem = new sm.SimsItem(); // объявляем кнопку

sipleItem.text = `Текст кнопки`; // редактируем кнопку
sipleItem.icon = `images/6.png`; // иконка возле текста
sipleItem.iconWidth = 33; // ширина иконки
sipleItem.enabled = false; // активна кнопка или нет
sipleItem.tooltip = `Текст подсказки`; // при наведении на кнопку
sipleItem.onClick = (player) => player.notify(`Нажал на кнопку`); // действие после нажатия на кнопку

mainMenu.addItem(sipleItem); // добавляем кнопку
mainMenu.addItems([sipleItem, sipleItem]); // добавляем еще 2 кнопки
mainMenu.addBackButton(`Назад`, (player) => player.notify(`сообщение`)); // кнопка в центре меню (обычно используется для возврата назад), принимает название кнопки и действие после нажатия

mainMenu.build(); // собираем меню
mainMenu.show(player); // показываем игроку

if (!sipleItem.enabled) console.log(sipleItem.text); // `Текст кнопки`
 
Последнее редактирование:
Реакции: IronPython

Moretti

Участник портала
19 Янв 2021
82
24
92
new sm.SimsItem() можно добавить параметры new sm.SimsItem({text: "", icon}) и т.д
 

lmklde

Активный участник
BackEnd developer
1 Мар 2021
75
44
80
new sm.SimsItem() можно добавить параметры new sm.SimsItem({text: "", icon}) и т.д
JavaScript:
const testMenu = new sm.SimsMenu();
const testItem = new sm.SimsItem({text: `Кнопка`, enabled: true, tooltip: ``, icon: `images/13.png`});
testMenu.addItems([testItem, testItem, testItem, testItem]);
testMenu.build();
testMenu.show(player);
iYpu9JU.png