В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
dmitry778, Ну у меня не бандит, а просто типо охранник. Сам запавнен, диалог у него есть. Логика стоячая)) А вот как сделать, чтобы диалог появлялся сам не врубаюсь, скрипт говоришь? А что нужно прописать и где, чтобы диалог появился?
MoDoStRoY, Я тебя спросил ты достаточно сильный скриптер? Это все создается через скрип, а там такая дебурга, что не каждый мэтр туда полезет. Лично я сам когда открыл скрип подсумка (встречал наверное в модах, а ты хочешь примерно тоже самое) так у меня волосы помышками зашевелились. Вот и вопрос потянешь?
Сообщение отредактировал dmitry778 - Четверг, 01.11.2012, 11:58
dmitry778 подсумок? Нет, я хочу вместо картинки ГГ сделать человека и на его фоне 4 слота (комбез на уровне торса, штаны на уровне ног, сапоги на уровне ступней, ну и противогаз на уровне головы). Ну а вообще да, я встречал такую вещь, но вставлять желания нету, т.к не очень то и нужно Силён ли в скриптах? Думаю нормально, но до Vergas`а и других известных скриптеров мне ещё далеко. Я заметил, что с каждым днём узнаю и понимаю чуть больше чем раньше, например месяц назад мой мозг просто отказывался понимать, как сделать открывание двери с ключа, а теперь я это сделал Объясни, желательно по понятней. И я постараюсь всё это переварить и усвоить, а там уж поглядим
СЕРА я же сказал, через condition попробуй, пример:
cond = {+sera_mission_compleate}
Т.е пока не будет инфопоршня sera_mission_compleate, телепорт не появиться
Добавлено (01.11.2012, 12:09) --------------------------------------------- dmitry778 да на ТЧ, я конечно и на ЗП делал, но тени мне как то роднее. Насчёт сапогов не волнуйся, мой друг перетекстурирует ногу снорка и будет выглядеть как сапог
Добавлено (01.11.2012, 12:20) --------------------------------------------- function select_vodka(itm_section,need_number) sak.out_item_namber("vodka",2) end
а вот скрипт Sak local items_count=0 local itemin=nil
function have_item_namber(itm,need_namber) local actor=db.actor items_count=0 itemin=itm actor:iterate_inventory(cheking_item,actor) if items_count>=need_namber then return true else return false end end function cheking_item(actor,item) local items=item:section() if items==itemin then items_count=items_count+1 end end function create_items(npc,section,number) for i=1,number do alife():create(section, npc:position(), npc:level_vertex_id(), npc:game_vertex_id(), npc:id()) end end local reloc_params={} local stalk function out_item_namber(itm_section,need_number) reloc_params.itm_section=itm_section reloc_params.itm_cnt=need_number reloc_params.itm_cnt_found=0 db.actor:iterate_inventory(checkout_items_count,db.actor) reloc_params.itm_cnt_found=0 if reloc_params.itm_cnt_found<=reloc_params.itm_cnt then db.actor:iterate_inventory(out_items_count,db.actor) end news_manager.relocate_item(db.actor, "out", itm_section) reloc_params={} end function relocate_item_namber(stalker,itm_section,need_number) stalk=stalker reloc_params.itm_section=itm_section reloc_params.itm_cnt=need_number reloc_params.itm_cnt_found=0 db.actor:iterate_inventory(checkout_items_count,db.actor) reloc_params.itm_cnt_found=0 if reloc_params.itm_cnt_found<=reloc_params.itm_cnt then db.actor:iterate_inventory(reloc_items_count,db.actor) end news_manager.relocate_item(db.actor, "out", itm_section) reloc_params={} end function checkout_items_count(actor,item) if item.section and item:section()==reloc_params.itm_section then reloc_params.itm_cnt_found = reloc_params.itm_cnt_found + 1 end end function reloc_items_count(actor,item) if item.section and item:section()==reloc_params.itm_section and reloc_params.itm_cnt_found<reloc_params.itm_cnt then db.actor:transfer_item(item, stalk) reloc_params.itm_cnt_found = reloc_params.itm_cnt_found + 1 end end function out_items_count(actor,item) if item.section and item:section()==reloc_params.itm_section and reloc_params.itm_cnt_found<reloc_params.itm_cnt then amk.remove_item_from_inventory(item, actor) reloc_params.itm_cnt_found = reloc_params.itm_cnt_found + 1 end end
Добавлено (01.11.2012, 12:20) --------------------------------------------- советую использовать его, очень удобный и помогает сократить код скрипта
dinsekt в комплекте с локой должен идти acdc для неё.... Если нет, то надо какие то правки внести в файл acdc.pl там вроде нужно в список локаций внести твою, точнее можешь найти на сталкер-вики
MoDoStRoY, Ну так из ЧН и перенеси. Там в низу пистолетный слот он для твоих башмаков и подойдет :). А серьезно попробую сделать но не обещаю все зависит от времени. dinsekt, От чего all.spawn?
MoDoStRoY, Вот редактирование инвенторя на примере слотов для артов. То-же самое только тебе нужно новый слот дорисовать.
Ячейки под атрефакты тоже можно -я 16 штук делал. Делается просто -два файла менять всего надо, файл system.ltx, секция inventory, в АМК моде она вообще в отдельный файл вынесена -inventory_sect.ltx называется. Там всего пять строчек:
[inventory]
take_dist = 2
max_weight = 80
max_ruck = 56
max_belt = 6 //16
slots = 11
Надо на вот что изменить: (заметьте, за двойным слешем стоит 16 -это количество слотов
под атрефакты хотели сделать сами разработчики игры, потом переделали на 5, а команда
АМК -на шесть)
[inventory]
take_dist = 2
max_weight = 80
max_ruck = 56
max_belt = 16
slots = 11
Дальше надо изменить рисунок ячеек в инвентаре, штобы ячеек рисовалось не 6, а 16, по восемь в два ряда, типа как в АМК рисуется по три в два ряда. Делаем так: Берём файл
inventory_new.xml, из папки gamedataconfigui, открываем его, находим секцию:
Это так в моде АМК. Красным выделил ряды и колонки. То есть у нас есть два ряда по три колонки. Делаем маленько по-другому: <dragdrop_belt x="590" y="118" width="410" height="104" cell_width = "52" cell_height="52" rows_num="2" cols_num="8"/> Теперь рисоваться будет 16 ячеек, и в каждую можно артефакт засунуть. Ячейки под атрефакты -10 штук: файл system.ltx, секция inventory, в АМК моде она вообще в отдельный файл вынесена -inventory_sect.ltx называется. Там всего пять строчек:
[inventory]
take_dist = 2
max_weight = 80
max_ruck = 56
max_belt = 6 //16
slots = 11
Надо на вот что изменить: (заметьте, за двойным слешем стоит 16 -это количество слотов под атрефакты хотели сделать сами разработчики игры, потом переделали на 5, а команда
АМК -на шесть)
[inventory]
take_dist = 2
max_weight = 80
max_ruck = 56
max_belt = 10
slots = 11
Дальше надо изменить рисунок ячеек в инвентаре, штобы ячеек рисовалось не 6, а 10, по пять в два ряда, типа как в АМК рисуется по три в два ряда. Делаем так: Берём файл
inventory_new.xml, из папки gamedataconfigui, открываем его, находим секцию:
Это так в моде АМК. Красным выделил ряды и колонки. То есть у нас есть два ряда по три колонки. Делаем маленько по-другому: <dragdrop_belt x="733" y="118" width="410" height="104" cell_width = "52" cell_height="52" rows_num="2" cols_num="5"/>