В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
! Unknown command: *INFO:ВНИМАНИЕ! Ошибка! Информация по ошибке в строках ниже ! * Log file has been saved successfully! ! Unknown command: *INFO:ERROR!: Statistic ERROR: required section [psy_dog] not present, based [psy_dog_strong] * Log file has been saved successfully!
FATAL ERROR
[error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: ... publishing\s.t.a.l.k.e.r\gamedata\scripts\_g.script:95: ВНИМАНИЕ! Игра прервана! Информация в строках выше.
function printf(fmt,...) get_console():execute("load "..fmt) log(string.format(fmt,...)) end
! Cannot find saved game error: statistic error: required section [psy_dog] not present, based [psy_dog_strong] ! Cannot find saved game %s
dmitry778, я бы не говорил, если бы не знал или не проверил на личном опыте. Я не отрицаю, что параметр direction в спавн секции задаётся в радианах (об этом я писал здесь: Сообщение # 2613) поэтому поворот на 90° это действительно 1.57 (90*0.01745). Я же писал о параметре передаваемом в функцию set_actor_direction. Функция принимат азимутальный угол в радианах (угол в плоскости XZ между проекцией вектора (координаты которого я приводил) на эту плоскость и осью Z). Азимутальный угол вычисляет функция getH класса vector. Так что всё так как я написал. BadQvik, ты сейчас мне ничего не доказал, а лишь на словах пытаешься убедить меня в чём-то, что тебе кажется рабочим. Повторюсь ещё раз - это очень легко проверяется: пропиши в качестве значения для параметра какую-нибудь белиберду, например так:
Код
no_move = lkjsakljf
И посмотришь, что игра не вылетит, т.к. игра не считывает данный параметр, тем более в секции logic. ins33, у тебя где-то для секции psy_dog_strong отсутствует родительская секция psy_dog, от которой она наследуется. Вылет происходит при убийстве моба? LaRento, слишком ты мал и глуп, чтобы понять сейчас хоть что-то...
Сообщение отредактировал ColR_iT - Четверг, 24.01.2013, 18:02
ColR_iT, Да зачем мне доказывать если у меня так и написано, я проверял не однократно. Ладно забудем, сочтем на недоразумение, которое никто толком и не понял
BadQvik, в таком случае, будь любезен, не вводи в заблуждение других, предлагая использовать НЕРАБОЧИЙ параметр! Возьми и проверь, ведь это не займёт много времени. Или ты боишься разочароваться в игре?
Добавлено (24.01.2013, 18:12) --------------------------------------------- dmitry778, забыл написать... Параметр direction работает, игра считывает угол поворота изначально с него, но вот когда НПС переходит в онлайн происходит считывание данных из параметра upd:o_torso.
ColR_iT, Врать мне нету смысла, это вранье мне здесь не придаст репутации и уважения, поэтому повторяюсь "Я проверял на личном опыте". Прошу объяснить что это за функции и для чего их можно использовать:
[6479] ; cse_abstract properties section_name = camp_zone name = pr_stalker_smart_camp_zone_0000 position = -44.240295410156,-1.865899682045,-83.328773498535 direction = 0.99879783391953,0,-0.049018748104572
У меня такой вопрос: Можно ли данные секции использовать по образцу для сталкера ЧН? Как я понял это выше указывается точка кемпа cemp_zone, а что такое smart_cover? И еще понял что smart_terrein это точка куда будут подходить нпс и выполнять кемп (если я не ошибаюсь?). Вопрос остается тот же можно ли использовать в ЧН и что нужно заменить для работоспособности? Прошу помочь, ибо в этом я не совсем сильно разбираюсь.
BadQvik, ты понимаешь, что твоё доказательство, в данном случае лишь слова, которые только по твоему мнению, являются истинными. Доказывать мне ничего и не нужно, я и сам знаю то, что мне нужно, в частности то, что данный параметр не читается игрой не в какой версии игры, ни с каким патчем. Как это проверить - я уже написал и пишу об этом в третий раз. Ты хотя бы для себя проверь данный факт, ведь ты сам заблуждаешься говоря себе, что параметр рабочий. Проверь - ты убедишься, что no_move бесполезен и тот факт, что у тебя НПС стоял на месте абсолютно ни о чём не говорит, т.к. схема remark сама по себе подразумевает данное действие - проигрывать указанную анимацию стоя в какой-то точке.
Добавлено (24.01.2013, 18:29) --------------------------------------------- ins33, да - она конкретно указывает, какая строчка была выведена в лог последней перед тем как была прервана игра. Вероятно данный пример был несколько не нагляден. Если тебя смущают тормоза, то это можно поправить. За комментируй вот эту строчку:
Код
console:execute("flush") --/ команда записи буфера лога в файл (в игре можно закомментиировать!)
Это строка сохраняет лог-файл каждый раз - очень полезно, когда ошибка не проявляется в вылете, либо вылет весьма не однозначен, к тому же с этой строкой в логе будет хоть что-то даже во время вылета при котором обычно лога нет.
Сообщение отредактировал ColR_iT - Четверг, 24.01.2013, 18:30
ColR_iT, Много у тебя в словах "я" и "я знаю сам", я конечно несомненно поздравляю тебя, что ты считаешь себя таким умным. Но увы, это только твое убеждение.
function na_upiter() level.add_pp_effector ("teleport.ppe", 20022, false) db.actor:set_actor_position(vector():set(-452.388763, 0.1002, -378.2321777), 242, 3702) db.actor:set_actor_direction(vector():set(0,0,-1)) end
и
Код
function na_upiter() level.add_pp_effector ("teleport.ppe", 20022, false) db.actor:set_actor_position(vector():set(-452.388763, 0.1002, -378.2321777), 242, 3702) local dir = vector():set(0,0,-1) db.actor:set_actor_direction(dir:getH()) end
Не поворачивает ГГ.
Добавлено (24.01.2013, 18:39) --------------------------------------------- Как вывести сообщение на верх экрана? Как когда получаешь или сдаёшь квест.
BadQvik, конечно "Я", а что мне к себе на "Вы" обращаться или по имени? То что я считаю себя умным - да, это так и я это не скрываю и считаю, что любой адекватный, образованный в меру самолюбивый человек думает о себе также. При это убедить я в этом никого не пытался и не собираюсь. И в отличии от некоторых, я подкрепляю свои слова доказательствами, а не просто глаголю здесь то, что мне привиделось или почувствовалось. Вот здесь есть НЕОСПОРИМОЕ доказательство моих слов о нерабочем параметре no_move: >>ClicK Me<<, которое может проверить каждый. А где твоё доказательство твоих слов? И что-то ты пытаешься съехать с темы, которую сам и завёл...
хочу сделать у броников новый параметр маскировка. тут одной строчкой не обойтись. как вот сделать так чтоб если например параметр маскировка 100 и ползеш в низком присяде то враг не будет замечать. если к нему вплотную не подойти?
Sanjaaa, то, что одной строчкой не обойтись - это точно. Но это вполне реализуемая задумка. Прописываешь строку как и задумывал в секцию костюма. Чтобы считать строку скриптами можно воспользоваться функциями класса ini_file. А вот дальше проблема. Стандартными методами "обмануть" можно тех НПС, которые находятся на "работе", т.е. подчиняются какой-то конкретной секции. Там просто пишем проверку на расстояние и на равенство данного параметра, какому-то значению. А вот чтобы это работало и со свободно гуляющими НПС, в том числе и тех, которые ещё не прибыли на место работы (идут с места спавна в гулаг) - это нужно писать отдельную схему, либо дописывать условие видимости ГГ в файле xr_reach_task.script, эта схема отвечающая за доведение НПС до места назначения, т.е. в гулаг.
Добавлено (24.01.2013, 19:36) --------------------------------------------- ins33, честно - не очень. Работает или нет?