Правила сайта FAQ Мини-чат
Для добавления необходима авторизация!
26.04.2024, Пятница, 07:41


Модератор форума: romale  
Форум » S.T.A.L.K.E.R. - Моддинг » Разбираем S.T.A.L.K.E.R. » Разборочная комната ТЧ (Задаем вопросы по скриптам/конфигам и другим файлам игры)
Разборочная комната ТЧ
Сообщение #1
Вы задаёте интересующий вас вопрос и тот, кто может вам на него ответить, пишет свой ответ. Правила темы:

1. Прежде чем задать вопрос, желательно прочитать все предыдущие страницы темы. Даже если вы не найдете там нужного ответа - я уверен, вы узнаете много нового. Второй вариант - воспользоваться поиском по ключевому слову.

2. Вы можете задавать вопросы, только непосредственно касающиеся создания модификаций и редактирования файлов игры

3. Личные вопросы не допускаются

4. Отвечать на вопросы желательно достаточно развернуто, задевая все аспекты касающиеся конкретного вопроса

5. Отвечать вы можете только в том случае если уверены в правильности ответа, если не знаете - просто не отвечайте. Авторы неправильных, вводящих в заблуждение ответов будут наказываться.

6.Соблюдайте грамотность и правильность построения вопросов и ответов, во избежание их удаления. "Спасибо / пожалуйста / не знаю" и прочие односложные и
не несущие смысловой нагрузки сообщения, будут удаляться немедленно, а их авторы - наказываться.

Основная цель темы - помочь новичкам-модостроителям, второстепенная - свести на нет тенденцию создания новых тем по каждому интересующему новичков вопросу.

Уважение: 133
Награды: 32
Сообщение #341
KADAR, Нет.
1 причина - отсутствие проверки на состояние костюма. Ф-ия будет истинна всегда, когда на акторе одет костюм.
2 причина - ф-ия будет работать единожды. При одевании костюма. Для полного восстановления костюма надо будет его снять/одеть n-ое кол-во раз.
Можно конечно запоминать состояние костюма, удалять его, затем переспавнивать обратно актору, но после пары таких полных восстановлений зависнет биндер. Полнейшее извращение одним словом :)


Серый_75, Создайте новый файл, например qwerty.script, откройте его и скопируйте туда следующее:
Код
function give_weap()
local item = db.actor:object("предмет")
      if not item then
        alife():create ("предмет", db.actor:position(), db.actor:level_vertex_id (),db.actor:game_vertex_id (), db.actor:id())
      end
end


В bind_stalker.script после строки: function actor_binder:update(delta) пишите строку: qwerty.give_weap()
qwerty - имя файла, который создавали (где функция написана), give_weap() - имя функции.
Сохраняете, заходите в игру, получаете пушку, сохраняетесь, выходите из игры и удаляете добавленную строку из bind_stalker.script
ЗЫ: В функции написано "предмет". Вместо слова предмет надо вставить секцию вашей пушки. Назвать вам ее не смогу - файлов шрама нету.

Уважение: 650
Награды: 97
Облучение: 0%
Сообщение #342
volazar, Спасибо за совет, но я уже в продажу Петренко прописал. Все получилось. У меня другой вопрос. Можно сохраниться через консоль, если да, то как и где потом находятся сохранки.

Можно. Команда: save имя_сейва. Сохранения будут там же, где и все другие.
vl


Спасибо, попробую сейчас.


ЖИЗНЬ ДАЕТСЯ ЧЕЛОВЕКУ ОДИН РАЗ. И ПРОЖИТЬ ЕЕ НАДО ТАК, ЧТОБЫ ТАМ НАВЕРХУ ОФИГЕЛИ И СКАЗАЛИ: "НУ-КА ПОВТОРИ!"

Сообщение отредактировал Серый_75 - Суббота, 06.04.2013, 14:44


Уважение: 6
Награды: 0
Облучение: 0%
Сообщение #343
volazar, вроде сейчас все с броней наладил, благодаря вам, теперь хочу спросить, как и куда можно прописать такие сообщения всплывающие при включении определенного режима костюма, как у СКАТ-15.
Типа: Режим брони активирован.
Или там: Маскировка включена.
А то костюм унылый) Кстати мгновенное восстановление брони, даже лучше.

Сообщение отредактировал KADAR - Суббота, 06.04.2013, 16:44


Уважение: 15
Награды: 1
Облучение: 0%
Сообщение #344
Приведу пример:
Код

local nm = news_manager.send_tip
local bSend_1 = nil -- переменная, хранящая факт выдачи того или иного сообщения
local fl = false
local fl_1 = false

function nano_speed()
local gg = db.actor
local nano_suit = gg:item_in_slot(6)
local nano = gg:item_in_slot(1)
      if nano and nano:section() == "nano_speed" then -- Находится ли нужный модуль в 1 слоте (пистолеты).
          if nano_suit and nano_suit:section() == "nano_suit" then  -- Надет ли на ГГ костюм.
         nano_speed_1() -- Какой молодец! И модуль нацепил и костюм не забыл одеть.
              if bSend_1 ~= true then -- проверяем, что флажок не равен true
                nm(db.actor, txt.a.msg_vse_ok_1) -- выдаем порцию писанины
                bSend_1 = true -- присваиваем ему значение true
              end
          elseif bSend_1 ~= false then -- проверяем, что флажок не равен false
                nm(db.actor, txt.a.msg_vse_ne_ok_1, nil, nil, 30000) -- А костюм где? Дубина! Другая порция писанины
                bSend_1 = false -- присваиваем ему значение false
          end
      end
end


Код

function nano_speed_1()
local gg = db.actor
      if gg.power > 0.4 then   
        fl = false  fl_1 = false
        return   
      end
     
      if not fl then
        nm(db.actor, txt.a.msg_sp, nil, nil, 10000)
        fl = true
      end
fl = true
local speed = gg:object("nanobot_pow")   
      if speed then
        --gg:eat(speed)
        gg.power=1.0
        fl = false  fl_1 = false
        return
      elseif not fl_1 then
        nm(db.actor, txt.a.msg_vse_ne_ok_2) -- Нет капсулы? Гуляй!
        fl_1 = true
      end
end


Переменные (bSend) нужны чтобы мы не получали писанину с каждым апдейтом, а только при определенных условиях.
ЗЫ: переход на другую локацию или сейв/лоад затрет в памяти наши переменные и мы снова получим писанину. Это впринципе не критично - запоминать их глобально, нет никакого смысла.
***
Переменные (fl и fl_1) нужны для контроля над каким то процессом (у нас это gg.power=1.0 и выдача писанины). В противном случае, будет постоянно срабатывать gg.power=1.0 и т.д
При проверке уровня сил актора, мы даем им значение false, затем проверяем, выдаем писанину и устанавливаем новое значение сил актора. После этого проверка отрубается - под условие мы не попадаем.
При отхождении от условий, также выдаем писанину, например с ошибкой.

Уважение: 650
Награды: 97
Облучение: 0%
Сообщение #345
volazar, мдааа... Жесть я думал будет по проще.. Честно сказать, мало что понял. Мне бы вообще не плохо бы знать язык LUA. Все-равно спасибо.
Сообщение отредактировал KADAR - Суббота, 06.04.2013, 19:39


Уважение: 15
Награды: 1
Облучение: 0%
Сообщение #346
Доброго времени суток!
Появилась проблема, прошу помощи.
Железо: win7*64 Prof Intel vore2 Duo E8400 3.00GHz *2 8.00Gb NVIDIA GeForce GTX550Ti.
При использовании телепорта Монолита (встретиться с Призраком у перехода ЧАЭС2- ЧАЭС1 и далее на Старую деревню)
происходит вылет с логом:


Откат на раннее сохранение, телепортация с другой локации, чистка и дефрагментация успеха не приносят.



Win10*64 SSD IntelCore i5-9400 2.90GHz * 6c 8.00Gbt
NVIDIA GeForce GTX 1650

Уважение: 799
Награды: 59
Сообщение #347
GFI, Что-то случилось с озвучкой. Вы ставили какие нибудь правки по звукам?

Уважение: 15
Награды: 1
Облучение: 0%
Сообщение #348
KADAR, Нет не ставил, чистая НС+ДМХ 1.3.5

Значит проверьте звук, который указан в логе. Ругается на его отсутствие. Если его там нет, возьмите любой другой, переименуйте так, как он написан в логе и положите по указанному пути.
vl



Win10*64 SSD IntelCore i5-9400 2.90GHz * 6c 8.00Gbt
NVIDIA GeForce GTX 1650

Уважение: 799
Награды: 59
Сообщение #349
GFI, вот возьми отсель http://webfile.ru/6465788 папку threat и засунь ее по пути: gamedata\sounds\characters_voice\human_03\monolith\
ЗЫ: использован файлик от alen-fantom



Такой как есть
Уважение: 571
Награды: 64
Сообщение #350
Привет всем))Давно меня не было..Как в Шраме с 3 кум. патчем начальные деньги поднять?
Сообщение #351
neo122334, смотрим тута: http://stalker-gamers.ru/forum/73-364-16501-16-1364479212



Такой как есть
Уважение: 571
Награды: 64
Сообщение #352
volazar, секции защиты броников лежат в файле damages, так? Смотрел конфиги костюмов там ссылки типа: sect_psih_outfit_immunities
Где там такая строчка? Я не нашел. Как правильно прописать секцию? В ЗП я просто брал секции от других костюмов.

Не совсем так. Иммунитеты самого костюма находятся в его же секции - burn_immunity, strike_immunity и т.д
Коэффициенты защиты костюма там же - burn_protection, strike_protection и т.д
Ссылки вида: bones_koeff_protection = ...... это параметры модели, ссылка на конфигурационный файл, созданный при импортировании модели в игру. Как правило лежит в \gamedata\config\models\capture\.
Файл damages отвечает за нанесении хита при попадании по кости для броников и т.д Секции пишутся для того, чтобы например нельзя или наоборот можно было бы моментально убить при попадании в голову, спину и т.д
Как правило, стандартных значений хватает для баланса.
vl

Уважение: 15
Награды: 1
Облучение: 0%
Сообщение #353
Я имел ввиду не живучесть костюма, а "пулестойкость" когда в ГГ попадают то у него тратится много жизней, будто броня не защищает его, ну хотя так и есть, не защищает..

Как таковой пулестойкости нет. Даже если ее выставить на максимум. "Это только цифры", так уж движок устроен :)
В свое время, на АМК было много дискуссий по этому поводу.
В вашем случае, нужен именно файл damage.ltx, где и можно уменьшить наносящийся хит.
Выложите конфиг костюма под спойлер.
vl




Что то в упор не вижу строчки bones_koeff_protection...
Действительно. Она не прописана. Пропишите в конфиг:
Код
bones_koeff_protection = speedn_kupol_damage_med

Затем в damages.ltx добавьте секцию:
Код
[speedn_kupol_damage_med]:body_tank_damage,head_tank_damage
hit_fraction    = 0.003

Если эта секция там уже прописана (должна быть прописана), то добавлять не надо.
И экспериментируете со значением hit_fraction.
ЗЫ: Лучше бы прописывать не speedn_kupol_damage_med, а свою секцию. Дабы изменения хита коснулись только нанокостюма, а не еще пары сотен курточек в игре...
vl

Сообщение отредактировал KADAR - Воскресенье, 07.04.2013, 17:11


Уважение: 15
Награды: 1
Облучение: 0%
Сообщение #354
Нет. Я проверяю на ОП. 5 секунд подогнать код под игру, зайти и проверить.
Маскировка та же самая, которая на масхалате из чистой НС. А написал ее, то ли монорох, то ли меченый стрелок. Уже и концов не найти.
vl

===============
volazar, в НС маск.халат не юзал(не дошёл), только маскировачную экзу. По этому у меня непонятки при использовании функции маскировки: костюм не приобретает свойства невидимости(прозрачности). Так должно быть?
По speedn_kupol_damage_med - нет смысла прописывать секцию bones_koeff_protection = speedn_kupol_damage_med, и в damages.ltx тоже, так как существует одноимённый файл в папке capture...


В папке capture файл отвечает за настройки костей и секцию иммунитетов костюма. Так что смысл прописывать protection - есть.
Маскировочная экза это и есть масхалат, называют просто по разному :)
По приобретению "невидимости". Так и должно быть, полнейшая невидимость не реализуема в игре. Есть просто модель, почти прозрачные текстуры для нее и скрипт, который просто урезает сталкерам/монстрам угол обзора.
vl

Про полнейшую невидимость - это понятно. Значит у меня не хватает текстур... А почему не вылетает? Скинуть можете?


Ну так текстуры только у масхалата прозрачные. Да и то, сделано чисто символически. Вы тестируете невидимость с нанокостюмом?
vl

Да.


Ну тогда вам и не нужны текстуры масхалата. На вас одет нанокостюм, который имеет собственные текстуры. Невидимость в нем будет работать. Для сталкеров/монстров нет такого понятия как невидимость. Вас почуят/заметят сквозь стену, будь на вас костюм с прозрачными как стеклышко текстурами.
vl

