В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
С чем может быть связан данный вылет на ЗП? [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 : .... - call of pripyat\gamedata\scripts\xr_logic.script:586: attempt to index global 'xr_conditions' (a nil value)
function buy_sich_outfit(first_speaker, second_speaker) dialogs.relocate_money_from_actor(first_speaker, second_speaker, 12000) dialogs.relocate_item_section(second_speaker, "stalker_outfit", "in") end
function buy_sich_ak74(first_speaker, second_speaker) dialogs.relocate_money_from_actor(first_speaker, second_speaker, 10000) dialogs.relocate_item_section(second_speaker, "wpn_ak74", "in") end
function buy_sich_detector(first_speaker, second_speaker) dialogs.relocate_money_from_actor(first_speaker, second_speaker, 1000) dialogs.relocate_item_section(second_speaker, "detector_advanced", "in") end
function gg_has_12000(first_speaker, second_speaker) return first_speaker:money() >= 12000 end
function gg_has_1000(first_speaker, second_speaker) return first_speaker:money() >= 1000 end
function gg_has_10000(first_speaker, second_speaker) return first_speaker:money() >= 10000 end
function gg_hasnt_ak74(first_speaker, second_speaker) return first_speaker:object("wpn_ak74") == nil end
function gg_hasnt_outfit(first_speaker, second_speaker) return first_speaker:object("stalker_outfit") == nil end
function gg_hasnt_detector(first_speaker, second_speaker) return first_speaker:object("detector_advanced") == nil end
В xr_conditions:
function 1st_quest_done_1() local text text = "Информатору:\\n...." news_manager.send_tip(db.actor, text, nil, nil, 50000) new_quests.1st_quest_done_continue() end
function storyline_quest_2_has_needed_1() if db.actor:object("wpn_ak74") then return true end return false end
function storyline_quest_2_has_needed_2() if db.actor:object("stalker_outfit") then return true end return false end
function storyline_quest_2_has_needed_3() if db.actor:object("detector_advanced") then return true end return false end
Сообщение отредактировал antonnkz76 - Вторник, 17.06.2014, 19:07
function 1st_quest_done_1() local text text = "Информатору:\\n...." news_manager.send_tip(db.actor, text, nil, nil, 50000) new_quests.1st_quest_done_continue() end
имя переменной '1st_quest_done_1' не должно начинаться с числа скачай >>ЭТУ<< прогу, она проверяет файлы .script на ошибки
Поставил на локации в сдк 2 обьекта, скомпилировал спавн, вылет когда начинаешь новую игру: Expression : cross_table().header().level_guid() == level_graph().header().guid() Function : CAI_Space::load File : D:\prog_repository\sources\trunk\xrGame\ai_space.cpp Line : 113 Description : cross_table doesn't correspond to the AI-map
Сообщение отредактировал ALEX13 - Среда, 18.06.2014, 08:41
С чем связан данный вылет? Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : .... - call of pripyat\gamedata\scripts\xr_logic.script:655: attempt to call field '?' (a nil value)
Я понимаю, что где то неправильно задано значение, но где? Скрипты в этом посте: http://ap-pro.ru/forum/21-9999-654585-16-1403017597 Насчет того, что имя функции начинается с цифры не говорить, уже исправил.
Насчет того, что имя функции начинается с цифры не говорить, уже исправил.
А имя функции, которую ты вызываешь, начинающееся на цифру ты тоже исправил?
Код
new_quests.1st_quest_done_continue()
Где ты вообще увидел, что можно давать такие имена функций?
ЦитатаALEX13 ()
Description : cross_table doesn't correspond to the AI-map
Возможно:
Цитата
Причина: game.graph не соответствует кросс-таблице одной из локаций. Скорее всего - забыли закинуть в геймдату level.gct после правки в СДК и компиляции AI. Помните, level.gct нужно обновить для всех локаций, а не только для тех, которые подвергались правке.
ЦитатаТортик-ложь ()
entity not found. id_parent=393 id_entity=395 frame=45026
Цитата
Причина: Возникает иногда произвольно при смерти неписей. Движок отрабатывая лут изредка теряет серверный объект уничтожаемой вещи, в итоге происходит вылет. Лечение: Попробуйте загрузить последнее сохранение.
ЦитатаJakoro ()
подскажите как снять координаты не гг а какого либо объекта
Скриптами или через СДК (all.spawn), при этом ты должен знать, что именно это за объект.
Где ты вообще увидел, что можно давать такие имена функций?
А что, нельзя? Кроме цифры в начале есть еще какие-то ограничения? Забыл под спойлер засунуть эту функцию:
function first_quest_done_continue() local text text = "Информатор:\\n..." news_manager.send_tip(db.actor, text, nil, nil, 50000) task_manager.get_task_manager():give_task("storyline_quest_2") if db.actor ~= nil then db.actor:give_info_portion("storyline_quest_1_done") end end
Сообщение отредактировал antonnkz76 - Среда, 18.06.2014, 12:31