Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа со скриптами (https://forum.zone-game.info/forumdisplay.php?f=37)
-   -   Прокачка умений (https://forum.zone-game.info/showthread.php?t=33891)

xolseg 03.02.2014 03:44

Прокачка умений
 
И так возникла потребность в небольшом изменении работы прокачки скилов, а именно сделать зависимость некоторых скилов от количества их использования.
Допустим есть скил гидробласт и уровни его прокачки
1 уровень - 10 тысяч использований
2 уровень - 40 тысяч использваний
и т.д.

В какую сторону начать копать? Или где можно посмотреть подобие такой реализации?

Почему "некоторых скилов"? Потому что всё остальные скилы должны остаться не тронутыми, т.е. изменять существующий порядок работы не нужно, хочется написать небольшое дополнение, но не знаю с какой стороны подойти. :-)


А так же ещё один вопрос, на тему скилов, есть свитки заточка оружия, которые используют определенный ид скила, можно ли сделать ещё один уникальный свиток заточки, который не зависит от грейда оружия ?(l2jserver)
Через админ панельку
	<!-- ADMIN ENCHANT -->
<admin command="admin_seteh" accessLevel="7" />
<admin command="admin_setec" accessLevel="7" />
<admin command="admin_seteg" accessLevel="7" />
<admin command="admin_setel" accessLevel="7" />
<admin command="admin_seteb" accessLevel="7" />
<admin command="admin_setew" accessLevel="7" />
<admin command="admin_setes" accessLevel="7" />
<admin command="admin_setle" accessLevel="7" />
<admin command="admin_setre" accessLevel="7" />
<admin command="admin_setlf" accessLevel="7" />
<admin command="admin_setrf" accessLevel="7" />
<admin command="admin_seten" accessLevel="7" />
<admin command="admin_setun" accessLevel="7" />
<admin command="admin_setba" accessLevel="7" />
<admin command="admin_setbe" accessLevel="7" />
Code: XML
Ну тут понятно, оно отправляет в adminenchant.java, только точится то не скилом, а напрямую в базе. :-(
А мне нужен 1 уникальный свиток или скил который будет точить оружие любого грейда. :-) Ну собственно, есть какие нибудь идеи?

У меня только две идеи:
1. Убрать нахрен весь грейд,....
2. Придумать вторую идею. ;)

nn03 03.02.2014 12:27

Re: Прокачка умений
 
Могу предложить вариантом как - Новый статус - новый скил.
Все мы знаем статусы в ла2 ( вагант и т.д), можно прицепить скил к этому статосу
PHP код:

<admin command="admin_seteh" accessLevel="7" /> 

- там где акесс , надо акесс статуса ввести.

xolseg 03.02.2014 13:41

Re: Прокачка умений
 
Нет, этот вариант не очень подойдет, есть ещё какой нибудь вариант?

ExLite 03.02.2014 14:00

Re: Прокачка умений
 
Пойти в участок кода где определяется грейд свитка заточки и запилить там в проверке свой ?

xolseg 03.02.2014 14:05

Re: Прокачка умений
 
Запрещено по пункту 2.0

xolseg 04.02.2014 18:31

Re: Прокачка умений
 
Запрещено по пункту 2.0

Melcor 04.02.2014 19:04

Re: Прокачка умений
 
это не в датапаке делать нужно, а в ядре. Глядите клиентский пакет RequestEnchantItem.

xolseg 04.02.2014 19:07

Re: Прокачка умений
 
Запрещено по пункту 2.0

energy 04.02.2014 21:46

Re: Прокачка умений
 
Запрещено по пункту 2.0

Melcor 04.02.2014 23:01

Re: Прокачка умений
 
Извиняюсь, надо глядеть не RequestEnchantItem а в RequestExTryToPutEnchantTargetItem
или RequestExTryToPutEnchantSupportItem (не помню точно)

Подробнее:
Свернуть ↑Развернуть ↓

xolseg 05.02.2014 02:26

Re: Прокачка умений
 
Цитата:

Сообщение от Melcor (Сообщение 350396)
Извиняюсь, надо глядеть не RequestEnchantItem а в RequestExTryToPutEnchantTargetItem
или RequestExTryToPutEnchantSupportItem (не помню точно)

Подробнее:
Свернуть ↑Развернуть ↓

Не совсем то что мне нужно.. :-) Но спасибо.

Aristocrat 05.02.2014 04:12

Re: Прокачка умений
 
В лыже все проще.

1) Создайте новый com.l2jserver.gameserver.model.items.enchant.Encha ntScroll
2) Загрузите в него нужные итемы без проверки на грейд
Код:

        /**
        * Enforces current scroll to use only those items as possible items to enchant
        * @param itemId
        */
        public void addItem(int itemId)
        {
                if (_items == null)
                {
                        _items = new HashSet<>();
                }
                _items.add(itemId);
        }

3) ....
4) PROFIT!




А по второму вопросу -
Цитата:

И так возникла потребность в небольшом изменении работы прокачки скилов, а именно сделать зависимость некоторых скилов от количества их использования.
Допустим есть скил гидробласт и уровни его прокачки
1 уровень - 10 тысяч использований
2 уровень - 40 тысяч использваний
и т.д.

В какую сторону начать копать? Или где можно посмотреть подобие такой реализации?
1) Реализуем систему хранения промежуточных данных. Нам необходима поддержка сохранения и загрузки информации и ее динамическое изменение в процессе существования чара.
2) Придумываем скилу какое-либо отличие, которое можно будет проверить в методах Cast и ему подобных.
3) При использовании скила с таким отличием фиксируем изменение в нашей системе хранения.
4) При достижении условий на левелап - повышаем и сохраняем уровень скила у персонажа через стандартные механизмы.
5) ...
6) PROFIT!

xolseg 06.02.2014 15:55

Re: Прокачка умений
 
Хотел реализовать как 1 скилл - не получилось. Свиток без грейда вроде бы работает. С прокачкой скила, не заморачивался, так как сделать свиток - скилом не получилось.


Текущее время: 01:33. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot