Случайная подборка модов
Контракт на хорошую жизнь
4.1
Хроники Кайдана
3.6
EPILOGUE
3.5
«В аду… Псы»
3.6
Пространственная Аномалия 4.1
4.5
Двойники - Разлом Времени
3.5
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: 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
    Российская Федерация  yobakun
    Суббота, 19.10.2019, 16:56 | Сообщение # 4771
    Статус:
    Новичок:
    Сообщений: 270
    Награды: 5
    Регистрация: 30.07.2016

    _ToHaSH_2002, неожиданно сработало. Оказывается, нужно чтобы соотношение сторон для bound_rect и global_rect совпадали между собой.
    Прикрепления: 4286018.jpg (543.9 Kb)
    Сообщение отредактировал yobakun - Суббота, 19.10.2019, 17:18
      Злобная реклама
    Суббота, 19.10.2019, 16:56
    Статус:
    Сообщений: 666
    Регистрация: 30.07.2016
    Казахстан  Janel
    Суббота, 19.10.2019, 21:15 | Сообщение # 4772
    Статус:
    Гость:
    Сообщений: 40
    Награды: 0
    Регистрация: 09.10.2019

    Ребята нужна ваша помощь.
    Помогите сделать так, что-бы при использовании предмета блокировались руки у гг.
    Например как в моде SGM съел или использовал что либо руки блокируются.
    Делаю на платформе CoP (Сталкер Зов Припяти)
      Злобная реклама
    Суббота, 19.10.2019, 21:15
    Статус:
    Сообщений: 666
    Регистрация: 09.10.2019
    Российская Федерация  Hozar_2002
    Суббота, 19.10.2019, 22:05 | Сообщение # 4773
    Статус:
    Новичок:
    Сообщений: 347
    Награды: 7
    Регистрация: 22.04.2017

    Цитата Janel ()
    блокировались руки
    В смысле убирались, или вам более глубинный смысл нужен?
    Сообщение отредактировал _ToHaSH_2002 - Суббота, 19.10.2019, 22:06
      Злобная реклама
    Суббота, 19.10.2019, 22:05
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2017
    Российская Федерация  Policai
    Воскресенье, 20.10.2019, 05:06 | Сообщение # 4774
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Народ! Подскажите плиз по телепорту, как работает телепорт и логика в спейсе знаю, как сделать рандомные точки?

    logic
    active = sr_teleport

    sr_teleport
    point1 = префикс_teleport_walk_точка1
    look1 = префикс_teleport_look_точка1
    timeout = 0

    Как сделать чтоб точек было например 3 и выкидывало с телепорта рандомно в одной из этих 3 точек?
      Злобная реклама
    Воскресенье, 20.10.2019, 05:06
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Украина  molodoy_chelovek
    Воскресенье, 20.10.2019, 10:24 | Сообщение # 4775
    Статус:
    Новичок:
    Сообщений: 316
    Награды: 2
    Регистрация: 14.07.2019

    Policai, рандом в спейсе можно сделать так:

    [logic]
    active = sr_idle

    [sr_idle]
    on_info1 = {~n} nil %=teleport_actor(point:look)%
    on_info2 = {~n} nil %=teleport_actor(point:look)%
    on_info3 = {~n} nil %=teleport_actor(point:look)%

    [nil]

    где n - если я не ошибаюсь процент вероятности того что рандом выберет этот on_info, если нет - поправьте меня кто-то.
    Сообщение отредактировал molodoy_chelovek - Воскресенье, 20.10.2019, 10:25
      Злобная реклама
    Воскресенье, 20.10.2019, 10:24
    Статус:
    Сообщений: 666
    Регистрация: 14.07.2019
    Казахстан  Janel
    Воскресенье, 20.10.2019, 12:00 | Сообщение # 4776
    Статус:
    Гость:
    Сообщений: 40
    Награды: 0
    Регистрация: 09.10.2019

    Цитата _ToHaSH_2002 ()
    В смысле убирались, или вам более глубинный смысл нужен?


    Да, вы правильно понимаете надо что-бы убирались руки при использовании предмета.
      Злобная реклама
    Воскресенье, 20.10.2019, 12:00
    Статус:
    Сообщений: 666
    Регистрация: 09.10.2019
    Российская Федерация  Overfirst
    Воскресенье, 20.10.2019, 12:04 | Сообщение # 4777
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    Цитата Policai ()
    Народ! Подскажите плиз по телепорту, как работает телепорт и логика в спейсе знаю, как сделать рандомные точки?

    Не юзай ты эту бесполезную схему. Можно быстро и просто вот так:

    Код
    function fast_teleport_actor_on_random_point(actor, npc, p)
          if p and p[1] and p[2] then
                level.add_pp_effector("blink.ppe", 613, false)
                teleport_actor(db.actor, nil, {p[1] .. "_" .. math.random(1, tonumber(p[2])})
          end
    end

    Использование из логики:
    Код
    %=fast_teleport_actor_on_random_point(point_name:number)%

    Будет выбран поинт c именем point_name_, имя которого оканчивается на число от 1 до 5. При вспышке видно будет, что ГГ телепортируется до полного засвета экрана. Это можно исправить, сделав такой рестриктор, что при входе сперва запускается вспышка, а через ~300 мс уже сама телепортация. Удачи. smile

    Ну и поинт для look точки в функцию добавляется аналогично. Если нужно - решишь проблему. smile

    Хочешь юзать схему - почитай статейку (мне она не понравилась, как и схема).
      Злобная реклама
    Воскресенье, 20.10.2019, 12:04
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  Hozar_2002
    Воскресенье, 20.10.2019, 17:09 | Сообщение # 4778
    Статус:
    Новичок:
    Сообщений: 347
    Награды: 7
    Регистрация: 22.04.2017

    Janel, файл bind_stalker.script:
    перед функцией
    Код
    function actor_binder:use_inventory_item(obj)
    вставляем
    Код
    local last_use_time = 0
    В начало функции пишем
    Код
    db.actor:hide_weapon()
    last_use_time = time_global()
    db.actor:set_fastcall(hide_weapon_use, db.actor)
    В конец скрипта пишем
    Код
    function hide_weapon_use()
    local n = 3
    if last_use_time + n * 1000 < time_global() then
    db.actor:restore_weapon()
    return true
    end
    return false
    end
    Где n - сколько секунд длится убирание. Надеюсь объяснил популярно.
    Это пример самой простой функции.
    Сообщение отредактировал _ToHaSH_2002 - Воскресенье, 20.10.2019, 17:09
      Злобная реклама
    Воскресенье, 20.10.2019, 17:09
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2017
    Российская Федерация  Policai
    Понедельник, 21.10.2019, 05:24 | Сообщение # 4779
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Цитата Overfirst ()
    Хочешь юзать схему - почитай статейку (мне она не понравилась, как и схема).


    Да не ахти вариант..((

    Цитата Overfirst ()
    Можно быстро и просто вот так:

    Код
    function fast_teleport_actor_on_random_point(actor, npc, p)
          if p and p[1] and p[2] then
                level.add_pp_effector("blink.ppe", 613, false)
                teleport_actor(db.actor, nil, {p[1] .. "_" .. math.random(1, tonumber(p[2])})
          end
    end

    Использование из логики:
    Код
    %=fast_teleport_actor_on_random_point(point_name:number)%


    Очень интересный вариант, но для меня всё что касается скриптов это 50 х 50 лотерея. Постоянно косячу..(((
    Мне пока не разжуют по буковкам я туплю... smile

    Народ! Тут ещё вопрос по артам нарисовался.

    В оригинале общая секция [af_base] и в ней секция [artefact_hud]
    Мне нужно сделать визуал для каждого арта на hud отдельный.



    Достаточно будет прописать в секции каждого арта?

    hud = Имя арта_hud

    [Имя арта_hud]:hud_base
    item_visual = dynamics\artefacts\Имя арта_hud
    attach_place_idx = 0

    Модели всех артов в один размер под руки и с одной косточкой сделаны.
      Злобная реклама
    Понедельник, 21.10.2019, 05:24
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  Overfirst
    Понедельник, 21.10.2019, 07:24 | Сообщение # 4780
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    Лови вариант ещё проще, я не тестил пока. Если что, подгоним, но должно работать:
    Код
    function fast_teleport_actor_on_random_point(actor, npc, p)
          if p and p[1] then
                level.add_pp_effector("blink.ppe", 613, false)
                local point = patrol(p[1])
                db.actor:set_actor_position(point:point(math.random(0, point:count() - 1)))
          end
    end

    В данном случае тебе всего-то надо создать один вей-поинт с любым количеством точек, и просто вызвать функцию:
    Код
    %=fast_teleport_actor_on_random_point(teleport_point)%

    Закинет рандомно в одну из точек.
      Злобная реклама
    Понедельник, 21.10.2019, 07:24
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  Policai
    Понедельник, 21.10.2019, 07:43 | Сообщение # 4781
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Overfirst,

    Извини я просто не совсем вьезжаю в эти дебри. Первый вариант вполне устраивает, мне проще создать точки walk и look для каждой рандомной точки, чем делать одну соеденёную через всю локацию, просто меня нужно носом тыкнуть...

    Цитата Overfirst ()
    function fast_teleport_actor_on_random_point(actor, npc, p)
          if p and p[1] and p[2] then
                level.add_pp_effector("blink.ppe", 613, false)
                teleport_actor(db.actor, nil, {p[1] .. "_" .. math.random(1, tonumber(p[2])})
          end
    end


    В какой скрипт добавляется эта функция и в какое место, в самом конце?

    Цитата Overfirst ()
    Использование из логики:
    Код
    %=fast_teleport_actor_on_random_point(point_name:number)%


    В логике это как использовать? У меня телепорт одиночный сферический спейс без визуала, он невидим, как это использовать в кастом дате?

    Мне легко работать с графикой, макс, милка, сдк, фотошоп, а с этими писульками у меня туго, череп отказывается запоминать все нюансы..((
      Злобная реклама
    Понедельник, 21.10.2019, 07:43
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  Overfirst
    Понедельник, 21.10.2019, 07:47 | Сообщение # 4782
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    Цитата Policai ()
    В какой скрипт добавляется эта функция и в какое место, в самом конце?

    В xr_effects.script, в конец. Вот логика зоны:
    Код
    [logic]
    active = sr_idle

    [sr_idle]
    on_actor_inside = nil %=fast_teleport_actor_on_random_point(point_name:number)%

    Попробуй и второй вариант.
      Злобная реклама
    Понедельник, 21.10.2019, 07:47
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  Policai
    Понедельник, 21.10.2019, 08:08 | Сообщение # 4783
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Цитата Overfirst ()
    Вот логика зоны:
    Код
    [logic]
    active = sr_idle

    [sr_idle]
    on_actor_inside = nil %=fast_teleport_actor_on_random_point(point_name:number)%


    Я так понимаю имя точки point_name это название точки без цифры?
    грубо говоря имею 5 пар точек: Префикс локации_teleport_walk_random_01 - 05,
    значит вписываю вместо point_name - Префикс локации_teleport_walk_random?

    Цитата Overfirst ()
    Будет выбран поинт c именем point_name_, имя которого оканчивается на число от 1 до 5


    И так и не понял откуда берётся сколько рандомных точек, в функции не увидел цифры 5...
    Сообщение отредактировал Policai - Понедельник, 21.10.2019, 08:19
      Злобная реклама
    Понедельник, 21.10.2019, 08:08
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  Overfirst
    Понедельник, 21.10.2019, 08:17 | Сообщение # 4784
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    Цитата Policai ()
    Я так понимаю имя точки point_name это название точки без цифры?

    Да.
    Цитата Policai ()
    01 - 05

    Без нулей в начале.
    Цитата Policai ()
    значит вписываю вместо point_name - Префикс локации_teleport_walk_random?

    Ну число в конце, да.
      Злобная реклама
    Понедельник, 21.10.2019, 08:17
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  Policai
    Понедельник, 21.10.2019, 08:25 | Сообщение # 4785
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Цитата Overfirst ()
    значит вписываю вместо point_name - Префикс локации_teleport_walk_random?

    Ну число в конце, да.


    Или всё таки Префикс локации_teleport_walk_random_ , этот прочерк в конце играет роль?
      Злобная реклама
    Понедельник, 21.10.2019, 08:25
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Поиск: