Перейти к контенту

Скриптование


Svoboда

Рекомендуемые сообщения

3 часа назад, Norman Eisenherz сказал:

о старой версии мода "Худ рук"

Там, емнип, была целая куча худовых моделей оружия: на каждую пушку под каждый костюм, и столько же секций оружия: на каждый худ по секции. И, в зависимости от одетой брони, в руки спавнилось оружие с нужным худом.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@UriZzz, это в нет-пакете, поле object_flags.

 

local obj = alife():create(...)

local data = netpk:get(obj)

data.object_flags = bit_and(data.object_flags, bit_not(128))

netpk:set(obj, data)

Изменено пользователем naxac
добавил пример
  • Спасибо 1
  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение
14 часов назад, UriZzz сказал:

это не Артосовский ли модуль нэт пакетов юзается

Нет, у меня свой, но принцип работы тот же.

  • Спасибо 1
  • Нравится 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение
13 часов назад, Norman Eisenherz сказал:

Строки

        local inv = level.main_input_receiver()
        inv:AttachChild(w)

никакого эффекта не дают.

Сделай ещё w:Show(true)

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@UriZzz, функция эта вызывается для принудительного краша игры, и она должна выводить в лог сообщение об ошибке до вылета: смотри выше сообщения с "фатал эррором". 

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@UriZzz, всё верно, именно эта строка и крашит игру после вывода сообщения об ошибке. Сама ошибка указана выше верхней строки с тильдами, тут ее не видно.

  • Спасибо 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@Space.Marine, вот здесь:

local ph_element = ph_shell:get_element_by_bone_name(bone_name)
if ph_element:is_fixed() then
  --get_console():execute("ART_FIXED")
else
  --get_console():execute("FIXING_OBJECT")
  ph_element:fix()
end

добавь проверку, вот так:

local ph_element = ph_shell:get_element_by_bone_name(bone_name)
if ph_element and not ph_element:is_fixed() then
  ph_element:fix()
end
Изменено пользователем naxac
  • Спасибо 1
  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@Norman Eisenherz, в движке у CUIStatic есть метод AdjustHeightToText - он как раз подгоняет высоту статика по высоте текста. Также этот метод "вытащен" в скрипты в X-Ray Extensions.

  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@Graff46, этот вопрос скорее по движку, а не по скриптам.

Изменено пользователем naxac
  • Согласен 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@Norman Eisenherz, зачем ida? Открывай обычным блокнотом или любым другим текстовым редактором. *.cpp и *.h - обычные текстовые файлы. Экспорт функций и классов с их методами, как правило, находится в файлах, в имени которых есть script.

Изменено пользователем naxac

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@Norman Eisenherz, потому что при регистрации коллбэка ссылка на окно остаётся в движке.

@phalcor, population - общее количество неписей в гулаге; comed - количество неписей в гулаге, которые пришли на место работы и начали выполнять свою работу; state - текущее состояние гулага, задаётся соответствущими функциями в скриптe гулага (файлы gulag_*.script).

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@phalcor, это тебе надо брать твой смарт и смотреть в скрипте, по каким условиям он переключается в состояние 0. Вот пример для гулага pri_ambush7 (gulag_pripyat.script):

-- States ----------------------------------------------------------------
gulags.pri_ambush7.state = function(gulag)
    if has_alife_info("pri_wave7_start") then
        return 1
    else
        return 0
    end
end

Тут при наличии инфопорции "pri_wave7_start" он переключается в состояние 1, иначе - в состояние 0.

  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение
4 часа назад, UriZzz сказал:

можно ли таким образом отслеживать дисэйбл этого инфопоршня?

Нет.

  • Сочувствую 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение
6 часов назад, AndreySol сказал:

слепить скриптовые костыли, типа мониторинга на апдейте кол-ва файлов

Лучше тогда при сохранении (вызове метода save биндера того же актёра) - сделать небольшой таймаут и получить самый новый файл из папки сохранений, его и переименовывать. 

  • Согласен 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@Norman Eisenherz

 

function func()
  local lvl = level.name()
  local pos = db.actor:position()
  local n = 1
  local name, obj
  while true do
    name = string.format( "%s_vibros_%s", lvl, n )
    obj = db.zone_by_name [ name ]
    if obj then
      if obj:inside( pos ) then
        return true
      end
    else
      return false
    end
    n = n + 1
  end
end

Это если имена с нумерацией от 1 и по возрастанию. Если вразброс, то придётся всю zone_by_name перебирать в поисках нужных рестрикторов.

Изменено пользователем naxac
  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...