В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
ins33, самый элементарный пример, это отметки переходов, они ставятся именно за счёт функции map_add_object_spot. Убедится в этом можешь в файле level_tasks.script в функции add_lchanger_location.
wikreznow, ну как же ты не поймёшь, что это программная ошибка... Почитай вот эту статью >>Click Me<<, она не большая и не сложна для понимания, так что основную суть проблемы можно понять.
У меня есть для ТЧ два худа: из ЗП и New Rad&Cardiogram Mod. Как сделать так, что бы полоска здоровья и выносливости (ЗП) была слева, а таблица с радиометром (New Rad&Cardiogram Mod) но без кардиограммы по использованию ТАВ высвечивалась справа?
Сообщение отредактировал BoDoRoD - Вторник, 23.10.2012, 20:56
А,всё исправил,надо было просто стоимость предмета добавить.
Добавлено (23.10.2012, 21:16) --------------------------------------------- Почему когда я создаю ремонт-комплект при использовании этой статьи :
Создание ремонт комплекта Я опишу пример создания ремонт комплекта для костюмов, а для оружия в конце статьи сделаю пару заметок. Дело в том, что различия в создании ремонт комплектов почти нет. 1. Для начала нам нужно создать сам ремонт комплект, то есть предмет, а уже потом вешать на него функцию при использование. Для этого в config\misc\items.ltx в конец добавляем конфиг нашего предмета: [repair_kit_outfit]:identity_immunities GroupControlSection = spawn_group discovery_dependency = $spawn = "food and drugs\repair kit outfit" $prefetch = 32 class = II_ANTIR ;класс не трогаем! cform = skeleton visual = equipments\item_merger.ogf ;модель description = enc_equipment_repair_kit_outfit ;ссылка на описание в config\text\rus\....xml
inv_name = repair_kit_outfit_name ;ссылка на название в config\text\rus\....xml inv_name_short = repair_kit_outfit_name ;тоже самое, что и inv_name inv_weight = 6.0 ;вес
inv_grid_width = 2 ;ширина иконки inv_grid_height = 1 ;высота иконки inv_grid_x = 8 ;координата x иконки inv_grid_y = 18 ;координата y иконки cost = 10000 ;цена ;всё ниже написанное не трогаем, оно нам и не нужно eat_health = 0 eat_satiety = 0 eat_power = 0 eat_radiation = 0 wounds_heal_perc = 0 eat_portions_num = 1 animation_slot = 4 hud = wpn_vodka_hud 2. Теперь добавим название и описание. Для этого в файле config\text\rus\string_table_enc_equipment.xml в конец между </string> и </string_table> добавляем строки по аналогии с уже написсанными: <string id="repair_kit_outfit_name"> <text>Ремонт комплект ДПК</text> </string> <string id="enc_equipment_repair_kit_outfit"> <text>Новинка от Вани Болта - ремонт комплект ДПК для быстрой и эффективной починки костюмов. При его создании были учтены все недочёты и, следовательно, удалены. Благодаря улучшенным инструментам и деталям, а также облегченному весу весьма ценен. С его помощью можно увеличить состояние костюма до 100%, если он повреждён не больше 30%. Незаменимая вещь во время вылазки.</text> </string> Отлично, с предметом закончили. Теперь приступим к самому главному - скриптам. [править]Работа со скриптами 1.Вешаем функцию починки при использовании нашего ремонт комплекта. Для этого в файле scripts\bind_stalker.script находим функцию: function actor_binder:net_destroy() и после строки self.object:set_callback(callback.take_item_from_box, nil) пишем: self.object:set_callback(callback.use_object, nil)) И теперь находим функцию function actor_binder:reinit() и после строки self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self) пишем: self.object:set_callback(callback.use_object, self.repair_outfit_start, self) Теперь в папке scripts создаёте свой скриптовой фаил ваше_название_скрипта.script. Но! Название должно быть написано на английском языке и вместо пробелов должен стоять знак "_". Опять открываем bind_stalker.script и в самый конец добавляем эту функцию: function actor_binder:repair_outfit_start(obj, who) if obj then if obj:section() == "repair_kit_outfit" then --здесь указываем предмет, при использование которого будет срабатывать функция ниже ваше_название_скрипта.repair_outfit() --здесь указываем ссылку на функцию. Сначала скрипт, в котором она написана, потом название самой функции end end end 2. Добавляем саму функцию ремонта. Для этого в файле ваше_название_скрипта.script пишем: -- Ремонт комплект для костюмов function repair_outfit() local item_s6 = db.actor:item_in_slot(6) --объявляем переменную (item_s6) if item_s6 ~= nil and item_s6:condition() >=0.30 and item_s6:condition() ~=1 then --когда костюм можно чинить (состояние больше или равно 30%) item_s6:set_condition(1) local snd_obj = xr_sound.get_safe_sound_object([[interface\inv_detach_addon]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,0,255,0]Ремонт костюма завершен." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) elseif item_s6 == nil then --когда костюма нет local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: нужно одеть коcтюм." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id()) elseif item_s6:condition() <0.30 then --когда костюм нельзя чинить (состояние меньше 30%) local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: костюм слишком сильно повреждён." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id()) elseif item_s6:condition() ==1 then --когда костюм в отличном состояние local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: %c[255,0,255,0]костюм в отличном состояние." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id()) end end Всё! Теперь заходим в игру и наслаждаемся.
У меня главный герой съедает ремонт-комплект?В чем проблема?
КрикЗоны, дай угадаю, работаешь на ТЧ 1.00.06, верно? Если да, то этот тутурор не работает на этом патче. Проблема в колбэках, ибо сама функция работает, проверял.
создал модельку спальника и вот когда выбрасываю выдает ЭТО [error]Expression : assertion failed [error]Function : CSafeFixedRotationState::create [error]File : e:\stalker\patch_1_0004\xr_3da\xrgame\phvalidevalues.h [error]Line : 81 [error]Description : dBodyStateValide(b)
помогите пожалуйста, как мне отредактировать глобальную карту в Зов Припяти??? надо чтобы отображались новые карты... и чтобы я мог поменять расположение их
[flares_default] flare_opacity = 0.060, 0.040, 0.100, 0.080, 0.040, 0.040 -- точно непомню или размер это позиция светильника flare_position = 1.300, 1.000, 0.500, -0.300, -0.600, -1.000 -- позиция светильника где он будет находится чуть ниже гоизонта или выше flare_radius = 0.080, 0.120, 0.040, 0.080, 0.120, 0.300 -- тут радиус расеяный будет или нет точно непомню flare_textures = fx\fx_flare1.tga, fx\fx_flare2.tga, fx\fx_flare2.tga, fx\fx_flare2.tga, fx\fx_flare3.tga, fx\fx_flare1.tga - текстуры которые использует flares = on -включен ли светильник да gradient = on -градиент включен gradient_opacity = 0.75 -размер градиента gradient_radius = 1.000 -радиус света помойму gradient_texture = fx\fx_gradient.tga текстура source = on канал source_radius = 0.150 радиус канала source_texture = fx\fx_sun.tga
;----------- ;strchi ;-----------
dBodyStateValide
ненастроен скелет у модели оружия нужен сдк
выбрать шейпы у костей box и все сгенерировать ,а ну и joint выбрать.
ins33, проверка должна возвращать то, что и должна - true - если предмет есть, false - если нет. Таймером выдать квест ты ну ни как не мог, а вот выдать инфопорцию, которая запускает квест, через определённое время, отсчитываемое таймером, - это да. Что значит твой пост скриптум, честно сказать, не понял. Что за "уники" такие, и самое главное, что значит у ГГ их нет!?