Исправление отображения подсказки на иконке «Щит-Мечи» Некоторые сборки клиентской части фришек онлайн-игры PerfectWorld грешат отсутствием подсказки на иконке «щит/мечи», при наведении на неё курсора «мышки». Ситуация, сама по себе, для процесса игры не особо значимая, однако, гости моего приватного сервера несколько раз сетовали на эту косметическую «недоделанность», в сравнении с клиентом от MAIL.RU. В данной мини-информашке я покажу, как исправить эту ситуацию. Необходимые нам ресурсы находятся в файле interfaces.pck, для обоих типов игровых клиентов (старого и нового: dtf-xml). Начнём со старого формата интерфейса (dtf/stf/htf). Распаковываем файл interfaces.pck, затем находим файл map.htf (это файл подсказок для элементов диалогового окна), и ищем в нём строку "Chk_SwitchSafety". Скорее всего, её в файле не окажется :). Вставляем новой строкой следующий текст (как есть): "Chk_SwitchSafety" "^ffcb4aЩит^ffffff:Мирный режим (напасть на игрока можно лишь удерживая нажатой кнопку Ctrl) \r^ffcb4aМеч^ffffff:Свободный режим (можно свободно напасть на игрока)\r^00ffffЩелкните мышью для детальной настройки \r^ffcb4aУбийство игрока (PK) может быть совершено персонажем минимум 30 уровня" Сохраняем файл, упаковываем interfaces.pck, копируем в клиент, запускаем, проверяем результат. Я лично проверил около 9 сборок, везде результат удовлетворительный. Теперь займёмся новым форматом (xml). Распаковываем файл interfaces.pck. Затем, в каталоге version01 находим файл map.xml (это файл разметки диалогового окна). В нём ищем строку, начинающуюся с тэга <CHECK Name="Chk_SwitchSafety". Сразу после этой строки, перед тэгом <Resource> вставляем следующий тэг (как есть): <Hint String="^ffcb4aЩит^ffffff: Мирный режим (напасть на игрока можно лишь удерживая нажатой кнопку Ctrl)\r^ffcb4aМеч^ffffff: Свободный режим (можно свободно напасть на игрока)\r^00ffffЩелкните мышью для детальной настройки\r^ffcb4aУбийство игрока (PK) может быть совершено персонажем минимум 30 уровня"/> Сохраняем файл, упаковываем interfaces.pck, копируем в клиент, запускаем, проверяем результат. Надеюсь, кому-нибудь пригодится :) p.s. сама строка всегда лежит в файле ingame.stf (в любом типе клиента, в том числе и руоф-) под id 823. В руоф-клиенте всё работает, а вот причина, по которой фришный клиент (даже сконвертированный из руоф-) её оттуда не отображает, мне была неинтересна, возможно дело в сервере. p.p.s если где-то уже было, прошу извинить за "недогугливание". © this
В доступной мне шаре для 1.5.5 не нашёл, может и ещё кому-то понадобится... Патч привязки debug команд к авторизованным GM персонажам (независимо от установок debug_command_mode). Как всегда, респект уходит уважаемому int 3, за изящную методику. Ссылка на архив: https://mega.nz/#!UhRFQaSD!p5tTVJRqGOC47DRGUO_neYGOn-6l4U4PEYTr-uN3B2I Использование: патч выполнять на стороне сервера, оба файла из архива положить рядом с gs, дать права на выполнение скрипта, запустить v155_156_gs_gm_debug.sh, дождаться окончания процесса. p.s. ярлыка для 1.5.5 здесь ещё нет, поэтому выкладываю в 1.5.3. //Префикс добавлен
Пару лет назад уважаемый int 3 выкладывал методичку (и ядро 1.5.1) по патчу gs, для привязки возможности использования debug команд только GM авторизованными персонажами (независимо от установок debug_command_mode). Взяв за основу его метод, а также ввиду отсутствия подобного решения для ядра 1.5.3(145) в широком доступе (может плохо гуглил) предлагаю небольшой патчер, авось кому-нибудь понадобится. Ссылка на архив: https://mega.nz/#!M8oCQS4D!SFch9vo8E1thHHAdl32eZC_4DMK74DcJy-rkNphyJV4 p.s. патч выполнять на стороне сервера, оба файла из архива положить рядом с gs, запустить v153_145_gs_gm_debug.sh, дождаться окончания процесса. p.p.s. "дыр и бэкдоров" нет, весь код патча содержится в gs_data.
Сборка 1.5.3, попавшая мне в руки, имела очень "оригинальный" clsconfig. Возможно кому-то понадобится чистый вариант: http://my-files.ru/x90vdw (p.s. делал для себя, прошу помидорами не забрасывать...)
В процессе привязывания русскоязычного клиента к так называемому "серверу 449", имеющему version=515, столкнулся с проблемой несоответствия нумерации руофовских патчей европейским. Некоторые раздумья и подсовывание кучи руофовских файлов *.sup патчеру (начиная с версии 331) навели на мысль, что не так уж критично точное соответствие сигнатур на сервере и клиенте. Иными словами, если сервер "проглотил" содержимое клиентского каталога data, то нет никаких препятствий для подключения этим клиентом к серверу. Чтобы обойти на клиенте проверку сигнатуры достаточно выполнить следующее: найти последовательность байт 0x83, 0xc4, 0x08, 0x85, 0xc0, 0x0f, 0x94, 0x44, 0x24, ??, 0xe8 и выше этой последовательности на 13 байт изменить код 0x50 (push eax) на 0x51 (push ecx). Байт в позиции ?? меняется от версии к версии, поэтому обозначен вопросительными знаками. p.s. В целях ручного патча достаточно удобно использование редактора hiew, который позволяет использовать в сигнатурах поиска маски, нажатием Alt+? p.p.s. Прошу извинить, если подобная тема уже где-то была. Да, и конечно же, патч поможет лишь в том случае, если формат структур на сервере и клиенте одинаков, и однозначно не удастся запустить текущий руофовский клиент с сервером 449/515 :)
Столкнулся с необходимостью войти руофовским клиентом на персонажа, который входит в один из кланов. Клиент, естественно, выдаёт ошибку с предложением релога. Долго разбираться времени не было, в результате определённых манипуляций была найдена функция по адресу 0x460100, при замене в которой цепочки [VA:0x460118] 0x8b, 0x4c, 0x24, 0x08, 0x51 (mov ecx, dword ptr [esp][8]; push ecx) на 0x6A, 0x01, 0x90, 0x90, 0x90 (push 1; nop(3)) даёт возможность клиенту нормально загрузиться, правда кроме логотипа клана, названия, уровня, и возможности удалить клан ничего не работает. Лично мне для удаления клана было достаточно, но возможно у кого-то появится желание "копнуть" глубже, для отображения списка членов клана, и т.д. p.s. В оригинале (клиент 101) в стек идёт не 1 а 0, но видимо где-то дальше производятся дополнительные манипуляции и проверки...
Возможно кому-то пригодится http://rghost.ru/57109677 (в открытом пока не видел, либо плохо смотрел). В архиве также исправленный руофовский Gshop (21.07.2014) (клиент и сервер).
Патч включения Сферы алхимика РуОф клиента 1.5.1 для желающих сэкономить (размер elementclient: 0x8a63c0). Метод основан на идее Noname Soft. elementclient.exe (offsets from MZ) 000C5A62: 1D 25 000C5A77: 0B 13 000C5A80: 83 81 000C5A81: C8 FF 000C5A82: FF 9C 000C5A83: 5F 8F 000C5A84: 5E 00 000C5A85: C2 00 000C5A86: 08 74 000C5A87: 00 03 000C5A88: 90 83 000C5A89: 90 C8 000C5A8A: 90 FF 000C5A8B: 90 5F 000C5A8C: 90 5E 000C5A8D: 90 C2 000C5A8E: 90 08 000C5A8F: 90 00
Возможно кому-нибудь пригодится. http://rghost.ru/55047878
Возможно кому-нибудь будет интересно. Патч на полёт без разгона. elementclient.exe из PWI клиента, размер 0x87e9d0. Относительно MZ, патч в формате CRK: 0000B2F1: 90 8B 0000B2F2: 90 8F 0000B2F3: 90 1C 0000B2F4: 90 F7 0000B2F5: 90 FF 0000B2F6: 90 FF 0000B2F7: 90 EB 0000B2F8: 90 2E 0000B324: 8B EB 0000B325: 4B CB 0000B326: 28 90
Кто-нибудь сталкивался с проблемой создания итемов 15048 (Симфония жемчуга) и 15049 (Горящий шар дракона) на 1.4.6(70)? Из консоли по d 10800 не создается, при добавлении в gshop не грузится gs, пишет, что итемов должно быть 100 (почему-то). В элементах всё прописано правильно, сверялось с другими итемами, модели, графика - всё в порядке. Может кто встречался с такой проблемой? Возможно где-то какой-то конфиг я недоглядел... p.s. gs от 23.10.2012 11:30:16.
用逗号分隔用户名