Случайная подборка модов
Золотой Шар. Завершение
3.9
Сезон катастроф: Агрессия
2.7
NEYA: Thunderstorm
2.9
Hibernation Evil - Эпизод I
2.8
Зона обр.2010г.
3.1
Old Episodes. Episode 3
3.6
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  Wolfstalker
Понедельник, 22.10.2012, 14:58 | Сообщение # 1
Статус:
Легенда:
Сообщений: 2258
Награды: 15
Регистрация: 05.04.2010

В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга.

  • Не флудить
  • Предварительно просматривайте раздел. Ответ на ваш вопрос может быть там.
  • В своем вопросе указывайте платформу моддинга - Тень Чернобыля, Чистое небо или Зов Припяти.





    У кого есть желание, создать FAQ по основным вопросам моддинга - обращаемся в ЛС.


    Архив

    Архив#2
  •   Злобная реклама
    Понедельник, 22.10.2012, 14:58
    Статус:
    Сообщений: 666
    Регистрация: 05.04.2010
    Российская Федерация  saxar
    Воскресенье, 08.09.2013, 21:27 | Сообщение # 8011
    Статус:
    Бывалый:
    Сообщений: 801
    Награды: 2
    Регистрация: 17.10.2012

    Ребят куда можно обратится на счет модинга на мултиплеер?
      Злобная реклама
    Воскресенье, 08.09.2013, 21:27
    Статус:
    Сообщений: 666
    Регистрация: 17.10.2012
    Украина  FantomICW
    Воскресенье, 08.09.2013, 21:31 | Сообщение # 8012
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    Цитата (LaRento)
    я не знал про такую функцию

    честно говоря, я тоже о ней не сильно знал biggrin
    Но помнил и догадывался, что что-то такое точно есть в xr_conditions.script. Не могли разрабы этот момент упустить. А в самом скрипте на русском пояснения. Нажал Ctrl+F и искал тегом "жив". На третий-четвертый раз нашел то, что надо)
      Злобная реклама
    Воскресенье, 08.09.2013, 21:31
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Российская Федерация  Sanjaaa
    Воскресенье, 08.09.2013, 21:38 | Сообщение # 8013
    Dark Reaper Souls
    Статус:
    Бывалый:
    Сообщений: 926
    Награды: 6
    Регистрация: 22.08.2012

    в тч 1.0004 проблема, чувак просит аптечку, я даю, он берет, становится другом, но не поднимается, и просит еще аптечку
      Злобная реклама
    Воскресенье, 08.09.2013, 21:38
    Статус:
    Сообщений: 666
    Регистрация: 22.08.2012
    Российская Федерация  Graff46
    Воскресенье, 08.09.2013, 21:43 | Сообщение # 8014
    Новое Время
    Статус:
    Бывалый:
    Сообщений: 867
    Награды: 7
    Регистрация: 02.05.2013

    FantomICW, ну с личной логикой не как нельзя, а рестрикторы не люблю. Но я кое что нашёл:
    Код
    <function_complete>функция</function_complete>

    Ведь в этом случае ф-ция проверяется постоянно, а значит в ней можно прописать проверку на смерть НПСа. Как то так:
    Код
    function name (actor, npc)
         if npc:profile_name() == "val_bandit_borov" and level.name() == "l01_escape" then
             return false
         else
             return true
         end
    end
      Злобная реклама
    Воскресенье, 08.09.2013, 21:43
    Статус:
    Сообщений: 666
    Регистрация: 02.05.2013
    Российская Федерация  makdm
    Воскресенье, 08.09.2013, 21:55 | Сообщение # 8015
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата (wanes101)
    сделать схему для нпс, чтобы он в ней побыл грузчиком грузил машину

    Для этого не нужно изобретать велосипед.
    Есть схема remark, в которой можно задать анимацию, и НПС будет работать хоть грузчиком , хоть разгрузчиком.
    Главное - сделать эту анимацию и вставить в игру.

    Добавлено (08.09.2013, 21:55)
    ---------------------------------------------
    Graff46, ещё раз пишу, что не нужно изобретать велосипед.
    В файле xr_conditions.script есть функция is_dead, которая возвращает либо true, либо false.

    function is_dead(actor, npc, p)
    local npc1
    npc1 = get_story_object(p[1])
    return not npc1 or not npc1:alive()
    end
    Сообщение отредактировал makdm - Воскресенье, 08.09.2013, 21:56
      Злобная реклама
    Воскресенье, 08.09.2013, 21:55
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  Graff46
    Воскресенье, 08.09.2013, 22:12 | Сообщение # 8016
    Новое Время
    Статус:
    Бывалый:
    Сообщений: 867
    Награды: 7
    Регистрация: 02.05.2013

    makdm,
    Цитата (makdm)
    function is_dead(actor, npc, p)
    local npc1
    npc1 = get_story_object(p[1])
    return not npc1 or not npc1:alive()
    end


    по сиду нельзя, я спавню скриптом двойника борова, у него стори ида не будет.

    Добавлено (08.09.2013, 22:08)
    ---------------------------------------------
    и это всё делается через логику, а у меня нет логики на НПСе!

    Добавлено (08.09.2013, 22:12)
    ---------------------------------------------
    Подскажите функцию которая бы выдала инфопоршень, если бы меня заметили НПС из определённого(!) смарта. Что то похожие, я когда-то находил, ф-ция проверяла: если смарт в аларме, то не по причине ли актора аларм включился.

      Злобная реклама
    Воскресенье, 08.09.2013, 22:12
    Статус:
    Сообщений: 666
    Регистрация: 02.05.2013
    Российская Федерация  makdm
    Воскресенье, 08.09.2013, 22:18 | Сообщение # 8017
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата (Graff46)
    по сиду нельзя, я спавню скриптом двойника борова, у него стори ида не будет.

    Говорите полную ....ерунду.
    У любого объекта есть SID, и даже если вы спаните через скрипт, всё равно у объекта есть SID.
    Хотелось бы вам этого или нет, но движок вас спрашивать об этом не будет. biggrin
      Злобная реклама
    Воскресенье, 08.09.2013, 22:18
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  Graff46
    Воскресенье, 08.09.2013, 22:24 | Сообщение # 8018
    Новое Время
    Статус:
    Бывалый:
    Сообщений: 867
    Награды: 7
    Регистрация: 02.05.2013

    makdm,
    Цитата (makdm)
    У любого объекта есть SID, и даже если вы спаните через скрипт, всё равно у объекта есть SID.
    Вы не путаете ли ID и story_id? Ид дается каждому объекту на уровне движком, стори ид - иногда присваевается, через кастом дату...
    Сообщение отредактировал Graff46 - Воскресенье, 08.09.2013, 22:27
      Злобная реклама
    Воскресенье, 08.09.2013, 22:24
    Статус:
    Сообщений: 666
    Регистрация: 02.05.2013
    Российская Федерация  makdm
    Воскресенье, 08.09.2013, 22:38 | Сообщение # 8019
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Graff46, я ничего не путаю. Я вам дал функцию из ЗП.
    Если у вас ТЧ, то функция другая:

    function is_dead(actor, npc, p)
    local npc1
    npc1 = level_object_by_sid(p[1])
    return not npc1 or not npc1:alive()
    end

    Или вы мне сейчас расскажите, что разрабы тоже что-то напутали?
      Злобная реклама
    Воскресенье, 08.09.2013, 22:38
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  Graff46
    Воскресенье, 08.09.2013, 22:57 | Сообщение # 8020
    Новое Время
    Статус:
    Бывалый:
    Сообщений: 867
    Награды: 7
    Регистрация: 02.05.2013

    makdm, Я уже составил себе ф-цию.

    Добавлено (08.09.2013, 22:57)
    ---------------------------------------------
    В гулаг_агропром нашёл это:

    Код
    for k, v in pairs(gulag.Object) do
                         if v ~= true and v:best_enemy() ~= nil and v:best_enemy():id() == actor:id() then
                             alarm = true

    Вопрос в том, запускает ли эта ф-ция аларм только в случае атаки актора?
      Злобная реклама
    Воскресенье, 08.09.2013, 22:57
    Статус:
    Сообщений: 666
    Регистрация: 02.05.2013
    Российская Федерация  makdm
    Воскресенье, 08.09.2013, 23:20 | Сообщение # 8021
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата (Graff46)
    :best_enemy():id() == actor:id() then

    Судя по этому скрипту - как раз и запускает Аларм ( Тревогу ), только в случае если враг ГГ.
      Злобная реклама
    Воскресенье, 08.09.2013, 23:20
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Украина  BozKurt
    Воскресенье, 08.09.2013, 23:28 | Сообщение # 8022
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    ID - присваивается всем спавн-объектам в игре. Story_id - нет, только тем, которым определит модмейкер, то беж его нужно вручную прописывать в любом случае.

    Добавлено (08.09.2013, 23:28)
    ---------------------------------------------
    Graff46, если ты спавнишь именно секцию Борова, то это на 100% такой же объект, абсолютно ничем не отличающийся. Поэтому будет разумнее унаследовать секцию на своей, назвав её по другому. Тогда ты можешь перебором (кажется можно и по самой секции) получить именно своего Борова. А определить смерть НПС без логики можно в мотиваторе, в колбеке на смерть, вписав небольшую проверку.

      Злобная реклама
    Воскресенье, 08.09.2013, 23:28
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Российская Федерация  makdm
    Воскресенье, 08.09.2013, 23:41 | Сообщение # 8023
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата (ColR_iT)
    ID - присваивается всем спавн-объектам в игре. Story_id - нет,

    Совершенно верно. О чём я и писал. Что SID будет присвоен объекту независимо от того хочет этого модмейкер или нет.

    Добавлено (08.09.2013, 23:41)
    ---------------------------------------------

    Цитата (ColR_iT)
    определить смерть НПС без логики можно в мотиваторе, в колбеке на смерть,

    А вот это, с точки зрения модмейкера, неразумно. Так как грузит игру, ради какого-то одного сталкера.
    Причём, если сцена с этим сталкером будет в прошлом, скрипт будет продолжать проверку на его смерть.
      Злобная реклама
    Воскресенье, 08.09.2013, 23:41
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  Graff46
    Понедельник, 09.09.2013, 00:20 | Сообщение # 8024
    Новое Время
    Статус:
    Бывалый:
    Сообщений: 867
    Награды: 7
    Регистрация: 02.05.2013

    makdm,
    Цитата (makdm)
    О чём я и писал. Что SID будет присвоен объекту независимо от того хочет этого модмейкер или нет.
    и вот
    Цитата (ColR_iT)
    Story_id - нет, только тем, которым определит модмейкер, то беж его нужно вручную прописывать в любом случае.

    Story_id - это и есть sid! Ты не прав, точнее прав, просто ид и сид перепутал между собой
      Злобная реклама
    Понедельник, 09.09.2013, 00:20
    Статус:
    Сообщений: 666
    Регистрация: 02.05.2013
    Российская Федерация  Scouser
    Понедельник, 09.09.2013, 00:22 | Сообщение # 8025
    Статус:
    Опытный:
    Сообщений: 1614
    Награды: 16
    Регистрация: 21.10.2012

    Цитата (Graff46)
    Ты не прав, точнее прав


    Ты уж определись с выбором biggrin
      Злобная реклама
    Понедельник, 09.09.2013, 00:22
    Статус:
    Сообщений: 666
    Регистрация: 21.10.2012
    Поиск: