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

Полтергейст

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

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

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

  • AMKoin

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

Весь контент пользователя Полтергейст

  1. Gonarh Я хотел вставить это дело в amk_anoms, чтобы при спавне параметры записывались сразу (там и так статус пишется). Не похоже. Тогда нельзя было бы щёлкнуть на "одеть костюм", т.к. этот пункт меню есть только у костюмов.
  2. Как с помощью net_packet() поставить "restrictor_type = 2" для всех аномалий?
  3. Похоже это глюки скрипта move_mgr. Вот только не пойму, почему глюки из-за walker, а не camper - там схемы той строк 10. Будем разбираться
  4. Так и не понял, что там с названиями. С чего и на что они менялись? Если оно из gulag_tasks взято, то обязательно надо добавлять к нему имя смарта, иначе вылет будет.
  5. Не всегда так. К примеру, в схеме xr_patrol (работы patrol и raid) по одному пути ходят несколько npc. И вылетов от это нет. И вообще, непонятно, зачем для walker делать такой запрет - ну ходят двое по одному пути, ну и что?
  6. В вашем случае только по story_id: local stobj =alife():story_object(story_id_монстра) if stobj then if stobj:alive() then --' Действия, если монстр жив else --' ... если мёртв end end
  7. А что тут думать, в xr_motivator в hit_callback проверяем "who" по clsid. Если это аномалия - мочим npc. Кстати, как сделать, чтобы аномалии реагировали на пули? Или чтобы пули сами отклонялись от первоначального направления. С ракетой от гранатомёта такой трюк проходит, особенно если сначала потревожить аномалию, а потом стрельнуть сквозь неё. А вот с пулями как?
  8. Сегодня обнаружил, что для классов зверюшек и людей нельзя создавать переменную с именем m_smart_terrain_id. Помнится, когда-то я писал про "потерю из вида" движком методов класса se_smart_terrain. Сегодня я снова столкнулся с этой проблемой, но на этот раз разобрался. Оказывается, в классе cse_alife_monster_base есть поле m_smart_terrain_id, но оно не экспортировано. И так получилось, что во время своих эксперементов я создал в классе se_stalker поле с таким же именем. После этого игра не загружалась - вылетала с руганью на отсутствие того или иного метода класса se_smart_terrain. Как только я поменял имя этой переменной на другое - эти вылеты сразу исчезли, всё заработало.
  9. Можно сделать, чтобы его отношение изменилось при ближайшем переходе в онлайн - в его биндере сделать строку с условиями и результатами их выполнения (которая condlist). Но смысла нет - из оффлайна он игрока всё равно не подстрелит. В крайнем случае, в оффлайне можно сделать примерно то же самое, только перегрузить функцию community() в se_stalker и подставлять ей принудительные значения. Не знаю правда, как это понравится движку. Можно через net_packet'ы, в amk.script есть соотв. функции. Вообще непонятно, зачем разрабы сделали такие параметры, как health, community и т.п. в виде функций - проще же сделать в виде переменной, и менять её удобнее. Это бывает, когда для какого-то npc не создана таблица db.storage. Бороться с этим бесполезно, надо искать изменения, повлёкшие эти последствия.
  10. Экспортируйте ключ HKLM\System\CurrentControlSet\Services в reg-файл, выложите на какой-нибудь файлообменник и оставьте здесь ссылку.
  11. Вот это я не совсем понял. Я ведь удалил все эти поля (job_online*, was_in_smart_terrain), они не записываются (см. функцию STATE_write). Естественно, я начинаю новую игру, а не гружу сохранения. Переменные те же, потому что АМК мод.
  12. Уже нашёл кучу объектов с одинаковыми именами, например, тот же clmbl#0 есть на нескольких локациях. Походу это ляп разрабов. Кое-где так спешили, что забыли заменить level_prefix тем, чем надо.
  13. Кто-нибудь знает, почему в se_stalker при таком составлении функций значение self.wounded всегда считывается как true?
  14. Вопросик насчёт all.spawn: какие будут последствия, если у двух объектов одинаковое имя?
  15. В предлагаемом автором вопроса скрипте был перебор именно онлайновых объектов, так что именно это и нужно. В se_stalker и se_monster в функцию on_unregister добавить db.creatures[self.id] = nil должно помочь. На чистой игре, где нет этой таблицы (только сейчас об этом узнал O_o) нужно добавить в db вот это: creatures = {} --' Это в самом начале, перед всеми функциями function add_obj(obj) if obj then creatures[obj:id()] = obj end end function del_obj( obj ) if obj then storage [obj:id()] = nil creatures[obj:id()] = nil end end И в bind_monster и xr_motivator в функции net_spawn после вот этого if not object_binder.net_spawn(self, sobject) then return false end добавить такую строку: db.add_obj(self.object) В net_destroy в самом начале добавить db.del_obj(self.object) После этого перебор таблицы должен заработать.
  16. Полтергейст

    AI вертолетов

    Всё, разобрался. Не совсем. У меня (вроде бы у в оригинале тоже, точно не помню) функция IsMonster для ворон возвращает true. А в скриптах мода прописано, что если IsMonster, то враг. Надо бы сделать для них исключение. Со вторым вопросом сам немного накосячил, да и разрабы тоже... У них стартовая точка вертолётов находится ниже уровня земли, а без выдачи одного из инфопоршней они у меня просто не поднимались и летели "под землёй". Уже поправил.
  17. Пустая трата времени. Есть же таблица db.creatures, её и перебирайте: for id, npc in pairs(db.creatures) do if IsStalker(npc) then ... end end Правда есть одно но! Данная таблица есть в АМК, но ее нет в чистом 1.004. Куфзук
  18. Люди, кому-нибудь удавалось реализовать squad'ы на ТЧ как в ЗП?
  19. А ничего, что all.ltx должен быть в той же папке, что и компилятор? Путь-то не указан... И ещё: советую всегда в начале батников писать @echo off, это избавит от лишней информации в окне командной строки. Не обязательно, нужно всего лишь батник положить в папку с all.spawn, а в нем указать путь до acdc.pl. Куфзук
  20. Тогда посмотрите в se_stalker функцию on_death
  21. Полтергейст

    Разговоры о модах

    Проблема в том, что идеи для правок (что и как исправить) у меня есть, но проверять работу этих правок очень долго. Из готовенького есть пока только amk_offline_alife переделанный, взят от NLC 5. Думаю, под чистый AMK тоже пойдёт. Насчёт остального пока чисто теоретические планы - доработать smart_terrain'ы, полностью переделать выдачу тайников, переделать некоторые схемы, доделать перенесённые из ЗП навороты и т.д. Жалко, что на форуме нет темы, где всё это можно было бы подробно описать, чтобы кто-нибудь мог проверить такое у себя... Тема про "выкладывание своих правок" не подойдёт, поскольку всё это ещё не тестировалось...
  22. Звуковые файлы потерялись
  23. Министр Было как-то, на мосту вынесли военных, двое раненых за вагоном лежат. Двое сталкеров заняли смарт (там у меня прописаны работы guard, схема xr_camper), раненых не добивали. При попытке поговорить с ними орут, что "тут стреляют, после поговорим". На свалке проверял только что. Группа бандитов стоит напротив группы сталкеров и смотрят друг на друга. Стоят не близко, но если бы они были не под схемой, то уже перебили бы друг друга. Так в ТЧ её вообще не было. Была схема xr_camper, она вроде бы действительно не улучшалась. А схема xr_combat_camper появилась только в ЗП (может в ЧН, там не проверял) Похоже, единственное решение - перевести работу guard на схему walker или patrol, что там больше подойдёт. Сейчас пробовать буду. Dennis_Chikin Гляньте в xr_death.script
  24. Заметил баг в схеме xr_camper, а именно - расстояние реакции на опасность маловато. Меньше, чем без схемы. К тому же, NPC не реагирует на раненых, находящихся вне поля зрения - не может подойти и пристрелить, но и разговаривать не хочет. Кто-нибудь знает, как это сделать? А то придётся вообще всю схему переделывать. Ещё нашёл глупый баг в all.spawn на уровне "Подземелья Агропрома". Там в customdata ящиков вместо def_box стоит def_bpx в нескольких местах. P.S. попробовал перенести xr_combat_camper из ЗП, после этого NPC (включая зомби) стали заметно умнее Причём скрипт нигде не надо прописывать, он уже прописан - просто перекинуть файл.
  25. Если в логах %s не заменяется на строку, значит либо что-то не так с функцией вывода в лог, либо это значение, которое должно заменить %s, равно nil. В аргументах желательно писать tostring, если это число или что-то ещё. Например, у меня есть такой "специальный вылет": Вот это "Very big problems with stalker %s" выводится в лог, но %s успешно заменяется на id объекта.
×
×
  • Создать...