Рейтинг темы:
  • 2 Голос(ов) - 4.5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Компиляция .u
#11
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)
Ответ
#12
Если кому интересно, так же есть возможность увеличить размер монстра или нпц, не перепаковывать саму модель, используя всего лишь .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 и дублируем строку с нашим нпц но уже с новым ид нпц и изменённым адресом к нашему классу.
Получаем следующее:
Код:
[color=red]40000[/color]    [color=Blue]LineageMonster10.oel_mahum_warrior[/color]    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);

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

Если сделал где то ошибку, прошу не критиковать а поправить меня, программирование я знаю достаточно плохо. Скажем так, в скриптах я пытаюсь обтачивать навыки и могу ошибаться.
Ответ
#13
Свои пакеты это конечно здорово, но как изменить тот же interface.u?
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#14
Декомпилировать его до исходного состояния, проверить. И посмотреть на какие классы в каких пакетах он ссылается, и пересобрать те пакеты. Всё реально! Всё это реально! Едитор работать не будет но как компилятор будет!
Думайт, делайте!
Ответ
#15
Phantom-Dev Написал:Декомпилировать его до исходного состояния, проверить. И посмотреть на какие классы в каких пакетах он ссылается, и пересобрать те пакеты. Всё реально! Всё это реально! Едитор работать не будет но как компилятор будет!
Думайт, делайте!
Ну смотрите. Interface.xdat мне кажется железно привязан к interface.u. Как их отвязать друг от друга?)

Добавлено через 30 минут
Вообщем интересно где указано отображение дебафов. В u я как-то этого не нашел. Совсем.
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#16
Zubastic Написал:Свои пакеты это конечно здорово, но как изменить тот же interface.u?

Никак. Этого он никогда не научится делать.
Родился, живу и когда-нибудь умру.
Ответ
#17
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
Ответ
#18
Ну можно же получить весь исходный код interface.u в читабельном виде. Получается можно и скомпилить. Или там будет какая то особая структура?
1
Aka Stels
Ответ
#19
Что б его собрать надо ещё много других классов и пакетов пересобирать! Одним интерфейс это не ограничится а и зацепит и кучу других пакетов которые для компиляции монстров нпц и эффектов и т.д не нужны, но нужны для интерфейса!
Ответ
#20
Shayne Написал:Ну можно же получить весь исходный код interface.u в читабельном виде. Получается можно и скомпилить. Или там будет какая то особая структура?
1

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


Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)