Случайная подборка модов
ArmSTALKER: Warzone 2.0
3.9
Время перемен v3.0
3.6
День одиночки
1.6
Thorny Way
3.5
Clear Sky Complete
4.1
S.T.A.L.K.E.R. Complete 2009
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
    Российская Федерация  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
    Поиск: