В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга.
Не флудить
Предварительно просматривайте раздел. Ответ на ваш вопрос может быть там.
В своем вопросе указывайте платформу моддинга - Тень Чернобыля, Чистое небо или Зов Припяти.
1. Какая стоит игра, с каким патчем? 2. Какой мод, версия мода? 3. Что правили своими ручками? 4. Конфиг компа. 5. Лог вылета и последние 25 строк (помещать под спойлер).
Структура папок и файлов в корневом каталоге игры:
...\S.T.A.L.K.E.R\gamedata\anims – папка содержит исполнительные файлы эффектов (например от ПНВ).
...\S.T.A.L.K.E.R\gamedata\config – папка содержит основные конфигурационные файлы (т. е. большинство настроек игры)
...\S.T.A.L.K.E.R\gamedata\meshes – содержит модели игровых предметов и персонажей...
...\S.T.A.L.K.E.R\gamedata\scripts – папка со скриптами (рабочими файлами содержащими в себе наборы функций) – основная папка, отвечающая за ответные действия игры и действия производимых игроком в игре.
...\S.T.A.L.K.E.R\gamedata\shaders – папка содержит в себе конфигурационные файлы шейдеров.
...\S.T.A.L.K.E.R\gamedata\sounds – здесь находятся все звуки игры (разложены по своим каталогам и папкам)
...\S.T.A.L.K.E.R\gamedata\spawns – содержит файл спавна – очень важный файл – не трогать без нужды!!!
...\S.T.A.L.K.E.R\gamedata\textures – содержит разложенные по каталогам и папкам текстуры используемые в игре.
Теперь разберем папки в каталоге «config»
...\S.T.A.L.K.E.R\gamedata\config\creatures - содержит массу конфигурационных файлов, в основном отвечающих за взаимодействие Главного героя игры (в дальнейшем ГГ) и прочего окружения в игре и ТТХ самого ГГ.
...\S.T.A.L.K.E.R\gamedata\config\gameplay – содержит конфиг. файлы персонажей игры (НПС) отвечающие за внешний вид, статус, снаряжение. Файлы: character_desc_ххх (где ххх – название локации) и character_desc_general (отвечает за зомбированного персонажа). Также содержит файлы диалогов и профилей НПС.
…\S.T.A.L.K.E.R\gamedata\config\misc – конфиг.файлы торговцев (папки с именами торговцев), артефактов, брони, квестовых предметов, уникальных предметов, файл отвечающий за награды за автозадания, файл эффектов (алкоголизма, ранения, ПНВ и прочих)...
…\S.T.A.L.K.E.R\gamedata\config\mp – среди прочих содержит важный файл mp_ranks – отвечающий за выпадение оружия и патронов из рук ГГ и НПС – без прописывания добавляемого в игру оружия в этот файл при выпадении нового оружия из рук ГГ\НПС будут следовать вылеты.
…\S.T.A.L.K.E.R\gamedata\config\text\rus – содержит файлы описаний всего и вся находящегося в игре (брони, артефактов, оружия, предметов и прочего).
…\S.T.A.L.K.E.R\gamedata\config\weapons – содержит конфиг.файлы оружия и боеприпасов используемых в игре.
…\S.T.A.L.K.E.R\gamedata\config\weathers – содержит конфиг.файлы настройки погоды на локациях.
Теперь немного подробнее о файлах.
...\S.T.A.L.K.E.R\gamedata\config\misc:
Папка shop_ххх (ххх – имя торговца) – содержит конфиг.файлы ассортимента торговца.
outfits – содержит секции конфигов костюмов.
artefacts - содержит секции конфигов артефактов.
items - содержит секции конфигов предметов.
monster_items - содержит секции конфигов частей монстров
postprocess - содержит секции конфигов пост. процессов (например: ПНВ).
quest_items - содержит секции конфигов квестовых предметов.
task_manager - содержит секции наград за автоквесты.
unique_items - содержит секции конфигов уникального оружия и костюмов.
У кого есть желание, создать FAQ по основным вопросам моддинга - обращаемся в ЛС.
_S_k_i_F_, xr_effects.clear_smart_terrain, xr_conditions.squad_exist jonn1990, Ну кто же виноват, что вы не читаете мануалов по языкам программирования.
Переменные используются для хранения значений в процессе выполнения скрипта. Имена переменных в Lua Именами (идентификаторами) переменных в Lua могут быть любые последовательности из букв, цифр и символа подчеркивания, начинающиеся не с цифры.
Обратите внимание
Язык Lua различает регистр символов, поэтому abc, Abc, ABC являются различными именами.
В таблице ниже приведены слова, которые зарезервированы языком Lua и не могут использоваться в именах переменных: and break do else elseif end false for function if in local nil not or repeat return then true until while Кроме того, все имена, начинающиеся с символа подчеркивания, за которым идут заглавные буквы (например, _VERSION) также являются зарезервированными. Какие переменные бывают в Lua?
Переменные в Lua могут быть глобальными и локальными. Если переменная не объявлена явно как локальная, она считается глобальной. Глобальные переменные Lua Глобальная переменная появляется в момент присваивания ей первого значения. До присваивания первого значения обращение к глобальной переменной даёт nil.
Глобальная переменная существует до тех пор, пока существует среда исполнения скрипта и доступна любому Lua-коду, выполняемому в этой среде. При необходимости удалить глобальную переменную можно явным образом, просто присвоив ей значение nil.
g = 1 -- создаем глобальную переменную g со значением 1 ... g = nil -- удаляем глобальную переменную g MsgBox(tostring (g)) --> nil
Все глобальные переменные являются полями обычной таблицы, называемой глобальным окружением. Эта таблица доступна через глобальную переменную _G. Поскольку полями глобального окружения являются все глобальные переменные (включая саму _G), то _G._G == _G. Локальные переменные Lua Любые локальные переменные должны быть объявлены явно с использованием ключевого слова local. Объявить локальную переменную можно в любом месте скрипта. Объявление может включать в себя присваивание переменной начального значения. Если значение не присвоено, переменная содержит nil.
local a -- объявляем локальную переменную a local b = 1 -- объявляем локальную переменную b, присваиваем ей значение 1 local c, d = 2, 3 -- объявляем локальные переменные c и d, присваиваем им значения 2 и 3
Область видимости локальной переменной начинается после объявления и продолжается до конца блока.
Примечание
Областью видимости переменной называется участок кода программы, в пределах которого можно получить доступ к значению, хранящемуся в данной переменной.
Под блоком понимается:
тело управляющей конструкции (if-then, else, for, while, repeat); тело функции; фрагмент кода, заключённый в ключевые слова do...end.
Если локальная переменная определена вне какого-либо блока, её область видимости распространяется до конца скрипта.
a = 5 -- глобальная переменная a local i = 1 -- переменная i локальна в пределах скрипта while i <= a do -- цикл от 1 до 5 local a = i^2 -- переменная а локальна внутри цикла while MsgBox(a) --> 1, 4, 9, 16, 25 i = i + 1 end MsgBox(a) --> 5 (здесь обращение к глобальной a) if i > 5 then local a -- переменная а локальна внутри then a = 10 MsgBox(a) --> 10 else MsgBox(a) --> 5 (здесь обращение к глобальной a) end do local a = 20 -- переменная а локальна внутри do-end MsgBox(a) --> 20 end MsgBox(a) --> 5 (здесь обращение к глобальной a)
Обратите внимание
Когда возможно, рекомендуется использовать локальные переменные вместо глобальных. Это позволит избежать «засорения» глобального пространства имён и обеспечит лучшую производительность (поскольку доступ к локальным переменным в Lua выполняется несколько быстрее, чем к глобальным).
Сообщение отредактировал denis2000 - Суббота, 06.02.2016, 19:32
Подскажите пожалуйста правильные параметры сохранения dds текстуры в paint net. С текстурами никогда не работал, а сегодня вот приспичило. Хочу поменять изображение в главном меню, некоторые элементы худа и несколько текстур артефактов с соответствующими иконками, но вот как правильно сохранять - понятия не имею. На скриншоте настройки сохранения по умолчанию, напишите пожалуйста какие параметры нужно выбирать для правильного сохранения текстуры.
И ещё: для всех текстур подходят одни и те же параметры сохранения? Или для определённых текстур нужно выбирать другие параметры (генерация mipmap, DXT/DXT5 и т.д.)?
P.S. не предлагайте использовать фотошоп, мне привычнее работать именно в paint net.
Сообщение отредактировал DarkBlaze - Суббота, 06.02.2016, 19:54
denis2000, спасибо! Правильно так писать? для рестриктора =clear_smart_terrain(имя_смарта) в функцию xr_effects.clear_smart_terrain(nil, nil, {"имя_смарта"})
например, проверка, есть ли сквад if squad_exist(стори_ид_сквада) then Так надо, или по-другому? Зараннее спасибо!
нужно , для того чтобы изменять параметры фонарика.
Эвоно как! Тогда вдогонку два вопроса: 1. Почему вы считаете, что изменение конфига, как то отразиться на предмете в инвентаре ГГ? 2. Почему вы считаете, что движек после запуска читает параметры из файлов *.ltx, а не из кеша?
Для изменения каких-то параметров объекта, вам придется: 1. Выкинуть объект под ноги ГГ. 2. Считать его нетпакет и модифицировать записи в нем (при том что нетпакет будет содержать необходимые данные!). 3. Передать нетпакет обратно. 4. Для применения измененного нетпакета перевести объект в оффлайн и затем в онлайн. 5. Вернуть объект в инвентарь ГГ.
Сообщение отредактировал denis2000 - Суббота, 06.02.2016, 20:24
Скат, у меня нет проблем с входом. Просто 30% из тех кто скачали мод жалуются, что он у них вылетает. Я думаю, что это связано с адаптацией к широкоформату
Я им писал, а они молчат... Может это специально, чтобы не скачивали
Добавлено (07.02.2016, 12:57) --------------------------------------------- Помогите, пожалуйста, я начал заселять локацию через all spawn (не люблю работать в СДК), вроде бы все прописал, вот лог:[spoiler]compiling shader model_def_hq_4 compiling shader model_def_lq_4 compiling shader model_def_point_4 compiling shader model_def_spot_4 compiling shader model_def_shadow_4 compiling shader model_def_hq_2 compiling shader model_def_lq_2 compiling shader model_def_point_2 compiling shader model_def_spot_2 compiling shader model_def_shadow_2 compiling shader simple compiling shader model_def_lqs_1 compiling shader model_env_hq_3 compiling shader model_env_lq_3 compiling shader model_distort4glass_3 ! Can't find texture 'act\act_new_details_01' * [prefetch] time: 21405 ms * [prefetch] memory: 150620Kb ! Player name in registry is empty! (InstallUserName) * phase time: 21957 ms * phase cmem: 238692 K * phase time: 17 ms * phase cmem: 238692 K * Creating new game... * Loading spawn registry...
FATAL ERROR
[error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...ll of pripyat\gamedata\scripts\se_smart_cover.script:50: attempt to index field '?' (a nil value)