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

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

Тема для обсуждения скриптов всего и всех в серии игр 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
Ссылка на комментарий

Почитай раздел Синтаксис строки форматирования. Мне очень помогло.

На счет "не работает". В основном числовые значения в Сталкере имеют тип float или integer. Так что попробуй заменить "%.02d" на "%.02f". По крайней мере у меня при записи в пстор нормально оставалось 2 знака после запятой.

ТЧ 1.0004. SAP и Trans mod

github

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

У меня вопрос. Заспавнил НПС

function spawn_mutantul()

local obj = alife():create("mutantul",vector():set(-66.405685424805,20.100961685181,78.71656036377),1001885,4386)

local params = amk.read_stalker_params(sobj)

params.custom = "[logic]\ncfg = scripts\\gorizont\\mutantul.ltx"

params.sid = 110050

amk.write_stalker_params(params,obj)

end

Зарегiстрировал sid в game_story_ids. Но на ПДА его метка не отображается. ЧТо неправильно?

Создаю глобальный мод с новыми локациямЭ

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

strelok200, ты на него метку поставил?

local obj = alife():create("mutantul",vector():set(-66.405685424805,20.100961685181,78.71656036377),1001885,4386)
amk.add_spot_on_map(obj.id,"green_location","Mutantul")

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

Всем доброго времени суток. У меня вопрос по моду ARC 1.0 Lite. Там есть такая проблема, если в контейнере есть артефакт, то после загрузке сейва, при открытии этого контейнера, такой вылет:

Expression : fatal error

Function : CScriptEngine::lua_error

File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp

Line : 73

Description : <no expression>

Arguments : LUA error: ...1.0004\gamedata\scripts\arc_ui_container_menu.script:343: attempt to compare number with nil

 

Что делать тут, я ума не приложу. Помогите, заранее спасибо.

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

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

Если что, вот ссылка на мод.

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

Ulman, ну тогда напиши в 337 строке "local t = 0", но это - не очень, попробуй лучше так: в 343 строке "if t or t>0 then ..."

Если такие заплатки не помогут -дорабатывай алгоритм.

всё легко

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

Здравствуйте, проблема с респавном сквадов монстров в ЗП

Как делаю:

1. Создал смарт

[smart_terrain];esc_b1

squad_id = 2

max_population = 4

respawn_params = respawn@esc_b1

[respawn@esc_b1]

boar_respawn

[boar_respawn]

spawn_squads = simulation_boar_b1

spawn_num = 4

 

2. Описал в simulation_objects_props.ltx

[esc_b1]:default

lair = 1

territory = 1

sim_avail = true

 

3. Ну и сквад

[simulation_boar_b1]:online_offline_group

faction = monster_vegetarian

npc_random = boar_normal, boar_normal, boar_normal, boar_strong

npc_in_squad = 2, 3

 

И вот такие вылеты получаю:

Expression : !m_error_code

Function : raii_guard::~raii_guard

File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp

Line : 748

Description : ... - Cia I?eiyoe\gamedata\scripts\smart_terrain.script:584: attempt to index local 'job_data' (a nil value)

 

Expression : !m_error_code

Function : raii_guard::~raii_guard

File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp

Line : 748

Description : ... - Cia I?eiyoe\gamedata\scripts\xr_reach_task.script:117: attempt to index field '?' (a nil value)

 

 

При спавне через start_position и удалении строк о респавне - сквад успешно спавниться

Также, респавн неписей на другом смарте проходит нормально.

Пожалуйста помогите, а то я уже 4ый час висну тут...

Также извиняюсь, если вопрос уже звучал в этой теме, но по поиску (респавн +мутантов) ничего не нашел.

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

 

С Уважением, XOBAH

Ссылка на комментарий
Ulman, ошибочка - не "if t or t>0 then ..." а "if t and t>0 then ..." Изменено пользователем 7.9

всё легко

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

Немного странный вопрос, но все же. Каким способом можно заставить зависнуть алайф?

 

Оффтопить, плз, -> в соотв.топики, или же потрудись сформулировать вопрос имеющий смысл и в соответствии с темой топика.

--/ Artos

[x]

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

Freedom

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

_Призрак_, если я правильно понял, то у меня такое было, когда около 100 НПС перешли в онлайн, но может можно и меньше.

 

Достаточно ясно было сказано насчет оффтопика. Согласно правилам форума - оффтопик наказуем.

--/ Artos

 

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

7.9, сделал я так ещё в одной строке, заработало, но теперь при попытке вытянуть арт из контейнера в рюкзак получается такой вылет:

[error]Expression : fatal error

[error]Function : CScriptEngine::lua_error

[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp

[error]Line : 73

[error]Description : <no expression>

[error]Arguments : LUA error: ....k.e.r\gamedata\scripts\arc_ui_container_menu.script:312: attempt to perform arithmetic on field '?' (a nil value)

 

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

Ulman, если мелких заплаток не хватило, значит - "всё серьёзно" - "косяк" где-то в алгоритме (или в адаптации) - в этом случае, подсказать не смогу... :(

Лучше откатиться к первому вылету...

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

всё легко

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

По поводу "Сообщение #3134"

Проблему решил, точнее, понял из-за чего она. Неписи в кол-ве 20 штук идут с первого смарта, на проблемный, вследствие чего им катастрофически не хватает работ.

Но я не понимаю, почему неписи с 1го смарта начали ходить на b1...

Ссылок на esc_b1 в gamedata нет :(

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

Попробуй так

 

function spawn_mutantul(sid,id)
local obj = alife():create("mutantul",vector():set(-66.405685424805,20.100961685181,78.71656036377),1001885,4386)
local params = amk.read_stalker_params(sobj)
if sid==""сюда пишешь ид" then level.map_add_object_spot(id, "green_location","Mutantul")
params.custom = "[logic]\ncfg = scripts\\gorizont\\mutantul.ltx"
params.sid = 110050
amk.write_stalker_params(params,obj)
end

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

Здравствуйте, появился вопрос - как заспавнить раненного непися и сделать так, чтобы с ним можно было поговорить, но он при этом не вставал? Пытался анимацией wounded, но при приближении ГГ к нему, он встает.

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

По поводу постов: 3134, 3139

 

Разобрался:

Неверно прописал смарты в simulation_objects_props.ltx

Смарты были связаны симуляцией по территории...

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

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

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

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

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

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

Войти

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

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

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