nikita_nz1986 130 Опубликовано 28 Июня 2014 Поделиться Опубликовано 28 Июня 2014 (изменено) @J.A.A., Может function effect_for_jaa(actor, npc) --Может быть любое название функции, пример: function zaza level.add_cam_effector("punch_effector.anm", 999, false, "")local snd_obj = xr_sound.get_safe_sound_object([[actor\pain_3]]) --Может быть любой звук отнасительно папки soundssnd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)end В диалог: <action>Название скрипта.Название функции(effect_for_jaa)</action> Проверял на Space restrictor, вроде работает, на диалоге тоже должно работать. Изменено 1 Июля 2014 пользователем Kirgudu Ссылка на комментарий
J.A.A. 2 Опубликовано 29 Июня 2014 Поделиться Опубликовано 29 Июня 2014 @nikita_nz1986, такую функцию я и сам знаю. Просто кажется немного странным, если прилетает хит, а НПС стоит в анимации "wait". Меня интересует, как скриптово вызвать анимацию punch у НПС. Пишу мод с неповторимым сюжетом. Нужны "модельеры" Заинтересованным писать в ЛС Ссылка на комментарий
FantomICW 678 Опубликовано 29 Июня 2014 Поделиться Опубликовано 29 Июня 2014 @J.A.A., в логике ему пропиши по инфопорции анимку punch в ремарке. P.S. Какая платформа? Ссылка на комментарий
Старлей 88 Опубликовано 29 Июня 2014 Поделиться Опубликовано 29 Июня 2014 Вот такой вопрос: в ТЧ у [actor] class = O_ACTOR, и у [mp_actor] class = O_ACTOR. А вот в ЗП [actor] class = S_ACTOR, а у [mp_actor] class = O_ACTOR. Так вот, может-быть, кто-нибудь знает в чем отличия S_ACTOR от O_ACTOR. И вообще где можно почитать информацию о классах, их регистрации в class_registator.script? Ray Of Hope - кооператив сталкера OldStory Ссылка на комментарий
Zander_driver 10 334 Опубликовано 30 Июня 2014 Поделиться Опубликовано 30 Июня 2014 Подскажите кто знает, существуют ли какие то особенности в поведении объектов при спавне их в инвентарь актора? Почему спрашиваю: Спавню в инвентарь актора оружие. Получаю его нет-пакет с помощью модуля Артоса. вношу изменения, записываю нет-пакет объекту - здесь же в той же скриптовой точке где был спавн. Конкретно мне надо менять параметры ammo_type, condition, ammo_elapsed, addon_flags. Пробовал сначала в state-часть пакета это записывать, но ствол появляется в инвентаре - с дефолтным пакетом, мои изменения в силу не вступили. записал то же самое и в update-часть - тоже безрезультатно. В других ситуациях, когда спавн происходит не в инвентарь актора, а куда то еще, модуль Артоса работает без нареканий, я его достаточно широко использую в своем моде, пишу шейпы аномалий, правлю свойства объектов при спавне - в общем много всего. Все работает, а тут такой затык. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 30 Июня 2014 Поделиться Опубликовано 30 Июня 2014 Я как-то слабо представляю, как можно инвентарный объект запихнуть в оффлайн. А обновление происходит при переключении туда/сюда. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
AndreySol 215 Опубликовано 30 Июня 2014 Поделиться Опубликовано 30 Июня 2014 (изменено) особенности в поведении объектов при спавне их в инвентарь актора Я то-же с этим дрюкался, и выход похоже только один: спавнить куда-нить не в инвентарь, устанавливать через нет-пакет нужные параметры, вешать на выход объекта в он-лайн кэллбэк, и по факту появления объекта в он-лайне - трансферить в инвентарь ГГ. Выявил такой факт - если спавним в инв.ГГ, через нет-пакет меняем что-то, то в инвентаре видим предмет без этих изменений, но стоит сделать сэйв\лоад - и предмет уже с измененными параметрами. И вообще где можно почитать информацию о классах, их регистрации в class_registator.script? Как обычно - в Справочнике по функциям и классам..... Изменено 30 Июня 2014 пользователем AndreySol Ссылка на комментарий
abramcumner 1 159 Опубликовано 30 Июня 2014 Поделиться Опубликовано 30 Июня 2014 Спавн в инвентарь онлайнового объекта в движке обрабатывается отдельным "ускоренным" образом. Итем выводится сразу же в онлайн. Поэтому запись нет-пакетов и не срабатывает. По идее после строчки alife():create уже можно запросить клиентский объект. Ссылка на комментарий
Zander_driver 10 334 Опубликовано 30 Июня 2014 Поделиться Опубликовано 30 Июня 2014 Спавн в инвентарь онлайнового объекта в движке обрабатывается отдельным "ускоренным" образом. Видимо, не все классы? при спавне в инвентарь патронов например, переписать им кастом-дату удается. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
AndreySol 215 Опубликовано 30 Июня 2014 Поделиться Опубликовано 30 Июня 2014 при спавне в инвентарь патронов например, переписать им кастом-дату удается Если не секрет - что именно ? Ссылка на комментарий
Zander_driver 10 334 Опубликовано 2 Июля 2014 Поделиться Опубликовано 2 Июля 2014 packet.custom_data. что тут еще сказать то.А если вы о том, что же за сведения я туда пишу, то извините это пока секрет. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 2 Июля 2014 Поделиться Опубликовано 2 Июля 2014 Хех, ну я вот, например, в соли аккумуляторы в патроны переделал, и пишу им заряд в custom data. Просто по тому, что самый мальнький пакет из всего, что вообще под рукой. Нет, все, сдаюсь. Я не представляю - просто воображения не хватает представить, как ЭТО должно работать: if job.begin == nil or game.time() - job.begin > job.idle then if job.idle_after_death_end == nil or job.idle_after_death_end < game.time() then if job.fill_idle ~= nil then if job.fill_idle == idle_none then return false elseif job.fill_idle ~= idle_once and job.fill_idle < game.time() - job.begin then return false end end return true end end конкретно часть, которая job.fill_idle < game.time() - job.begin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Музафир 1 Опубликовано 8 Июля 2014 Поделиться Опубликовано 8 Июля 2014 (изменено) Подскажите, а как можно "ограбить" ГГ, т.е. удалить все содержимое инвентаря, включая оружие, которое держит в руках, и нож? Изменено 8 Июля 2014 пользователем Музафир 1 Ссылка на комментарий
AndreySol 215 Опубликовано 9 Июля 2014 Поделиться Опубликовано 9 Июля 2014 @Музафир Скриптом. Ф-ция iterate_invertory и иже с ней... 1 Ссылка на комментарий
Painter 3 406 Опубликовано 9 Июля 2014 Поделиться Опубликовано 9 Июля 2014 (изменено) @Музафир, для указанной цели применима следующая функция: function test_index() local cnt = db.actor:object_count() for i=0, cnt-1 do local item = db.actor:object(i) local sobj = alife():object(item:id()) if sobj then alife():release(sobj,true) end end end Изменено 26 Ноября 2019 пользователем Jurok Портфолио Ссылка на комментарий
Музафир 1 Опубликовано 9 Июля 2014 Поделиться Опубликовано 9 Июля 2014 Jurok, спасибо. Я тоже нашел эту функцию, но там удаляется вообще все: и ПДА, и бинокль, и болт. Их потом нужно будет как-то вернуть. Я думаю модифицировать ее примерно так: function clear_inv() local cnt = db.actor:object_count()for i=0, cnt-1 dolocal item = db.actor:object(i)local sobj = alife():object(item:id())if sobj ~= ПДА Меченого or Бинокль or Болт thenalife():release(sobj,true)endendend Только не знаю, как правильно указать предметы, которые хочу исключить. P.S. Сильно не бейте. Со скриптами не дружу, а квест доделать хочется. Очень надеюсь на ответ Ссылка на комментарий
h0N0r 341 Опубликовано 9 Июля 2014 Поделиться Опубликовано 9 Июля 2014 Музафир, function erase_actor_inv() local function keep_list_itm(item) if (item:section() ~= "wpn_binoc" or item:section() ~= "device_torch" or item:section() ~= "device_pda" or item:section() ~= "bolt") then alife():release(alife():object(item:id()), true) end end db.actor:inventory_for_each(keep_list_itm)end 1 https://sites.google.com/view/xray-sdk-0-4-smg Ссылка на комментарий
Painter 3 406 Опубликовано 9 Июля 2014 Поделиться Опубликовано 9 Июля 2014 (изменено) Только не знаю, как правильно указать предметы, которые хочу исключить. function clear_inv() local cnt=db.actor:object_count() for i=0, cnt-1 do local item=db.actor:object(i) local obj=alife():object(item:id()) if (obj and item:section()~="wpn_binoc" and item:section()~="bolt" and item:section()~="device_torch" and item:section()~="device_pda") then alife():release(obj,true) end end end Изменено 9 Июля 2014 пользователем Jurok 1 Портфолио Ссылка на комментарий
Музафир 1 Опубликовано 10 Июля 2014 Поделиться Опубликовано 10 Июля 2014 (изменено) Всем спасибо, парни, помогите еще разок. Понимаю, что вопрос нубский, но для меня это пока сложно Задача: организовать проверку количества убитых кровососов. При убийстве выдается соответствующий инфопоршень, я решил сделать так: function sosyci_proverka()local k = 0if has_alife_info ("sosyci_stroika_1_killed") thenk = k + 1endif has_alife_info ("sosyci_stroika_2_killed") thenk = k + 1endif has_alife_info ("sosyci_stroika_3_killed") thenk = k + 1endif has_alife_info ("sosyci_stroika_4_killed") thenk = k + 1endreturn kendfunction sosyci_jivyif sosyci_proverka() = 0 thenreturn trueendreturn falseend sosyci_jivy - это прекондишен в диалоге. По идее, он сработает, если все живы или убит хотя бы один. На первый раз сойдет. Но далее мне понадобится еще раз обратиться к проверке и узнать точное кол-во убитых кровососов (возможно их на тот момент останется только 2 или 3), чтобы вычислить, сколько щупалец ГГ может сдать по завершении задания. И вот здесь меня мучат сомнения: допустим, кровососы убиты в порядке 4,2,1,3, будет ли в таком случае k = 4? Изменено 10 Июля 2014 пользователем Музафир Ссылка на комментарий
Призрачный 125 Опубликовано 10 Июля 2014 Поделиться Опубликовано 10 Июля 2014 Здравствуйте, можно ли сделать так, чтобы когда гг дадут какой-нибудь предмет на нём заспавнится ppe эффект и этот эффект будет всегда пока гг не выбросит этот предмет? 1 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти