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

makdm

Проверенные
  • Число публикаций

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

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

  • AMKoin

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

Баланс оценок

37

Недавние посетители профиля

2 009 просмотров профиля
  1. В спавне нужно к имени пути добавить имя смарта.
  2. makdm

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

    Биндер в файле xr_motivator.script обрабатывает только онлайновые объекты. При смерти НПС, который находится оффлайн, метод death_callback не вызывается и соответственно не вызывается метод create_release_item класса drop_manager. Соответственно применить метод character_community() к серверному классу объекта просто не получится ( так как его смерть не обрабатывается скриптом ). По идее NIL не должен быть никогда, если только вы сами не передали nil, как аргумент в функцию.
  3. Это я зачем написал? Но вы ведь это не видите. А видите только то, что хотите видеть. В любом случае вы меня не убедили. Я применяю все доступные способы( в том числе и перепаковку нет-пакета ) и методы спавна объектов, в зависимости от поставленной задачи на игровом поле. Вы же пытаетесь доказать что, только через скрипт с перепаковкой нет-пакета и никак по другому. Удачи в модинге!
  4. И что ну-ну. Поучитесь аргументированно доказывать вашу правоту. Я вам про спавн без перепаковки нет пакета талдычу, а вы упорно лезете в нет пакет. И ещё приводите это как весомый аргумент. А теперь посмотрите на всю "портянку", связанную с перепаковкой. Вот зачем она, если я могу любую секцию из all.spawn проспавнить скриптом без перепаковки?
  5. Это смотря что. Если спавн требует перепаковки нет-пакета ( аномалии, вертолёты, рестрикторы те же лестницы), то лучше это делать через all.spawn с меткой spawn_story_id. Есть ещё куча моментов. Попробуйте во время игры проспавнить на крыше рюкзак с хабаром. Его там не будет, потому что скрипт его тут же привяжет к АИ сетке и ваш рюкзак будет валяться внутри помещения, а не на крыше. Или проспавните объект скриптом с различными углами поворота вокруг всех трёх осей. Ну-ну. Так что нужен разумный подход в зависимости от той задачи, которую вы решаете.
  6. Ну не знаю как у вас, а у меня скрипт спавна вертушки по метке spawn_story_id выглядит так: function spawn_ids_objects( actor, npc, p ) if p then local ini = ini_file( "game_spawn_story_ids.ltx" ) for k,v in pairs( p ) do local spawn_story = ini:r_string( "spawn_story_ids" , v ) local section_number = alife():spawn_id( tonumber( spawn_story ) ) alife():create( section_number ) end end end А теперь посмотрите на свою "портянку" под спойлером и ещё раз всем расскажите про 3 гига.
  7. Делается всё проще. Через sdk или ac\dc ставим объект вертолёт с меткой spawn_story_id. При старте игры объект удаляем. А в нужное время спавним по этой метке прямо из all.spawn Никакие перепаковки пакетов не нужны.
  8. @tatarinrafa, работой детектора управляет движок сталкера. В конфигах можно прописать, что конкретно "видит" детектор.
  9. makdm

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

    Бтр поддерживает spawner Что мешает через SDK или acdc поставить БТР на локации, прописать ему логику, и в нужный момент игры по условию перевести его в он-лайн?
  10. @zSCORPz, значит НПС находится в рестрикторе, в котором запрещено включение фонаря. Логика sr_light
  11. Каких границ? Полтергейстам пишешь логику mob_home На точку path_home ставишь OUT рестриктор. В логике прописываешь out_restr = имя_рестриктора И никуда он за радиус рестриктора не улетит.
  12. makdm

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

    Так попробуй: function check_barret() local rifle_in_slot=db.actor:item_in_slot(2) if rifle_in_slot and rifle_in_slot:section() == "wpn_vintorez" then db.actor:give_info_portion("barret_on") news_manager.send_tip(db.actor, "%c[25,240,25,25]wpn_vintorez ON", nil, nil, 20000) else db.actor:disable_info_portion("barret_on") news_manager.send_tip(db.actor, "%c[25,240,25,25]wpn_vintorez OFF", nil, nil, 20000) end end
  13. @AndrewMor, я хоть и не работаю на ТЧ, но респавнер я бы сделал немного по другому. Я бы спавнил прямо секцию из all.spawn. Для этого в секции полтергейста я бы добавил после END метку секции, например так: [logic] cfg = scripts\logic\zaton\poltergeist9.ltx END spawn_story_id = 8 В файле game_spawn_story_ids.ltx прописал бы: [spawn_story_ids] zaton_poltergeist_09 = 8 Вызов респавна: spawn_ids_object( "zaton_poltergeist_09" ) Функция: function spawn_ids_object( name_object ) local ini = ini_file( "game_spawn_story_ids.ltx" ) local spawn_story = ini:r_string( "spawn_story_ids" , name_object ) local section_number = alife():spawn_id( tonumber( spawn_story ) ) alife():create( section_number ) end Никаких перепаковок пакета с помощью функций АМК не нужно.
  14. Использовать нужно схему remark Сначала анимация - целится в заложника. Выдача поршня - переключение анимации на стреляет в заложника. Конец анимации - переход в walker
  15. makdm

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

    ID того, кто "шлёпнул" НПС хранится в его же нет-пакете. Всегда можно прочитать пакет НПС-трупа и получить ID киллера. Единственное неудобство - это нужно заранее позаботиться о получении серверного класса объекта НПС-трупа удобным для скриптёра способом. Как-то так.
×
×
  • Создать...