Случайная подборка модов
Вариант "Омега"
4.0
Народная Солянка 2010
4.0
Выживший. Побег из Зоны
3.7
SWTC
4.1
New Level Changer 6.0. Начало
4.0
Большая Зона
3.4
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  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
    Поиск: