Делаем ссылки для перехода на веб страницу из окна чата в игре Айон. Нам понадобятся такие программы: 1) AionExtract 2) AIONencdec 3) clipb 4) AIONcfgEdit Часть прог можно найти Please login or register to view links и Please login or register to view links. Распаковываем программой AionExtract следующие файлы: Для ру-оф клиента: AION\l10n\RUS\Data\data.pak Для евро-оф: AION\l10n\ENU\Data\data.pak В распакованных файлах переходим в Strings\client_strings_bm.xml - Открываем программой EmEditor или Notepad++, следите чтобы не изменилась кодировка файла при открытии через другие программы. Далее в самом конце добавляем строчку: Код: <string> <id>1750012</id> <name>STR_F2P_SHOP_LINK010</name> <body>[%web:http://makeserv.net/;Самый четкий форум админов]</body> </string> Здесь меняем ссылку на сайт и название для показа в чате. [%web:ссылка;название ссылки] При добавлении новых строчек изменяйте айди на +1 если было 1750012 то делайте 1750013 и т.д. Имя <name> желательно тоже на тот который не используется. И так вот мы поменяли ссылку, запаковываем все файлы обратно в .pak программой AIONencdec, для этого нам необходимо запаковать все распакованные файлы в том же порядке и виде в котором они были запакованы, в zip архив. Этот архив кладём в папку с программой и читаем ReadMe.txt После правильно запакованных файлов в .pak кидаем его с заменой в папку клиента, где мы его брали. Желательно сохраните старый файл клиента он вам пригодится если вы напортачили... Запускаем клиент. После входа в игру нам необходимо вывести эту ссылку в чат, для этого нужна админ команда: Код: /* * AionLight project */ package admincommands; import com.aionemu.gameserver.model.gameobjects.player.Player; import com.aionemu.gameserver.network.aion.serverpackets.SM_SYSTEM_MESSAGE; import com.aionemu.gameserver.utils.PacketSendUtility; import com.aionemu.gameserver.utils.chathandlers.AdminCommand; /** * @author Alex */ public class Test extends AdminCommand { public Test() { super("test"); } @Override public void execute(Player player, String... params) { PacketSendUtility.sendPacket(player, new SM_SYSTEM_MESSAGE(1750012)); } } Кидаем её в AL-Game\data\scripts\system\handlers\admincommands\ Далее переходим в AL-Game\config\administration\commands.properties и добавляем там строчку test = 0 Если вы в игре то перезагружаем команды //reload commands, если нет то перезагружаем сервер. В игре вводим //test в чате появится наша ссылочка, кликаем на неё правой клавишей мыши (далее ПКМ) и жмем вставить в блокнот. В блокноте выделяем и копируем нашу ссылку (Ctrl + C) Далее открываем программу clipb.exe (показывает буфер обмена) и в открывшемся окне видим код нашей команды, т.е. ссылка и шифрованный текст, в таком виде: Код: [web:http://makeserv.net/;UdY7tJKAERT/EFVPLRH2G8oGL0jpaLR99cFeFNpQOWVvhL6F4X+qy7H1MTdrUO/4W4l91kh/SqP0XLTp1EWOMN58E1GzGyRwJOCO+OhT3Uo=] в этом окне выделяем текст и копируем, далее наш текст необходимо вывести как ссылку при входе в игру, для этого идем в AL-Game\src\com\aionemu\gameserver\services\player\PlayerEnterWorldService.java в самом конце матода enterWorld добавляем говнокод: Код: PacketSendUtility.sendMessage(player, "Наш сайт: [web:http://makeserv.net/;UdY7tJKAERT/EFVPLRH2G8oGL0jpaLR99cFeFNpQOWVvhL6F4X+qy7H1MTdrUO/4W4l91kh/SqP0XLTp1EWOMN58E1GzGyRwJOCO+OhT3Uo=]"); Вуаля наша ссылка появляется при входе в игру! Так же можно посмотреть код ссылок в файле Chat.log в папке вашего клиента, если такого нет то вкл логирование чата в Тестовом интерфейсе Shift+F1 либо добавьте строчку g_chatlog = "1" в system.cfg открыть который можно программой AIONcfgEdit. Расшифровываем изменяем и сохраняем в этой же программе... При замене в клиенте игры необходимо в свойствах файла поставить галочку "Только чтение" иначе ваши настройки спадут после релога, т.к. файл перезаписывается клиентом при выходе из игры. Немного дополню. Если сделать так: Код: <string> <id>1750015</id> <name>STR_F2P_SHOP_LINK015</name> <body>[%web:%0;ссылка]</body> </string> и в команде добавить: Код: PacketSendUtility.sendPacket(player, new SM_SYSTEM_MESSAGE(1750015, "http://makeserv.net/")); То в чат выбьет: Таким образом мы в команде редактируем ссылку и сколько угодно раз можем поставить новую. Только название менять не получится методом [%web:%0;%1] - выдаст в чат непонятку, менять только саму ссылку. Удачи! Автор: Alex