Случайная подборка модов
Dead City Breakthrough
3.7
Вариант "Омега"
4.0
World of War - Mod 0.2
3.5
Возвращение
3.0
Тёмное Братство – Проклятые Зоной
3.1
Dragon`s MOD
2.5
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  Аdmin
Воскресенье, 03.11.2013, 19:36 | Сообщение # 1
Статус:
Опытный:
Сообщений: 1538
Награды: 11
Регистрация: 28.03.2011

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

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





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


    Архив

    Архив#2
  •   Злобная реклама
    Воскресенье, 03.11.2013, 19:36
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2011
    Российская Федерация  Mel
    Суббота, 01.03.2014, 19:18 | Сообщение # 1951
    Anarchy Cell Mod
    Статус:
    Бывалый:
    Сообщений: 651
    Награды: 4
    Регистрация: 22.08.2013

    ColR_iT, к сожалению урон здоровью не идет. По аномалии как по бульвару хожу.
      Злобная реклама
    Суббота, 01.03.2014, 19:18
    Статус:
    Сообщений: 666
    Регистрация: 22.08.2013
    Российская Федерация  Asfagan
    Суббота, 01.03.2014, 19:21 | Сообщение # 1952
    Статус:
    Бывалый:
    Сообщений: 929
    Награды: 12
    Регистрация: 01.02.2014

    FantomICW, еще вопрос. создал простого НПС, как теперь посредством диалога сделать, чтобы он выдал предмет взамен другого предмета? т.е. я ему, а он мне.
      Злобная реклама
    Суббота, 01.03.2014, 19:21
    Статус:
    Сообщений: 666
    Регистрация: 01.02.2014
    Украина  FantomICW
    Суббота, 01.03.2014, 19:40 | Сообщение # 1953
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    Asfagan, читай туторы по диалогам. Через акшион. Используй функции relocate_item_to_actor и relocate_item_from_actor.
      Злобная реклама
    Суббота, 01.03.2014, 19:40
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Беларусь  UX-3000
    Суббота, 01.03.2014, 19:49 | Сообщение # 1954
    Статус:
    Бывалый:
    Сообщений: 623
    Награды: 5
    Регистрация: 07.06.2013

    У меня простой (и может быть кому-нибудь покажется дурацкий вопрос) - как быстрее убрать с экрана сообщение для ГГ, чтобы оно не висело слишком долго - может быть есть функция типа clear tip (да, туплю, но всё-равно это очень нужно для работы).

    Пример:

    news_manager.send_tip(db.actor, "%c[255,255,128,128]СПРАВОЧНИК АРТЕФАКТОВ:\n%c[default]Вы подняли вредный антиартефакт.\\nНи в коем случае не ложите его в ячейку костюма - это смертельно опасно.\\nНайдите возле аномальной зоны металлический изолирующий контейнер и скиньте антиартефакт во внутрь его.\\nИ не забудьте принять антирад и возможно подлечиться аптечкой.", nil, nil, 30000)
      Злобная реклама
    Суббота, 01.03.2014, 19:49
    Статус:
    Сообщений: 666
    Регистрация: 07.06.2013
    Российская Федерация  Streels
    Суббота, 01.03.2014, 20:00 | Сообщение # 1955
    Статус:
    Опытный:
    Сообщений: 2088
    Награды: 4
    Регистрация: 28.09.2012

    UX-3000,

    Цитата UX-3000 ()
    news_manager.send_tip(db.actor, "%c[255,255,128,128]СПРАВОЧНИК АРТЕФАКТОВ:\n%c[default]Вы подняли вредный антиартефакт.\\nНи в коем случае не ложите его в ячейку костюма - это смертельно опасно.\\nНайдите возле аномальной зоны металлический изолирующий контейнер и скиньте антиартефакт во внутрь его.\\nИ не забудьте принять антирад и возможно подлечиться аптечкой.", nil, nil, 30000)


    Попробуй изменить значение выделенных цифр на 10000, например.
    Сообщение отредактировал Streels - Суббота, 01.03.2014, 20:01
      Злобная реклама
    Суббота, 01.03.2014, 20:00
    Статус:
    Сообщений: 666
    Регистрация: 28.09.2012
    Украина  FantomICW
    Суббота, 01.03.2014, 20:05 | Сообщение # 1956
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    UX-3000, смотри:
    Код
    news_manager.send_tip(actor, news_id, timeout, sender, showtime, sender_id)
    news_manager.send_tip(db.actor, "текст", задержка_перед_отправкой, "иконка_сообщения", время_показа, id_отправителя)
      Злобная реклама
    Суббота, 01.03.2014, 20:05
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Российская Федерация  Asfagan
    Суббота, 01.03.2014, 20:53 | Сообщение # 1957
    Статус:
    Бывалый:
    Сообщений: 929
    Награды: 12
    Регистрация: 01.02.2014

    FantomICW, а поподробнее можно? желательно с примером
      Злобная реклама
    Суббота, 01.03.2014, 20:53
    Статус:
    Сообщений: 666
    Регистрация: 01.02.2014
    Беларусь  UX-3000
    Суббота, 01.03.2014, 21:02 | Сообщение # 1958
    Статус:
    Бывалый:
    Сообщений: 623
    Награды: 5
    Регистрация: 07.06.2013

    FantomICW, Streels, спасибо - попробую. Ещё будет вопрос по замещению части одного скрипта другим (более компактным) - ну через время выложу куски кодов. Думаю, один Вам будет знаком.

    К примеру, есть много таких блоков (для каждого вида артефактов - не важно вредных или не сильно):



    Нужно объединить такие блоки во что-то более компактное (возможно с перебором имён артов, если сильно вешать память не будет, конечно). К примеру в одном из скриптов СВ: Послушник видел вот этот кусок кода:



    В чём разница - у меня фонит (с постэффектами и сообщением об опасности), если лежит в рюкзаке, если взяли арт, у вас же - при подборе самого арта идёт быстрый удар-шок и постэффекты от него. Можно ли сделать гибридную компиляцию кода, при которой и первый скрипт удастся оптимизировать, и во второй можно будет добавить что-то? (скорее всего может пригодиться для полной версии СВ).
    Сообщение отредактировал UX-3000 - Суббота, 01.03.2014, 21:16
      Злобная реклама
    Суббота, 01.03.2014, 21:02
    Статус:
    Сообщений: 666
    Регистрация: 07.06.2013
    Украина  FantomICW
    Суббота, 01.03.2014, 21:19 | Сообщение # 1959
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    Asfagan, я могу тебе сразу готовый вариант кинуть с любым названием предметов и самой функции. Но прежде этого, давай ты попробуешь это сделать сам? Туторы по диалогам - просто дофига. А про скриптовую часть - открываем файл dialogs_лока.script (ЗП) и смотрим, как там реализовано перемещение предметов. Берем как основу, меняем название, все. Каждый успешный модмейкер в свою время ломал голову над вот такими задачками. И старались понять и освоить многое сами. Вот поверь, ты если сам это сделаешь, тебе будет приятней. Это ведь не текстурирование или сложное скриптование, о которых нужно лекции читать. Давай, попробуй, не получиться, отпишешься.

    Добавлено (01.03.2014, 21:19)
    ---------------------------------------------
    UX-3000, ты как функцию запускаешь?

      Злобная реклама
    Суббота, 01.03.2014, 21:19
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Беларусь  UX-3000
    Суббота, 01.03.2014, 21:30 | Сообщение # 1960
    Статус:
    Бывалый:
    Сообщений: 623
    Награды: 5
    Регистрация: 07.06.2013

    FantomICW, ты не против если я попробую создать рабочую функцию с перебором типов артов, но не для шок-удара, а для рюкзака (гибрид своей функции и вашей)? Ну попробую, по крайней мере. По идее это не сложно будет.

    Вызываю в бинд-сталкере функцию (инклудов там очень много от разных допов). Просто значительно модифицировал вот этот скрипт. Спросил предварительно у автора (на АМК-форуме ранее):

    swm_art_rad.art_rad_main()

    Ну это пока просто набор функций function art_rad_main()
    if db.actor:object("af_antigravi") then ..... для каждого вида арта,
    ну а возможность оптимизировать целый список в пару строчек, согласись,
    стоит затраченного времени, думаю.
    Сообщение отредактировал UX-3000 - Суббота, 01.03.2014, 21:32
      Злобная реклама
    Суббота, 01.03.2014, 21:30
    Статус:
    Сообщений: 666
    Регистрация: 07.06.2013
    Украина  FantomICW
    Суббота, 01.03.2014, 21:34 | Сообщение # 1961
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    UX-3000, например, вызов для списка артов одного типа можно было бы как-то так сократить:
    Код
    --/Эффект при поднятии артефакта  
    function on_item_take(obj)  
    local art_hit_gravi_table = {
         [1] = "af_cristall_flower",
         [2] = "af_night_star",  
         [3] = "af_gravi",
         [4] = "af_medusa",
         [5] = "af_vyvert",  
         [6] = "af_gold_fish"
    }
         for k,v in pairs(art_hit_gravi_table) do
          if db.actor:object(v) then
           this.art_hit_gravitational()  
       end
      end
    end

    Добавлено (01.03.2014, 21:34)
    ---------------------------------------------

    Цитата UX-3000 ()
    Вызываю в бинд-сталкере

    Конкретней, пожалуйста. В какой функции? Апдейт?
    Цитата UX-3000 ()
    ты не против если я попробую создать рабочую функцию

    Мне чего против быть-то?))
      Злобная реклама
    Суббота, 01.03.2014, 21:34
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Беларусь  UX-3000
    Суббота, 01.03.2014, 21:43 | Сообщение # 1962
    Статус:
    Бывалый:
    Сообщений: 623
    Награды: 5
    Регистрация: 07.06.2013

    В Послушнике в бинд-сталкере вызывается вот тут:

    function actor_binder:on_item_take (obj)
    ......
    treasure_manager.get_treasure_manager():on_item_take(obj:id())
    ins_arts.on_item_take(obj)
    end

    у меня здесь:
    function actor_binder:update(delta)
    ................
    --' SWM COP
    swm_art_rad.art_rad_main()
    --' SWM COP

    Добавлено (01.03.2014, 21:41)
    ---------------------------------------------
    Т.е. вызов разный, получается.....

    Добавлено (01.03.2014, 21:43)
    ---------------------------------------------
    Потому что у Вас апдейт на подбор арта, а у нас - на нахождение в рюкзаке актора.

      Злобная реклама
    Суббота, 01.03.2014, 21:43
    Статус:
    Сообщений: 666
    Регистрация: 07.06.2013
    Украина  FantomICW
    Суббота, 01.03.2014, 21:44 | Сообщение # 1963
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    UX-3000, ну, все логично, понятно, почему у тебя постоянно эффекты воспроизводятся. У нас стоит коллбек поднятия предмета, а у тебя, в данном случае, - коллбек наличия предмета. Не суй функции на апдейт. Никогда не суй. Если это только не постоянный элемент худа, например. Вызов своей функции переноси на on_item_take, как в СВ. Не забудь об аргументе obj.
      Злобная реклама
    Суббота, 01.03.2014, 21:44
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Беларусь  UX-3000
    Суббота, 01.03.2014, 21:52 | Сообщение # 1964
    Статус:
    Бывалый:
    Сообщений: 623
    Награды: 5
    Регистрация: 07.06.2013

    Попробую сделать компактный вариант скрипта (есть идея сделать удар не через постэффект, а именно как удар в bones руки - где-то видел что-то подобное в моде на отрезание частей тела - там удар ножом наносится в кость (в часть тела мёртвого мутанта - в ногу, в руку и пр.), здесь же можно реализовать настоящий (не фейковый засчёт постэффектов) толчок в руки при подборе арта. Не получится - так хотя бы интересно будет в коде покопаться)). К примеру, взял арт - потерял оружие или детектор или просто замотает.

    Если удастся гибрид этих идей собрать - напишу что получилось в итоге.

    Добавлено (01.03.2014, 21:52)
    ---------------------------------------------
    И спасибо за советы - конечно, многому ещё учиться надо, но лучше учиться на реальном примере.

    Сообщение отредактировал UX-3000 - Суббота, 01.03.2014, 21:51
      Злобная реклама
    Суббота, 01.03.2014, 21:52
    Статус:
    Сообщений: 666
    Регистрация: 07.06.2013
    Украина  FantomICW
    Суббота, 01.03.2014, 21:55 | Сообщение # 1965
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    UX-3000, всегда пожалуйста wink
      Злобная реклама
    Суббота, 01.03.2014, 21:55
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Поиск: