[Гайд] Делаем изменяемыми все виды оружия и брони - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Aion > Документация

Важная информация

Документация Описание установок и настроек как самого эмулятора Aion-Emu, так и сопутствующих инструментов.

Ответ
Опции темы
Непрочитано 19.11.2010, 15:03   #1
Аватар для xobotyi
Пользователь

Автор темы (Топик Стартер) [Гайд] Делаем изменяемыми все виды оружия и брони

Здравствуйте уважаемые Админы и ГМы серверов, наверное многие из вас хотели сделать так чтобы изменению поддавались все виды оружия и брони, многие хотели, да не у многих получалось, но сейчас мы это исправим.

Нам пондобятся:
1) AionExtract (прога для распаковки .pak файлов и одновременного декодированя xml файлов которые покоились в .pak) Скачать
2) Notepad++ (ну или любой удобный для вас текстовый редактор)
3) Прямые руки
4) Мозг


К изменению подлежат серверная и клиентская части.

КЛИЕНТ
Редактуре подлежит файлик client_items.xml он находится в items.pak.
Так как мы с вами работаем на клиенте 2.0 распаковывать будем items.pak из папки соответствующей региональному коду который стоит у вас на сервере( 0- Asian 1- europe 7-Russia, насчет азии не уверен). Запускаем AionExtract.exe выбираем путь где лежит items.pak, потом выбираем путь куда все будет распаковано, нажимаем extract, ждем пока программа завершит работу и в итоге мы имеем много-много фалов .dds(это текстуры иконок, но о них в другом гайде), нам же нужен client_items.xml.
Нашли его и открываем нашим текстовым редактором.

Ищем нужную шмотку или оружие, нашли, теперь в его описании ищем такую штуку:
Код:
<cannot_changeskin>0</cannot_changeskin>
это и есть параметр позволяющий менять внешний вид вещи
0- запрещено
1- разрешено
Далее если вы хотите можете запаковать xml файл обратно в .pak, но можно этого и не делать, а просто закинуть файл в папку в которой лежит оригинальный .pak, веди приоритет загрузки ресурсов стоит из папку а не из .pak .


Таким образом настраивается возможность смены внешнего вида в клиенте.



СЕРВЕР
Так же имеется проверка типа вещи и на сервере. Располагается она в сервисе смены вещей, а именно ItemRemodelService.java, в моем ядре этот файл лежит по пути core\src\com\aionemu\gameserver\services\ItemRemod elService.java (у вас путь может отличаться)
Открываем его блокнотом, видим много-много кода, но нам нуден только этот кусок:
Код:
		// Temporary check... I *think* epic and mythic items can *never* be remodeled...
		if (keepItem.getItemTemplate().getItemQuality() == ItemQuality.EPIC ||
			keepItem.getItemTemplate().getItemQuality() == ItemQuality.MYTHIC)
		{
			PacketSendUtility.sendPacket(player, new SM_SYSTEM_MESSAGE(1300478,
				new DescriptionId(keepItem.getItemTemplate().getNameId())));
			return;
		}
		
		// Check for hacks... I *think* epic and mythic items can *never* be remodeled...
		if (extractItem.getItemTemplate().getItemQuality() == ItemQuality.EPIC ||
			extractItem.getItemTemplate().getItemQuality() == ItemQuality.MYTHIC)
		{
			PacketSendUtility.sendPacket(player, new SM_SYSTEM_MESSAGE(1300482,
				new DescriptionId(extractItem.getItemTemplate().getNameId())));
			return;
		}
Здесь находится правило, что если тип вещи эпический или мифический, то не допускать его до изменения внешнего вида вещи.
Мы это исключение изменим, т.к. в запретную зону мы добавим все вещи типа CLOTHES(платья и все другие веселые костюмчики), мы ведь не хотим чтобы какой-нибудь игрок взял да изменил внешний сета рудры на костюм санты... это будет путать других игроков... (Эта часть гада делается по желанию, поэтому вы можете попросту не выполнять её)
Итак, тот код что я указал можно просто заменить на
Код:
		// Temporary check... I *think* clothes items can *never* be remodeled...
		if (keepItem.getItemTemplate().getArmorType() == ArmorType.CLOTHES)
		{
			PacketSendUtility.sendPacket(player, new SM_SYSTEM_MESSAGE(1300478,
				new DescriptionId(keepItem.getItemTemplate().getNameId())));
			return;
		}
		
		// Check for hacks... I *think* clothes items can *never* be remodeled...
		if (keepItem.getItemTemplate().getArmorType() == ArmorType.CLOTHES)
		{
			PacketSendUtility.sendPacket(player, new SM_SYSTEM_MESSAGE(1300482,
				new DescriptionId(extractItem.getItemTemplate().getNameId())));
			return;
		}
Теперь платья не смогут быть изменены, а все остальные предметы могут.

Если появятся вопросы по теме, пишите, отвечу.

На этом наш урок заканчивается, учитесь хорошо, и не прогуливайте наши занятия!
С вас спасибки и поднятие репы
До скорого, с вами был XobotyI
__________________
Bloomers --> ??? --> Profit

Последний раз редактировалось xobotyi; 19.11.2010 в 16:03.
xobotyi вне форума Отправить сообщение для xobotyi с помощью ICQ Отправить сообщение для xobotyi с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 19.11.2010, 18:46   #2
Аватар для Snion
Пользователь

По умолчанию Re: [Гайд] Делаем изменяемыми все виды оружия и брони

проделал все что написано только попробывал статы поменять
выдало SendLog Client


ошибка:
Свернуть ↑Развернуть ↓

Последний раз редактировалось Snion; 19.11.2010 в 22:36.
Snion вне форума Ответить с цитированием
Непрочитано 19.11.2010, 19:02   #3
Аватар для xobotyi
Пользователь

Автор темы (Топик Стартер) Re: [Гайд] Делаем изменяемыми все виды оружия и брони

это вызвано не изменениями, а осью, точнее не так, проблема почти на всех XP SP3... норм клиент чаще всего пашет, а когда изменяешь чето на СП3 постоянно эта лажа вылезает..

P.s. такие большие ошибки ныкай в спойлер..

Добавлено через 1 минуту
в основном проблема из-за того что ось перекрывает доступ к движку CryEngine.. как это исправить я не понимаю..
__________________
Bloomers --> ??? --> Profit

Последний раз редактировалось xobotyi; 19.11.2010 в 19:03. Причина: Добавлено сообщение
xobotyi вне форума Отправить сообщение для xobotyi с помощью ICQ Отправить сообщение для xobotyi с помощью Skype™ Ответить с цитированием
Непрочитано 19.11.2010, 22:20   #4
Аватар для Snion
Пользователь

По умолчанию Re: [Гайд] Делаем изменяемыми все виды оружия и брони

Цитата:
Сообщение от xobotyi Посмотреть сообщение
это вызвано не изменениями, а осью, точнее не так, проблема почти на всех XP SP3... норм клиент чаще всего пашет, а когда изменяешь чето на СП3 постоянно эта лажа вылезает..

P.s. такие большие ошибки ныкай в спойлер..

Добавлено через 1 минуту
в основном проблема из-за того что ось перекрывает доступ к движку CryEngine.. как это исправить я не понимаю..
спасибо огромное за подсказку буду решать проблему может если поставить совместимоть с 2000 то норм будет)
Snion вне форума Ответить с цитированием
Непрочитано 20.11.2010, 03:38   #5
Аватар для Wolfas
Пользователь

По умолчанию Re: [Гайд] Делаем изменяемыми все виды оружия и брони

xobotyi Ну это уже не красиво..
http://forum.zone-game.info/showthre...E2%E5%F9%E5%E9

Требую указания авторства идеи

Добавлено через 9 минут
Также по поводу считывания клиентом, документов:

Дело в кодировке.

Для обработки клиентом файла находящегося вне .pak архива
требуется кодировка: ucs-2 little endian

А для файлов в нутри .pak архива: UTF-8 (без BOM)

Для смены кодировок рекомендую notepad++


Также Рег коды и папки:

1 - Использует USA
2 - Использует Europe
7 - Использует Russia
__________________
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".

Последний раз редактировалось Wolfas; 20.11.2010 в 03:48. Причина: Добавлено сообщение
Wolfas вне форума Ответить с цитированием
Непрочитано 20.11.2010, 05:43   #6
Аватар для xobotyi
Пользователь

Автор темы (Топик Стартер) Re: [Гайд] Делаем изменяемыми все виды оружия и брони

этот гайд я писал вообще не зная что существует твоя тема, этот метод найден мной 15 августа этого года, так что требуй сколько влезет, если хочешь могу даже пруфы показать..
и дело не в кодировке
Код:
an Access Violation in module CrySystem.dll at 001b:046a68fb.
exception handler called in the AION Server.
start at 2010/11/19 18:49:27
Error occurred at 11/19/2010 18:50:02.
C:\Program Files\4game\Aion\bin32\aion.bin, run by Admin.
2 processor(s), type 586.
1536 MBytes physical memory.
44 percent of memory is in use.
memory history : 
virtual addr history : 
available mem to commit : 
Free Memory [PM: 878864, VM: 939464, AP: 1886364] KBytes
DataServerMemoryUsage : 0 MBytes 
ClientLaunchedCount : 1 
Write to location 00000000 caused an access violation.
хоть одно слово про кодировку видишь? access violation - переводится как запрет доступа, так что то дело в оси, я уже сталкивался с этой проблемой у игроков моего сервера, и такая ошибка возникает только у пользователей XP SP3

Добавлено через 2 минуты
вот тебе пруф:
__________________
Bloomers --> ??? --> Profit

Последний раз редактировалось xobotyi; 20.11.2010 в 05:54. Причина: Добавлено сообщение
xobotyi вне форума Отправить сообщение для xobotyi с помощью ICQ Отправить сообщение для xobotyi с помощью Skype™ Ответить с цитированием
Непрочитано 20.11.2010, 22:25   #7
Аватар для Wolfas
Пользователь

По умолчанию Re: [Гайд] Делаем изменяемыми все виды оружия и брони

xobotyi Ну рас так, примите мои извинения
__________________
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".

Последний раз редактировалось Wolfas; 21.11.2010 в 02:22.
Wolfas вне форума Ответить с цитированием
Непрочитано 12.02.2011, 14:21   #8
Аватар для Zombie
Пользователь

По умолчанию Re: [Гайд] Делаем изменяемыми все виды оружия и брони

А как сделать передаваемые все виды?

зы
я так и непонял что надо менять в этих строках?
PHP код:
        // Temporary check... I *think* epic and mythic items can *never* be remodeled...

        
if (keepItem.getItemTemplate().getItemQuality() == ItemQuality.EPIC ||

                
keepItem.getItemTemplate().getItemQuality() == ItemQuality.MYTHIC) {

            
PacketSendUtility.sendPacket(player, new SM_SYSTEM_MESSAGE(1300478,

                    new 
DescriptionId(keepItem.getItemTemplate().getNameId())));

            return;

        }


        
// Check for hacks... I *think* epic and mythic items can *never* be remodeled...

        
if (extractItem.getItemTemplate().getItemQuality() == ItemQuality.EPIC ||

                
extractItem.getItemTemplate().getItemQuality() == ItemQuality.MYTHIC) {

            
PacketSendUtility.sendPacket(player, new SM_SYSTEM_MESSAGE(1300482,
            
                    new 
DescriptionId(extractItem.getItemTemplate().getNameId())));
            return;
        } 
__________________
Если меня посадят в тюрьму, по крайней мере, не надо будет раздавать автографы. © Kurt Cobain
Zombie вне форума Ответить с цитированием
Непрочитано 12.02.2011, 15:53   #9
Аватар для weTr1k
Пользователь

По умолчанию Re: [Гайд] Делаем изменяемыми все виды оружия и брони

мб их вообще убрать
weTr1k вне форума Отправить сообщение для weTr1k с помощью ICQ Отправить сообщение для weTr1k с помощью Skype™ Ответить с цитированием
Непрочитано 12.02.2011, 20:23   #10
Аватар для 3EBC
Пользователь

По умолчанию Re: [Гайд] Делаем изменяемыми все виды оружия и брони

Вроде чтоб сделать передаваемые все вещи нужно в клиенте в фаиле итемс изменить и в самом сервере переписать итемы на передачу... Точно непомню давно это тут обсуждалось (Воспользуитесь поиском)
3EBC вне форума Отправить сообщение для 3EBC с помощью ICQ Отправить сообщение для 3EBC с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Делаем NPC обычными игроками! Из NPCs в PCs Ramzessuss Lineage II 15 22.02.2013 21:04
Виды крыльев и уникальные вещи GrinGoO Об игре 1 10.08.2010 02:00
Мануал! Усиление скила - оружия - брони. PROGRAMMATOR Тех-документация 4 14.04.2010 11:17
Делаем ТП в бездну DoLoD Серверная часть 51 23.03.2010 08:58
Гайд изменить конфигурации оружия. PEEERROGGGGG Серверная часть 0 18.02.2010 19:23


© 2007–2020 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 01:25. Часовой пояс GMT +3.

Вверх