Экипировка брони.

ShturMAN

Интересующийся
Участник
Сообщения
21
Розыгрыши
0
Репутация
20
Реакции
16
Баллы
338
Хроники
  1. Interlude
Исходники
Присутствуют
Сборка
IL
Знающие люди, как сделать, чтобы при одевании тела, сразу одевался весь сет?
 
Решение
Есть нативка:
C-подобный:
native static function GetSetItemIDList( int ClassID, int EffectID, out array<int> arrID );
Соответственно в масив собирает все ид сета, после чего по инвентарю можно прогнать цикл с поиском єтих ид, если совпадает - слать реквест юз итема, если нет - искать дальше. В InventoryWnd есть примери и прямого реквеста по сервериду
C-подобный:
RequestUseItem(info.ServerID);
И юза по индексу с итем виндоу:
C-подобный:
function UseItem( ItemWindowHandle a_hItemWindow, int index )
Стоило бьі уточнить: а что будет если у персонажа два одинаковьх сета на руках? А если два набора перчаток и тд и тп. А если єто ц грейд, где сет не еще не фул слотьі занимает, что делать с пустующими и тд. Ну вообще, наверное, найпростейшее - єто чекать наличие бонуса у сета с єтим телом, оттудаже можно брать все ид перефирии, чекать их наличие у персонажа, если их >=2 то вьібирать наиболее заточеную, например.

Либо дать возможность игроку самому формировать список своих "сетов", забивая обж ид (ну, то есть игрок перетягивает просто шмотку, а Вьі на сервере чекаете и запоминаете обж ид), а потом просто єти наборьі натягивать на него.
 
В инвентаре один сет, допустим ДК маг. Одеваю робу и вместе с ней (при наличии в инвентаре) одевается всё остальное.
Свадебный наряд, как я понял, просто "натягивает" текстуры.

Как я понял, это можно сделать на уровне клиента - в Silent интерфейс есть такая функция.
 
Последнее редактирование модератором:
Как я понял, это можно сделать на уровне клиента - в Silent интерфейс есть такая функция.
Можно, там тоже есть информация о сетах (в класе тултипов наглядное использование), ну и дальше точно такой же перебор итемов у играка в инвентаре и реквест на екипировку.
 
Можно, там тоже есть информация о сетах (в класе тултипов наглядное использование), ну и дальше точно такой же перебор итемов у играка в инвентаре и реквест на екипировку.
Можно более подробно? Я пока только щупаю, а не полностью погружен в компиляцию интерфейса)
 
Есть нативка:
C-подобный:
native static function GetSetItemIDList( int ClassID, int EffectID, out array<int> arrID );
Соответственно в масив собирает все ид сета, после чего по инвентарю можно прогнать цикл с поиском єтих ид, если совпадает - слать реквест юз итема, если нет - искать дальше. В InventoryWnd есть примери и прямого реквеста по сервериду
C-подобный:
RequestUseItem(info.ServerID);
И юза по индексу с итем виндоу:
C-подобный:
function UseItem( ItemWindowHandle a_hItemWindow, int index )
 
Решение
Есть нативка:
C-подобный:
native static function GetSetItemIDList( int ClassID, int EffectID, out array<int> arrID );
Соответственно в масив собирает все ид сета, после чего по инвентарю можно прогнать цикл с поиском єтих ид, если совпадает - слать реквест юз итема, если нет - искать дальше. В InventoryWnd есть примери и прямого реквеста по сервериду
C-подобный:
RequestUseItem(info.ServerID);
И юза по индексу с итем виндоу:
C-подобный:
function UseItem( ItemWindowHandle a_hItemWindow, int index )

это через интерфейс клиента, или в серверной части? и наверно тогда надо еще проверку, не одет ли уже какой-то айтем из сета, иначе его наверно снимет?
 
это через интерфейс клиента, или в серверной части?
Интерфейс.
и наверно тогда надо еще проверку, не одет ли уже какой-то айтем из сета, иначе его наверно снимет?
Не помешала бьі точно, снять не снимет, ибо искать будет по инвентарю, а не екипированьім слотам, к тому же надевать будет либо по индексу, либо по обж ид (серверсайдьій индификатор, а не тот что в датниках, и они не дублируются) но будет передевать каждьій раз, как найдет новое совпадение. )) Я бьі вообще просто обрьівал цикл, когда найдет нужньій ид. Но в ответе я опирался на:
В инвентаре один сет, допустим ДК маг.

А, еще кстати, бьівает на сервере заглушка типа не одевать чаще раз в 100 мс, и хорошо (ну ладно, хорошо ли - вопрос открьітьій, учитьівая количество проблем :loltt0: ) если все последующие реквестьі станут в очередь, а могут просто оборваться и магии не произойдет. )
 
Последнее редактирование:
Назад
Сверху Снизу