Компиляция .u - Страница 2 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Обучающие статьи

Обучающие статьи Собрание статей, мануалов и гайдов помогающих в создании и администрировании сервера Lineage 2.
Описание темы:Компиляция простых классов.

Ответ
Опции темы
Непрочитано 24.02.2015, 08:16   #11
Пользователь

Автор темы (Топик Стартер) Re: Компиляция .u

What's this?
Код:
rag2src\src\engine\i nc\
                    ^
\engine\inc \
           ^
And there's normally used to assemble the project, it is necessary to set up a VS project.

Кстати если кому нужно исходники от ut2004 именно .u пакетов: качаем тут (не реклама, офф сылки от Epic Games)

By the way if anyone needed source of ut2004 it .u packages:download here (no advertising, Shortcuts official from Epic Games)

Последний раз редактировалось Phantom-Dev; 26.02.2015 в 16:49.
Phantom-Dev вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 02.03.2015, 00:21   #12
Пользователь

Автор темы (Топик Стартер) Re: Компиляция .u

Если кому интересно, так же есть возможность увеличить размер монстра или нпц, не перепаковывать саму модель, используя всего лишь .u скрипт. А так же немного распишу некоторые параметры. Информация может сгодится для создания рб, что б не перепаковывать нпц тем самым делая его без звука, так как большинство админов не умеют собирать монстров или нпц со звуками!

Делается это так:

Меняем размер монстра или нпц через .u

Ищем необходимого монстра или нпц через umodel и определяемся с необходимым вам.
Далее смотрим в окне umodel на выбранном нпц информацию о названии модели а именно поле Package и Object
Как пример:
Package: LineageMonsters
Object: oel_mahum_warrior_m00
Получаем такой путь к нашему нпц: LineageMonsters.oel_mahum_warrior_m00

Теперь открываем в File Edite файл npcgrp.dat из папки system клиента.
И поиском по файлу ищем LineageMonsters.oel_mahum_warrior_m00. После чего находим к примеру такую строку:
Код:
20575	LineageMonster.oel_mahum_warrior	LineageMonsters.oel_mahum_warrior_m00	3	LineageMonstersTex.oel_mahum_warrior_t00	LineageMonstersTex.oel_mahum_warrior_t01	LineageMonstersTex.oel_mahum_warrior_t02					0			12	4416	6	4410	12	4411	12	4412	10	4413	10	5620	10																							1.00000000	0	3	ItemSound.sword_big_9	ItemSound.sword_big_2	ItemSound.spear_4	4	MonSound.Hit_Stone_3	ItemSound.shield_steel_2	MonSound.Hit_normal_12	ItemSound.shield_steel_8		3	MonSound2.oel_w_dmg_1	MonSound2.oel_w_dmg_2	MonSound.oel_mahum_dmg_3	0			1	0																																										1	0																																										LineageEffect.p_u002_a	0	50.00000000	250.00000000	70.00000000	0	1	0						0
Здесь нам самое важное, это 2-й столбец а именно LineageMonster.oel_mahum_warrior - это путь к классу в .u пакете, который описует параметры нашего нпц.
Далше ищем декомпилятором к примеру WOTgreal Package Exporter в .u пакете, необходимый класс, а именно oel_mahum_warrior в пакете LineageMonster.
Копируем код и создаём наш новый .u пакет с таким же кодом, к примеру LineageMonster10.
Код:
Код:
class oel_mahum_warrior extends LineagePawn;

defaultproperties
{
    GroundMaxSpeed=60.00
    GroundMinSpeed=60.00
    bSpineRotation=True
    ControllerClass=Class'HerdMonster'
    CollisionRadius=20.00
    CollisionHeight=38.00
}
И добавляем в код, параметр который отвечает за увеличение нашего обьекта а в данном случае нпц.
Параметр DrawScale= и разумеется размер с указанием до сотых. К примеру 1.50 и получаем следующий код:
Код:
class oel_mahum_warrior extends LineagePawn;

defaultproperties
{
    GroundMaxSpeed=60.00
    GroundMinSpeed=60.00
    bSpineRotation=True
    ControllerClass=Class'HerdMonster'
    DrawScale=1.50
    CollisionRadius=20.00
    CollisionHeight=38.00
}
Затем сохраняем и собираем пакет по гайду из этой темы. Затем заходим в нашу npcgrp.dat и дублируем строку с нашим нпц но уже с новым ид нпц и изменённым адресом к нашему классу.
Получаем следующее:
Код:
40000	LineageMonster10.oel_mahum_warrior	LineageMonsters.oel_mahum_warrior_m00	3	LineageMonstersTex.oel_mahum_warrior_t00	LineageMonstersTex.oel_mahum_warrior_t01	LineageMonstersTex.oel_mahum_warrior_t02					0			12	4416	6	4410	12	4411	12	4412	10	4413	10	5620	10																							1.00000000	0	3	ItemSound.sword_big_9	ItemSound.sword_big_2	ItemSound.spear_4	4	MonSound.Hit_Stone_3	ItemSound.shield_steel_2	MonSound.Hit_normal_12	ItemSound.shield_steel_8		3	MonSound2.oel_w_dmg_1	MonSound2.oel_w_dmg_2	MonSound.oel_mahum_dmg_3	0			1	0																																										1	0																																										LineageEffect.p_u002_a	0	50.00000000	250.00000000	70.00000000	0	1	0						0
Где 40000 новый ид нашего нпц а LineageMonster10.oel_mahum_warrior путь к новому классу который мы собрали.

Так же можно увеличивать и размер оружия у нпц, если оно отдельным обьектом в одной модели. Параметр WeaponScale=

Так же изменение минимальной и максимальной скорости передвижения:
Код:
    GroundMaxSpeed=60.00
    GroundMinSpeed=60.00
и колизии для обьекта:
Код:
    CollisionRadius=20.00
    CollisionHeight=38.00
И если правильно понял, параметр отвечающий за то что б объект разворачивался при обращении к объекту стоящему спиной:
Код:
bSpineRotation=True
и параметр отвечающий наоборот лицом:
Код:
bFaceRotation=True
Часто используются вместе.

А так же класс отвечающий за поведение объекта к примеру как к монстру или нпц или объекту неподвижному.
Параметр ControllerClass= а тут выбираем уже либо Class'HerdMonster' либо Class'HerdNpc', а так же Class'WarnHerd'

Так же привязка к кости левой руки или аттачь, делается параметром:
Код:
    LeftHandBone=Bip01 L Hand
    LeftArmBone=Bip01 L Hand
Если правильно понял, алиас и кость.

Так же привязка к спине, как пример смотрим в классе broadcasting_tower:
Код:
    SpineBone=Bone02
Параметр отображение тени. В данном случае отключена.
Код:
    bActorShadows=False
Параметр отвечающий за наклон и разворот объекта. Обычно ставится в конце, не забываем ставить запятую.
Код:
RotationRate=(Pitch=10000,Yaw=0,Roll=0),
Параметр NameOffset=60.00 как я понял отвечает за отображение титула имени нпц или моба. Если не ошибаюсь.

Так же нашел такие параметры, но ещё не понял за что они отвечают, просьба, разобравшихся отписываться в теме:
Код:
    bBlockPlayers=False - судя по параметру, какае то блокировка взаимодействия с персонажем
А так же параметр привязывание класса эмитера, ещё раз повторюсь, привязка именно эмитера а не эффекта, эффект прописуется не в параметрах а непосредственно в самом классе через Spawn, примеров этому множество, полистайте классы и сразу найдёте(к примеру training_doll_150p):
Код:
EmitterClass="Lineageeffect.teleport_map_a"
Если где то допущена ошибка по описанию параметров, просьба писать в тему, будем по мере поступления разбираться со скриптами и их функционалом.

Добавлено через 1 час 23 минуты
***

Параметры описали практически все, дабы не путать людей и не вводить в заблуждение, описание функций самого класса буду писать здесь.

Если у вас задан эффект и заспавнен функцией Spawn, то в его условии вы можете привязать его к кости, данным параметром:
Код:
AttachToBone(Effect0, '');
Так же функция для разрушения эффекта:
Код:
Effect0.NDestroy();
Данной функцией задаётся тип физики для эффекта 0 (Типы физики смотрим на вики унреала тут):
Код:
Effect0.SetPhysics(PHYS_Trailer);
Как пример создадим создание эффект в нашем классе нпц или монстра или ещё чего либо:
Код:
			Effect0 = Spawn(class'LineageEffect.d_belecp_deco', Self, '', Location, Rotation);
			if(Effect0 != None)
			{
				Effect0.SetPhysics(PHYS_Trailer);
				Effect0.bRelativeTrail = true;
				Effect0.RelativeTrailOffset.X = 0;
				Effect0.RelativeTrailOffset.Y = 0;
				Effect0.RelativeTrailOffset.Z = -30;
				Effect0.SetSizeScale(1.0);
				//AttachToBone(Effect0, '');
			}
Создаём эффект, точней спавним его отображение из пака наших эффектов LineageEffect.
Задаём физику нашему эффекту.
Это как я понял точка смещения относительно. Для координат ниже.
Задаём координаты расположения от точки спавна, а именно смещение.
Размер эффекта.

Если сделал где то ошибку, прошу не критиковать а поправить меня, программирование я знаю достаточно плохо. Скажем так, в скриптах я пытаюсь обтачивать навыки и могу ошибаться.

Последний раз редактировалось Phantom-Dev; 02.03.2015 в 16:33. Причина: Добавлено сообщение
Phantom-Dev вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 02.03.2015, 18:40   #13
Аватар для Zubastic
ZG troll squad

По умолчанию Re: Компиляция .u

Свои пакеты это конечно здорово, но как изменить тот же interface.u?
__________________
Zubastic вне форума Ответить с цитированием
Непрочитано 02.03.2015, 21:44   #14
Пользователь

Автор темы (Топик Стартер) Re: Компиляция .u

Декомпилировать его до исходного состояния, проверить. И посмотреть на какие классы в каких пакетах он ссылается, и пересобрать те пакеты. Всё реально! Всё это реально! Едитор работать не будет но как компилятор будет!
Думайт, делайте!
Phantom-Dev вне форума Ответить с цитированием
Непрочитано 03.03.2015, 03:15   #15
Аватар для Zubastic
ZG troll squad

По умолчанию Re: Компиляция .u

Цитата:
Сообщение от Phantom-Dev Посмотреть сообщение
Декомпилировать его до исходного состояния, проверить. И посмотреть на какие классы в каких пакетах он ссылается, и пересобрать те пакеты. Всё реально! Всё это реально! Едитор работать не будет но как компилятор будет!
Думайт, делайте!
Ну смотрите. Interface.xdat мне кажется железно привязан к interface.u. Как их отвязать друг от друга?)

Добавлено через 30 минут
Вообщем интересно где указано отображение дебафов. В u я как-то этого не нашел. Совсем.
__________________

Последний раз редактировалось Zubastic; 03.03.2015 в 05:40. Причина: Добавлено сообщение
Zubastic вне форума Ответить с цитированием
Непрочитано 03.03.2015, 07:20   #16
Аватар для Donatte
Герой

По умолчанию Re: Компиляция .u

Цитата:
Сообщение от Zubastic Посмотреть сообщение
Свои пакеты это конечно здорово, но как изменить тот же interface.u?
Никак. Этого он никогда не научится делать.
__________________
Родился, живу и когда-нибудь умру.
Donatte вне форума Ответить с цитированием
Непрочитано 03.03.2015, 12:08   #17
Пользователь

По умолчанию Re: Компиляция .u

Thank you very much for the information, you are great! I have a problem when compiling Lineagemonsters10.u. I use the compiler .ucc the game Unreal Tornamment 2004, I also tried to version UnrealEngine2Runtime (ue2runtime-22261903). The problem is with the class LineagePawn. Decoded l2decrypt.exe LineageWarrior.u but I can not compile the file Lineagemonsters10.u. I noticed that LineagePawn refers to the Pawn that is engine.u (class LineagePawn extends Pawn). Do I have a decrypted file engine.u l2? Thanks for the help
Asuki вне форума Ответить с цитированием
Непрочитано 03.03.2015, 13:14   #18
Герой

По умолчанию Re: Компиляция .u

Ну можно же получить весь исходный код interface.u в читабельном виде. Получается можно и скомпилить. Или там будет какая то особая структура?
__________________
Aka Stels
Shayne вне форума Отправить сообщение для Shayne с помощью Skype™ Ответить с цитированием
Непрочитано 03.03.2015, 18:08   #19
Пользователь

Автор темы (Топик Стартер) Re: Компиляция .u

Что б его собрать надо ещё много других классов и пакетов пересобирать! Одним интерфейс это не ограничится а и зацепит и кучу других пакетов которые для компиляции монстров нпц и эффектов и т.д не нужны, но нужны для интерфейса!
Phantom-Dev вне форума Ответить с цитированием
Непрочитано 03.03.2015, 18:55   #20
Изгнанные

По умолчанию Re: Компиляция .u

Цитата:
Сообщение от Shayne Посмотреть сообщение
Ну можно же получить весь исходный код interface.u в читабельном виде. Получается можно и скомпилить. Или там будет какая то особая структура?
Нельзя скомпилировать то чего нету!, нативный код ты компилятору не подкинешь это во первых(потому что он потребуется перекомпиляции всех нативных пэкэджей, а для них сурса нету ), а во вторых нужен сурс определенных нативных функий L2, иначе ссылок на него не будет и ла2 тупо пошлет нафиг такой Interface.u, Да и вообще нафиг -вам мутить свой Interface.u если вы и доли того что он делает не понимайте.

Последний раз редактировалось Confusion; 03.03.2015 в 20:30.
Confusion вне форума Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компиляция ява сборок с помощью Ant [STIGMATED] Тех-документация 41 07.08.2013 21:13
Все о EVEmu (Информация, Компиляция, Установка) Monolit Другие игры / Other games 16 04.11.2011 19:54
ZG-compiller - установка и компиляция сборок ява серверов PROGRAMMATOR Тех-документация 49 05.08.2010 08:44
Компиляция и настройка ScriptDev2 PROGRAMMATOR Документация 10 22.03.2010 22:05
[Manual] Компиляция сервера под *nix на примере L2EMU advix Тех-документация 0 10.10.2008 17:43


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

Вверх