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

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

Тема для обсуждения скриптов всего и всех в серии игр STALKER.


Задавая вопрос (!):
1. Внимательно изучите суть вопроса. Вопрос должен соответствовать выбранной Вами темы. Это поможет сохранить порядок и читабельность темы, а также облегчит поиск и понимание сего;
2. Изучите то, что уже есть в теме (пролистайте "руками", воспользуйтесь поиском на форуме);
3. Изучите информацию которая может вам помочь:

  Информация (Показать)

4. Дабы не превращать обсуждение в "кашу" разной информативной направленности, задавайте несколько вопросов по порядку (в разных постах) после того, как получите ответ на предыдущий вопрос;
5. "Спасибо" и тому подобное - будьте так любезны в ПМ. Если не любите писать в ПМ, в конце вопроса напишите фразу: "Заранее спасибо!" - или что-то в этом духе;
6. ПОЖАЛУЙСТА! Указывайте, для какой игры Вам необходима информация (ТЧ, ЧН, ЗП), если стоит мод - укажите название мода;
7. Если Вы что-то сделали и результат не такой, какой Вами задумывался, то, пожалуйста, приводите коды которые Вы изменяли/писали целиком! Это поможет другим правильно ответить на Ваш вопрос, а также оградит Вас от лишней писанины.
8. Оформляйте сообщение. Пользуйтесь тегами для того, чтобы отделить код от текста. Пишите грамотно - ПОЛЬЗУЙТЕСЬ ЗНАКАМИ ПРЕПИНАНИЯ.
9. И помните: «Правильно заданный вопрос – половина ответа».

 

Какие вопросы следует задавать, а какие нет...

  Читать рекомендуется. (Показать)

И последнее: очень рекомендовано к прочтению Правила форума
 


  • Спасибо 1
  • Полезно 2
Ссылка на комментарий

Люди добрые, проблема возникла.

(если важно, действие происходит на подключённом к ТЧ Затоне)

 

Создаю спейс_рестриктор

  код (Показать)
Ссылка на комментарий

А какое имя смарткавера? Как в примере выше? Измени его на другое, т.к. имена смарткаверов типа смарттеррейн_animpoint_1 и.т.д используются как раз для автоматического "заполнения" нпс смарт-каверов в смарт-террейне.

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

Ренсон, переделай логику:

[logic]
active = sr_idle
[sr_idle]
on_actor_inside = %+osvedomitel_restrictor_info%

Не бойтесь совершенства. Вам его не достичь.
C. Дали
Ссылка на комментарий
  вот скрин (Показать)
Изменено пользователем Gektor
  ReWrite (Показать)
Ссылка на комментарий

Странно, вроде все ок, почему не работает - непонятно. Ну и последний вопрос - смарткавер на аи-сетке стоит?

Попробуй простейшую логику для одного непися сделать, как я написал и посмотри. Но опять же, я повторю - для посиделок у костра никакой логики не нужно! Достаточно обзывать смарт-каверы смарт_animpoint_1 и накрыть их кампом с именем смарт_camp и настройками в кастом дате:

[camp]

cfg = scripts\camp.ltx

 

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

Смарт кавер стоит на аи сетке, накрыт камп зоной, всё работает нормально, но мне надо чтобы сталкеры сидели у костра как в тенях чернобыля, но анимация прописаная avail_animations = sit_ass срабатывает только при use_camp = false, но ведь при этом это уже не будут посиделки у костра.

  ReWrite (Показать)
Ссылка на комментарий

Ну это то, о чем я говорил, нужно менять скрипты для анимпоинтов. Короче, если решишься, делаешь так:

Качаем вот это архив - http://depositfiles.com/files/4ijntt4ly, там скрипты. Заменяешь ими в папке gamedata/scripts в игре и обязательно в СДК-шной геймдате, иначе у тебя не появится в списке доступных анимаций для смарткавера sit_ass и sit_knee.

Далее перезагружаешь сдк, ставишь смарт-каверы, называешь как положено смарт_animpoint_1 и.т.д. Выбираешь для них сидячие анимации sit_ass и sit_knee. На sit_ass СДК начнет матюкаться красным что дескать отсутствует loopholes, не обращай внимания. Сними галку loopholes, чтобы потом при загрузке уровня каждый раз эти логи красные не видеть, в игре все равно анимация будет работать.

Обязательно снять галки с is combat caver и can fire, иначе при компиляции спавна с камп-зоной будут вылеты компилятора. Ну а дальше накрываешь это дело кампом, как грил выше, у кампа выберешь тип рестриктора NOT A restrictor (незнаю почему, но у пысов так), компилишь, спавн, наслаждаешься посиделками у костра, покупаешь мне и nuclia коньяк :)

 

Да, еще, направление взгляда нпс в этих каверах будет куда флажок в сдк показывает. Удачи!

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

Clayman и nuclia спасибо огромнейшее.

Теперь другой вопрос:

Как заставить обозлится на ГГ НПЦ в нескольких смарт террайнах, когда гг атакует каго либо в одном из этих смартов?

И ещё

  Цитата
На sit_ass СДК начнет матюкаться красным что дескать отсутствует loopholes

А как добавить эти loopholes? Или хотябы в каких файлах смотреть примеры?

Зарание зпасибо.

 

Добавлено через 240 мин.:

И ещё, такая проблема:

Многие НПЦ с логикой walker в смартах часто становятся спиной к пути look. Что может быть причиной? Как исправить?

Заранее спасибо

  ReWrite (Показать)
Ссылка на комментарий

Поиск не помог, потому и спрашиваю: как отследить то, что мини-карта включена/выключена? Например, при прицеливании через оптику или при диалоге она отключается. (Сталкер ЗП)

Жду ли я Сталкер 2? Хм...
Ссылка на комментарий
Gektor, надо связывать флаги точек путей walk и look, т.е в режиме редактирования point mode кликаешь на точке и отмечаешь галочку на флаге 0 например и тоже самое на точке look пути. Вобщем опять же учим матчасть на сталкервики "Логика НПС", там все это есть.
Ссылка на комментарий

PavelSnork

Попробуй по косвенным признакам - как раз по прицеливанию с оптикой - по db.actor:accuracy(), и для проверки наличия оптики вроде какая-то функция в ЗП появилась - и всяким окнам - диалог, инвентарь и т.д. - они по идее все сводятся к (level.main_input_reciever() ~= nil) - значит, что-то включено.

Мои работы:

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

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

Soul Cube

 

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

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

PavelSnork

Для диалогов копай скрипт pda.script

Для прицеливания можно по device().fov - возвращает ширину зрения игрока, но тока учти что потом могут быть проблемы с модами, которые fov меняют, в оригинале фоу кажись толе 65 толи 55

 

Но вообще лучше забить на это всё.

 

> level.main_input_reciever()

Вроде в ЗП как раз вырезали его.

Изменено пользователем *Shoker*

Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О

Мастер аномалий на свою заднюю точку.

Ссылка на комментарий
*Shoker*, да, сначала я использовал device().fov, но миникарта исчезала раньше, чем начинает уменьшаться этот fov, и мой элемент не успевал вовремя убраться. А с помощью проверки db.actor:accuracy(), которую посоветовал товарищ Kirag и моего шаманства, текстура миникарты исчезает чуть позже (хотя и успевает убраться до появления текстуры прицельной сетки), но синхронно с моим новым элементом худа. А с проверкой на диалог гг с НПСом мне уже помогли. С инвентарем проблем тоже нет (в ЗП миникарта не убирается при открытом инвентаре). А окно торговли и ПДА открываются поверх миникарты.
Жду ли я Сталкер 2? Хм...
Ссылка на комментарий

Добрый день!

Помогите разобраться в одной ситуации:

Собрали пак локаций для ТЧ 1.0004 (для чистой игры). В паке убраны несколько оригинальных локаций и добавлены несколько новых. На чистом ТЧ 1.0004 всё работает, всё хорошо.

Провели адаптацию под АМК 1.4.1

Игра загружается, но получаем вылет при любом сэйв/лоад (сохранки не грузятся) или при переходе на другую локацию (вылет на синхронизации). Лог вылета (с отладчиком ZAMET):

  Лог вылета: (Показать)
Изменено пользователем antreg
Ссылка на комментарий

Хм... На первый взгляд все безобидно...

 

Из этой функции в основном вызываются все остальные. Чтобы прописывать в нее, а не в bind_stalker, скорее всего. На первый взгляд, ничего критичного, НО! Из этой функции много чего вызывается, возможно, дело в одной из тех функций.

Просто так комментить - часть функций АМК не запустится или запустится с левыми параметрами, результат непредсказуемый.

 

  Цитата
4) Что за объекты: (2972) и (2975), которые присутствуют в самом начале этой функции?

Я так понимаю, это объекты, когда-то вызывавшие вопросы у разработчиков. Собственно, кроме вывода в лог инфы, что это за объекты, если они есть, ничего с ними больше не делается.

 

В общем, что могу посоветовать - продолжить поиски по Методу Научного Тыка, но уже комментируя отдельные блоки кода в этой функции. Точнее, сначала закомментировав все, раскомментировать их по очереди. Предполагаю, проблемы начнутся после раскомментирования одного из вызовов функций, с той функцией и надо разбираться...

Мои работы:

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

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

Soul Cube

 

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

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

antreg

При запуске игры, в момент спавна актора в АМК вызывается 'on_game_load()' для первичных проверок/настроек и пр.

 

alife():object(2972) - проверка наличия объекта в игре с номером секции из all.spawn'a. В АМК 1.41 секции 9272 и 9275 - аномалии в ТД. (можно выкинуть)

 

Далее идет проверка и если требуется - предустановка pstor'аджа актора (хранилище сохраняемых в сэйвах переменных).

 

npc_spawner= из сэйва считывается массив заспавненных , но еще не инициализированных объектов (если таковые были в момент сохранения игры).

 

mod_call("first_run") - важный(!) вызов 'first_run()'первичных настроек в amk_mod.script ...

 

convert_timers() -- исправим старые названия таймеров - Можно выкинуть, это конвертер для старого формата из старых сэйвов сохранений игры.

 

gg_kick - флаг для алгоритма "шальная пуля" - можно выкинуть

 

mod_call("test_sleep_pp") - вызов 'test_sleep_pp()' из amk_mod.script ... (спальник)

 

mod_call("check_spawn") вызов 'check_spawn()' из amk_mod.script ... (ре)спавн объектов (npc_spawner, динамич.аномалии, ...)

 

val_actor_has_borov_key - пробуждение Кочерги ...

 

amk_mod.on_repbox() - это уже чье-то левое ...

 

gps_habar.on_game_load() - ну а это мод GPS-маячков для тайничков с пометками на карте

 

---

ERROR:___[bind_stalker.script]SAVE___FILE___IS___CORRUPT - говорит о том, что из пакет актора был некорректно считан из сэйва. У АМК есть свои нюансы работы чтения/записи пакета. Вполне вероятно проблема в упаковке в сэйв массива 'npc_spawner' ...

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Kirag, Artos,

Спасибо за ответы!

"Глючными" оказались два колбэка функций из amk_mod.script:

mod_call("first_run")

mod_call("check_spawn")

  function firat_run() (Показать)
Изменено пользователем antreg
Ссылка на комментарий

antreg

 

  Цитата
Но вот непонятно, это нормально, что два раза одно и тоже условие присутствует в функции? Имеется ввиду: if amk.load_variable("amk_13",0)==0

Это не нормально, но и не критично. После того, как отработает первое по скрипту условие, второе не выполнится уже никогда и конфликта не будет.

 

Что бросилось в глаза, что в обеих функциях упоминается конструкция alife():create(N), N - номер в алл.спавне. Но эти номера меняются при пересборке алл.спавна, тем более, что перебрали вы его серьезно. Вероятно, при попытке заспавнить что-то (но уже не то, что задумано) происходит конфликт...

Мои работы:

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

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

Soul Cube

 

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

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

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

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

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

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

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

Войти

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

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

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