Правила сайта FAQ Мини-чат
Для добавления необходима авторизация!
23.12.2024, Понедельник, 08:19


Модератор форума: romale  
Разборочная комната ТЧ
Сообщение #1
Вы задаёте интересующий вас вопрос и тот, кто может вам на него ответить, пишет свой ответ. Правила темы:

1. Прежде чем задать вопрос, желательно прочитать все предыдущие страницы темы. Даже если вы не найдете там нужного ответа - я уверен, вы узнаете много нового. Второй вариант - воспользоваться поиском по ключевому слову.

2. Вы можете задавать вопросы, только непосредственно касающиеся создания модификаций и редактирования файлов игры

3. Личные вопросы не допускаются

4. Отвечать на вопросы желательно достаточно развернуто, задевая все аспекты касающиеся конкретного вопроса

5. Отвечать вы можете только в том случае если уверены в правильности ответа, если не знаете - просто не отвечайте. Авторы неправильных, вводящих в заблуждение ответов будут наказываться.

6.Соблюдайте грамотность и правильность построения вопросов и ответов, во избежание их удаления. "Спасибо / пожалуйста / не знаю" и прочие односложные и
не несущие смысловой нагрузки сообщения, будут удаляться немедленно, а их авторы - наказываться.

Основная цель темы - помочь новичкам-модостроителям, второстепенная - свести на нет тенденцию создания новых тем по каждому интересующему новичков вопросу.

Уважение: 133
Награды: 32
Сообщение #1321
Чтобы функция единожды сработала, как и сам рестриктор, то ставим nil вот так:

on_npc_in_zone = 006 |name_restrictor| nil %=on_talk%

Юзнуть нпс не получится, если у него в логике для данного пути стоит meet = no_meet

В твоем примере, во всех 3-х путях нпс юзается на диалог


Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!

Сообщение отредактировал dimak - Среда, 10.09.2014, 23:25


Уважение: 389
Награды: 45
Облучение: 0%
Сообщение #1322
с логикой нпс все понятно! А вот -
Цитата dimak ()
|name_restrictor|
Что это? в смысле так и прописать в логику рестрика?! Вот рестрик
Все вопросов больше нет , спасибо пойду пробовать)))), потом отпишусь. :)

Сообщение отредактировал WERTOix - Среда, 10.09.2014, 23:40

Сообщение #1323
Имя рестриктора в алл.спавне. к примеру:



В твоем случае имя uk16


Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!

Сообщение отредактировал dimak - Среда, 10.09.2014, 23:40


Уважение: 389
Награды: 45
Облучение: 0%
Сообщение #1324
Привет, вобщем пробовал вчера, диалоговое окно так и не появилось(((, как обычно высветилось нажмите f чтобы говорить, что не есть гуд(, но самое смешное происходит, когда нажимаешь поговорить))) Астор зависает наглухо... Вот все мои файлы что не так ? кто знает подскажите...
Добро !

Сообщение отредактировал WERTOix - Четверг, 11.09.2014, 22:14

Сообщение #1325
Привет сталкеры!!! А не проще сделать так:
Прибежал НПС на свое место(в рестриктор) получил поршень, например proba_dial, а в логику добавить строчку:

[walker@g]
path_walk = byk_walk3
path_look = byk_look3
on_actor_dist_le = 2| nil {+proba_dial} %=on_talk%
meet = meet

и все дела.... (Во всяком случае - работает нормально :) )
Веселый Роджер
Уважение: 936
Награды: 112
Сообщение #1326
Цитата Frankenshtayn ()
Во всяком случае - работает


Привет! Одно разочарование((((, да еще такой момент, этот перс чья логика в спойлере, уже на втором пути, свободно общается с гг, хотя стоит у него но_меет))) Что то не могу никак собрать. Кто нибудь подскажет в чем ошибка?! idiot

Сообщение отредактировал WERTOix - Пятница, 12.09.2014, 19:44

Сообщение #1327
Цитата WERTOix ()
attempt to call local 'func' (a nil value)

Сергей, данное описание ошибки говорит о том, что вызываемая функция или не существует, или просто напросто, не была загружена в окружение. Причина может быть даже не в самой функции, а в том, что находится перед ней (выше, по телу файла). Если, над функцией имеется малейшая ошибка (не приводящая к крашу игры), то всё, что находится под ... не читается, и не загружается в окружение. Соответственно, смотри последние коды, файла xr_logic.script . Ведь то, что у тебя не работает ни мой способ, ни предложенный Андреем-dimak, говорит о том, что ошибка не вэтом, а в чем-то другом...
Веселый Роджер
Уважение: 936
Награды: 112
Сообщение #1328
WERTOix, если честно, то посоветовал бы лучше мод строить на базе мода АМК.
p.s. Парнишка 15-ти лет, на базе АМК, сделал неплохую глобалку под названием "Закоулки правды". Я 100 % уверен, что на скриптах оригинала он бы не сделал даже половины этого интересного мода.

Ошибка в функции по логу.

Далее не понятно вообще.

Цитата
~~~ object 'Потап'


Но имя нпс - Пот


Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!

Уважение: 389
Награды: 45
Облучение: 0%
Сообщение #1329
Цитата dimak ()
имя нпс - Пот
Привет, да это я просто сократил, а так Потап везде))) Хотелось далеко не уходить от чистого тч, поэтому без амк, хотя преимуществ конечно много, не спорю))). Ладно парни спасибо за помощь!

Сообщение отредактировал WERTOix - Пятница, 12.09.2014, 23:26

Сообщение #1330
WERTOix, Сергей, попробуй вот что. Поставь своему рестриктору радиус 2!!!! Дело в том, что "законное" расстояние для диалога с НПС - 2, а у тебя рестриктор - 4. и попробуй проверить работоспособность этого момента. Вот здесь и может быть глюк
Веселый Роджер
Уважение: 936
Награды: 112
Сообщение #1331
вот подтверждение:

здесь у меня в логике НПС стоит расстояние 2:
on_actor_dist_le = 2| nil {+proba_dial} %=on_talk%
т.е. оно соответствует конфиговскому.
а вот здесь

в логике уже изменено на 4:
on_actor_dist_le = 4| nil {+proba_dial} %=on_talk%
Как видно из видео (мой НПС в обоих случаях кемпер) мой НПС при подходе к нему начинает плевать на прописанную ему логику, окно диалога не открывается...
Выход - либо изменять у себя радиус рестриктора, либо лезть в конфиги и править"разрешенное расстояние диалога", что конечно скажется наверное и на других НПС
чутка оффтопика:
http://www.youtube.com/watch?v=L7UkEfW1_L0&feature=youtu.be
:) :) :)
Веселый Роджер
Уважение: 936
Награды: 112
Сообщение #1332
Цитата Frankenshtayn ()
чутка оффтопика:
Да уж, кто то потрудился столько персов, в шеренги выставить)))))
Цитата Frankenshtayn ()
попробуй вот
Касательно вылета- нашел! мой косяк, в файл xr_ef....s, забыл функцию прописать)))), так что сильно не ругайтесь :D Всем спасибо что откликнулись!
Сообщение #1333
Цитата Frankenshtayn ()
мой НПС при подходе к нему начинает плевать на прописанную ему логику,

Ну, видать, алгоритм в движке чё-то "не понимает", это из разряда "незадокументированных неожиданностей". Этот двигун и так уже вымучали со всех сторон за почти десяток лет, сюрпризов он продолжает выдавать как приятных, так и "неожиданных" - по-любасу низкий ему поклон, как и его авторам. :)
Для информации в рамках топика:
На собственном опыте построения валкеров с "боль-мень" сложной логикой - на "поле" карт существуют какие-то "чёрные дыры", которые нпс в "свободном плавании" самостоятельно обходят "крюком", хотя там и аи-сетка есть и всё остальное благополучно внешне - ну, внешне можно идти прямиком, ан нет, надо завернуть и обойти. Стоит только принудительно отправить непися в эту "зону" - всё, логика валкера виснет, хотя логика основная остаётся в действии - идти никуда не идёт, анимации не отрабатывает (всё по дефлоту - стоит торчком), тупо замирает на месте "мордой лица на север", хотя и отрабатывает все статичные моменты логики - говорит, обращает внимание, но всё другое "скриптовое" аннулируется. Похоже,что такое же происходит в массе случаев "замерзания" неписей во многих модах.
Не знаю, как это "обходить", кроме как эмпирически подбирать приемлимые координаты. Конечно же, я многого не понимаю, но на "это" наткнулся и сразу "предупреждаю" возможные вопросы по этому поводу. :)
Если кто-то сможет пояснить вразумительно данную "аномалию", очень прошу - разъясните.
ЗЫ Возможно, что ещё связано и с "графпойнтами" - наверняка, многие замечали, что "стоишь в одной координатной сетке" - шаг в сторону и резкая смена , как г-вертекс, так и левел-вертекс. Мож, из-за этого, что движковый алгоритм расчёта "маршрута непися" не особо любит такие "перемены".

Сообщение отредактировал Korpus - Суббота, 13.09.2014, 23:41


Уважение: 169
Награды: 31
Облучение: 0%
Сообщение #1334
Korpus, есть такое. К примеру в своем моде, Димон бежит по своей траектории и Фармацевт, когда благополучно переходит в ВЛ, незадолго до избушки деда Щукаря есть место, где он постоянно отклоняется от курса в сторону, далее возвращается и топает дальше, но логика обычная. Далее правка логики в моде АМК многое дает для мододелов. К примеру, если взять такой момент: В нлс и в нар.соли Фримен спавнится с внешней стороны бара и бежит в помещение бара, где у него прописан валкер. Если таким образом заспавнить его в оригинельной игре, то на подходе к бару словим вылет (лога не помню), и чтобы этого не произошло нужно Фримену добавить пару дополнительных путей. Одно время, когда начинал модить, в моде "Напарники", логику напарника присваивал Бармену. И только Бармен начинал выбегать из своего валкера, сразу вылетала игра, но только когда прописал несколько дополнительных путей, то все пошло. Бармен стрелял по собакам из всего, что у него было в продаже, даже из РПГ-7. :)


Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!

Уважение: 389
Награды: 45
Облучение: 0%
Сообщение #1335
Цитата Korpus ()
Ну, видать, алгоритм в движке чё-то "не понимает", это из разряда "незадокументированных неожиданностей".

Это понятно, Саша. Но у меня представлена конкретная ситуация: функция принудительного открытия диалога нормально отрабатывается, если она вызывается на расстоянии 2 и менее метра от НПС. А вот если она вызывается на большем расстоянии от НПС, то и происходит такая вот "бяка" :)
Веселый Роджер
Уважение: 936
Награды: 112
Сообщение #1336
Всем привет! Столкнулся с такой вот проблемой, заспавнил через скрипт zone_witches_galantine, аномалия появилась, но только создает видимость что она работает)))), у нее нет хита... Кто в курсе подскажите, в чем разница заспавненной через ал.спавн и через скрипт ?! За ранее благодарен.


Don't panic
Уважение: 231
Награды: 21
Облучение: 0%
Сообщение #1337
Цитата Beeblebrox ()
в чем разница заспавненной через ал.спавн и через скрипт ?!

Beeblebrox, при спавне через all.spawn такие параметры как количество шейпов, их тип, а также размеры и смещение считываются движком в нет-пакет объекта из секции спавна объекта. При спавне через скрипт движок создаёт объект с нулевым шейпом. По-русски - у вашей аномалии радиус действия равен НУЛЮ.
Вот она и не хитует ГГ, так как для хита нужно быть внутри зоны действия, но нельзя быть внутри НУЛЯ.
После скриптового спавна необходимо, до вывода объекта в он-лайн, переписать STATE часть его нет-пакета, в которой указать недостающие параметры.


Терпение......
И все получится!

Уважение: 999
Награды: 31
Облучение: 0%
Сообщение #1338
Цитата makdm ()
переписать
Привет, я не понял, можно сделать что нибудь?! Если это слишком долго и мутарно, то буду спавнить через ал.спавн. Спасибо за помощь! :)



Сообщение отредактировал Beeblebrox - Четверг, 18.09.2014, 22:06

Don't panic
Уважение: 231
Награды: 21
Облучение: 0%
Сообщение #1339
Цитата Beeblebrox ()
я не понял, можно сделать что нибудь?!

Конечно можно. Вот пример функции.
Правда, я её использую на ЗП. Если не получится, то ищите аналогичную для ТЧ.



Терпение......
И все получится!

Уважение: 999
Награды: 31
Облучение: 0%
Сообщение #1340
Beeblebrox,



Инфа с antreg.ucoz.ru, можно так попробовать, но сам я, только предпочитаю спавнить скриптом - рестрикторы и обычный огонь костра.

Цитата
хотелось бы уточнить, эти функции куда кидать, в xr_eff...s или

Нет, не нужно. Создашь свой скрипт, поместишь все содержимое нетпакета в него. В нем же создаешь функции для спавна аномалий, как показано выше. И функцию отыграешь, как тебе удобней. Скрипт регить нигде не нужно.


Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!

Сообщение отредактировал dimak - Воскресенье, 21.09.2014, 20:26


Уважение: 389
Награды: 45
Облучение: 0%
Поиск: