Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ Sphere Server 0.56 - Sphere X _ Полный ревамп системы прокачки скиллов

Автор: Narayan 23.1.2024, 12:46

Всем привет, неожиданное для меня появление в этом разделе smile.gif

Зародилось виденье переработки прокачки, которое включает в себя классическую систему(относительно)+левел система.

Идея в чем:
- За каждое успешное использование любого навыка, дается какое-то кол-во опыта, которое зависит от коэффициента качества этого самого действия. Простой пример: чем больше урона наносим, тем больше опыта; чем лучше металл из которого крафтится предмет и больше требуется ресурсов, тем больше опыта и т.д. Так, для каждого скилла, где это качество действия можно как-то оценить.
- Есть группа навыков, допустим Combat. В эту группу входят все боевые навыки. У группы навыков есть уровень, который прокачивается успешными применениями навыков и получением за них опыта. Когда повышается уровень группы навыков, начисляется n-ое кол-во поинтов, которые можно свободно распределить между всеми навыками внутри группы навыков. Если получили уровень в группе Combat, то очки можно распределить только на те навыки, которые входят в эту группу. Всего 6 групп навыков
- Если какой-то из навыков достиг своего максимума(100.0 или 120.0), то этот навык больше не дает опыта
- Чтобы добавить поинты навыков, нужно заплатить золото за каждое повышение. Чтобы прокачать с 0.0 до 0.1 нужно 1 гп, с 0.1 до 0.2 нужно 2 гп и т.д., постоянная прогрессия стоимости
- При получении уровня группы навыков, требуемое кол-во опыта считается по формуле - (предыдущий опыт для уровня*1.2)
- Слева экрана вместо "Your skill in Swordmsnship increased by 0.1% and now 30.1%" -> "Your Combat experience has increased by 5 and now 5\3000"

Вопрос, собственно smile.gif - Может быть у кого-то есть пример реализации хотя бы чего-то из перечисленного? Понимаю, что тут работы вагон, но всякое бывает

Автор: Sirocco 23.1.2024, 16:07

Да откуда тут вагон работы то?
Ну я делал что-то примерно такое.... правда до реализации не дошло.

Изображение


Код

On=@SkillSuccess
if <<argn>> < <skillclass.<argn>>
call f_return_skillgroup
tag.skillgain_<dlocal.group> += 1
doswitch <local.group> - 1
  sysmessage @88,3,0
enddo
endif

On=@SkillGain
  return 1

[FUNCTION f_return_skillgroup]
doswitch <argn>
    local.group= 1 //Alchemy //0
    local.group= 5 //Anatomy //1


Ну а дальше диалог какой-нибудь как на скрине.

Автор: kklej 23.1.2024, 17:02

прив написал в аську

Автор: Narayan 23.1.2024, 17:26

Цитата(Sirocco @ 23.1.2024, 16:07) *

Да откуда тут вагон работы то?
Ну я делал что-то примерно такое.... правда до реализации не дошло.

Изображение
Код

On=@SkillSuccess
if <<argn>> < <skillclass.<argn>>
call f_return_skillgroup
tag.skillgain_<dlocal.group> += 1
doswitch <local.group> - 1
  sysmessage @88,3,0
enddo
endif

On=@SkillGain
  return 1

[FUNCTION f_return_skillgroup]
doswitch <argn>
    local.group= 1 //Alchemy //0
    local.group= 5 //Anatomy //1


Ну а дальше диалог какой-нибудь как на скрине.


Это чтобы группа навыков качалась, верно?

Автор: Sirocco 23.1.2024, 19:23

Да... там по группам начисляются очки... кол-во я никак не отрегулировал... просто +1.

а сам диалог надо отдельно делать.

Лично в моем диалоге группы по цветам различаются. и можно очки группы в скиллы переливать.

Автор: Narayan 23.1.2024, 19:33

Цитата(Sirocco @ 23.1.2024, 19:23) *

Да... там по группам начисляются очки... кол-во я никак не отрегулировал... просто +1.

а сам диалог надо отдельно делать.

Лично в моем диалоге группы по цветам различаются. и можно очки группы в скиллы переливать.

Ага, но основная сложность - все скиллы перебрать, чтобы они давали опыт в соответствии с описанной логикой

Автор: Sirocco 23.1.2024, 19:43

Ну как бы для крафта есть свой триггер... и если там есть что посчитать... то всегда можно это посчитать.
Для других навыков аналогично надо писать ТЗ как что считать....
Доступ кстати прямо из этой функции - можно ввести какой-то коэффициент для разных навыков, возможно связать его как-то с уровнем навыка.

Так что это не сложность... просто время написать ТЗ.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)