ПредишенСледващото

Сценарият има една уникална функция, която е отговорна за хвърляне на хайвер обекти:

Първият вариант - раздел конфигурации, описващи предмета, например "болт", "med_kit" - е просто точка, прости предмети и има обекти, които се движат в онлайн / офлайн режим, NPC-та, чудовища и така нататък, например mil_killer_respawn_2 - хайвера снайперист групи убийци.

С позиция, че това не е необходимо да се обясни, има само предупреждение - тази височина Y и Z. не е възможно да се определи позицията на такава конструкция вектор (): създаване (X, Y, Z), където X, Y и Z - координира в точка което поражда обекта.

По-трудно, тъй като той наистина не може да артикулира.

Да започнем от простото към комплекса. На всяко ниво, много обекти, всички обекти са съставени от полигони, всеки полигон има върхове - върхове.

Това, че те са тук, за да покаже, защо - не е особено разбере, най-вероятно за точното позициониране на обекта. Например, можете да получите най-близо до върха на актьора - db.actor:level_vertex ()

Следваща там е много по-интересен вариант game_vertex, това е почти едно и също нещо като level_vertex, но (!) Е глобален мащаб! Ако level_vertex смята за ниво, game_vertex - за цялата игра, и че трябва да се отнасят към всеки обект Карта на мицел (по-разбираем обяснение аз не съм намерил).

Съответно, за да zaspavnen нещо по различен карта, е достатъчно game_vertex през четвъртото параметър, например:

Така, например, да zaspavnen болт под краката на актьор, писане:

1 Защо, вместо level_vertex? Проверени - без специална разлика, какво level_vertex, въпреки че в някои случаи е необходимо да се определи връх е валиден, както и че този въпрос може просто да не zaspavnen където се очаква. Но по-голямата част всичко върви добре и с единство. (Пренебрегването level_vertex може да доведе до падане през произведени обекти / символи в земята.) Но game_vertex е всичко - това показва нивото, на което да хвърлят хайвера си обект, така че трябва да бъдат посочени. Теоретично, можете просто да намерите за всяко едно ниво на game_vertex'u и ги използвайте в скриптове. В действителност game_vertex показва фрагмент от картата използва (цялата карта е разделена на парчета с непрекъснато номериране за всички нива и избира подходяща game_vertex) съответно злоупотреба cherevato.

Също така - има и друг вариант - идентификационен номер на собственост, ако посочите ID НДК или актьор - zaspavnen обект в инвентара си.

Пример (мицел артефакт медуза в опис на участник):

мицел функция връща обект на сървъра, което е, нито на НДК, или чудовище или нещо друго.

Сървър обект позволява прясно създаде NPC или кеш zatarilis различни rulezy / артефакти. Така например, по този начин ще се създаде на входа на Sidorovich dolgovtsev и го мушкам глутница касети:

Просто минимален набор - местоположение, ID, секция, и от него (сървър обект) обикновено е само лична карта, защото за самоличност може да бъде получена на същия този сървър обект:

Тя може да се използва, за да се постави етикет, например, но аз лично го използвам за други цели - изчадие на сложни обекти, по-специално - на НДК.

Например, че е необходимо да се реши следния проблем - това е необходимо да се създаде един наемник група, която да го замени и да промените инвентара си и на товара - направен за всеки играч.

В един момент zaspavneny обект преминава в режим онлайн, в този момент се дължи обратно повикване - net_spawn.

Какво ще правим? Проверява ID на обекта с спасен онлайн ID!

Ако те съвпадат, като този:

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

Така че, ние хванат убиеца на ID.

Освен това, всичко е много просто - извикайте команда за да хвърлят хайвера Гаус и боеприпаси в инвентара на НДК (виж по-горе.), Промяна на групирането на специална функция и да я направи по-различно.

Защо е толкова трудно? Просто Offline НПК, тъй като не съществува, има само косвена връзка с него, и, както и всички тези функции да работят с обект от тип "НДК", а не с сървърни обекти.

Практика (част 1)

1. За да се избегне повторение в описанието на ново търсене, проучване хартия върху създаването на куестове Fr3nzy - най-добрите статии на тази тема, аз просто не съм виждал :) Ние просто да свържете всичко това заедно и да се учат да хвърлят хайвера си обекти от сценария.

Защо е за предпочитане да се направи мицел скрипт, отколкото през същия xrSpawner? xrSpawner програма, за всички свои добродетели, има един недостатък - а именно, тя не хвърлят хайвера си през all.spawn файл, което води до:

  • Невъзможно е да се съчетаят два мода като мицел, използвайки
  • Ние трябва всеки път да се започне нова игра

Когато хвърлят хайвера си скрипт, чрез ситуацията е различна: в повечето случаи, записаните по-рано игрите ще работят, това е добра новина :)

Така че, ние определяме търсенето.

Проблем: след като говори с Sidorovich хайвера зомбита във фабриката в първото място. За да не се навреди на оригиналния сюжет на играта, задачата ще бъде издаден след преминаването на търсенето със стик бързо, тъй като там са били в същото време има зомби с гангстери и бързо. Мисля, че резултатът от битката е предрешен :)

Реализация: Аз ще се опитам да опиша всички действия възможно най-подробно, буквално стъпка по стъпка. На първо място стартирате играта :)

В конзолата, въведете следната команда:

По този начин, ние се обръщаме информационен дисплей на екрана. След това въведете друга команда:

И "лети" до завода. Ние трябва да изберете място, където да хвърлят хайвера си обекти и този режим е напълно подходящ за реализиране. Ние влагаме в бъдещия камера мицел и пиши координати - Обърнах 115, -6, -16.

За да излезете от demo_record натиснете Esc, конзолата напишете rs_stats изключен или rs_stats 0 (премахване на изходна информация).

Друг начин да получите една и съща информация - да дойде на правилното място и стартирате скрипта там, което ще даде на всички необходими координати. Аз използвам следния скрипт (обадя по традиционен начин чрез main_menu):

Извън играта, отидете в папката с игра и да се създаде gamedata директория (ако приемем, че "вая" своите "събития", за да "чисти" играта без модове инсталирани и се разархивира игра ресурси в една папка, да речем, gamedata източник).

В gamedata конфигурационния папка създадете папка, а в него - папка същества. Копие от оригиналната папка m_zombie.ltx файл и да го отворите за редактиране.

В досиетата на играта има 5 модела на цивилни зомбита:

Привеждане в игра всички от тях :)

Вече има секции:

Последните два вида използват една и съща модел zombi_trup.ogf, хмм. разстройство, поправи. Последният раздел сега изглежда така:

Добави пети модел.

За да направите това, да създадете файл в края на раздела:

Това означава, че нашата пета зомби наследява всички параметри zombie_strong, ние ще добавим визуално представяне.

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

2. Писане на сценарий мицел. В gamedata папка Създаване на нова папка скриптове, тя се създаде нов текстов документ и го наричат ​​esc_zombie.script.

Така че, ще се отвори нашия празен файл за редактиране, на първа линия декларира променлива, която съхранява нашите зомбита:

На следващо място, напиши функция:

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

За да направят играта не се срине, след като добавя нов вид чудовище, те трябва да добавите към xr_statistic.script файл. Така че, да копирате файлове от папката на скриптове игра в нашата папка, за да esc_zombie.script файл и да го отворите за редактиране.

Добавяне на локален killCountProps до чудовища ред:

Местните sect_alias ред:

А по-късно в monster_classes ред:

getNpcType функцията (NPC) се добавя структура:

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

Всичко ще работят с ентусиазъм, тъй като ние не се опитват да търсите убитите зомбита. След като направите това, играта ще се срине с около грешката.

Точно така - играта не се знае кои икона, за да покажем на нашите зомбита. Икони чудовища ui_npc_monster.dds съхраняват във файла. Има два варианта:

Връщайки се към m_zombie.ltx файл и в секция [m_zombie_e]: monster_base параметър впише

All. Заминаващи няма.

3. Темата на тази статия не дава подробно описание на това как да се направи нов диалог. В началото на тази статия споменах източника, където можете да намерите подробна информация за установяването на диалог, аз също могат да цитират примера с една статия, за да се създаде диалог по BAC9-FLCL.

Ние просто трябва да се тества функционалността на мицел скрипт, така че аз просто ще всъщност той се промени диалогът на dialogs_escape.xml файл:

И също така, свързана stable_dialogs_escape.xml файл. В началото на файла, напишете следното:

All. Можете да стартирате играта, отидете в Cordon след razgovoroa с Sidorovich, в зависимост от маркираните решения, ние тече фабриката и вижте сами ... :)

Домашна работа - обратно в игра втория тип граждански зомбита :)

Практика (част 2)

4. Днес завърши с зомбита в пълен - добави описания в енциклопедията, добавят икони, и ще се занимава с "домашното" :) Мисля, че след като внимателно изучава тази статия, вие ще бъдете в състояние да се възстанови чрез функциите на скрипт от всякакъв характер не са включени в окончателната версия на играта. Ако, който има време и желание, те дори може да пише нещо като "Нощта на живите мъртви" :) - поредица от куестове, свързани със собствена история. По този начин, "домашното" - добавя шеста зомбита.

файл модел, преди да редактирате

файл модел, след редактирането

5. Сега предписват нашите нови зомбита във всички файлове, които създадохме по-рано. В m_zombie.ltx файл до края на добавяне раздела:

в esc_zombie.script файл променя масива на първия ред:

spawn_zombies Функционалните променят реда мицел:

zombie_story_1 промяна във функцията на броя на обектите на кратно на 6 (по избор):

Всичко. Запазване и затваряне.

6. Копирайте папката в gamedata \ конфигурационния \ геймплей \ файл encyclopedia_mutants.xml, добавете описание на зомбита в енциклопедията:

И свързаните с файла в папка string_table_enc_mutants.xml gamedata \ конфигурационния \ текст \ Рус \ добавяне:

Копирайте тук stable_statistic_caption.xml файл и да го промените на 3 линии:

Запазване и затваряне.

7. И накрая - да се добавят икони. Кажете незабавно отнема готов файл съдържащ вече зомбита и други "възстановени чудовища" (благодарение Fr3nzy) икони. Така че просто копирайте ui_npc_monster.dds файла от архива на gamedata папка \ текстури \ UI \ и ui_npc_monster.xml файл - папка gamedata \ конфигурационния \ UI \. Ако искате да направите своя собствена - чете урока в промяна текстура.

С една дума, тя описва ui_npc_monster.xml файл в нея координатите на икони, подредени в ui_npc_monster.dds файл за всеки тип чудовища в играта.

Крайният попадение. M_zombie.ltx Отворете файла и да се замени първата част на линията

В раздел [zombie_ghost] добавяне на ред:

Задръжте рестото. Всичко.

Тази част от статията е написана Arhet и създава пример за това как в SRP Mod НДК фракции са създадени "Sin".

  • gamedata \ конфигурационния \ геймплей \ character_desc_escape.xml
  • gamedata \ конфигурационния \ геймплей \ npc_profile.ltx
  • gamedata \ конфигурационния \ същества \ spawn_sections.ltx

Нека започнем с character_desc_escape.xml. Описание на това какво означава да всеки ред, няма да пиша, защото всичко е направено за мен.

След това създайте нов герой:

Ние усъвършенстваме код след

Сега да отидем там и npc_profile.xml дискове:

Сега вие трябва да направите, spawn_sections.ltx. Сценарият ще "отнеме NPC» само от този файл. Пишете на:

Сега предприемат всички NPC хвърлят хайвера си скрипт, за да карам на името на секцията на spawn_sections.ltx и уо-а-ла.

Текущ забравяме, че това NPC ще бъде назначен по подразбиране Logic забравих да спомена за (XXX - Лока) (т.е. глупаво отиде там, където аз не знам):

ххх gulag.script (NPS действия, когато: където можете да зададете състоянието, за да Camper, Фолкер; i.d.t)

ххх gulag.ltx (т.е. логически удвояването двойки действие за кратко LES)

Свързани статии

Подкрепете проекта - споделете линка, благодаря!