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

Вис691

Управление проектами
  • Публикаций

    1 539
  • Пожертвование

    0,00 ₽ 
  • Зарегистрирован

  • Посещение

  • Победитель дней

    67

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


  1.  

     

    А в чем разница между SFW и SFW RA?

    Если прямо совсем кратко, то

    SFW - это просто объединение F3 и F:NV

    RA - набор модулей разного направления. Отдельный модуль представляет из себя сборку модов, объединённых так, чтобы они не конфликтовали друг с другом.

    • Нравится 1

  2. Ну для начала неплохо бы подойти к ненавистным ромбам и ткнуть на них мышью в консоле. Сверху будет показан ID, по первым 2ум цифрам которого можно будет определить проблемный модуль/мод. Ну а дальше уже будем разбираться. 

    • Нравится 1

  3. А, то есть, ты этим себе пропитание добываешь?

    Нет, пока только учусь. Просто если всё сдать и не попасть на пересдачи, то ты получаешь свои заслуженные каникулы в феврале. На стипендию, к сожалению, в наше время прожить нереально.


  4. Если не сработает, то напишу через ЖИП. Но только не раньше, чем завтра (а мб и вообще на выходных). Больно загружена у меня зачётная неделя, а скрипты с массивами за 5 минут не пишутся.

    • Нравится 1

  5. Говоря совсем просто, каждое нажатие на "ОК" было для скрипта аналогично нажатию "Попытаться починить дроида", т.к. индексы этих кнопок равны (и равны 0, как видно по твоему скрину).


  6. А, ну тут всё понятно. Опять смотрим сюда: http://geck.bethsoft.com/index.php?title=GetButtonPressed

    Читаем

     

     

    The first time this is called after a ShowMessage button has been pressed, it returns the index of the button that was pressed, starting at zero. At all other times it returns -1.

    Теперь смотрим на скрипт. Что у нас происходит? Проверка на buttonVar, хорошо. Первый раз мы что-то нажали, сигнал прошёл (переменная стала = 0), выскочил следующий мессадж. Мы жмём окей, игра закрывает окно сообщения, т.е. выходим из менюшек (под менюшками я понимаю пип-бой, контейнеры, мессаджи и т.д.). Получается мы вновь в блоке GameMode. Что происходит теперь? Скрипт вновь упирается в set buttonVar to GetButtonPressed. Что последний раз было нажато? "ОК" из второго мессаджа. Так, и каков же индекс у этой кнопки? Если посмотреть на структуру кнопок в любом мессаге, видно что кнопки нумеруются с 0. Т.е. наш buttonVar вновь равен 0. Ну а там вновь вызывается сообщение и так до бесконечности. Вот тебе и проблема.
    Как решить? Ну, несложно догадаться вновь заглянуть на Вики и признать полезность переменной awaitingInput. Если сделать по подобию, то всё сработает. Грубо говоря, добавляешь проверку в самом начале блока и в нужное место (после вызова нового мессаджа, например) пихаешь Let awaitingInput := 0 (ну или через set, как тебе больше нравится).

     

    UPD: твой вариант тоже имеет место быть, но это тот ещё костыль)


  7.  

     

    Я так понимаю, остальные блоки уже работают с фолловером, которого пока нет.
     

    Остальные блоки работают в дебаг режиме. Не знаю, только для разрабов мода он или нет, но это не важно.

    Не за что. На самом деле, нам крупно повезло, что просто массив не существует. Я думал тут что-то серьёзнее.

    • Нравится 1

  8. Цикл под этой строкой (с дампом) замени на 

    If iArraySize != -1
      foreach arrEntry <- arrActiveTeammates
        let rActor := arrEntry["value"]
        if eval !(rActor)
          continue
        endif
        if eval GetType rActor == 0
          continue
        endif
        if eval !(rActor.IsActor)
          continue
        endif
        let iIndex := Ar_Find rActor alxUDCompanions.arrActiveCompanions
        if eval iIndex != Ar_BadNumericIndex
          Ar_Erase alxUDCompanions.arrActiveCompanions iIndex
        endif
        let iIndex := Ar_Find rActor alxUDCompanions.arrFormerCompanions
        if eval iIndex != Ar_BadNumericIndex
          Ar_Erase alxUDCompanions.arrFormerCompanions iIndex
        endif
      loop
    Endif
    

    Сейчас бы пытаться идти по массиву, которого не существует  :facepalm:

    • Нравится 1

  9. Ох, тут будет очень сложно что-то исправить сходу. Проблема в массиве(ах), вопрос только в каком(их). Перед каждой строкой "foreach arrEntry <- ..." добавь строку print "1" (2, 3 и т.д.). Посмотрим, какой массив ломается.

    • Нравится 1

×
×
  • Создать...