Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Проверка на иерархию скилов
#1
Доброго времени суток дорогие друзья.

Сборка: L2jServer
Хроники: Interlude

Пока страна отмечает День Победы, я пытаюсь понять, каким образом можно сотворить проверку на иерархию скилов:

[Изображение: 0f9f0e9d5e07.jpg]

1) Персонаж может без каких либо преград изучить скилл "А"
2) Для изучения скила "B" или "С" ему необходимо изучить для начала скилл "А"
3) Смогу ли я обойтись только одной переменной (в данном случае: stageLvl) благодаря которой смогу корректировать свои действия?

Спасибо.
Ответ
#2
В принципе да, храните ссылку на предыдущий скил (список скилов) и проверяйте рекурсивно возможность изучения.
[Изображение: l2nextgen.gif]
Ответ
#3
bloodshed Написал:В принципе да, храните ссылку на предыдущий скил (список скилов) и проверяйте рекурсивно возможность изучения.

А не будет ли у ТСа потом затруднений когда он захочет разделение
Пример
Скил А выучен
Можно выучить либо скил B либо скилл С

И так далее пирамидкой.
1
Ответ
#4
bloodshed Написал:В принципе да, храните ссылку на предыдущий скил (список скилов) и проверяйте рекурсивно возможность изучения.

То что выделено и подчёркнуто как раз для этих случаев. А вообще ТС эту задачу не описывал.
[Изображение: l2nextgen.gif]
Ответ
#5
bloodshed Написал:То что выделено и подчёркнуто как раз для этих случаев. А вообще ТС эту задачу не описывал.

Спасибо за разъяснение, вдруг пригодится.
1
Ответ
#6
в сборках года уже сделано подобное изучение скилов, на 4 профе...
Ответ
#7
linliss Написал:в сборках года уже сделано подобное изучение скилов, на 4 профе...

finfan Написал:Сборка: L2jServer
Хроники: Interlude
Я думаю там видно, что ТС спрашивал про ИТ.
1
Ответ
#8
xolseg Написал:Я думаю там видно, что ТС спрашивал про ИТ.
ну дак что мешает посмотреть принцип реализации там.
хотя по идее там не совсем то что требуется, в год - удаление старого скилла/скиллов при изучении новых.

но в целом - я лично не вижу никаких проблем в реализации того что хочет автор темы. можно пойти двумя путями: 1-й способ - завести для скиллов новый параметр, в котором указывать скилл, наличие которого требуется для изучения и проверять этот параметр при попытке изучить скилл - способ достаточно извращенный; 2-й способ - добавить новый параметр в деревья изучения скиллов - ну типа как сделано задавание необходимых для изучения скилла предметов. ну а сам способ реализации уже конкретно от сборки зависит - новое поле там в бд или новый параметр в xml-файлах - не суть важно.

З.Ы. можно пойти еще дальше и еще расширить функциональность - добавить еще один параметр, в котором можно указывать противоположное условие - нельзя учить если уже есть определенный скилл. тогда можно будет например реализовать возможность изучения только одного "маршрута", без ветвления. т.е. к примеру для скилла B указано что можно учить только при наличии скилла A и отсутствии скилла C, а для скилла C указано что можно учить при наличии A и отсутствии B.
Ответ
#9
только что чисто ради академического интереса реализовал все что написал в предыдущем сообщении (включая "З.Ы."). вся реализация, с тестированием получившегося, заняла дай бог минут 10-15 Smile
пара новых строк в парсере xml-ок с деревьями изучения скиллов, пара строк в классе определяющем данные об изучаемых скиллах и пяток строк в пакете изучения - вот и вся реализация.

к примеру задаем такие данные для изучения Power Shot

PHP код:
<?php 
<skill id="56" level="1" cost="50" name="Power Shot" min_level="5" skills="3,1;226,0" />

т.е. изучить можно только если есть Power Strike (id 3) первого и выше уровня и нет Relax (id 226).

и получаем в результате в игре при попытке изучения, если не подходят условия по заданным скиллам:

[Изображение: 4d4472054fe6b1ab1748ea7bf02045c2.jpg]
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Заточка скилов, изменения цены MBD312 0 1,957 12-26-2020, 08:00 AM
Последний пост: MBD312
  Вампирик для магических скилов Froust 3 2,578 05-24-2017, 08:01 AM
Последний пост: Emperor
  Проверка на GameGuard dantest 0 1,067 09-21-2015, 07:49 PM
Последний пост: dantest
  Продажа скилов или проф swyatyk 1 2,595 08-11-2015, 04:36 AM
Последний пост: kolibri
  Каст спела, проверка таргета Empatic 4 2,031 06-23-2015, 11:35 PM
Последний пост: Empatic
  Проверка Empatic 6 1,764 06-20-2015, 02:44 PM
Последний пост: Empatic
  Затемнение скилов DeveloperS 2 1,413 03-01-2015, 10:49 PM
Последний пост: Map
  Проверка условий в html NPC Fadd 0 1,542 12-15-2014, 11:45 PM
Последний пост: Fadd
  Проверка у Valakas Manager Snowball1 9 2,185 09-15-2014, 02:01 AM
Последний пост: Snowball1
  Массовое уменьшение отката скилов SunWar 3 1,840 08-25-2014, 10:15 PM
Последний пост: dorocki

Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)