Перейти к содержанию

Yura001

Сталкеры
  • Публикаций

    39
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Yura001


  1. denis2000 

    Цитата

    Если вы запустите эту функцию в интервале времени с 15:00 до 15:59, то функция остановит игровое время

    Теперь понятно, проблему решил исправить написанием цикла, который должен проводить проверку,

    Спойлер

    function t_zakat(first_speaker, second_speaker)
        level.set_time_factor (396)
        local a = 1
        while a == 1 do
            if level.get_time_hours() == 15 then
                a = 0
                level.set_time_factor (10)
            end
        end
    end

    но происходит вылет без лога(файл абсолютно пустой)


  2. Здравствуйте, написал такую функцию, чтобы после ускорения, по достижении 15 часов время останавливалось

    Спойлер

    function t_zakat(first_speaker, second_speaker)
        level.set_time_factor (396)
        if level.get_time_hours() == 15 then
            level.set_time_factor (0)
        end
    end

    Время ускоряется, но по достижении 15 часов время не останавливается


  3. makdm Здравствуйте, я воспользовался вашим советом и смог настроить рестриктор. Но есть проблема, по какой-то причине функция выполняется через раз. Иногда после интро функция запускается, иногда нет. Вот логика рестриктора:

    Спойлер

    [logic]
    active = sr_idle@wait

    [sr_idle@wait]
    on_info  = {=actor_on_level(l01) !black_screen} sr_idle@wait_1 %=game_start_gui%

    [sr_idle@wait_1]

     


  4. Создал GUI, вызываю его после интро с помощью вот такого рестриктора:

    Спойлер

    [logic]
    active = sr_idle@wait

    [sr_idle@wait]
    on_info  = {=actor_on_level(l01) !black_screen} sr_idle@wait_1 %=game_start_gui%

    [sr_idle@wait_1]

    Всё работает, если не пропускать интро, если же его пропускать, то запускается через раз. Как решить эту проблему?


  5. Overf1rst Не очень понял, что вы имели ввиду. У меня есть функция по отрисовке GUI, которую мне надо вызвать в начале игры. Мне сказали, что это можно сделать через restrictor. Но судя по вашему сообщению так сделать нельзя, потому что я принимаю объект. Или надо перенести функцию в xr_effects.script?


  6. makdm Создал рестриктор с такой custom data: 

    Спойлер

    [logic]
    cfg = scripts\l01\restrictor.ltx

    Содержание файла restrictor.ltx:

    Спойлер

    [logic]
    active = sr_idle@wait

    [sr_idle@wait]
    on_info  = {=actor_on_level(l01) !black_screen} sr_idle@wait_1 %=run_gui(ui_l01.ui_l01())%

    [sr_idle@wait_1]

    Происходит вылет, судя по логу он ругается на метод showDialog(), который я использую в функции, НО функция рабочая, потому что при вызове её на фразе в диалоге, GUI появляется и работает.

    Спойлер

    function run_gui(gui, close_inv)
       if close_inv == true then
          gui:ShowDialog(true)
          game_hide_menu()
          level.show_weapon(false)
       else gui:ShowDialog(true)
       end
    end

     


  7. vader_33 Получается я регистрирую кнопку вот этой строчкой: self:Register (ctrl, "button_open"), а потом в другой кнопке пишу так: 

    function ui_l01:OnButton_close_clicked()
        button_open:Show(false)
    end ? Просто всё ещё выдаёт ошибку


  8. vader_33 image.thumb.png.0df7cbe83235b64d21e37939532cf7f2.png

    Я написал вот такие функции, чтобы первая кнопка после нажатия скрывалась, а вторая после нажатия закрывала GUI. Но первая кнопка вообще не видна, а если поменять местами функции и нажать на кнопку, то происходит вылет по причине attempt to index global 'w'


  9. vader_33 Спасибо, я это спрашивал, потому что пытаюсь закостылить одну задачу. Вы, как я понял, разбираетесь в интерфейсе, поэтому напишу вам вопрос. Мне надо сделать 2Д картинку за интерфейсом диалога. Вот в таком ключе, как на картинке(фон это 2Д изображение). Я просто костылю через бекграунд и кнопки, но это не очень удобно

     

    • Хабар 1

  10. Здравствуйте, как можно ускорять внутриигровое время по функции? Насколько я понимаю за скорость течения времени отвечает переменная time_factor из alife.ltx, но её надо менять до запуска игры, а мне надо менять скорость течения времени в самой игре после нажатия фразы в диалоге


  11. liner 

    23 часа назад, liner сказал:

    xr_sound.set_sound_play(actor:id(), секция звука в script_sounds.ltx или путь к звуку)

    Если прописать путь к звуку без кавычек, то перестают работать остальные скрипты в файле(ну не правильный синтаксис, как я понимаю). Если с кавычками, то просто звук не проигрывается. Может ли быть проблема в том, что я работаю в СДК на новой локации? Путь если что выглядит вот так: sounds\music\credits.ogg


  12. Здравствуйте, надо, чтобы после нажатия на фразу в диалоге начинал играть звук. Написал вот такую функцию:

    function music_on(actor, npc)
        xr_effects.play_snd(db.actor,nil,{[1]="sounds\music\credits.ogg"})
    end

    Вызываю её в action у нужной фразы, но звук не проигрывается