Случайная подборка модов
В поисках новой жизни
3.7
Arsenal Mod
4.0
NEYA: Thunderstorm
2.9
Призраки Прошлого 2
3.0
Блудный сын
2.8
Krovosos mod v. 3.8
4.0
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
[CoP] Модострой: вопросница
Российская Федерация  Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

[CoP] Модострой: вопросница

Тема посвящена моддингу на платформе Зов Припяти.

Соседние темы: Тень Чернобыля / Чистое небо.


  • Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.

  • Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.

  • Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).

  • Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
  •   Злобная реклама
    Воскресенье, 31.12.2017, 13:17
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  VOVASIKVAIS
    Понедельник, 06.01.2020, 17:30 | Сообщение # 5521
    История Кота
    Статус:
    Отмычка:
    Сообщений: 118
    Награды: 1
    Регистрация: 22.04.2019

    molodoy_chelovek, Немного не подходит. Мне нужно чтобы в самом скрипте давали бессмертие, без логики.
      Злобная реклама
    Понедельник, 06.01.2020, 17:30
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2019
    Украина  molodoy_chelovek
    Понедельник, 06.01.2020, 17:37 | Сообщение # 5522
    Статус:
    Новичок:
    Сообщений: 316
    Награды: 2
    Регистрация: 14.07.2019

    VOVASIKVAIS, тогда можно через колбек on_actor_update в файле xr_s.script
    Цитата
    if(has_alife_info("название инфопоршня"))
    db.actor:health = 1
    end

    Это выдача 100 ХП при каждом обновлении кадра, что в принципе можно назвать бессмертием
    Сообщение отредактировал molodoy_chelovek - Понедельник, 06.01.2020, 17:40
      Злобная реклама
    Понедельник, 06.01.2020, 17:37
    Статус:
    Сообщений: 666
    Регистрация: 14.07.2019
    Российская Федерация  Stalker_Одиночка
    Понедельник, 06.01.2020, 17:57 | Сообщение # 5523
    Статус:
    Отмычка:
    Сообщений: 125
    Награды: 6
    Регистрация: 16.12.2017

    Не подскажете, какой файл отвечает за увеличение дальности взятии предметов при нажатии клавиши?

    Вроде бы файл:
    system.ltx
    take_dist = 2 ; по умолчанию
    но функция не работает...
      Злобная реклама
    Понедельник, 06.01.2020, 17:57
    Статус:
    Сообщений: 666
    Регистрация: 16.12.2017
    Украина  FantomICW
    Понедельник, 06.01.2020, 18:01 | Сообщение # 5524
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    VOVASIKVAIS, хотел предложить то, о чем в посте выше говорит molodoy_chelovek.

    Только не забудь потом деактивировать инфопорцию, чтобы отключить бессмертие:
    Код
    disable_info("инфопорция")

    Как вызвать эту функцию - вопрос другой. Смотри по ситуации.




    Альтернативный вариант:
    Код
    if (has_alife_info("инфопорция") and not has_alife_info("[b]друга_инфопорция")) then
         db.actor:health = 1
    end



    • Выдаешь инфопорцию - ГГ становится бессмертным
    • Выдаешь позже другую_инфопорцию - функция бессмертия отключается


    P.S.
    Вообще, я не рекомендую нагружать функцию update() актора, так как это может влиять на производительность. От одной функции подобного плана ничего, конечно же, не случится, но на будущее помни. Если пишешь скрипты, которые потом пойдут в мод, лучше искать наиболее рациональные, оптимизирующие варианты. Если это просто тестовая функция для рабочих целей, тогда ок.
      Злобная реклама
    Понедельник, 06.01.2020, 18:01
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Российская Федерация  Policai
    Понедельник, 06.01.2020, 18:02 | Сообщение # 5525
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    molodoy_chelovek,

    Спасибо. всё получилось..)) Осталось разобраться со вторым вопросом, чтоб подстроить под каждую локу...
      Злобная реклама
    Понедельник, 06.01.2020, 18:02
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  VOVASIKVAIS
    Понедельник, 06.01.2020, 18:03 | Сообщение # 5526
    История Кота
    Статус:
    Отмычка:
    Сообщений: 118
    Награды: 1
    Регистрация: 22.04.2019

    molodoy_chelovek, Да! спасибо, всё заработало! Только вы немного ошиблись в функции, она должна выглядеть так:
    Код
    if has_alife_info("mod_give_godmodd") then
    db.actor.health = 1.0
    end
      Злобная реклама
    Понедельник, 06.01.2020, 18:03
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2019
    Российская Федерация  denis2000
    Понедельник, 06.01.2020, 18:04 | Сообщение # 5527
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата Stalker_Одиночка ()
    Хотел уточнить, какой файл (скрипт) отвечает за квест охота на химеру (который дает Гонта)?

    zat_b106_sr_quest_line.ltx
      Злобная реклама
    Понедельник, 06.01.2020, 18:04
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  VOVASIKVAIS
    Понедельник, 06.01.2020, 18:05 | Сообщение # 5528
    История Кота
    Статус:
    Отмычка:
    Сообщений: 118
    Награды: 1
    Регистрация: 22.04.2019

    FantomICW, Я больше не буду нагружать эту функцию. Просто если этого у меня не было, то в моде появлялись колоссальные проблемы, так что это можно сказать был единственный хороший способ, который мне помог.

    Ваш вариант тоже неплох, но в моём случае достаточно одной инфопорции, я просто в нужный момент её выдаю, и в нужный момент её забираю! Вот так (db.actor:disable_info_portion("mod_give_godmodd")
    Сообщение отредактировал VOVASIKVAIS - Понедельник, 06.01.2020, 18:08
      Злобная реклама
    Понедельник, 06.01.2020, 18:05
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2019
    Украина  molodoy_chelovek
    Понедельник, 06.01.2020, 18:07 | Сообщение # 5529
    Статус:
    Новичок:
    Сообщений: 316
    Награды: 2
    Регистрация: 14.07.2019

    Цитата Policai ()
    чтоб подстроить под каждую локу...

    я по этому гайду подстраивал тык

    Цитата FantomICW ()
    Вообще, я не рекомендую нагружать функцию update() актора, так как это может влиять на производительность.

    ну да, я знаю про динамические функции, но стоит ли оно того ради одной проверки инфопорции?
      Злобная реклама
    Понедельник, 06.01.2020, 18:07
    Статус:
    Сообщений: 666
    Регистрация: 14.07.2019
    Российская Федерация  denis2000
    Понедельник, 06.01.2020, 18:09 | Сообщение # 5530
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата Lektorrr ()
    Я не знаю, может быть сломалось что-то в скриптах логики?

    Так может уже расскажите, что ломали?


    Цитата molodoy_chelovek ()
    но стоит ли оно того ради одной проверки инфопорции?

    Стоят, более того для таких задач и сделаны.
    Сообщение отредактировал denis2000 - Понедельник, 06.01.2020, 18:11
      Злобная реклама
    Понедельник, 06.01.2020, 18:09
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  VOVASIKVAIS
    Понедельник, 06.01.2020, 18:15 | Сообщение # 5531
    История Кота
    Статус:
    Отмычка:
    Сообщений: 118
    Награды: 1
    Регистрация: 22.04.2019

    FantomICW, denis2000, molodoy_chelovek, Я например вообще не знаю что такое динамические функции, поэтому для меня любой вариант сгодится, но если есть менее нагружающий систему, то почему бы и нет!
      Злобная реклама
    Понедельник, 06.01.2020, 18:15
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2019
    Украина  FantomICW
    Понедельник, 06.01.2020, 18:17 | Сообщение # 5532
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    VOVASIKVAIS, molodoy_chelovek, конкретно для этой задачи, для этих условий это вполне ок решение, почему бы и нет?

    Я просто напомнил, что случаи бывают разные и что не всегда рационально использовать апдейт. VOVASIKVAIS, как мне показалось, все еще в процессе обучения скриптам, и мне хотелось бы заранее предупредить о некоторых моментах, чтобы его дальнейшие работы были качественными smile
      Злобная реклама
    Понедельник, 06.01.2020, 18:17
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Украина  N_merc
    Понедельник, 06.01.2020, 20:46 | Сообщение # 5533
    Статус:
    Зевака:
    Сообщений: 7
    Награды: 0
    Регистрация: 18.01.2017

    denis2000, denis2000. будь любезен, подскажи какую именно текстуру юзать, заменять
      Злобная реклама
    Понедельник, 06.01.2020, 20:46
    Статус:
    Сообщений: 666
    Регистрация: 18.01.2017
    Российская Федерация  denis2000
    Понедельник, 06.01.2020, 21:09 | Сообщение # 5534
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    N_merc, wpn_crosshair_bino
      Злобная реклама
    Понедельник, 06.01.2020, 21:09
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  VOVASIKVAIS
    Вторник, 07.01.2020, 00:50 | Сообщение # 5535
    История Кота
    Статус:
    Отмычка:
    Сообщений: 118
    Награды: 1
    Регистрация: 22.04.2019

    Так, я тут немного помучился и создал вот такую функцию:
    Код
    if has_alife_info("mod_give_godmodd") then
    local heal_actor = db.actor.health
    db.actor.health = heal_actor
    end

    поставил это в файл bind_stalker после actor_binder:update(delta)

    По идее должно в переменную задаваться количество хп у актёра, а потом оно же задаваться в хп.
    То есть если у актёра в момент того как он получает инфопоршень было, к примеру 50% хп, то ему функция всё время что есть инфопоршень ставит количество хп 50%... Скажите, что это бесполезная функция, я скажу что да, так и есть, но это только проверка одного момента в моде. Странно, но у меня это не работает. Актёру сразу задаётся 100% хп. Я решил проверить и сделал так:
    Код
    if has_alife_info("mod_give_godmodd") then
    db.actor.health = 0.5
    end

    то есть игроку после получения инфопоршня каждый раз ставит 50% хп... И это не работаёт, у меня актёру ставится опять 100% хп.
    если я правильно понял.
    Что делать не знаю. Помогите!
    Сообщение отредактировал VOVASIKVAIS - Вторник, 07.01.2020, 10:55
      Злобная реклама
    Вторник, 07.01.2020, 00:50
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2019
    Поиск: