Перейти к содержанию

Rolo

Постоялец
  • Публикаций

    349
  • Зарегистрирован

  • Посещение

  • Победитель дней

    51
  • Отзывы

    N/A

Весь контент Rolo

  1. Та не за что. ) Я в обновлениях этого ресурса прикрепил HTML-ку с примером таблицы, она кривая и поплывшая ибо выдрал неаккуратно с другого шаблона, но для примера сойдет. )
  2. Просмотр файла Анимированная кнопка Для использования: back="Rolo_animButtons.Rolo_anim_Button_down" fore="Rolo_animButtons.Rolo_anim_Button" Добавил Rolo Добавлено 02/06/21 Категория Серверные дополнения Автор Rolo Хроники Для всех хроник  
  3. Версия 1.0.0

    84 раза скачали

    Для использования: back="Rolo_animButtons.Rolo_anim_Button_down" fore="Rolo_animButtons.Rolo_anim_Button"

    Бесплатный

  4. Что касается интерфейса, там все проще. В хдат прямо можно задать насколько сильно нужно стянуть иконку, чтобы не рисовать 10 разных размеров, и там же можно легко сразу поверх основной кнопки натянуть прокликиваемую текстурку, выглядит так: <Texture file="Rolo_EffectPanel.yellow_panel" uSize="32" vSize="32" Alpha="-9999" isAnimTex="-1" layer="Normal"> <DefaultProperties name="ToggleCP" parentElement="AutoPotionsWnd" alwaysOnTop="True" alwaysOnBack="False" Virtual="True"> <Size Absolute="True" width="23" height="23"/> <Position relativeTo="BoxCP" offsetX="-1" offsetY="-1" relativePoint="CenterCenter" anchorPoint="CenterCenter" anchored="True" /> </DefaultProperties> </Texture> Просто "якорим" текстуру к нужной кнопке relativeTo="BoxCP", задаем параметр виртуальности Virtual="True", чтобы не пряталась после клика по кнопке - вытягиваем ее наверх на постоянной основе alwaysOnTop="True", не забываем указать реальный размер uSize="32" vSize="32", и до какого она будет ужата: <Size Absolute="True" width="23" height="23"/>, и все, готово. Куда быстрее и приятнее, чем HTML-ки интерлюдовские.
  5. Конечно, я изначально их себе для АЦП сделал. Я - интерлюд-боец, и страдания наши велики, ибо интерлюд не понимает что такое бекграунд текстуры (в хдат понимает, в хтмлках - нет), потому извращаемся как можем. В общих чертах выглядит так: делаем таблицу с конфигурациями cellspacing, cellpadding, в ней вешаем рамки, затем под нее мостим таблицу с такими же параметрами, и уже с основными иконками. При этом все выравнивания через <center> пойдут нафиг, и в арсенале останется только отступы в стиле <td width=40></td>, но привести к порядку можно.
  6. Смотря где именно, одно дело - в HTML-ке, и другое дело через интерфейс. Вас какой именно вариант интересует?
  7. Просмотр файла Анимированные иконки панелей В архиве 9 разных панелек. Вот их названия для вставки: Выглядят "в движении" вот так: Добавил Rolo Добавлено 02/05/21 Категория Клиентские дополнения Автор Rolo Хроники Для всех хроник
  8. Версия 1.0.0 с примером HTML под ИЛ

    215 раз скачали

    В архиве 9 разных панелек. Вот их названия для вставки: Выглядят "в движении" вот так:

    Бесплатный

  9. Rolo

    Краски ПВ софт

    На всякий случай, может кому-то пригодится, дублирую суть с ТГ: ТСу нужно было вместо +1 стр добавить сразу +1% п атак, аналогично по другим статам, краски должны увеличивать не базовые характеристики, а уже конкретные статы. Ответ в pwsoft\src\net\sf\l2j\gameserver\skills\Formulas.java в блоках: static class FuncHennaDEX extends Func { static final FuncHennaDEX _fh_instance = new FuncHennaDEX(); static Func getInstance() { return _fh_instance; } private FuncHennaDEX() { super(Stats.STAT_DEX, 0x10, null); } @Override public void calc(Env env) { env.value += env.cha.getHennaStatDEX(); } }
  10. Rolo

    Краски ПВ софт

    А что конкретно имеется ввиду: - Каким профам какие краски можно ставить? (в БД henna_trees) - Где хранятся статы красок? (в БД henna) - Где в ядре считывается инфа с БД? (в классе pwsoft\src\net\sf\l2j\gameserver\datatables\HennaTable.java и C:\L2Refren\pwsoft\src\net\sf\l2j\gameserver\datatables\HennaTreeTable.java соответственно) - Где регистрируются таблицы? (неизменно - в ГС: import net.sf.l2j.gameserver.datatables.HennaTable; import net.sf.l2j.gameserver.datatables.HennaTreeTable;) Статы в pwsoft\src\net\sf\l2j\gameserver\model\actor\instance\L2PcInstance.java; Проверки: pwsoft\src\net\sf\l2j\gameserver\network\clientpackets\RequestHennaItemInfo.java pwsoft\src\net\sf\l2j\gameserver\network\clientpackets\RequestHennaEquip.java Сами функции красок в pwsoft\src\net\sf\l2j\gameserver\skills\Formulas.java Искать по статам, например: static class FuncHennaDEX extends Func Определение что есть стат инт, а что стр в pwsoft\src\net\sf\l2j\gameserver\templates\L2Henna.java public int getStatINT()
  11. Rolo

    Клиент ХФ

    Включите логирование клиента, чтобы получить точный ответ, подозреваю что может какой-то текстуры нехватать (отображение языка в окошке чата, или вроде того) и из-за этого клиент критует.
  12. Значит такой метод уже есть, нужно просто его найти и посмотреть какие там проверки, и добавить туда нужные Вам скиллы, это явно в ядро нужно лезть смотреть.
  13. Мне кажется, если такой механики нет изначально, то в ядре нужно допилить, в самом эффекте владения умениями сделать дополнительную проверку. Статик реюз - это влияние статов на откат скилла, а скилл мастери - это отдельная механика, потому как с Избавлением Эйнахасад не выйдет, скорее всего оно не откатывается, потому что это предметное умение.
  14. swat809, не видел подобных мануалов. В целом нужно понимание как сборка построена, и джаву тоже понимать, иначе такое лучше самому не делать, я не в том даже ключе, что наугад не получится, - может и получиться, может даже все будет хорошо, но есть вероятность наплодить багов/загрузить систему, особенно если речь о вычислении шанса дропа на каждый удар. ) Если есть представления о джаве и что как работает, посмотрите в ядре, в классе l2PcInstance как устроены промахи/попадания по цели, например, или как вешается дебаф, когда бьешь РБ слишком лоу лвла, это все как раз чекается на каждый удар.
  15. swat809, в таком случае нужно метод onHit юзать, а не при смерти чекать.
  16. Cibo, это похоже на проблемы с геодвигом/геодатой, лучше работать непосредственно с проблемой, чем заниматься кучей ненужной работы, это же не комплексная проблема, чтобы прям все механики/пакеты перелопачивать, выйдет банально дешевле и быстрее, мне кажется. А насчет того, насколько этот вопрос решен в платных сборках - попросите разработчиков дать доступ к тестовым серверам и проверьте сами,.
  17. Насколько я знаю, Адвексы ПТС с эпилога до ИЛа опустили таким образом, а насчет джава сборок не знаю таких прецедентов даже.
  18. Cibo, правильно ли я понимаю: Вы ищите сборку ХФа, в который вырезан весь контент ХФа, вернуты все механики ИЛа, вся пакетка опущена до ИЛа?
  19. Не знаю, указанный Вами проект, но суть, кажется уловил. На самом деле, на что фантазии хватит. Но мне кажется, лучше спавнить как НПС, как Вы и сказали, сделал бы метод, проверяющий, что там на игроке надето как-то так, например: public int getItemEquipped(int loc) { return getPlayer().getInventory().getPaperdollItemId(loc); } Сделал бы проверку НПС по ид, если есть совпадения, чекал бы getItemEquipped(), если есть совпадение - тогда идет расчет шанса дропа и вся остальная магия.
  20. Совсем забыл об этой теме. и так, исправление бага с отображением заточки, может кому-то пригодится еще: Вводим локальную переменную: local int CrystalChap; В блоке ITEM_WEAPON определяем ее: CrystalChap = Item.CrystalType; if (Item.CrystalType > 5) { CrystalChap = 5; } В тултипах физ/маг атаки заменяем Item.CrystalType на CrystalChap , получается что-то такое: //Physical Damage AddTooltipItemOption(94, String(GetPhysicalDamage(Item.WeaponType, Item.SlotBitType, CrystalChap, Item.Enchanted, Item.PhysicalDamage)), true, true, false); //Masical Damage AddTooltipItemOption(98, String(GetMagicalDamage(Item.WeaponType, Item.SlotBitType, CrystalChap, Item.Enchanted, Item.MagicalDamage)), true, true, false); Готово.
  21. Инфа более актуальна для ИЛа, но подойдет и для хроник выше. По данному примеру забиндить можно все что угодно, от вызова окна вставки ЛСа и релога без окна подтверждения, до байпассов с админ командами для отладки (зачем такое делать - не знаю, просто привожу примеры ). Первым делом идем в xdat, Interface\Shortcuts\GamingStateShortcutи выбираем клавишу/сочетание клавиш, например вот так: <ShortcutItem Key="IK_Space">SelfTarget</ShortcutItem> Таким образом мы забиндим на пробел взятие себя в таргет. Или так: <ShortcutItem Key="IK_Space" SubKey1="IK_Alt">SelfTarget</ShortcutItem> Теперь нужно для селф таргета нужно зажать альт и клацнуть пробел (а удобно-то как будет, рекомендую). Коды клавиш иногда очевидны ( IK_F1, IK_B, IK_Enter), а иногда не очень, на всякий случай: Далее нужно описать саму команду "SelfTarget". Самый простой вариант - залезть в скрипты Interface\Classes\Shortcut найти там function HandleShortcutCommand( String a_Param ) и добавить: case "SelfTarget": RequestSelfTarget(); break; Но, разумеется, вставить команду можно в любой класс, но тогда Вам придется создать в нем: function OnEvent( int a_EventID, String a_Param ) { switch( a_EventID ) { case EV_ShortcutCommand: HandleShortcutCommand( a_Param ); break; } } а так же сам хэндлер: function HandleShortcutCommand( String a_Param ) { local String Command; if( ParseString( a_Param, "Command", Command ) ) { switch( Command ) { case "SelfTarget": RequestSelfTarget(); break; } } }
  22. Как гордый колупатель именно этого сурса, заявляю, что разница таки есть, с квестами беда, тадапаком тоже, мобы фиг пойми где заспавнены, особенно в некрополях - половина за текстурами или в коридорах, мелких неприятностей даже для 4 человек там хватает. )
  23. Там же разные типы НПС: выдавать профу, изучение скиллов, управление кланом, система посылок (которой вероятно вообще нет) - с большой вероятностью из-за нестыковок с типом НПС старые байпассы не будут работать.
  24. НУ только не в ядро, а в БД, или где там у Вас инфа о зонах хранится. ) А так да, все верно. Id - любой свободный, скорее всего (предполагаю, что может быть необходимость чтобы yevthfwbz id шли поочередно, без пробелов, но вряд ли).
×
×
  • Создать...