Перейти к контенту

Рекомендуемые сообщения

Здравствуйте! Помогите мне пожалуйста. Дело в том, что я пытался заспаунить NPC, как в уроках по модостроению, но чуть-чуть в другой ситуации. Т.Е. диалог вида

Меченый - textA

NPC - textB

Меченый - textC

NPC - textD

Меченый - textE

NPC - textF

причем после реплики textF спаунится NPC на другой локации. Но в результате у меня получился текст вида

Меченый - textA

NPC - textB

Меченый - textC

Меченый - textD

Меченый - textE

Меченый - textF

причём никто по указанным координатам не спаунится. Скажите пожалуйста, как сделать диалог вида №1, и заспаунить в рез-те NPC.

Ссылка на комментарий

В области скриптописания я , фактически, нуб, поэтому прошу ногами сильно не пинать.

Для того, чтобы проверить факт спавна NPC, я сначала решил заспавнить его около ангара на Свалке.

вот это я добавил в dialogs_amk Ворону

<dialog id="test_dialog">
        <phrase_list>
        <phrase id="0">
        <text>test_dialog_0</text>
                <next>1</next>
            </phrase>
            <phrase id="1">
                <text>test_dialog_1</text>
        <next>2</next>
        <next>3</next>
        <next>4</next>
        <next>5</next>
            </phrase>
            <phrase id="2">
                <text>test_dialog_2</text>
            </phrase>
            <phrase id="3">
                <text>test_dialog_3</text>
            </phrase>
            <phrase id="4">
                <text>test_dialog_4</text>
            </phrase>
            <phrase id="5">
                <text>test_dialog_5</text>
    </phrase>
    <action>test.spawn_item_stalker</action>
        </phrase_list>
    </dialog>

 

 

вот это - в stable_dialogs_amk (слова про агропром - потому что я там хотел изначально NPC спаунить)

<string id="test_dialog_0">
        <text>Привет. Я тестю функции.</text>
    </string>
    <string id="test_dialog_1">
        <text>Ок, какую?</text>
    </string>
    <string id="test_dialog_2">
        <text>Да вот, что-то у ваших соседей на Агропроме людей маловато...</text>
    </string>
    <string id="test_dialog_3">
        <text>Да, это точно. Сколько наших в Зоне полегло, и сколько ещё поляжет...</text>
    </string>
    <string id="test_dialog_4">
        <text>Вот поэтому я и пытаюсь это сделать.</text>
    </string>   
    <string id="test_dialog_5">
        <text>Ну, давай. Удачи тебе.</text>
    </string>

 

а вот - сам скрипт спавна в test.script

function spawn_item_stalker()
alife():create("agr_stalker_general_default4",vector():set(-50.17,0.42,28.92),141823,325)
end

 

Правда, в результате последней попытки спавна у меня был вылет без лога.

Изменено пользователем skylancer-3441
Ссылка на комментарий

skylancer-3441, ну с диалогом ты сам накосячил, ты в эту фразу:

<phrase id="1">

<text>test_dialog_1</text>

<next>2</next>

<next>3</next>

<next>4</next>

<next>5</next>

</phrase>

прописал вызов всех следующих реплик. <next>n</next>, это вызов реплики с номером n после окончания фразы, а по спавну, у тебя вызов спавна вообще непонятно где висит, если тебе надо, чтоб спаунилось после определенной фразы, надо вызов спавна заключать внутри этой фразы, то есть между тегом <phrase id="n"> и тегом </phrase>.

Да и еще, левел вертеккс и гейм вертекс у тебя верные?

Изменено пользователем 8push5
Возможно всё, ну или почти всё.
Ссылка на комментарий

По поводу диалога - это я всё-таки понял, но как сделать, чтобы реплики шли по очереди - я не знаю. Координаты я брал из Position informer'a , так что там всё вроде верно. Но я хотел ещё спросить - как сделать так, чтобы в в результате заспаунился NPC с характеристиками из одного из файлов charcter_desc_название локации - например agr_stalker_general_default2 из секции stalker general в файле character_desc_agroprom?

Ссылка на комментарий

skylancer-3441

С диалогом должно быть примерно так:

 

<dialog id="test_dialog">
    <phrase_list>

        <phrase id="0">
            <text>test_dialog_0</text>
            <next>1</next>
        </phrase>

        <phrase id="1">
            <text>test_dialog_1</text>
            <next>2</next>
        </phrase>

        <phrase id="2">
            <text>test_dialog_2</text>
            <next>3</next>
        </phrase>

        <phrase id="3">
            <text>test_dialog_3</text>
            <next>4</next>
        </phrase>

        <phrase id="4">
            <text>test_dialog_4</text>
            <next>5</next>
        </phrase>

        <phrase id="5">
            <text>test_dialog_5</text>
            <action>test.spawn_item_stalker</action>
        </phrase>

    </phrase_list>
</dialog>

 

Обрати внимание, как расставлены теги next и на положение тега action. Сам спавн не проверял.

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Ссылка на комментарий

У меня такой вопрос, заранее буду благодарен:

Я хочу карту "Заброшена деревня" из мультиплейера добавить до основных лок...

1)Что нужно сделать в all.spawn чтоб она там отображалась как все остальние???

2)И как сделать переходы в том же all.spawn на ету локацию, только не ЧЕРЕЗ ТЕЛЕПОРТЫ???

Ссылка на комментарий

Если заспавнить НПС не входящего в гулаг, eсть ли вероятность что он будет затянут в какой нибудь гулаг.

Ссылка на комментарий

Вообще по идее должно затягивать, но для надежности можешь вызвать после спавна:

obj:brain():update()
local smart_terrain_id = obj:smart_terrain_id()
if smart_terrain_id ~= 65535 then
--затянуло в гулаг
else
--не затянуло
end

Так сделано в респавнерах(se_respawn.script)

Ссылка на комментарий

Создаю "smart_terrain" возникло несколько вопросов:

1. Как высщитать радиус смарта "shape0:radius"

2."cond" что это? и как правильно записать.

Ссылка на комментарий

1. нафиг не нужно вернее ни на что не влияет лиш бы была цифра отличная от нуля например 0.00000001

2. Настройка логики 3ч

 

cond = список условий, которые необходимы для создания гулага {+info –info =func !func} – если условие не выполняется, то гулаг распускается, а все его подопечные начинают управляться прописанной в custom_data логикой.
Ссылка на комментарий

Сталкеры, помогите!

Пытаюсь сделать нескольких неписей с логикой kamp, но столкнулся с такой проблемой: логика таких сталкеров задаётся, если они в каком либо гулаге(как я понял), а в файлах логики есть не совсем понятная мне строчка center_point = gar_seryi_kamp(например).

Так вот, можно ли задать неписям логику Kamp, не используя гулаг, чтоб получилось примерно как с логикой walker т.е. примерно как

[logic@amk_mini_bar_stalker11]

active = walker@amk_mini_bar_stalker11

 

[walker@amk_mini_bar_stalker11]

path_walk = stalker11_walk

path_look = stalker11_look?

Изменено пользователем ray-seven

Slot_Foulex1.jpg

1206258659_lumen_fr.gif

ХалаДильНИК TV-интересно и вкусно!

Ссылка на комментарий
...можно ли задать неписям логику Kamp, не используя гулаг...

Можно. Сначала нужно исключить возможность попадания в гулаг. Для этого в логике пишется секция :

[smart_terrains]

none = true

Далее логика пишется таким образом :

[logic]

active = kamp

[kamp]

center_point = *** (***-это имя точки, вокруг которой НПС садятся. Располагать её можно где угодно, не только у костра. Название этой точки должно быть уникальным, т.к. она прописывается в way_"уровень".ltх)

radius = * (*-радиус в метрах от точки center_point, в пределах которого НПС будут садится. Можно не указывать. По умолчанию 2 метра)

path_walk = ***_task (Можно не прописывать, если точка center_point находится не в центре костра. *** - то же название, что и указано в center_point, с добавлением _task. Эта точка тоже прописывается в way_"уровень".ltх, но координаты указываются на некотором расстоянии от center_point. Эта строка нужна для того, чтобы при переходе из оффлайн НПС не попадали в костер и не получали хит, а выходили в этой точке)

Ссылка на комментарий

Кто разбираетса в респавне, подскажите???

Я создал екологов на Янтаре в all.spawn - короче все работаэт, а с респавном немогу разобратса:

Сделал так в spawn_sections.ltx

 

[yan_ecolog_guardsy_respawn_2]:stalker

$spawn = "respawn\yan_ecolog_guardsy_respawn_2"

character_profile = yan_ecolog_guardsy

spec_rank = veteran

community = ecolog

 

и в all.spawn так:

 

[6422]

; cse_abstract properties

section_name = respawn

name = yantar_respawn_ecology_1

position = 51.1563148498535,-11.880274772644,-276.611328125

direction = 0.0667107999324799,-0.00660163350403309,0.0987119972705841

 

; cse_alife_object properties

game_vertex_id = 1480

distance = 16.7999992370605

level_vertex_id = 65493

object_flags = 0xffffff3e

custom_data = <<END

[respawn]

respawn_section = yan_ecolog_guardsy_respawn_2, 3

;max_count = 10

;min_count = 5

max_spawn = 3

idle_spawn = medium

;conditions = {+yan_kill_brain_done} 70, 0

END

 

; cse_shape properties

shapes = shape0

shape0:type = sphere

shape0:offset = 0,0,0

shape0:radius = 1.85860002040863

 

; cse_alife_space_restrictor properties

restrictor_type = 0

 

; se_respawn properties

 

А они всеравно нереспавнятса, помогите сделать нормальний респавн??

Ссылка на комментарий

Killer-44,

а строка

name = yantar_respawn_ecology_1

не должна быть идентична названию твоего респавна?(я не знаю!Это только предположение)

врубим МОСК))).Строка из "spawn_sections.ltx":

 

$spawn = "respawn\yan_ecolog_guardsy_respawn_2"

 

явно для чего то нужна)))

и как мне кажется:

[6422]

; cse_abstract properties

section_name = respawn

name = yan_ecolog_guardsy_respawn_2 -тут и должно быть это название,или я не прав?

Изменено пользователем Костя.н.ы.ч

Иду по болоту,темно и гроза+туман...играет страшная музыка...черт аномалия...ф7...странные звуки в кустах...очередь и бежать...догоняет...чертова экза наемников...слышу его вой,сомнений нет-кровосос...на ходу вставляю батарейки в фонарик,включаю...передо мной стоит ОН!...как же он красив при освещении молнии...черт с ним,ф7...как бы до бара добраться?...удается модик...

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...