Resource icon

Shop Core [C#] 2.4

No permission to download

Ganter1234

Пользователь
Staff member
Гуру
Контент-мейкер
Feb 21, 2023
319
339

kolkazadrot

Пользователь
Контент-мейкер
Mar 5, 2023
195
144
Питомцев из доты портануть что-ле?
Скриншотиков бы
Post automatically merged:

Можешь сделать ещё модули на shop ball и gift когда подарок после смерти поднимаешь
 

xstage

Пользователь
Гуру
Контент-мейкер
Mar 2, 2023
99
163
Безымянный.png
Глупо же, в ООП есть такое понятие как "полиморфизм". В данном случае ChatMenu/CenterHtmlMenu наследуются от одного класса BaseMenu, который является абстрактным, а значит представляет общую модель и создать инстанс его мы не можем, но можем использовать как тип. В этом абстрактном классе есть методы - Open, AddMenuOption, которые определены как виртуальные и переопределяются в классах ChatMenu/CenterHtmlMenu. Т.к эти методы виртуальные, то их реализация определяется в рантайме. Исходя из этого мы можем сделать вот так:
C#:
BaseMenu baseMenu;

if (Config.UseCenterMenu == false)
    baseMenu = new ChatMenu($"Магазин | Кредитов: {GetClientCredits(player)}");
else
    baseMenu = new CenterHtmlMenu($"Магазин | Кредитов: {GetClientCredits(player)}", this);

baseMenu.AddMenuOption("Купить", OpenBuyMenu);
baseMenu.AddMenuOption("Инвентарь", OpenInventoryMenu);
baseMenu.AddMenuOption("Функции", OpenFunctionMenu);
baseMenu.ExitButton = true;
baseMenu.Open(player);
Можно в принципе пойти еще дальше и вынести в отдельный метод определение конкретной реализации меню.
 

Ganter1234

Пользователь
Staff member
Гуру
Контент-мейкер
Feb 21, 2023
319
339
Глупо же, в ООП есть такое понятие как "полиморфизм". В данном случае ChatMenu/CenterHtmlMenu наследуются от одного класса BaseMenu, который является абстрактным, а значит представляет общую модель и создать инстанс его мы не можем, но можем использовать как тип. В этом абстрактном классе есть методы - Open, AddMenuOption, которые определены как виртуальные и переопределяются в классах ChatMenu/CenterHtmlMenu. Т.к эти методы виртуальные, то их реализация определяется в рантайме. Исходя из этого мы можем сделать вот так:
C#:
BaseMenu baseMenu;

if (Config.UseCenterMenu == false)
    baseMenu = new ChatMenu($"Магазин | Кредитов: {GetClientCredits(player)}");
else
    baseMenu = new CenterHtmlMenu($"Магазин | Кредитов: {GetClientCredits(player)}", this);

baseMenu.AddMenuOption("Купить", OpenBuyMenu);
baseMenu.AddMenuOption("Инвентарь", OpenInventoryMenu);
baseMenu.AddMenuOption("Функции", OpenFunctionMenu);
baseMenu.ExitButton = true;
baseMenu.Open(player);
Можно в принципе пойти еще дальше и вынести в отдельный метод определение конкретной реализации меню.
Все это уже знаю, в будущем будет большой рефакторинг кода
 

Ganter1234

Пользователь
Staff member
Гуру
Контент-мейкер
Feb 21, 2023
319
339
Ganter1234 обновил(а) ресурс Shop Core [C#] новой записью:

Фикс и Планы

Исправлено включение/выключение предмета, теперь выключаются все предметы если включен один

Также планы по ядру:
Рефакторинг кода
Добавление новых функций API
Админ-меню с выдачей кредитов и предметов

Узнать больше об этом обновлении...
 

SEMKA

Пользователь
Apr 2, 2024
20
1
Не подскажите как-то можно сделать перевод текста на другой язык?
 

Ganter1234

Пользователь
Staff member
Гуру
Контент-мейкер
Feb 21, 2023
319
339
Не подскажите как-то можно сделать перевод текста на другой язык?
В будущем сделаю, пока только на ру
 

Глеб Хлебов

Пользователь
Oct 24, 2023
50
24
вставлю свои 5 копеек, но как будто бы решение хранить в бд steamid в таком виде, а не в steam64 опрометчиво. тех же забаненных навсегда можно удалять из бд просто sql запросом (в случае с админкой икса, остальные не смотрел)
 

thesamefabius

ㅋㅋㅋㅋㅋㅋ
Гуру
Контент-мейкер
Mar 2, 2023
329
267
github.com
вставлю свои 5 копеек, но как будто бы решение хранить в бд steamid в таком виде, а не в steam64 опрометчиво. тех же забаненных навсегда можно удалять из бд просто sql запросом (в случае с админкой икса, остальные не смотрел)
лучше всего хранить account id
 

Ganter1234

Пользователь
Staff member
Гуру
Контент-мейкер
Feb 21, 2023
319
339
Ganter1234 обновил(а) ресурс Shop Core [C#] новой записью:

Фиксики

Исправлена проблема при передачи кредитов что число не считывалось если используется какой либо модуль на чат
Также меню с передачей кредитов закрывается когда выбрали игрока
Исправлена ошибка когда игрока не успело создать, и этот игрок пытается открыть магазин
Улучшена логика состояний предметов

Узнать больше об этом обновлении...
 

hanter

Пользователь
Mar 10, 2023
68
10
featanime.ru
спасибо <3
Post automatically merged:

еще баг, в конце раунда модель сбрасываеться!
 
Last edited:

wELLTON

Пользователь
Dec 22, 2023
32
12
Плагин имба, но не хватает кнопки 1. Вернуться назад
 
Top