Новое на сайте:
Новости:
Файлы:
Статьи:
Топ пользователей:
Обновления сайта:
Группа "Гости" не имеет право просмотра модуля
Модератор форума: romale |
Форум S.T.A.L.K.E.R. - Моддинг Разбираем S.T.A.L.K.E.R. Разборочная комната ТЧ (Задаем вопросы по скриптам/конфигам и другим файлам игры) |
Разборочная комната ТЧ |
Дата: Вторник, 17.04.2012, 22:43
Сообщение #1
Вы задаёте интересующий вас вопрос и тот, кто может вам на него ответить, пишет свой ответ. Правила темы: 1. Прежде чем задать вопрос, желательно прочитать все предыдущие страницы темы. Даже если вы не найдете там нужного ответа - я уверен, вы узнаете много нового. Второй вариант - воспользоваться поиском по ключевому слову. 2. Вы можете задавать вопросы, только непосредственно касающиеся создания модификаций и редактирования файлов игры 3. Личные вопросы не допускаются 4. Отвечать на вопросы желательно достаточно развернуто, задевая все аспекты касающиеся конкретного вопроса 5. Отвечать вы можете только в том случае если уверены в правильности ответа, если не знаете - просто не отвечайте. Авторы неправильных, вводящих в заблуждение ответов будут наказываться. 6.Соблюдайте грамотность и правильность построения вопросов и ответов, во избежание их удаления. "Спасибо / пожалуйста / не знаю" и прочие односложные и не несущие смысловой нагрузки сообщения, будут удаляться немедленно, а их авторы - наказываться. Основная цель темы - помочь новичкам-модостроителям, второстепенная - свести на нет тенденцию создания новых тем по каждому интересующему новичков вопросу.
|
Дата: Четверг, 04.04.2013, 17:11
Сообщение #321
KADAR, outfit_cond - это состояние костюма, и никак не худ. Худ затронут в amk_mod.скрипт
Сообщение отредактировал alen-fantom - Четверг, 04.04.2013, 18:00 |
Дата: Четверг, 04.04.2013, 17:30
Сообщение #322
KADAR, Посмотрел monnoroch.script
Вполне возможно, что запинается на таймерах. В свое время долго с ними промучался, в конце концов отказался. Такой код: Код if nano_t_heals == nil then nano_t_heals = time_global() + 1000 elseif nano_t_heals < time_global() then nano_t_heals = time_global() + 1000 nano_heals() end if nano_t_speed == nil then nano_t_speed = time_global() + 1000 elseif nano_t_speed < time_global() then nano_t_speed = time_global() + 1000 nano_speed() end if nano_t_stren == nil then nano_t_stren = time_global() + 1000 elseif nano_t_stren < time_global() then nano_t_stren = time_global() + 1000 nano_stren() end if nano_t_inviz == nil then nano_t_inviz = time_global() + 1000 elseif nano_t_inviz < time_global() then nano_t_inviz = time_global() + 1000 nano_inviz() end if nano_t_armor == nil then nano_t_armor = time_global() + 1000 elseif nano_t_armor < time_global() then nano_t_armor = time_global() + 1000 nano_armor() end Превратите в такой: Код nano_stren() nano_speed() nano_heals() nano_inviz() nano_armor() Это как раз те ф-ии, которые при опред. условиях выполняют лечение/восстановление сил и т.д |
Дата: Четверг, 04.04.2013, 18:15
Сообщение #323
Подскажите пожалуйста, что и где прописать, чтоб в масхалате пострелять в ОП. В DMX мне эта функция понравилась!
Пробуйте так: Идете по пути \gamedata\scripts\meceniy_work.script в функции set_invisible() находите строчки (их будет всего 4 штуки): bind_stalker.restore_weapon() bind_stalker.hide_weapon() И ставите перед ними два дефиса. Сохраняете файл. ЗЫ: Напоминаю, что надо поставить дефисы перед 4-мя строками. 3 из них будут с ф-ей bind_stalker.restore_weapon() и 1 строка будет с bind_stalker.hide_weapon() vl
|
Дата: Четверг, 04.04.2013, 19:38
Сообщение #325
KADAR, Держи http://rghost.ru/45041984
ЗЫ: Все можно было сделать намного проще и кода было бы меньше раза в два. Для одного мода есть готовое решение, если надо - могу поделиться. Есть костюм и есть модули для него. Модули вставляются в пистолетный слот, имеют худ рук. При определенном условии и при наличии у ГГ спец. капсул - идет повышение здоровья/сил/пси-здоровья/понижение радиации. |
Дата: Пятница, 05.04.2013, 10:04
Сообщение #328
KADAR, Ф-ия брони:
Код function nano_armor() if db.actor:item_in_slot(6) and db.actor:item_in_slot(6):section() == "mon_nano_armor" then if db.actor:item_in_slot(6):condition() < 1 then local cond = db.actor:item_in_slot(6):condition() + 0.01 if cond > 1 then cond = 1 end db.actor:item_in_slot(6):set_condition(cond) end end end Можно расшифровать так: Код Если предмет в 6 слоте и в этом самом слоте находится предмет "mon_nano_armor" то Если состояние предмета в слоте меньше 1 то Переменная = состояние предмета + 0,01 Если переменная больше 1 то Переменная =1 Конец Запись состояния предмета Конец Конец Не работает только броня? Лечение например работает? При юзании модулей, кроме брони, предмет должен портится (db.actor:item_in_slot(6):condition() - 0.01) Также, в таких условиях как например db.actor.health < 1 я бы уменьшил границу лечения. Не 1, а например 0,5 поставил. |
Дата: Пятница, 05.04.2013, 10:19
Сообщение #330
Попробуйте заменить функцию брони nano_armor() на такую:
Код function nano_armor() local item = db.actor:item_in_slot(6) -- проверяем что нужный нам предмет в слоте, иначе будет чинится любая одетая броня if item and item:section() == "mon_nano_armor" then local cond = item:condition() if cond < 0.5 then -- если состояние костюма меньше 0.5 item:set_condition(1) -- чиним end end end |
Дата: Пятница, 05.04.2013, 10:35
Сообщение #332
Все так же, (таймеры восстановил)... Броня не работает. Вот, не ясно почему все-таки без изменения скриптов, но с bindstalker из вырезанного варианта для ТЧ..
Должно работать. Щас в игре проверю. vl Проверил в игре, все прекрасно работает. Единственная поправка - if cond < 0.5 then - влияет также на то, до какого состояния будет восстановлен костюм. Т.е если проверяем 0,5, то и восстановится не выше этого уровня. Для полного восстановления, ставим единицу. Попробуйте без таймеров. Или вынесите вообще на отдельный апдейт. В bind_stalker.script в функции update(delta) поставьте вызов: monnoroch.nano_armor() vl Сделал как вы сказали выше, все заработало, но слищком быстро тратится состояние костюма, попробую поколдовать еще. Не вышло... Сообщение отредактировал KADAR - Пятница, 05.04.2013, 15:32 |
Дата: Пятница, 05.04.2013, 15:45
Сообщение #333
По коду тратится 1/100 часть от всего "здоровья" костюма. Т.е любые 100 использований модулей - и костюм в хлам. На практике, стоя в аномалии, эти 100 использований можно заработать ОЧЕНЬ быстро. Апдейт в игре идет 1 раз в 0,25 сек. Можно попробовать поколдовать с убыванием "здоровья" костюма. Например в функции nano_heals() строка:
Код db.actor:item_in_slot(6):set_condition(db.actor:item_in_slot(6):condition() - 0.01) Значение 0.01 изменить в меньшую сторону. Ну или вообще отказаться от порчи костюма при применении модулей. |
Дата: Суббота, 06.04.2013, 06:51
Сообщение #338
При переходе на Радар или раньше,исчезла свд тигр, подозрение что ее спер Скряга при лечении. Нельзя ли ее как то в рюкзак прописать? Возвращение Шрама + кп 3
ЖИЗНЬ ДАЕТСЯ ЧЕЛОВЕКУ ОДИН РАЗ. И ПРОЖИТЬ ЕЕ НАДО ТАК, ЧТОБЫ ТАМ НАВЕРХУ ОФИГЕЛИ И СКАЗАЛИ: "НУ-КА ПОВТОРИ!" Сообщение отредактировал Серый_75 - Суббота, 06.04.2013, 06:55 |
Дата: Суббота, 06.04.2013, 12:12
Сообщение #339
|
Дата: Суббота, 06.04.2013, 12:24
Сообщение #340
volazar, а если написать так:
function nano_armor() if db.actor:item_in_slot(6) and db.actor:item_in_slot(6):section() == "mon_nano_armor" then db.actor:item_in_slot(6):set_condition(db.actor:item_in_slot(6):condition() + 0.001) end end может сработать? |
| |||