• SiteAnalyzer, технический и SEO-анализ сайтов

Делаем веб ссылки в чате Aion

  • Автор темы Автор темы Alenheym
  • Дата начала Дата начала

Alenheym

Старший сержант
Команда форума
Модератор
Делаем ссылки для перехода на веб страницу из окна чата в игре Айон.

Безымянный1.jpg

Нам понадобятся такие программы:
1) AionExtract
2) AIONencdec
3) clipb
4) AIONcfgEdit

Часть прог можно найти тут и тут.

Распаковываем программой 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/"));

То в чат выбьет:

Безымянный2.jpg

Таким образом мы в команде редактируем ссылку и сколько угодно раз можем поставить новую. Только название менять не получится методом [%web:%0;%1] - выдаст в чат непонятку, менять только саму ссылку. Удачи!


Автор: Alex
 
Последнее редактирование:
Назад
Сверху