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

phalcor

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

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

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

  • AMKoin

    4,700 [Подарить AMKoin]

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

56

О phalcor

  • День рождения 13.05.1982

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

Блок недавних посетителей отключен и не доступен другим пользователям для просмотра.

  1. phalcor

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

    Приветствую! Подскажите пожалуйста способ, как грамотно убить нпц/монстра в ОФФЛАЙНЕ? Так, чтобы движок правильно это всё обработал - записал game_death_time и т.д. (Простое присваивание health = 0 убивает, но та же game_death_time в серверный объект не записывается. Подозреваю, что есть и другие недостатки).
  2. phalcor

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

    В памяти игры время Ctime хранится в виде одного 64-битного ЦЕЛОГО чила, означающего количество миллисекунд, прошедших с 1-01-0001 00:00. У тебя 69 год наводит на мысль о том, что diffsec использует формать 4-х байтового float, где максимум = 2147483647 сек, что как раз и есть 69 лет. Может чем-то поможет.
  3. phalcor

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

    Нашёл-таки причину. Кому интересно:
  4. phalcor

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

    Приветствую! Непонятный затык какой-то... Заметил, что давно нет респавна убитым монстрам/сталкерам. По времени уже несколько раз должны были сработать респавны. Кордон почти пуст третьи сутки. И если ранее при ручном спавне тестового сталкера он тут же переходил под управление какого-нибудь гулага, то теперь сколько не спавню - они все ходят-бродят кругами, не будучи подхваченные гулагами. Понятно, что мутновато описал проблему, но вдруг кто-то стилкивался с подобным и знает решение? p.s. А где интересно сам механизм захвата заспавненного сталкера под гулаг - в скриптах или же в движке? UPD: такс, нашёл, гулаг объекту назначается в частности в скрипте se_respawn вызовом obj:brain():update(), и далее проверка - нет гулага, объект удаляется. Вот потому у мну и пустыня... Вопрос, что мешает этому brain():update() назначить сталкерам гулаг?!! По условиям тех же гулагов (capacity и т.д.) всё норм.
  5. phalcor

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

    В lua_help ничего нет, в искходниках (от версии 2.1) - тоже нет. (под "нет" я подразумеваю "не нашёл"). Потому и вопрошаю про нет-пакеты. Однако же подозреваю, что и это не поможет Авторы не делятся такими священными данными
  6. phalcor

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

    Да, понятно. Но у меня обычный двиг. Тут, наверное, только net_packet подойдёт, да и то... знать бы, как?
  7. phalcor

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

    Увы... attempt to perform arithmetic on field 'alcohol' (a nil value)
  8. phalcor

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

    Приветы! Подскажите, как можно определить опьянение актора? Скриптовой функции, я так понял, нет. Может, как-то через нет-пакет это число добывается? Платформа: ОП 2.2 Добра.
  9. Привет, друзья! Может кто-то из посвящённых в сию тайну сказать, зачем в квесте "Бритва Волка" происходит переспавн Петрухи? Т.е. при приближении к нему он исчезает, и появляется новый, визуально такой же, но уже без бинокля и проданного ему автомата. В чём смысл такой пертурбации? Удачного дня, и спасибо за ответ!
  10. phalcor

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

    Самое интересное, что в том же generic_physics_binder:hit_callback(obj, amount, local_direction, who, bone_index) прекрасно работает who:id(), и тогда я сделал там сохранение своей глобальной переменной kto_ubil = who, чтобы потом в death_callback её читать, но тут снова затык: если hit убивает ящик, то нет вызова hit_callback, а сразу - death_callback Ладно, будем искать...
  11. phalcor

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

    Доброго дня! Есть оригинальный каллбэк на смерть физических объектов (ящиков и т.п.): function generic_physics_binder:death_callback(victim, who) Хочу идентифицировать, КТО "убил" ящик, но who:id(), who.id, who:section(), who:section_name() и т.д. вызывают вылет - нет такого метода. Подскажите, кто знает, как же можно идентифицировать who?
  12. phalcor

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

    У меня от ОП 2.2, там есть, и работает. Не соображу, как именно это провернуть с клиентским объектом? Если можно, поясни в двух словах. p.s. Я пока пытаюсь схитрить - увожу нпц в оффлайн, меняю имя и снова вывожу в онлайн, но что-то не все хотят уходить в оффлайн, при том, что sobj.can_switch_offline = true. Видимо, есть ещё какой-то ограничитель.
  13. phalcor

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

    Добрый день. Как у нпц поменять имя? Для серверного объекта способ нашёл: local sobj = alife():object( id ) local pk = m_netpk.get(sobj, 1) local data = pk:get() local name = data.checked_characters --ВОТ ТУТ МЕНЯЕМ data.checked_characters = "Джек Потрошитель" pk:set(data) А как тоже самое сделать для клиентского объекта?
  14. phalcor

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

    Всем привет! Есть вроде бы простой вопрос: как снять биндер с объекта? Чуть подробнее: сделал свой биндер для объекта, запускаю: function init(obj) local new_binder = bolt_binder(obj) obj:bind_object(new_binder) end При нужных мне обстоятельствах я хочу "отменить" биндер для данного конкретного объекта, делаю это так: function bolt_binder:net_spawn(data) --тут разная обработка объекта self.object:bind_object(nil) --удаляем биндер --ВСЁ ЧТО ДАЛЕЕ, УЖЕ НЕ ИСПОЛНЯЕТСЯ ПО ПРИЧИНЕ АННИГИЛЯЦИИ :) if not object_binder.net_spawn(self, data) then return false end return true end Но есть основания полагать, что снимать биндер с объекта так: self.object:bind_object(nil) - это не корректно. Как же правильно?
  15. Вроде подразобрался. Координаты стрелочки указываются в gamedata\config\ui\map_spots.xml, в тегах quest_pointer и/или combat_pointer, там же указывается текстура, это ui\ui_hud. Вот там то, в gamedata\skins_ui\huds\stalker_shoc\textures\ui\ui_hud.dds я сам и дорисовал эту стрелочку. Вот мой файл: https://drive.google.com/file/d/11aviJ1xZlBgaIJQS25oaVtB3LS6Bj6Y4/view?usp=sharing Найти бы теперь способ вернуть выбор активного задания...

AMK-Team.ru

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