Случайная подборка модов
«В аду… Псы»
3.6
Thorny Way
3.5
Вариант "Омега"
4.0
Время перемен v3.0
3.6
Время Перемен 2.5
4.0
Золотой обоз. Часть первая
3.5
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  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
    Поиск: