Если кому интересно, так же есть возможность увеличить размер монстра или нпц, не перепаковывать саму модель, используя всего лишь
.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
И если правильно понял, параметр отвечающий за то что б объект разворачивался при обращении к объекту стоящему спиной:
и параметр отвечающий наоборот лицом:
Часто используются вместе.
А так же класс отвечающий за поведение объекта к примеру как к монстру или нпц или объекту неподвижному.
Параметр
ControllerClass= а тут выбираем уже либо
Class'HerdMonster' либо
Class'HerdNpc', а так же
Class'WarnHerd'
Так же привязка к кости левой руки или аттачь, делается параметром:
Код:
LeftHandBone=Bip01 L Hand
LeftArmBone=Bip01 L Hand
Если правильно понял, алиас и кость.
Так же привязка к спине, как пример смотрим в классе broadcasting_tower:
Параметр отображение тени. В данном случае отключена.
Параметр отвечающий за наклон и разворот объекта. Обычно ставится в конце, не забываем ставить запятую.
Код:
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, '');
Так же функция для разрушения эффекта:
Данной функцией задаётся тип физики для эффекта 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.
Задаём физику нашему эффекту.
Это как я понял точка смещения относительно. Для координат ниже.
Задаём координаты расположения от точки спавна, а именно смещение.
Размер эффекта.
Если сделал где то ошибку, прошу не критиковать а поправить меня, программирование я знаю достаточно плохо. Скажем так, в скриптах я пытаюсь обтачивать навыки и могу ошибаться.