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

Shredder

Опытные
  • Число публикаций

    375
  • Регистрация

  • Последнее посещение

  • Дней в топе

    1
  • AMKoin

    720 [Подарить AMKoin]

Весь контент пользователя Shredder

  1. Все CustomStatic прописываются в ui_custom_msgs.xml
  2. Shredder

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

    Я универсальные таймеры пока не использовал, но вот вопрос, почему не передавать сразу функцию: start_multi_timer(1, my_file.t1, nil, true)
  3. Shredder

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

    m_netpk юзать не пробовал?
  4. Нет такой функции. Есть немного замороченный способ, но он работает. Суть в том, что ты делаешь дроп предмета в 7-ом слоте, затем спавнишь актору какой-нибудь другой броник, когда тот автоматом встаёт в слот, возвращаешь изначальный броник актору, затем уже удаляешь броник, который в слоте.
  5. Хм. Интересно. Это получается открытие дверей в оригинале в движок зашито? Или просто глубоко не копали?
  6. Нет конечно. Всё должно работать и так. Тебе нужно выяснить, почему не работает. Я щас ещё глянул bind_physic_object.script. Дверь не биндется, если у неё нет логики, т.е. нет секции [logic]. Ты прописал логику для двери?
  7. Нет, аи-сетка тут нипричём. Проверяй регистрацию двери в bind_physic_object.script Кроме того, возможно ты изменял xr_motivator.script, где как раз и вызывается открытие/закрытие дверей. Вообщем, добавляй вывод в лог и смотри, чего не так.
  8. А логика тут нипричём. Все двери регистрируются при выходе в онлайн регистрируются в в табличке db.level_doors --скрипт bind_physic_object.script if self.object:section() == "physic_door" then db.level_doors[self.object:id()] = self.object:position() end Потом на апдейте НПС проверяется расстояние до каждой из них, и при необходимости дверь открывается/закрывается. Так что, скорее всего, у тебя секция двери не "physic_door"
  9. Вот так раз. На Скадовске дверь глянь.
  10. Это называется изобретание велосипеда. Тебе же посоветовали использовать сквады. В ЗП все НПС спавнятся через них, в all.spawn нет ни одного НПС изначально. Так что ты можешь начать делать правильно, или и дальше заниматься ерундой.
  11. НПС без логики всё-равно стоять не будут. Я предполагаю, что у тебя сейчас мало граф-поинтов на локации. Но если их будет необходимое кол-во, то твой нпс просто пойдёт гулять. И там уже пофигу, какой direction у него был.
  12. Слышал что-нибудь про схему walker или animpoint?
  13. Что ты ему советуешь. Вон сверху же проблема описана: ! [LUA][ERROR] ERROR: 'Attempt to read a non-existant string field 'targets' in section 'smart_terrain' Т.е. для какого-то смарт террейна не указан параметр targets.
  14. Декомилируешь локацию, открываешь в СДК и смотришь.
  15. Спавни их через сквады.
  16. Если кратко и без проверок: level.object_by_id(get_story_object_id("kolya_mech")):set_npc_position(vector():set(0,0,0))
  17. А ты пример то не посмотрел? odata.condition = data.condition odata.upgrades = data.upgrades odata.custom_data:setTable(data.custom_data:getTable()) Вот тут я новому предмету меняю состояние, переношу апгрейды и custom_data. P.S. установленные апгрейды тоже хранятся в нет-пакете.
  18. Тоже самое, через нет-пакет. Читаешь его у первого предмета, создаёшь второй предмет, пишешь ему нет-пакет первого. Только тут тоже неприятная мелочь. Если предмет спавнить сразу ГГ, то параметры не прочитаются. Поэтому спавнишь его рядом с гг, а как только он выходит в онлайн - переносишь его ГГ. P.S. у меня в моде такое используется, вот фрагмент:
  19. Можно, прочитать нет-пакет одного предмета, а записать другому. Только второй предмет придётся отправить в оффлайн и вернуть в онлайн. Иначе изменения не применяться.
  20. karavan, local novice_soldier_outfit = "novice_soldier_outfit" if current_outfit:section() == novice_soldier_outfit then
  21. ЕМНИП, чтобы предмет сохранился, после создания тайника его нужно отправить оффлайн и вернуть онлайн.
  22. Stalker_AleX333, попробуй так:
  23. Девятки, добавь в bind_monster.script в конце метода generic_object_binder:hit_callback строку smart_monster_parts.main_check(obj, amount, local_direction, who, bone_index), а в конце метода generic_object_binder:death_callback добавь smart_monster_parts.death_spawn(victim)
  24. on_complete = %=любая функция из xr_effects% Если там нужной нет - добавь
×
×
  • Создать...