Делаем свой мутатор

Если вы создали свой пак, но пользуетесь вормом, чтобы этот пак юзать, и хотите cделать свой мутатор, то вы попали куда надо. Ща научитесь делать простой мутатор, заменяющий стандартные пушки на ваши.
Итак, откройте браузер акторов в АнриалЭдиторе (думаю, умеете это делать). Загрузите ваш пак с пушками, затем лезьте в Actor->Info->Mutator. ПКМ на Mutator и выбираем New. В Package поставьте свой пак, а в Name - имя своего мутатора. Жмём ОК.
Код:
Class ИмяМутатора extends Mutator; 
function bool AlwaysKeep(Actor Other)
{
if (Other.IsA('ИмяВашейПушки'))
return true;
else
return false;
if (NextMutator !=None){ NextMutator.AlwaysKeep(Other)};
}
/*
if Other.IsA('ИмяВашейПушки')
return true;
Пишите это столько раз, сколько нужно, вставляя имена пушек, которые добавляете
*/

function bool CheckRelpacement(Actor Other, out byte bSuperRelevant)
{
If (Other.IsA('ИмяРодительскойПушки') && !Other.IsA('ИмяВашейПушки'))
{
ReplaceWith(Other,"ИмяПака.ИмяВашейПушки");
return false;
}

bSuperRelevant=0;
return true;
/*
If (Other.IsA('ИмяРодительскойПушки') && !Other.IsA('ИмяВашейПушки'))
{
ReplaceWith(Other,"ИмяПака.ИмяВашейПушки");
return false;
}
Пишите это столько раз, сколько нужно, вставляя имена пушек, которые добавляете
*/

}

Вот пример из моего пака:
 If (Other.IsA('ShockRifle') && !Other.IsA('NeoBeamRifle')) 
{
ReplaceWith(Other,"Agonix.NeoBeamRifle");
return true;
}

Устройство int файла:
(Начало файла)
[Public]
Object=(Name=Пак.ИмяМутатора,Class=Class,MetaClass=Engine.Mutator,Description="Название мутатора, Описание мутатора")

(Конец файла)
Инт файл создаётся в любом текстовом редакторе, все файлы .u и .int идут в папку system, с остальными, я думаю, вы разберётесь.
Удачи!

Информация

Автор: Shadow97

Добавил: Shadow97 (Другие статьи пользователя)

Дата добавления: 17 Марта 12, 23:12

Категории: Unreal Tournament 99 - Моддинг

Статистика

3838 просмотров, 6 голосов

14 комментариев

UberSoldiers
UberSoldiers 29 Декабря 13
sheoth, Нужно знать хотя бы простейшее в скриптах. Если бы знал, не задавал бы этот вопрос. Методом тыка не советую делать.
Shadow97
Shadow97 28 Декабря 13
sheoth, это вопрос, к сожалению, не ко мне, т.к. я в 2004 вообще не разбираюсь. Мб когда-нибудь, но не в ближайшем будущем
sheoth
sheoth 23 Октября 13
А как сделать тоже самое но только в Ut2004?
Нужно сделать ВепонПак на основе стандартного,
но изменить некоторые характеристики и припаять собственные
меши и анимацию (они уже готовы и импортированы)

Объясните или дайте ссыль на туториал пожалуйста.
Shadow97
Shadow97 23 Марта 12
Quote (UnShame)
оно же заменяется и уже не является шок рифлой

но оно происходит от шоки. функция заменяет не только сам объект, но и всё, что от него происходит
Quote (UnShame)
так ведь надо
Quote
If (Other.IsA('ShockRifle') && !Other.IsA('NeoBeamRifle'))

В первом движке АнриалСкрипт Эдитор выдаст ошибку. Ты, если не ошибаюсь, в 2004ый ут валишься? Я, кстати, пробовал делать, как ты пишешь, нихрена, кричит "ошибка"
UnShame
UnShame 22 Марта 12
Quote (Shadow97)
Этот скрипт не позволяет нео бим рифле заменяться на саму себя 100500 раз, так как она происходит от шоки и заменяет её собой!

оно же заменяется и уже не является шок рифлой
к тому же, тут нет цикла и функция по идее один раз вызывается
тем более так не пишут же
Quote
If (Other.IsA('ShockRifle')) && (!Other.IsA('NeoBeamRifle'))

так ведь надо
Quote
If (Other.IsA('ShockRifle') && !Other.IsA('NeoBeamRifle'))

Quote
эта функция не позволяет другим мутаторам заменять твои оружия на другие.

а
Shadow97
Shadow97 22 Марта 12
А статью щас поправлю
XCanG
XCanG 21 Марта 12
UnShame, как про что? такое действие не знаешь? а выделяется в виевпорте жёлтой рамкой(в 3D виде не работает, в 2D онли)
XCanG
XCanG 21 Марта 12
UnShame, хмм мб, под рукой игры нет
Quote (UnShame)
ctrl и выделяешь лкм
это если отдельно, а если надо какую-то немаленькую комнату выпелить/переместить/дублировать(да что угодно), то выделяешь её уже в 2D Viewport'е через какое-то сочетание клавиш
Strelok616
Strelok616 20 Марта 12
На анрыл-левеле скрипты для УТ3 похоже
Хз, зачем написал
XCanG
XCanG 20 Марта 12
Quote
все файлы .u и .int идут в папку system
.ucl тоже же
Quote
(!Other.IsA('ИмяВашейПушки')
кстати на счёт этого фрагмента, лол, я 1 заметил что закрывающей скобки нет? или она там случайно впереди написана?
UnShame, ну пусть это тоже тут будет, надо лишь оптимизировать статью, всё-таки с каких-то примитивов какраз и надо начинать
я вот всё время забываю такой примитив, как "Как выделить несколько объектов в UED (в 2D-профиле)?"
Если не ошибаюсь, то все 3 клавиши, те Ctrl+Alt+Shift+LMB(ЛКМ).
Strelok616
Strelok616 19 Марта 12
Ещё напишу статью, как само оружие создать)))
Rasiel
Rasiel 19 Марта 12
!!!1 clapping оформление бы...
Strelok616
Strelok616 19 Марта 12
Твою ж девизию, молодца!
Strelok616
Strelok616 19 Марта 12
Обязательно попробую!