Случайная подборка модов
The Project Medeiros
3.7
Darkest Time
3.5
Зона поражения
4.1
Смерти Вопреки. В Паутине лжи
4.1
Погоня за Праздником
3.8
Народная Солянка 2016
4.1
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  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
    Российская Федерация  Dorian23Grey
    Пятница, 18.10.2013, 03:42 | Сообщение # 9406
    True Zone Projects© Team
    Статус:
    Опытный:
    Сообщений: 1767
    Награды: 4
    Регистрация: 28.05.2012

    mwesten1, ссылка не работает, назначение скриптам горячих кнопок - смотрел, только не понял. Если не ошибаюсь, там все-таки довольно специфичный пример, на адаптацию конкретного "мода", у меня же несколько другой случай.

    Допустим есть у меня файл "qte1.script" и куда и как в "ui_main_menu.script" мне нужно вписать "qte1.start_qtimevnt()", чтобы заработало по нажатию какого-нибудь пункта меню? Блин, после Армы дико туплю, привык уже к ее скриптам, там любой хардкор за пять минут напишу, а тут от мелочей аж мозги закипают. Скрипт на отснятие координат - знаю, ускорение времени - тоже знаю, с такими проблем не возникает, они мелкие все и внутри "ui_main_menu.script" идут, а мне нужно по нажатию запустить функцию из другого, внешнего скрипт-файла.
    Сообщение отредактировал Dorian23Grey - Пятница, 18.10.2013, 03:46
      Злобная реклама
    Пятница, 18.10.2013, 03:42
    Статус:
    Сообщений: 666
    Регистрация: 28.05.2012
    Российская Федерация  timaxa007
    Пятница, 18.10.2013, 10:54 | Сообщение # 9407
    Статус:
    Отмычка:
    Сообщений: 97
    Награды: 3
    Регистрация: 23.05.2010

    Цитата Dorian23Grey ()
    как активировать нужный скриптовый файл по нажатию одного из существующих пунктов главного меню?

    Активируется не скриптовый файл, а функция в скриптовом файле. Примерно так "Название_файла.Название_функции()", типа в "ui_main_menu.script"
    Код

    function main_menu:InitCallBacks()
    ...
       self:AddCallback("btn_new_btn",  ui_events.BUTTON_CLICKED, self.OnNewButton, self)
    end

    function main_menu:OnNewButton()
       My_MOD.act_fun()
    end

    Потом добавление в "ui_main_menu.xml", чтобы кнопка имела текстуру и слова. Либо по нажатию в меню на клавишу "W":
    Код

    function main_menu:OnKeyboard(dik, keyboard_action)
    ...
    if dik == DIK_keys.DIK_W then
       My_MOD.act_fun()
    end

    (надеюсь понятно и я правильно вспомнил как это пишеться)
    Сообщение отредактировал timaxa007 - Пятница, 18.10.2013, 11:01
      Злобная реклама
    Пятница, 18.10.2013, 10:54
    Статус:
    Сообщений: 666
    Регистрация: 23.05.2010
    Украина  FantomICW
    Пятница, 18.10.2013, 11:31 | Сообщение # 9408
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    Dorian23Grey, по поводу кнопки в меню timaxa007 правильно говорит. По поводу рестриктора, да, можно. Напоминаю, что все функции, которые можно вызвать через логику, находятся в xr_effects.script.
    Вызываются они вот так:
    Код
    %=функция%

    Если в функции нужно указать аргумент, то обычно так:
    Код
    %=функция(аргумент)%

    Если аргументов должно быть указано несколько, то так:
    Код
    %=функция(аргумент_1:аргумент_2:аргумент_3...)%

    Допустим, ЗПшная функция oasis_heal будет в логике вызываться просто:
    Код
    %=oasis_heal%

    ведь аргументов не имеет:
    Код
    function oasis_heal()
      local d_health = 0.005
      local d_power = 0.01
      local d_bleeding = 0.05
      local d_radiation = -0.05
      if(db.actor.health<1) then
       db.actor.health = d_health
      end
      if(db.actor.power<1) then
       db.actor.power = d_power
      end
      if(db.actor.radiation>0) then
       db.actor.radiation = d_radiation
      end
      if(db.actor.bleeding>0) then
       db.actor.bleeding = d_bleeding
      end
       db.actor.satiety = 0.01
    end

    А вот функция scenario_autosave будет вызываться с аргументом, в своей форме имеет некоеp[1]:
    Код
    function scenario_autosave(actor, npc, p)
      local save_name = p[1]
      if save_name == nil then
       abort("You are trying to use scenario_autosave without save name")
      end

      if IsImportantSave() then
       local save_param = user_name().." - "..game.translate_string(save_name)

       get_console():execute("save "..save_param)
      end
    end

    Вызов:
    Код
    %=scenario_autosave(название_сейва)%

    В целом, чтобы вызвать новую функцию через рестриктор, нужно добавить ее в xr_effects.script, и в зависимости от формы запустить "в процентах".
      Злобная реклама
    Пятница, 18.10.2013, 11:31
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Российская Федерация  Sanjaaa
    Пятница, 18.10.2013, 13:17 | Сообщение # 9409
    Dark Reaper Souls
    Статус:
    Бывалый:
    Сообщений: 926
    Награды: 6
    Регистрация: 22.08.2012

    как посмотреть анимации рук для оружия?
    Сообщение отредактировал Sanjaaa - Пятница, 18.10.2013, 13:21
      Злобная реклама
    Пятница, 18.10.2013, 13:17
    Статус:
    Сообщений: 666
    Регистрация: 22.08.2012
    Российская Федерация  R0D23
    Пятница, 18.10.2013, 13:20 | Сообщение # 9410
    Мертвый Путь 3
    Статус:
    Опытный:
    Сообщений: 1491
    Награды: 1
    Регистрация: 23.06.2013

    как сделать рамномное меню? чтобы картинки менялись после каждого захода в меню
      Злобная реклама
    Пятница, 18.10.2013, 13:20
    Статус:
    Сообщений: 666
    Регистрация: 23.06.2013
    Польша  Kvаnt
    Пятница, 18.10.2013, 15:30 | Сообщение # 9411
    Статус:
    Новичок:
    Сообщений: 289
    Награды: 3
    Регистрация: 08.09.2013

    Помогите, поставил АК74 новый, но при выстреле вылет...
    Вот лог!
      Злобная реклама
    Пятница, 18.10.2013, 15:30
    Статус:
    Сообщений: 666
    Регистрация: 08.09.2013
    Португалия  mwesten1
    Пятница, 18.10.2013, 15:35 | Сообщение # 9412
    Статус:
    Новичок:
    Сообщений: 326
    Награды: 1
    Регистрация: 01.09.2012

    так понятно же. партиклов выстрела нету
    то есть нету партикла вылета патронов вроде
    Сообщение отредактировал mwesten1 - Пятница, 18.10.2013, 15:36
      Злобная реклама
    Пятница, 18.10.2013, 15:35
    Статус:
    Сообщений: 666
    Регистрация: 01.09.2012
    Ирландия  Nick_Freedom
    Пятница, 18.10.2013, 15:36 | Сообщение # 9413
    Созидатель
    Статус:
    Бывалый:
    Сообщений: 607
    Награды: 1
    Регистрация: 24.05.2013

    Kvаnt, кинь еще в игру файл particles.xr из мода откуда выдрал оружие
      Злобная реклама
    Пятница, 18.10.2013, 15:36
    Статус:
    Сообщений: 666
    Регистрация: 24.05.2013
    Польша  Kvаnt
    Пятница, 18.10.2013, 15:39 | Сообщение # 9414
    Статус:
    Новичок:
    Сообщений: 289
    Награды: 3
    Регистрация: 08.09.2013

    mwesten1, а они в particles.xr как я понял... а как этот файл распаковать и запаковать?

    Добавлено (18.10.2013, 15:39)
    ---------------------------------------------
    Nick_Freedom, просто если скопирую с другим ак вылет будет!

      Злобная реклама
    Пятница, 18.10.2013, 15:39
    Статус:
    Сообщений: 666
    Регистрация: 08.09.2013
    Португалия  mwesten1
    Пятница, 18.10.2013, 15:40 | Сообщение # 9415
    Статус:
    Новичок:
    Сообщений: 326
    Награды: 1
    Регистрация: 01.09.2012

    мож с конфигами помудровать надо?
      Злобная реклама
    Пятница, 18.10.2013, 15:40
    Статус:
    Сообщений: 666
    Регистрация: 01.09.2012
    Ирландия  Nick_Freedom
    Пятница, 18.10.2013, 15:42 | Сообщение # 9416
    Созидатель
    Статус:
    Бывалый:
    Сообщений: 607
    Награды: 1
    Регистрация: 24.05.2013

    Цитата Kvаnt ()
    Nick_Freedom, просто если скопирую с другим ак вылет будет!

    Не будет никакого вылета.
      Злобная реклама
    Пятница, 18.10.2013, 15:42
    Статус:
    Сообщений: 666
    Регистрация: 24.05.2013
    Российская Федерация  Dorian23Grey
    Пятница, 18.10.2013, 15:43 | Сообщение # 9417
    True Zone Projects© Team
    Статус:
    Опытный:
    Сообщений: 1767
    Награды: 4
    Регистрация: 28.05.2012

    Kvаnt, просто в конфиге нововставленного оружия замени несуществующие партиклы на дефолтные, от ванильного АК, и будет тебе счастье.
    Сообщение отредактировал Dorian23Grey - Пятница, 18.10.2013, 15:43
      Злобная реклама
    Пятница, 18.10.2013, 15:43
    Статус:
    Сообщений: 666
    Регистрация: 28.05.2012
    Ирландия  Nick_Freedom
    Пятница, 18.10.2013, 15:43 | Сообщение # 9418
    Созидатель
    Статус:
    Бывалый:
    Сообщений: 607
    Награды: 1
    Регистрация: 24.05.2013

    Я слово не сказал про АК wacko Я говорю скопируй оттуда файл particles.xr!!!
      Злобная реклама
    Пятница, 18.10.2013, 15:43
    Статус:
    Сообщений: 666
    Регистрация: 24.05.2013
    Польша  Kvаnt
    Пятница, 18.10.2013, 15:43 | Сообщение # 9419
    Статус:
    Новичок:
    Сообщений: 289
    Награды: 3
    Регистрация: 08.09.2013

    del
    Сообщение отредактировал Kvаnt - Пятница, 18.10.2013, 15:44
      Злобная реклама
    Пятница, 18.10.2013, 15:43
    Статус:
    Сообщений: 666
    Регистрация: 08.09.2013
    Российская Федерация  Dorian23Grey
    Пятница, 18.10.2013, 16:14 | Сообщение # 9420
    True Zone Projects© Team
    Статус:
    Опытный:
    Сообщений: 1767
    Награды: 4
    Регистрация: 28.05.2012

    timaxa007,

    Цитата timaxa007 ()
    function main_menu:InitCallBacks()
    ...
       self:AddCallback("btn_new_btn",  ui_events.BUTTON_CLICKED, self.OnNewButton, self)
    end

    function main_menu:OnNewButton()
       My_MOD.act_fun()
    end

    Цитата timaxa007 ()
    function main_menu:OnKeyboard(dik, keyboard_action)
    ...
    if dik == DIK_keys.DIK_W then
       My_MOD.act_fun()
    end


    - Спасибо! Это как раз те примеры, которые мне и нужны были! Все работает)))

    Добавлено (18.10.2013, 16:14)
    ---------------------------------------------
    Еще вопросик... в Арме есть такая команда, как "sleep" - позволяет отсрочить использование дальнейшей части скрипта на энное кол-во секунд. Например:

    Kill NPC1;
    sleep 60;
    Kill NPC2;

    - Т.е. после убийства первого нпс ожидается 60 секунд, и только после этого умирает второй.

    Вопрос: как в Сталкере сделать аналогичное ожидание посреди скрипта?

      Злобная реклама
    Пятница, 18.10.2013, 16:14
    Статус:
    Сообщений: 666
    Регистрация: 28.05.2012
    Поиск: