В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
Можно ли в скриптовых функциях (ТЧ) реализовать временную задержку между действиями? Пример:
Код
function most () level.add_pp_effector("agr_u_fade.ppe", 0, false)<-- сначало это -- Тут нужна задержка, а дальше, что ниже local a = vector() a.x = 52.310333251953 a.y = -0.6053409576416 a.z = 121.97222900391 db.actor:set_actor_position(a) end
Я этими функциями не пользовался, так что ничего определённого сказать не могу как они себя ведут. Судя по описанию :
Цитата
ii. wait() 1. ждать до следующего обновления скрипта iii. wait(<time_to_wait>) 1. ждать заданное в миллисекундах время до следующего обновления скрипта iv. wait_game(<game_time_to_wait>) 1. ждать заданное в миллисекундах игровое время до следующего обновления скрипта
Добавлено (30.06.2013, 11:10) --------------------------------------------- Обе функции верны вроде бы. В первой мы ожидаем отсчёта 5 секунд оператором while. Вторая функция аналогичная, только мы не назначили локальную переменную и не использовали глобальное время. Так что Graff46 следует попробовать оба варианта.
Gun12, LaRento, Обе не работают. А если заглянуть в _g.script то пропадает желание дальше заниматься этим вопросом. И о каком профессионализме шла речь, я что то не уловил.
Lua однопоточен. Если функция начала выполняться, то пока не выполниться до конца, далее ничего не будет просходить (если не ипользовать coroutine). Поэтому while time_global() < time do end не может не работать.
Цитата (ins33)
И о каком профессионализме шла речь
Раз - _http://www.amk-team.ru/forum/index.php?showtopic=7450&page=16#entry622983 И два - _http://www.amk-team.ru/forum/index.php?showtopic=11584&page=6#entry641931
Сообщение отредактировал Gun12 - Воскресенье, 30.06.2013, 12:15
ins33 О какой функции time вы говорите? Где вы в lua_help видели эту функцию, в которую ещё и передаётся аргумент. Может вы подразумевали класс profile_timer?
Вы сами попробуйте выполнить функцию :
Код
function f() local time_before = time_global() local time = time_before + 5000 news_manager.send_tip(db.actor, tostring(time_before)) while time_global() < time do end news_manager.send_tip(db.actor, tostring(time_global())) end