Сейф на Sandman - Статии - Функции

Мнозина, които се опитаха да напишат своите модове или мутатори, се натъкнаха на факта, че UnrealEd не можеше да осигури изпълнението на някои функции при писане на скриптове и може би дори не подозираха, че има друг начин за компилиране на изходния код на модовете.
Първо, нека дефинираме терминологията. Пакетът (от английския пакет) е файл, съдържащ обекти от всякакъв тип: текстури, звуци, музика, скриптове и т.н. За Unreal Tournament те са представени от U-файлове (* .u) и са компилирани скриптове, които са във файла, заедно с текстовото им представяне, както и компресирани текстури, звуци и други обекти. Скриптът е изходният код на програма, обработена от Unreal Tournament engine. Те са представени от UC файлове (* .uc) и са в текстов формат. UC файловете винаги описват клас, който е част от дървото на класа на Unreal Tournament.
И така, всичко започва с UCC.exe - малък файл, намиращ се в системната директория.
Много хора изобщо не се интересуват от съдържанието на директориите, някои се интересуват, но не отиват твърде далеч, някои дори са пуснали UCC.exe, но са се уплашили от резултата от неговата работа - в края на краищата той работи в конзолен режим. Факт е, че при цялата си простота и грозота този файл е самият компилатор на Anrial script, с помощта на който се създават всякакви модификации и мутатори. Но функциите му не са ограничени до това. Не напразно програмата, която се крие във файла UCC.exe, се нарича "среда за изпълнение на UnrealOS" - "среда за изпълнение на операционната система Unreal".
За да работите с тази програма, най-добре е да създадете BAT файл, тъй като често ще трябва да го стартирате с различни параметри в командния ред. Също така трябва да махнете отметката от "Затвори прозореца в края на сесията" в свойствата на този BAT файл. Така че ще видим кои съобщения програмата пише. Ако има много съобщения и те не се побират на екрана или искате да прегледате програмните съобщения под различна форма, можете да прегледате файла UCC.log в същата папка след изпълнение на каквито и да било задачи в UCC.exe. Това понякога е необходимо. Файлът UCC.log съдържа по-пълна информация за работата на програмата.
Нека да преминем сега директно към стартирането на UCC.exe. При стартиране програмата записва на екрана съобщение:

Това е името на програмата и ръководството с инструкции. Програмата ни казва да я стартираме с параметъра Help. Следваме тази инструкция и, като стартираме програмата с параметъра Help, получаваме пълен списък с параметри на командния ред, които изпълняват определени функции, както и малко обяснение за всеки от параметрите. Това е списъкът на всички параметри на UCC.exe:

Команди за "ucc":
ucc
ucc batchexport Групово експортиране на обекти
ucc контролна сума Изчислете контролната сума на пакета за регистриране на статистика
ucc checksumpackage Показване на контролна сума за пакетен файл
ucc compress Компресирайте Unreal пакет за автоматично изтегляне. A
ще бъде създаден файл с разширение .uz.
uccform Генериране на съответстващи двоични файлове
ucc datarip Създайте пакет с данни за текстура, музика и звук
изтръгнат.
ucc decompress Декомпресиране на файл, компресиран с ucc компресиране.
ucc Пример за HelloWorld
ucc help Помощ за команда
ucc правят Rebuild UnrealScript пакети
ucc master Изграждане на главни инсталационни файлове
ucc masterserver Поддържа главен списък със сървъри.
ucc mergedxt Обединяване на DXT текстури със стандартни текстури
ucc packageflag Задайте флагове на пакети в пакетни файлове
ucc сървър Мрежов сървър за игри
ucc updateserver Service Unreal Engine заявки за автоматично актуализиране.
ucc updateumod Добавяне, изтриване, замяна или извличане на файлове от umod

Ще се опитам да опиша някои от функциите, които ще ви позволят не само да създавате свои собствени модове и мутатори, но и да анализирате скриптове на други хора, както и да получавате ресурсни обекти от чужди пакети, да вграждате ресурсни обекти във вашите модове и мутатори . Повечето функции на UCC.exe не са необходими на обикновения потребител, така че ще разгледаме само няколко. Така:

1. BatchExport - ви позволява да експортирате различни обекти от определен пакет и да ги запазвате в определен формат.

Употреба: UCC.exe BatchExport Package.ext ClassName Export_Ext Path

Параметри:
Package.ext - Пакетът, от който ще експортирате обекти (с разширение).
ClassName - Класът на обектите за експортиране.
Export_ext - Разширение на файлове, към които ще бъдат експортирани обекти от пакета.
Път - Пътят до папката, където ще бъдат експортирани файловете.

Пример: UCC.exe BatchExport UWindow.u Текстура pcx C: \ UCC_Learn
Всички текстури в този пакет ще бъдат експортирани от пакета UWindow.u в папката C: \ UCC_Learn. Освен това текстурите ще бъдат запазени във формат PCX. Ако трябва да експортирате звуци, тогава параметърът ClassName трябва да бъде променен на Sound, а параметърът Export_ext на wav: UCC.exe BatchExport Botpack.u Sound wav C: \ UCC_Learn.
Скриптовете се експортират от пакетите по същия начин. В този случай стойностите на параметрите ClassName и Export_ext трябва да бъдат съответно Class и uc:

UCC.exe BatchExport botpack.u Клас uc C: \ UCCLearn.

2. DataRip - Изрязва обекти от един пакет и ги вмъква в друг, като същевременно компилира този втори пакет, така че всички връзки в обектите да са установени в съответствие с името му.

Употреба: UCC.exe DataRip SrcPackage.ext DstPackage.ext

Параметри:
SrcPackage.ext - Изходен пакет.
DstPackage.ext - Нов пакет.

Пример: UCC.exe DataRip DE.u DE1.u
Всички данни от пакета DE.u ще бъдат прехвърлени в новия пакет DE1.u, след което DE1.u ще бъде прекомпилиран. По този начин класовете, описани и компилирани в DE.u, ще функционират и в DE1.u. Например класът DE.TeamBeacon ще се превърне в DE1.TeamBeacon и ще работи правилно.

3. Помощ - дава информация за командата.

Употреба: Помощ за UCC.exe

Параметри:
- Команда, за която имате нужда от помощ.

Пример: UCC.exe Помощ BatchExport
UCC.exe ще върне информация за командата BatchExport, обсъдена по-горе. Резултатът ще бъде такъв:

Използвайки:
ucc batchexport package.ext име на клас export_ext

Параметри:
package.ext Пакет, чиито обекти искате да експортирате
classname Клас на обект за експортиране
export_ext Разширение на файла за експортиране в
path Път за експортиране на файлове, като c: \ MyPath
Както можете да видите, има кратко описание на командата и параметрите за нея. Помощта е доста полезна команда. Използвайте го, ако не помните как да направите нещо или ако има грешка. Може би просто сте забравили реда на параметрите или техния брой.

4. Make - Компилира пакетите.

Употреба: UCC.exe Make [-option. ] [parm = стойност].

Параметри:
Не съм писал за [-option. ], тъй като настройва различни режими на компилация, които обикновено не се използват от обикновените потребители. Също така, всички параметри на тази команда не са задължителни и най-често тя се използва без тях.

Пример: UCC.exe Make
Програмата ще провери раздела [Editor.EditorEngine] на файла UnrealTournament.ini за редове, започващи с думите EditPackages (като EditPackages = Core) и ще посочи пакетите, които трябва да бъдат компилирани, след което ще започне да търси папка с същото име в директорията UnrealTournament (в нашия случай в случай на UnrealTournament \ Core). Ако резултатът от търсенето се окаже положителен, следващата проверка на съдържанието на папката на пакета за наличие на подпапки Класове, Текстури, Звуци и др. Скриптовете от папката Classes ще бъдат компилирани в нов пакет, а ресурсните обекти от други папки ще бъдат компресирани и добавени там.

5. UpdateUMOD - Позволява ви да работите с архиви във формат UMOD.

Употреба: UCC.exe UpdateUMOD UmodFile команда [Име на файла]

По този начин разгледахме някои от функциите на програмата UCC.exe, които могат да бъдат полезни на потребителя за създаване на собствени модификации и мутатори. Всички команди, въведени в командния ред, може да нямат главни букви. UCC.exe не е чувствителен към малки и големи букви, когато интерпретира тези команди. Писах главни букви с командни думи за по-лесно възприемане на текста от читателя.

Нестандартни методи за инсталиране на модове

По-горе обсъдихме метода за инсталиране на модове от UMOD файлове с помощта на програмата UCC.exe, която е универсална програма за работа с пакети и архивни файлове UMOD. Както споменахме, описаният метод има много недостатъци, но понякога е единственият възможен. Има обаче друг начин за инсталиране на модове, ако Unreal Tournament не е създал необходимите записи в системния регистър. Състои се в това, че името на UMOD файла, съдържащ мода, се предоставя на програмата Setup.exe за изпълнение в командния ред след параметъра Install.
Като цяло изглежда така: Setup.exe Инсталирайте “Name_UMOD_File.umod” .
Имайте предвид, че името на UMOD файла се записва с разширението в двойни кавички. Това трябва да се помни, тъй като липсата на кавички или разширение може да доведе до неправилно тълкуване на вашата заявка от Setup.exe. .

Мутатор за 10 минути

Нека разгледаме технологията за създаване на мутатори, като използваме примера на обикновен мутатор RedeemerArena. Четенето на този документ ще бъде интересно само за начинаещи сценаристи или просто за любопитни потребители, които никога не са се сблъсквали със създаването на свои собствени мутатори.
За целта е препоръчително да имате малко разбиране за функциите на UCC.exe, както и малко търпение.
Така:

1. Отидете в папката, в която сте инсталирали Unreal Tournament.
Например: C: \ Program Files \ GT Interactive \ UnrealTournament.

2. Създайте папка с името на вашия мод. Името на папката ще стане име на пакета в бъдеще. В нашия случай би било разумно да го наречем Изкупител Арена. По този начин получихме папка: C: \ Program Files \ GT Interactive \ UnrealTournament \ RedeemerArena.
Влезте в тази папка.

3. Вътре в папката RedeemerArena създайте подпапка Classes. Тази папка ще съдържа изходните текстове на скриптовете. Тъй като не е необходимо да вграждаме други обекти в нашия мутатор, като звук или текстури, не е необходимо да създаваме допълнителни папки Звуци и текстури. Тоест на тази стъпка получаваме само папката:
C: \ Program Files \ GT Interactive \ UnrealTournament \ RedeemerArena \ Classes.
Влезте в тази папка.

5. Вмъкнете следните редове в този файл (RedeemerArena.uc):

Class RedeemerArena разширява Арена;

функция bool AlwaysKeep (Актьор Друг)
Местен Bool bTemp;

Ако (Other.IsA (WeaponName))
Оръжие (друго) .PickupAmmoCount = 50;
Return True;
>

Ако (NextMutator! = Няма)
Връщане (NextMutator.AlwaysKeep (Друго));
Връщане невярно;
>

DefaultProperties
WeaponName = WarheadLauncher
WeaponString = "Botpack.WarheadLauncher"
DefaultWeapon = Class'Botpack.WarheadLauncher '
>

Запазете и затворете файла.

6. Излезте от текущата директория и отидете в папката UnrealTournament \ System.

8. Вмъкнете следните редове в този файл (RedeemerArena.int):

[Обществено]
Обект = (Име = RedeemerArena.RedeemerArena, Class = Class, MetaClass =
Engine.Mutator, Описание = "RedeemerArena, Only Redeemers!")

Запазете и затворете файла.

10. Намерете секцията [Editor.EditorEngine] в този файл и добавете в края след редовете:

EditPackages = Ядро
EditPackages = Двигател
EditPackages = Редактор
EditPackages = UWindow
EditPackages = Пожар
EditPackages = IpDrv
EditPackages = UWeb
EditPackages = UBrowser
EditPackages = UnrealShare
EditPackages = UnrealI
EditPackages = UMenu
EditPackages = IpServer
EditPackages = Botpack
EditPackages = UTServerAdmin
EditPackages = UTMenu
EditPackages = UTBrowser

Още един ред: EditPackages = Изкупител Арена.
Запазете и затворете файла.