В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : attempt to call a nil value
Давно уже меня интересует следующий нюанс: играл в Народную солянку для ТЧ и замечал, что пули и дробь не впиваются в цель, куда не стрельни, хоть в живую мишень, хоть в объекты местности. Они падают как под усиленной гравитацией пока земли не коснутся. В ЗП подобного нет, как известно. И я уже не помню как дела обстоят с этим в оригинале ТЧ.
Так вот вопрос: это особенности движка что ли или баллистика какая-то недоделанная? Можно ли как-то исправить? Вообще странная штука... Кого не спрашивал, никто ни сном ни духом.
скорее всего он прописан в all.spawn - там его по координатам и поищите.
Поискал, но там нет его.
Добавлено (30.06.2015, 19:49) --------------------------------------------- переформулирую вопрос, как убрать предмет на локации, где найти данные о локации, и в каком месте стоит мне нужный предмет.
Так вот вопрос: это особенности движка что ли или баллистика какая-то недоделанная? Можно ли как-то исправить?
В оригинальном ТЧ я такого не припомню, следовательно движок не причем (солянка его не правит). Смотрите настройки баллистики (bullet_manager), смотрите настройки боеприпасов которые могут дать подобный эффект.
Цитатаmafia50000 ()
пропан у Сидоровича
Это часть геометрии, SDK в помощь. В крайнем случае придется привлечь 3D редактор, для вырезки ненужных поверхностей из геометрии.
Сообщение отредактировал denis2000 - Вторник, 30.06.2015, 21:34
mafia50000, поставить СДК и подобные вопросы отпадут. Хотя, конечно, удалить пропан у Сидоровича . Судя по секции в all,spawn'e - это trader_physic_object0007. Удаляй секцию или, пока не разобрался, в bind_stalker.script в колбек на начало игры if self.bCheckStart then
Код
local se_obj = alife():object("trader_physic_object0007") if se_obj then alife():release(se_obj, true) end
Ещё раз про окна в ЧН. Как перейти к следующей функции, кнопке Взять карту. Первая карта берётся. Ещё раз. Начало скрипта(могу целиком залить или мод Stalk15): function card_game_21p:InitControls() self:SetWndRect(Frect():set(0,0,1024,768)) --// основная текстура на экране
xml:ParseFile("ui_mini_games.xml") --// файл в ui/ с настойками текстуры xml:InitStatic("card_game_21p:background", self) xml:InitStatic("card_game_21p:caption", self) xml:InitStatic("card_game_21p:picture_21p_2", self) xml:InitStatic("card_game_21p:picture_21p", self) --/Кнопки self:Register(xml:Init3tButton("card_game_21p:btn_start_game", self), "btn_start_game") --// начать игру self:Register(xml:Init3tButton("card_game_21p:take_card", self), "take_card") --// взять карту self:Register(xml:Init3tButton("card_game_21p:perevod_hoda", self), "perevod_hoda") --// переход хода self:Register(xml:Init3tButton("card_game_21p:next_tur", self), "next_tur") --// сыграть ещё раз self:Register(xml:Init3tButton("card_game_21p:btn_quit", self), "btn_quit") --// выход Скрипт btn_start_game(упростил до невозможности):
Код
function card_game_21p:card_game_21_start() local Card1 = 0 local Spil = Card_aus_table(tCards) xml:InitStatic("card_game_21p:"..Spil, self) self:SetWndPos(50, 280) Btn1:Enable(false) --// начать игру Btn2:Enable(true) --// взять карту Btn3:Enable(true) --// переход хода Btn4:Enable(false) --// сыграть ещё Btn5:Enable(false) --// выход end
Первая карта есть. Как взять вторую.
Код
function card_game_21p:take_card() -- взять карту local ActorCard = Card_aus_table(tCards) ActorPoints = math.floor(ActorPoints + CardToNum(ActorCard)) local static1, static2, static3,static4 = self:GetStatic("ActorNilCard1"), self:GetStatic("ActorNilCard2"), self:GetStatic("ActorNilCard3"),self:GetStatic("ActorNilCard4") if static1 ~= nil then self:DetachChild(static1) card = xml:InitStatic("card_game_21p:"..ActorCard, self) card:SetWindowName("ActorCards") card:SetWndPos(140, 280) elseif static2 ~= nil then self:DetachChild(static2) card = xml:InitStatic("card_game_21p:"..ActorCard, self) card:SetWindowName("ActorCards") card:SetWndPos(230, 280) elseif static3 ~= nil then self:DetachChild(static3) card = xml:InitStatic("card_game_21p:"..ActorCard, self) card:SetWindowName("ActorCards") card:SetWndPos(320, 280) elseif static4 ~= nil then self:DetachChild(static4) card = xml:InitStatic("card_game_21p:"..ActorCard, self) card:SetWindowName("ActorCards") card:SetWndPos(410, 280) end end
Доброго времени суток. Подскажите, как реализовать скролл в GUI(ЗП). Конкретно следующая ситуация: есть два статика(CUIStatic()) static1 и static2. static2 в 2 раза больше static1. static2 дочернее окно от static1:
Код
static1:AttachChild(static2)
Вот нужно, что бы static2 обрезался по границе static1 и был скролл, которым можно двигать static2. Хороший пример это карта в ПДА.
Подскажите пожалуйста функции, которые "убивают" все предметы и деньги ГГ, без возможности заполучить их обратно. Мне это надо для кат-сцены гоп-стопа. Заранее спасибо
P.S Можно полную функция, просто я в них нуб, сам не допишу потом... (CoP)
function remove_items_and_money() local function calc( temp, item ) if item:section() ~= "wpn_binoc" and item:section() ~= "wpn_knife" and item:section()~= "device_torch" and item:section() ~= "bolt" and item:section() ~= "device_pda" then local ser_obj = alife():object( item:id () ) if ser_obj then alife():release( ser_obj, true ) end end end
db.actor:iterate_inventory( calc, db.actor )
local money = db.actor:money() db.actor:give_money( -money ) game_stats.money_quest_update( -money ) end