BORDIR 62 Опубликовано 15 сентября, 2013 Всем привет. Довольно долго искал метод или класс, отвечающий за использование макросов, но безуспешно. Нашел только саму структуру макроса, его создание, рестор и удаление. В связи с этим вопрос: Использование макросов - это только клиент часть или же все таки я плохо искал? Мне нужен именно тот код, который выполняется при клике на самом макросе. Исходники First-Team. Всем заранее спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DevGoD 342 Опубликовано 15 сентября, 2013 Насчет вопроса - ответ можно узнать, включив пх, заюзать макрос и глянуть, что шлется при юзе макроса. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
bodyan2011 49 Опубликовано 15 сентября, 2013 (изменено) Всем привет. Довольно долго искал метод или класс, отвечающий за использование макросов, но безуспешно. Нашел только саму структуру макроса, его создание, рестор и удаление. В связи с этим вопрос: Использование макросов - это только клиент часть или же все таки я плохо искал? Мне нужен именно тот код, который выполняется при клике на самом макросе. Исходники First-Team. Всем заранее спасибо. По-поему gameserver/model/actor/instances/player/Macro.java А вообще, использование макроса вроде как зависит от клиент части. То есть, проверяются все команды, заданные в макросе, а потом уже отсылается пакет серверу, что нужно юзать эти команды. Изменено 15 сентября, 2013 пользователем bodyan2011 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BORDIR 62 Опубликовано 15 сентября, 2013 По-поему gameserver/model/actor/instances/player/Macro.java А вообще, использование макроса вроде как зависит от клиент части. То есть, проверяются все команды, заданные в макросе, а потом уже отсылается пакет серверу, что нужно юзать эти команды. Да, пришел к тому же выводу. Хорошо, задам вопрос по-другому Знает кто или имеет какие-нибудь идеи по реализации Бага на откат макросов? Натолкните на правильную мысль, пожалуйста . Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
bodyan2011 49 Опубликовано 15 сентября, 2013 Да, пришел к тому же выводу. Хорошо, задам вопрос по-другому Знает кто или имеет какие-нибудь идеи по реализации Бага на откат макросов? Натолкните на правильную мысль, пожалуйста . Скорей всего тоже где-то в клиенте, так как я про использование макросов тоже ничего в ядре не нашел) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BORDIR 62 Опубликовано 16 сентября, 2013 Скорей всего тоже где-то в клиенте, так как я про использование макросов тоже ничего в ядре не нашел) Но ведь, скорее всего, можно же сделать какой-нибудь костыль Так как уже не раз видел, как на Ява серверах этот баг специально добавляют, кроме того на ПТС же он работает на ура, а клиент тот же Так что теме ап, вроде даже у каких-то полушаровых команд видел подобную реализацию. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BORDIR 62 Опубликовано 16 сентября, 2013 Насчет вопроса - ответ можно узнать, включив пх, заюзать макрос и глянуть, что шлется при юзе макроса. Посылается сразу magicskilluse, такой же, как и при нажатии на обычный скилл. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
dislike 302 Опубликовано 16 сентября, 2013 Взято у скриптов RequestMakeMacro.java network.l2.c2s protected void readImpl() { int _id = readD(); String _name = readS(32); String _desc = readS(64); String _acronym = readS(4); int _icon = readC(); int _count = readC(); if (_count > 12) _count = 12; Macro.L2MacroCmd[] commands = new Macro.L2MacroCmd[_count]; for (int i = 0; i < _count; i++) { int entry = readC(); int type = readC(); int d1 = readD(); int d2 = readC(); String command = readS().replace(";", "").replace(",", ""); if ((type == 1) && (Config.ALLOW_MACROS_REUSE_BUG)) { entry = 3; command = ".useskill " + d1; } commands[i] = new Macro.L2MacroCmd(entry, type, d1, d2, command); } _macro = new Macro(_id, _icon, _name, _desc, _acronym, commands); } Но у меня работало только для магических скилов. Если откат у скила более 9 сек. то при использовании с макроска -3 сек. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 16 сентября, 2013 докатились блин, уже и офф баги воспроизводить... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BORDIR 62 Опубликовано 17 сентября, 2013 Взято у скриптов RequestMakeMacro.java network.l2.c2s protected void readImpl() { int _id = readD(); String _name = readS(32); String _desc = readS(64); String _acronym = readS(4); int _icon = readC(); int _count = readC(); if (_count > 12) _count = 12; Macro.L2MacroCmd[] commands = new Macro.L2MacroCmd[_count]; for (int i = 0; i < _count; i++) { int entry = readC(); int type = readC(); int d1 = readD(); int d2 = readC(); String command = readS().replace(";", "").replace(",", ""); if ((type == 1) && (Config.ALLOW_MACROS_REUSE_BUG)) { entry = 3; command = ".useskill " + d1; } commands[i] = new Macro.L2MacroCmd(entry, type, d1, d2, command); } _macro = new Macro(_id, _icon, _name, _desc, _acronym, commands); } Но у меня работало только для магических скилов. Если откат у скила более 9 сек. то при использовании с макроска -3 сек. Спасибо, посмотрю сегодня. докатились блин, уже и офф баги воспроизводить... Что в этом удивительного? Это довольно популярная фишка была на топовых Ява серверах. Да и даже когда свой сервак запускал 400+ многие ныли, что этот баг не пашет Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ingatello 129 Опубликовано 17 сентября, 2013 Что за баг?) в чем его прикол? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
bodyan2011 49 Опубликовано 17 сентября, 2013 Что за баг?) в чем его прикол? Ну это баг с макросами, который по-моему даже на оффе не исправили. Суть заключается в том, что если в макрос запихнуть команду /useskill, скилл, который кастонется, откатится быстрей, чем обычно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты