Сценарият има една уникална функция, която е отговорна за хвърляне на хайвер обекти:
Първият вариант - раздел конфигурации, описващи предмета, например "болт", "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)
Свързани статии