Это я и хотел узнать, что нанокастюм не приобретает видимых свойств, как маск.халат(маск.экза), а работает только изменение угла видимости относительно непесей. Одним словом: маскировка работает только на заметность(освещённость). Как и скорость - фактически выносливость...
Есть ещё байда: при использовании маскировки должен сработать эффект - белая вспышка. Но его нет, как и нет предупреждения о том, что "Вас могут увидеть!", хотя в функции прописано. Вспышка бывает только, если с маскировки перейти на любой др.режим, как и должно быть...

Сообщение отредактировал alen-fantom - Воскресенье, 07.04.2013, 19:23


Уважение: 250
Награды: 32
Облучение: 0%
Сообщение #355
alen-fantom, Попробуйте в monnoroch.script заменить ф-ию make_inviz() на такую:



Для KADAR и alen-fantom.
Судя по используемой модели в конфиге костюма, я так понял, что используете мою первоначальную адаптацию из PP. Тогда мною был упущен весьма щепетильный момент, это вес текстуры act_slow_nanosuit.dds - 32(!!) мб.
Потом уже, когда мне пожаловались на вылеты, я пожал ее и выложил. Правда вот что то никто не удосужился заменить ее и даже не посетовал на такой размер текстуры, при адаптации к аддону сарумана.
Прикрепил ее к посту. Кидать в \gamedata\textures\act\.
Прикрепления: act_slow_nanosu.rar (720.7 Kb)

Уважение: 650
Награды: 97
Облучение: 0%
Сообщение #356
alen-fantom, костюм работает как надо... Все готово. Я ВСЕ проверил 100 раз. Невидимость работает, только надо включать ее когда ГГ не видят.. Иначе без толку.

volazar, вашу модель использовал вчера. Та что была раньше

Некрасивая.. Скажем так.

"ЗЫ: Лучше бы прописывать не speedn_kupol_damage_med, а свою секцию. Дабы изменения хита коснулись только нанокостюма, а не еще пары сотен курточек в игре..."

В DMX файла speedn_kupol_damage_med вообще нет. Мне пришлось его добавить, т.к модель со скрина без него не работала. Игра вылетала..
Поэтому, вроде бояться не стоит.
Вот содержимое, по идее должен поменяться только нано вырезанный из солянки, которого нет в игре. Хоть я его и восстановил, но плевать что с ним станет.


Именно в солянке того вырезанного нано нет. А вот в ДМХ ,если не ошибаюсь, на нем построен нано.
vl

Сообщение отредактировал KADAR - Воскресенье, 07.04.2013, 22:11


Уважение: 15
Награды: 1
Облучение: 0%
Сообщение #357
Цитата (KADAR)
hit_fraction    = 0.003

Значение 0.003 значит, что при попадании в ГГ от 100% здоровья потратится 0.003%? Грубо говоря.

Да.
Чем меньше значение, тем меньше хп отнимется. Однако надо принимать во внимание хит оружия/патронов откуда был произведен выстрел.
vl

Уважение: 15
Награды: 1
Облучение: 0%
Сообщение #358
Цитата (alen-fantom)
что там готово? С моделью из Кризиса какой будет худ масок?

Я не собирался со 100% вероятностью копировать эту броню. Я не думаю что худ масок вешь приоритетная, интерес представляет скриптовая основа костюма. Не уверен, что если бы кто-то увидев такой костюм в инете, скачал его из-за красоты текстуры маски, а не из-за возможностей. Худ можно подставить такой:

в любом случае, это лучше того что вы имеете используя текстуры из abc. Тем более я кое-что еще хочу в редакторе подправить и если получиться, то худ будет отличный.
Цитата (alen-fantom)
Да и с таймерами надо разбираться...

Нашлась неплохая альтернатива таймерам. При этом все работает.
Говоря что все готово, я имел ввиду скрипты.

Сообщение отредактировал KADAR - Воскресенье, 07.04.2013, 22:47


Уважение: 15
Награды: 1
Облучение: 0%
Сообщение #359
Могу помочь вам с худом.
Пример:

Уважение: 650
Награды: 97
Облучение: 0%
Сообщение #360
Цитата (alen-fantom)
хотя в функции прописано. Вспышка бывает только, если с маскировки перейти на любой др.режим, как и должно быть...

При включении маскировки, эффекта нет, при выключении есть.

Уважение: 15
Награды: 1
Облучение: 0%
Форум » S.T.A.L.K.E.R. - Моддинг » Разбираем S.T.A.L.K.E.R. » Разборочная комната ТЧ (Задаем вопросы по скриптам/конфигам и другим файлам игры)
Поиск: