Случайная подборка модов
Clear Sky Complete
4.1
Old Episodes. Episode 2. War of Zone.
3.1
Ночь Перед Рождеством 2
3.5
Mysterious Zone
4.0
Камень Преткновения. Пролог
4.1
Nature Winter v2.3 Black Edition
3.9
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » [CoP] Модострой: вопросница
[CoP] Модострой: вопросница
Российская Федерация  Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

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

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

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


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

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

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

  • Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
  •   Злобная реклама
    Воскресенье, 31.12.2017, 13:17
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  Pavel_Loktev
    Вторник, 07.07.2020, 16:36 | Сообщение # 7801
    Статус:
    Зевака:
    Сообщений: 10
    Награды: 0
    Регистрация: 02.09.2019

    Подскажите пожалуйста, а как сделать скрипт на смену имени и фото гг?
      Злобная реклама
    Вторник, 07.07.2020, 16:36
    Статус:
    Сообщений: 666
    Регистрация: 02.09.2019
    Российская Федерация  denis2000
    Вторник, 07.07.2020, 16:48 | Сообщение # 7802
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    molodoy_chelovek, Это несложно
    Код
    local ini = system_ini()
    if ini and ini:section_exist("section_name") then
       local parametr_name = ini:r_string("section_name", "parametr_name") -- строковый параметр
       local parametr_name = ini:r_u32("section_name", "parametr_name") -- числовой параметр
       local parametr_name = ini:r_bool("section_name", "parametr_name") -- двоичный параметр
    end



    Pavel_Loktev, Или правки движка или костыли, вам какой?
    Сообщение отредактировал denis2000 - Вторник, 07.07.2020, 18:49
      Злобная реклама
    Вторник, 07.07.2020, 16:48
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Pavel_Loktev
    Вторник, 07.07.2020, 19:10 | Сообщение # 7803
    Статус:
    Зевака:
    Сообщений: 10
    Награды: 0
    Регистрация: 02.09.2019

    Denis2000, желательно,что проще
      Злобная реклама
    Вторник, 07.07.2020, 19:10
    Статус:
    Сообщений: 666
    Регистрация: 02.09.2019
    Российская Федерация  sergej5500
    Вторник, 07.07.2020, 19:46 | Сообщение # 7804
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Цитата makdm ()
    Начни с биндеров сталкера и монстра. Метод death_callback


    Попробовал провести эксперимент.

    Исходная функция:

    if who:id() == db.actor:id() then
    xr_statistic.inc_killed_stalkers_counter()
    xr_statistic.set_best_monster(npc)
    end

    Попробовал написать так:

    if (who:id() == db.actor:id() or who:id() == get_story_object("remote_explosive_bomb_1")) then
    xr_statistic.inc_killed_stalkers_counter()
    xr_statistic.set_best_monster(npc)
    end

    Не вылетело. Но и не сработало. Как вместо db.actor:id() передать в функцию объект со стори ид remote_explosive_bomb_1? Объект - это бомба.
      Злобная реклама
    Вторник, 07.07.2020, 19:46
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Российская Федерация  denis2000
    Вторник, 07.07.2020, 21:59 | Сообщение # 7805
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    sergej5500, Естественно не сработает ведь who:id() - это число, а get_story_object возвращает объект, они никогда идентичны не будут. Для того чтобы получить id объекта по его стори_ид нужна функция get_story_object_id или получать ид объекта полученного при помощи get_story_object.
    Пробуйте так:
    Код
    if (who:id() == db.actor:id() or who:id() == get_story_object_id("remote_explosive_bomb_1")) then


    PS: И я что-то не уверен, что если НПС падет от взрывчатки, то колбек вернет в параметре who именно взрывчатку как объект.


    Pavel_Loktev, Например такое реализовано на движке SGM3.0

    Возможно аналог есть на других кастомных движках. Поищите.
    Сообщение отредактировал denis2000 - Среда, 08.07.2020, 00:40
      Злобная реклама
    Вторник, 07.07.2020, 21:59
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Pavel_Loktev
    Среда, 08.07.2020, 01:07 | Сообщение # 7806
    Статус:
    Зевака:
    Сообщений: 10
    Награды: 0
    Регистрация: 02.09.2019

    Denis2000, спасибо
      Злобная реклама
    Среда, 08.07.2020, 01:07
    Статус:
    Сообщений: 666
    Регистрация: 02.09.2019
    Российская Федерация  sergej5500
    Среда, 08.07.2020, 08:03 | Сообщение # 7807
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Цитата denis2000 ()
    if (who:id() == db.actor:id() or who:id() == get_story_object_id("remote_explosive_bomb_1")) then


    В таком варианте статистика сработала.
      Злобная реклама
    Среда, 08.07.2020, 08:03
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Российская Федерация  Winsor
    Среда, 08.07.2020, 10:02 | Сообщение # 7808
    Статус:
    Отмычка:
    Сообщений: 163
    Награды: 0
    Регистрация: 22.04.2020

    Цитата denis2000 ()
    Например такое реализовано на движке SGM3.0

    Как такое сделать на чистом движке ЗП (смена иконки по вызову)?
    Какие правки нужны? Есть ли костыль?
      Злобная реклама
    Среда, 08.07.2020, 10:02
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2020
    Российская Федерация  denis2000
    Среда, 08.07.2020, 10:18 | Сообщение # 7809
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Winsor, Костыль заключается в том:
    1. Поправить конфиги элементов интерфейсных окон так, чтобы убрать надписи и иконку за пределы экрана (или сделать их нулевого размера). Файлы actor_menu.xml и actor_menu_16.xml.
    2. Отслеживать скриптом появление этих интерфейсных окон и вставлять в нужные поля свою информацию. Скрипт биндера актора метод update.
    3. Убрать подпись из диалоговых окон не возможно, поэтому нужно вместо имени ГГ в тег st_actor_name (файл st_characters.xml) что-то нейтральное.

    Полностью код не приведу, но знаю точно, что в моде "Путь во мгле" в это поле добавлялась динамически иконка ранга ГГ, а это на 90% то что вам и нужно.
    Сообщение отредактировал denis2000 - Среда, 08.07.2020, 10:21
      Злобная реклама
    Среда, 08.07.2020, 10:18
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Pavel_Loktev
    Среда, 08.07.2020, 12:07 | Сообщение # 7810
    Статус:
    Зевака:
    Сообщений: 10
    Награды: 0
    Регистрация: 02.09.2019

    denis2000, а есть ли такой костыль на имя и фото, но для чистого зп?
      Злобная реклама
    Среда, 08.07.2020, 12:07
    Статус:
    Сообщений: 666
    Регистрация: 02.09.2019
    Российская Федерация  Winsor
    Среда, 08.07.2020, 13:05 | Сообщение # 7811
    Статус:
    Отмычка:
    Сообщений: 163
    Награды: 0
    Регистрация: 22.04.2020

    Я для теста сделал так, чтобы иконка ГГ менялась при юзании консервы. Правил движок. Всё работает, не вылетает. НО: После съедания консервы портрет меняется, и остаётся таким же даже при новой игре. Как это исправить?
    Короче говоря: после юзания консервы портрет ГГ остаётся навсегда таким же.
    Pavel_Loktev, Я только что поправил движок, всё очень просто. Взял код из CoC. Могу скинуть в лс, соберёшь движок и будет тебе счастье, с одним минусом. Либо скину уже готовый dll файл, который был собран 1 раз на чистом ЗП.
    Сообщение отредактировал Winsor - Среда, 08.07.2020, 13:09
      Злобная реклама
    Среда, 08.07.2020, 13:05
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2020
    Российская Федерация  Piper
    Среда, 08.07.2020, 15:36 | Сообщение # 7812
    Статус:
    Зевака:
    Сообщений: 17
    Награды: 0
    Регистрация: 05.04.2019

    Здравствуйте. Как сделать респавн определенного предмета(Секции) на локации по таймеру? Написав в поиске "Респавн предмета" в данной теме, ничего не нашёл. Заранее спасибо.
      Злобная реклама
    Среда, 08.07.2020, 15:36
    Статус:
    Сообщений: 666
    Регистрация: 05.04.2019
    Российская Федерация  Neptun
    Среда, 08.07.2020, 15:56 | Сообщение # 7813
    Связной
    Статус:
    Бывалый:
    Сообщений: 672
    Награды: 9
    Регистрация: 25.03.2012

    Piper, респавн? То есть даже если предмет уже существует на этой позиции, всё равно дублировать его?
    Ну, скажем, такой вариант:
    Код
    [logic]
    active = sr_idle@spawn

    [sr_idle@spawn]
    on_info = %=spawn_object(ид_объекта:позиция_в_way)% sr_idle@time

    [sr_idle@time]
    on_game_timer = 100 | sr_idle@spawn

    Каждые десять секунд респавнит предмет.
      Злобная реклама
    Среда, 08.07.2020, 15:56
    Статус:
    Сообщений: 666
    Регистрация: 25.03.2012
    Российская Федерация  Piper
    Среда, 08.07.2020, 16:01 | Сообщение # 7814
    Статус:
    Зевака:
    Сообщений: 17
    Награды: 0
    Регистрация: 05.04.2019

    Цитата Neptun ()
    Piper, респавн? То есть даже если предмет уже существует на этой позиции, всё равно дублировать его?
    Ну, скажем, такой вариант:
    Код
    [logic]
    active = sr_idle@spawn

    [sr_idle@spawn]
    on_info = %=spawn_object(ид_объекта:позиция_в_way)% sr_idle@time

    [sr_idle@time]
    on_game_timer = 100 | sr_idle@spawn

    Каждые десять секунд респавнит предмет.


    Спасибо. А возможно ли сделать что-то подобное после подбора предмета? И небольшой вопрос - в
    Код
    позиция_в_way
    и
    Код
    ид_объекта
    нужно указать секция и way point?
      Злобная реклама
    Среда, 08.07.2020, 16:01
    Статус:
    Сообщений: 666
    Регистрация: 05.04.2019
    Российская Федерация  Neptun
    Среда, 08.07.2020, 17:06 | Сообщение # 7815
    Связной
    Статус:
    Бывалый:
    Сообщений: 672
    Награды: 9
    Регистрация: 25.03.2012

    Цитата Piper ()
    А возможно ли сделать что-то подобное после подбора предмета?

    Проверка: {=actor_has_item(ид_объекта)}
      Злобная реклама
    Среда, 08.07.2020, 17:06
    Статус:
    Сообщений: 666
    Регистрация: 25.03.2012
    Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » [CoP] Модострой: вопросница
    Поиск: