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

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

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


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

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

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

 

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

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

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


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

losiara, если нет явных ляпов (например в ЗП номера слотов смещены на единицу), то скрипт должен работать.

Но его неоптимальность не выдерживает критики ...

Попробуй вот это:

  код (Показать)
Изменено пользователем Artos

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

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

Artos

  показать (Показать)

Жизнь следует измерять поступками, а не временем...

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

Artos

Если бы я знал что это должно быть критично, то может быть написал бы так (как вариант) :

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

Gun12 (пояснение не только для тебя)

Из названия функции 'repair_precond_s2' (и исходного кода iDreD) можно предположить что она может быть использована в диалогах, экшенах квестов или подобных местах, т.е. вызываться не из скриптов, а непосредственно движком.

Условие использования для подобых precondition довольно жестки и часто требуют только два варианта ответа: true или false. Любые другие возвраты от функций могут привоить к фатальным ошибкам, в том числе и безлоговым вылетам (файл лога пуст).

 

Хотя ... само предназначение данной функции не располагает использовать в прекондишенах, а вероятно где-то в апдейте актора или коллбэке взятия, но в любом случае такая организация возврата не помешает (ИМХО).

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

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

Подскажите как можно решить такую проблему:

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

Artos

 

Просто возникла идея сделать "Сталкер браузер"..... За помошь с записью в переменную спасибо)))) Окно редактирование текста для ссылки ясделал, но окно для открытия интернет страниц так и не нашёл......

Сталкер в душе - сталкер по жизни!

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

Нет, такое не получится.

У тебя есть только два варианта реализации твоей задумки

1. Написать на ассемблере функцию позволяющую скачивать интернет страницы. На практике это практически невозможно

2. Написать dll, которая при помощи перехватчика от alpet/отредактированных длл будет выходить в интернет и скачивать страницу.

 

Оба варианта сложны и мало кто это может сделать

Freedom

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

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

 

Почти весь код реализован в одной функции. Формат таблицы self.anomaly:

self.anomaly[anom_id] = name

anom_id - id аномалии, name - её имя.

  Смотреть тут (Показать)
Изменено пользователем ColR_iT
Ссылка на комментарий
Полтергейст, все банально просто: в первой же проверке по необъявленной obj ты прерываешь функцию. Вероятно ошибся и должно использоваться who из входных аргументов.

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

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

Помоги изменить скрипт "Ограбление ГГ во время сна".Надо сделать так, когда ГГ спит на базе то его не грабят.И ище,как сделать чтоб и на других локах происходило ограбление

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

Добрый день! Подскажите камрады. Как мне повесить на железную дверь с конкретной логикой хит, чтобы после стрельбы по ней, вызвать поршн либо функцию.

 

Из оригинального ТЧ скрипта ph_door.script есть значение hit_on_bone, но не пойму чет, как работает? Если в самом скрипте ph_door.script правку сделать?

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

student91122

Чтобы грабили на других локациях убери это:

and level.name()=="zaton"

Ссылка на комментарий
  Цитата
Вероятно ошибся и должно использоваться who из входных аргументов.

Исправил - всё равно не работает. Судя по тому, что выводилось в лог, коллбек "воспринимает" только сталкеров, монстров и (почему-то) детектор игрока. Поэтому такой способ определения аномалий, к сожалению, не годится. :(

 

 

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

alkogolik, выдать инфопоршен или выполнить функцию можно, но только при стрельбе не по любой точке двери.

hit_on_bone, работает с костями (в названии это видно), в скрипте написано следующее:

if self.st.hit_on_bone[bone_index] ~= nil then

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

hit_on_bone = 1|{+infoportion =function}

это вставляешь в активную схему на момент стрельбы и получаешь, что при стрельбе по кости (вероятно это место, где должен быть замок) ты получаешь инфопоршен или выполняется указанная функция.

Для bone_index лично я нашел всего два значения, которые использовали ПЫС - это 1 и 2.

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

ColR_iT, спс! А если

hit_on_bone = 2

, то получается 2 части, т.е. 2 индекса? Не помню точно, но видел.

Я решил таким способом: Переделал двери из physic_object в physic_destroyable_object

Хит работает по всей двери. Делал по принципу мегафонов. По индексу даже интересней для сюжета, только не понял сразу, о каких костях идёт речь. Ещё раз спасибо!

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

Всем привет, у меня к вам несколько вопросов:

 

1. Что нужно писать в логике, чтобы несколько анимации проигрывались одна за другой.

1-я, 2-я, и опять 1-я, 2-я, короче по кругу

 

2. Можно ли заставить НПС смотреть в ту сторону, в которую я захочу (direction в all.spawn), если спавниш его через скрипт, или это возможно только через all.spawn.

 

3. Может это вопрос не по теме, хотя он может, связан с логикой НПС, суть вот в чем

можно ли сделать костюм с параметром скрытность или маскировка, чтобы ГГ в таком костюмчике был менее заметен для НПС.

 

 

Ссылка на комментарий
  Цитата
Можно ли заставить НПС смотреть в ту сторону, в которую я захочу (direction в all.spawn), если спавниш его через скрипт

Это только начальное направление взгляда при спавне. Как-то можно это сделать через net_packet'ы, но проще воспользоваться функцией set_desited_direction(вектор_направления_взгляда). Вот только не знаю, относительно чего этот вектор задаётся - посмотри в логических схемах (скриптах) или в том же state_mgr примеры использования.

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

С 1-м вопросом я разобрался, прошу помощи с остальными.

Заранее блогодарен.

 

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

Полтергейст спасибо за ответ.

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

Wik

По второму вопросу смотря что тебя интересует, можно через логику в ремарковской схеме:

target = Куда смотрит сталкер. Есть следующие варианты

 

 

story_id – числовое значение

actor – без комментариев

nil – позиция вычисленная АИ автоматически

<имя работы>,<имя гулага> смотреть на сталкера который находится на определенной работе под гулагом (второй параметр необязателен. В этом случае берется гулаг сталкера, для которого задана данная секция ремарка).

Пример:

target = logic@cit_killers_base_guard, cit_killers

<path_name>, <point_number> - можно указывать смотреть в вершину патрульного пути (<имя пути>, <имя точки>).

Например:

[smart_terrains]
none = true

[logic]
active = remark1
danger = danger_ignore

[danger_ignore]
ignore_distance = 5

[remark1]
no_move = true
target = actor; или что тебе необходимо по примеру выше!

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

Жизнь следует измерять поступками, а не временем...

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

К стати полный список анимаций находиться в файле state_lib.script.(тч, зп, чн-не знаю)

 

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

Может кому-то это известно, но я не знал (может, поможет, кому не будь такому как я)

В топике "Ковыряемся в файлах" подобное может и уместно, но для темы данного - 'мусор'. --/Artos

 

losiaraспаибо, а story_id вбивать story_id нпс, например

target = 1000

Да. --/Artos

 

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

Спасибо еще раз всем, кто мне помог!!!!!!!!

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

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

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

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

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

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

Войти

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

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

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