|
136 / 131 / 43
Регистрация: 07.11.2017
Сообщений: 553
|
|
Система бонусов для брони/оружия07.03.2018, 10:40. Показов 4640. Ответов 22
Метки нет (Все метки)
всем привет.
возник вопрос кто как делает систему бонусов для оружия и брони. например есть оружие, в него вставили камень, это статичный бонус и просто прибавили. curentDamage = defaulDamage + bonnus; далее на нас накастовали "абра-кадабру" во время боя и этот каст имеет силу какое-то время. далее на нас еще накастовал вражеский шаман отрицательный бонус, снова с временем действия. далее пришел супер-мега герой и его "влияние" снова что-то прибавило нам, пока рядом. и так далее)) да хотя бы сегодня "день сурка" всем воинам +20ATK вот как это все продумать и организовать? кто подскажет куда копать и куда смотреть.... может кто поделиться своей наработкой ![]() буду премного благодарен любому пинку или помощи
0
|
|
| 07.03.2018, 10:40 | |
|
Ответы с готовыми решениями:
22
OnClick для оружия
Как выставить формулу для бонусов |
|
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,225
|
|
| 07.03.2018, 11:45 | |
|
ты и так на правильном пути. немного размышлений , экспериментов, и все получится. а реализовать можно по всякому я думаю.
самый разумный путь , добавь скрипт на все эти плюхи с нужными полями. при стыковке делай нужные изменения в статике
0
|
|
|
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
|
|
| 07.03.2018, 12:03 | |
|
Была идея собирать все положительные и отрицательные влияния в 2 массива.
Итоговое значение = базовое + сумма "положительного массива" - сумма "отрицательного массива". Это если, например в случае с бронёй, несколько разных влияний. (например, шлем + 5, торс + 10, ноги + 15) и т.д.
0
|
|
|
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,225
|
|
| 07.03.2018, 12:12 | |
|
а зачем все так усложнять ? ))
массивы и все такое... вопрос чисто для моего общего развития
0
|
|
|
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
|
|
| 07.03.2018, 12:14 | |
|
Ну не знаю, я думал для рассчета общего влияния.
Можно конечно без массива, просто всё считать отдельными значениями)
0
|
|
|
136 / 131 / 43
Регистрация: 07.11.2017
Сообщений: 553
|
|
| 07.03.2018, 12:39 [ТС] | |
|
0
|
|
|
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,225
|
|
| 07.03.2018, 12:45 | |
|
я уже описал в общих чертах. технические детали это уже за вами
0
|
|
|
136 / 131 / 43
Регистрация: 07.11.2017
Сообщений: 553
|
|
| 07.03.2018, 12:51 [ТС] | |
|
0
|
|
|
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,225
|
|
| 07.03.2018, 16:26 | |
|
для этого есть Update() , корутины и таймеры ))
0
|
|
|
|
|||||||||||||||||||||||||||||||||||||
| 07.03.2018, 20:38 | |||||||||||||||||||||||||||||||||||||
|
1) Делаем класс ParamModificator задача которого хранить данные для модификации параметра и уметь применять модификацию: Кликните здесь для просмотра всего текста
В простейшем случае этот класс просто прибавляет константу к значению параметра. Но метод Apply - виртуальный, и можно сделать классы - наследники, которые смогут реализовывать более сложную логику - например не добавлять значение, а умножать на процент: Кликните здесь для просмотра всего текста
В метод Apply передается и сам параметр, это позволяет реализовывать более сложную логику - например добавлять бонус только если начальное значение было больше определенного значения: Кликните здесь для просмотра всего текста
Класс ParamModificator содержит поле ExpiryTime которое хранит время окончания действия модификатора (в секундах игрового времени). 2) Делаем класс Param, который будет содержать сам параметр и его логику: Кликните здесь для просмотра всего текста
Этот класс содержит начальное значение параметра, список модификаторов, методы для добавления модификаторов и некоторые другие данные. Класс содержит свойство Value, которое возвращает текущее значение параметра с учетом всех модификаторов. Класс автоматически проверяет время ExpiryTime модификатора, и если срок действия окончен - модификатор автоматически удаляется. Класс также автоматически проверяет выход значения за пределы Max/Min и возвращает в необходимые границы. Класс также содержит методы для добавления и удаления модификаторов. 3) Делаем тестовый класс Weapon с параметром Damage: Кликните здесь для просмотра всего текста
Когда нужно добавить модификатор (например на оружие наложено "заклятие"), нужно вызвать:
PS Было бы красивее сделать модификаторы через лямбды, типа такого:
Но тогда состояние игры не могло бы быть сохранено (поскольку лямбды не сериализуются). В текущей же реализации состояние может быть полностью сохранено вместе с модификаторами.
5
|
|||||||||||||||||||||||||||||||||||||
| 07.03.2018, 20:55 | |
|
Сложно как-то)
Делаешь базовый класс Buff, от него наследуешь всяческие реализации (+ к броне, + к атаке и т.д.), в нем методы активации, деактивации, время действия. Создаешь список типа Buff, в него добавляешь баффы в зависимости от предмета, который используешь. В общих словах описал, я делал так и считаю, что это удобно. Потом появятся вопросы о том, как добавлять процентное увеличение параметров, например когда базовая броня 1, экипировка дает ещё 5, получилось 6. Как к 6 брони добавить 10% новой брони, чтобы потом не было глюков при надевании и снимании брони или вообще от вражеского дебаффа? Ну это уже на будущее и реализация тоже не сложная.
0
|
|
|
136 / 131 / 43
Регистрация: 07.11.2017
Сообщений: 553
|
|
| 07.03.2018, 22:22 [ТС] | |
|
letsmail9, а набросать пример можно?
0
|
|
|
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
|
|
| 08.03.2018, 10:00 | |
|
А я опять скажу про динамическую типизацию )))
0
|
|
| 08.03.2018, 11:06 | |
|
0
|
|
|
136 / 131 / 43
Регистрация: 07.11.2017
Сообщений: 553
|
|
| 08.03.2018, 11:26 [ТС] | |
|
Cr0c, лучше не сказать, а пример написать)
то есть, для неграмотных* на примере пояснить *это я про себя
0
|
|
|
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,225
|
|
| 08.03.2018, 12:30 | |
|
ты же понимаешь, что это целая система, и расписывать тебе целые статьи ни у кого нет желания. не ленись пойди на ютьюб ,если достаточно терпения найдешь ответы в течении часа. а мелочи, по ходу дела, тебе подскажут думаю тут.
я уверен можно сделать все не так сложно, как некоторые тут пафосом занимаются а не подсказывают. удачи ! Добавлено через 32 минуты да и никто не знает что у тебя за игра, насколько она сложна, 2д или 3д, система на которой она у тебя построена тоже. так что тут тебе придется разрабатывать самому. я и сам на пороге разработки такой системы. думаю реализовывать ее на основе простых и понятных глазу алгоритмах, хоть она сама по себе будет не простая. что и тебе советую
0
|
|
| 08.03.2018, 13:45 | ||||||||||||||||
|
f3hler, пишу даже не из IDE
Базовый класс
1
|
||||||||||||||||
|
136 / 131 / 43
Регистрация: 07.11.2017
Сообщений: 553
|
|
| 09.03.2018, 09:45 [ТС] | |
|
Gammister, каждый делает так на что способен)
так что пафоса я не вижу. доберусь до компа все гляну и покручу
0
|
|
|
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,225
|
|
| 09.03.2018, 11:55 | |
|
без проблем коллега. даже будет интересно как ты будешь все делать. если что держи нас в курсе.
0
|
|
| 09.03.2018, 11:55 | |
|
Помогаю со студенческими работами здесь
20
Программа для сбора бонусов webmoney Класс Weapon для оружия Редактор оружия для GTA vice city
Выбор оружия для создания современного пользовательского интерфейса c запасом на будующее Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|