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

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

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


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

 
 

Stalkerin. Там есть много хороших статей касательно данной темы.
Уроки по модостроению. Есть рабочие примеры готовых скриптов различного назначения.

 

Справочное руководство по языку Lua 5.1
https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ru
Справочник по функциям и классам. Собрано много информации по функциям и классам, не всем, но по основные сведения предоставлены.

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

 

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

 

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

 

Вопросы которые будут удалятся, следовательно их задавать не нужно:
-- Где находится та или иная функция?
Для ответа используем поиск по словам среди файлов оригинальной игры или мода, если объект поиска относится к нему, при помощью программы, которая Вам наиболее симпатизирует;
-- Как сделать что-то/то-то?
С подобными вопросами, либо в "ковырялки", где Вам вероятнее всего так же не ответят, либо выдвигаем мысли, подкреплённые теорией, практикой (идеальный вариант) и здравым рассудком;
-- Вопросы со смыслом: "сделайте", "совместите" и подобными глаголами повелительного наклонения.
-- К тому же удалению будут подвергаться вопросы, в которых масштабно не используются теги, для отделения кода и цитат от основного текста, а также не вписан в спойлер код размером превышающие семь строк.
Ответ на возможно возникший вопрос: В какую тему можно обратиться по поводу логики и спавна объектов?
В тему "ковырялок" соответствующей версии игры, для которой Вы задаёте вопрос.

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


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

ещё вопрос. заспавнил нпс - он заспавнился, но не там где надо (хотя координаты точные). проблема скорее всего в отсутствии в нужном мне месте аи-сетки. можно это как-то исправить без рекомпиляции и т.п. локаций?

 

ещё вопрос:

делал нпс, сидящего на стуле. нпс нужную анимацию выполняет. стал с горем пополам делать подбор соотношения нпс и стула и заметил интересуню штуку:

вижу что нпс сидит левее стула. изменяю координаты СТУЛА как надо, запускаю игру. стул переместился куда надо - но и нпс переместился туда же на столько же. в чём проблема? координаты нпс не меняю вообще!!!

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

speczadanie я думаю проблема не в АИ сетке, поскольку в случае спавна НПС в зоне, где сетки нет, например хатка за спиной у Волка, то он просто будет в судорожном состаянии "левитировать" к ближайшей точки АИ сетки, это я проверял лично.

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

З.Ы. присоеденяюсь к вопросу Scarabay

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

перепроверил про стул - безрезультатно

 

Добавлено:

перепроверил про стул - безрезультатно

Строгое предупреждение от администратора n6260
Не безрезультатно. ;) Еще одно сообщение без заглавных букв и знаков препинания - и тогда уж не обессудьте...
Ссылка на комментарий

прописал нпсу такую логику:

 

[logic]
active = remark1
trade = misc\trade_generic.ltx
on_death = death
danger_ignore = danger_ignore

[remark1]
on_info = {+sidor_client_run} walker
meet = meet

[walker]
path_walk = sidor_client_path
def_state_moving1 = sprint
def_state_moving2 = sprint
def_state_moving3 = sprint
meet = meet
anim = sit_sleep
target = actor

[meet]
use = false
use_wpn = false
meet_talk_enabled = false

[danger_ignore]
ignore_distance = 999999999

 

при получении поршна нпс бежит куда надо и тупо стоит там повернувшись неясно куда. а по логике надо чтобы там он пожизненно после этого выполнял анимку сит-слип и смотрел на гг. в чём недоработка?

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

Обычный непись. Анимация "chistit ruje_1" работает нормально. Пытаюсь заспавнить под него стул - последствия уже сообщил.

 

Добавлю - непися сам создавал.

 

--------------------------------------------------------------------

 

и ещё вопрос сразу:

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

 

// Даблпостинг на форуме запрещен, на 1-ый раз объединил посты, потом буду просто удалять. Министр.

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

speczadanie

Как вариант: в utils.script есть готовая функция - проверяет достиг ли NPC нужной точки. Ставишь на апдейт(разумеется с передачей аргументов) и проверяешь. Если достиг - выдаешь поршень.

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

speczadanie, В любой точке пути можно поставить выдачу сигнала,а по нему выдавать инфо

 

 

p2:name = wp02|sig=final(в качестве сигнала любое слово)

В логике on_signal = final|{+info}

еще можно установить в точке рестриктр который при попадании нпс будет выдавать инфо

 

speczadanie, Кого именно ты спрашиваешь?

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

а можно поподробнее как соордуить такую функцию? просто неясно откуда и какие аргументы ставить

Строгое предупреждение от администратора n6260
Пункт 2.6. Трое суток режима чтения.
Ссылка на комментарий

Добрый день!

В аллспавне есть в секции респавна такой блок:

[respawn]

respawn_section = flesh_weak, flesh_normal,dog_normal

max_count = 8

min_count = 3

max_spawn = 3

idle_spawn = medium

conditions = {+agroprom_military_case_done} 80, 0

END

За что отвечают две цифры после "вероятности", выделенные синим?

Если 80 - понимать как вероятность в процентах, то на что тогда влияет значение "0".

gruber,

Хорошо, тогда, если вообще убрать эти цифры, тогда будет по умолчанию спавн всегда?

Или можно так:

conditions = {+agroprom_military_case_done} 100,

что, по сути, то же самое, по всей видимости.

 

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

 

и ещё вопрос сразу:

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

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

antreg, Это значит ,отсутствие вариантов именно 80% и никак иначе ;) (хотя 20% вероятности,что не заспавнятся все же остается)

Просто возможно если не ставить ноль-то респавн будет происходить в диапазоне от 0 до 80% т.е чистый рандом,а тут получается варианта всего два

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

Подскажите пожалуйста! Как сделать, чтобы после взрыва определённой гранаты, на её месте спавнилась одна вещь! Оч надо! Прошу помощи...

Точка ЛЦУ у вас на лбу это тоже чья-то точка зрения.

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

Народ! Я в ЧН сделал так что в группировку можно вступить (actor_army) прописал в game_relations.ltx(communities, [communities_relations], [actor_communities], [communities_sympathy]) и в sim_board.script (local actor_communitites) Игра начинается все ОК но при открытии ПДА раздел СТАТИСТИКА - вылет вот лог:

 

Expression : fatal error

Function : CScriptEngine::lua_error

File : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp

Line : 180

Description : <no expression>

Arguments : LUA error: ...Ð. - ×èñòîå Íåáî\gamedata\scripts\sim_faction.script:656: attempt to index field '?' (a nil value)

 

В чем причина и причем здесь sim.faction?Если кто-то имел с этим дело то плиз скажите как правильно сделать!

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

Уважаемые дамы(если таковые тут есть :)) и господа, у меня проблема с программой acdc, почитал туторы, вроде сделал всё правильно(засунул all.spawn в папку с прогой, запустил батник), а в появившемся окне написаны такие строки - "cannot open all.ltx", версия 1.0004, может может повлиять то что я откатывал с 1.0006, а не переустанавливал игру?

 

// Что ты хоть делать пытаешься? Министр.

 

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

all.spawn распаковать :D

 

// Насколько помню all.ltx требуется только при запаковке аллспауна. Может просто не так делаешь? Напиши как распаковываешь. :) Министр.

Изменено пользователем Министр
Ссылка на комментарий
Старлей, sim_faction.script отвечает за симмуляцию группировок в игре (даже из названия понятно)). Ты не прописал группировку в скрипте пда, от этого и вылет (симмуляция в игре стартует, а в пда инфы о группировке нет).
Ссылка на комментарий

Старлей, во-первых:

разве надо в ПДА прописывать actor_army?!
надо в самом скрипте прописывать, т.к. в ЧН половина функций пда реализована через него;

во-вторых:

У меня вылетает при войне группировок

это происходит из-за "во-первых", в разделе пда статистика указывается статистика всех игровых группировок в симмуляции, твоя группировка в ней есть, но скрипт не может ее найти в своей кастом дате

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

Ага все разобрался терь все ОК

Ну уж тода еще 2 вопроса:

1. Вот смотри заспавню я actora в другом месте и вся проблема будет в том что как я понял только после выброса и вступления в чистое небо запускается война группировок глобальная а вместе с ней чн и ренегатов у остальных стоит элементарное ограничение по заданию тип ток после отдавания хабара сидоровича нач война сталкеров и бандосов

{+esc_take_habar_complete} а у чистого неба такой штуки нет с ренегатами да и ваще глобал вар не запуститься Как сделать чтоб война сразу запускалась?

2.Допустим я заспавню лидера торговца военным иль монолиту а вот награда за захват точки будет ли у него браться автоматически ? иль надо чето в логике прописать или еще где?

Подскажи плиз

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

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

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

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

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

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

Войти

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

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

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