Скриптование - Страница 57 - Скрипты / конфиги / движок - AMK Team
Перейти к контенту

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

Тема для обсуждения скриптов всего и всех в серии игр 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
Ссылка на комментарий
https://www.amk-team.ru/forum/topic/6185-skriptovanie/

Всем привет. Подскажите, можно ли скриптом изменить звуковую тему локации (с природной на подземную например)?

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

 

ещё вопрос:

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

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

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

 

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

speczadanie, какую анимацию ты используешь? На ком ставишь эксперементы?

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

 

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

 

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

 

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

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

 

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

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

ещё вопрос.

как назначить точке пути (way point) выдачу инфопоршня? (когда нпс прошёл по заданной точке - выдача)?

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 отвечает за симмуляцию группировок в игре (даже из названия понятно)). Ты не прописал группировку в скрипте пда, от этого и вылет (симмуляция в игре стартует, а в пда инфы о группировке нет).

Alastar разве надо в ПДА прописывать actor_army?!У меня вылетает при войне группировок

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

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

во-вторых:

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

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

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

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

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

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

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

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

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

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

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

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

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

Войти

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

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

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