naxac 2 445 Опубликовано 14 Марта 2016 Поделиться Опубликовано 14 Марта 2016 (изменено) @losiara, после спавна сохрани ккда-нибудь id или имя объекта (в пстор), а в нужный момент - загрузи из пстора, получи объект и удали. И из пстора тоже, чтоб место не занимать. Изменено 14 Марта 2016 пользователем naxac 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
losiara 13 Опубликовано 15 Марта 2016 Поделиться Опубликовано 15 Марта 2016 (изменено) Вечер добрый!!! Никто не сталкивался с таким вылетом: Expression : no_assertFunction : CALifeStoryRegistry::addFile : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_story_registry.cppLine : 30Description : Specified story object is already in the Story registry! Появляется спустя некоторое время после начала игры может со свалки, а может и с Милитари по разному, при загрузке сохранений (любых) либо переходов между уровнями... Ничего в дубле не спавнится от чего происходит... Изменено 15 Марта 2016 пользователем losiara Добавлено BFG, 15 Марта 2016 На главной странице форума, прямо под логотипом "АМК", есть строка.В этой строке есть три красных буквы FAQ. Жми на них и ты перейдёшь на "Справочник по вылетам". Там, внутри справочника, по тэгу "Line:30", ты найдёшь и свой вылет и способ его устранения. Жизнь следует измерять поступками, а не временем... Ссылка на комментарий
FonSwong 33 Опубликовано 15 Марта 2016 Поделиться Опубликовано 15 Марта 2016 взгляд скриптово на каждую кость можно отследить? Или только на "особенные"? Список где увидеть можно? Можно ли узнать направление кости, т.е. допустим сторона коленки спереди сзади, сбоку? Ссылка на комментарий
Zander_driver 10 333 Опубликовано 16 Марта 2016 Поделиться Опубликовано 16 Марта 2016 Но как можно в 3д вырисовать линию направления? Линия есть набор точек. Получаете вектор из точки А в точку Б, меняя его длину с желаемым интервалом, получаете этот самый набор точек, функция проекции точки в 3д на экран у вас уже есть. Кстати по секрету. Этот набор точек вообще необязательно рисовать в 3д. Вы же проекции точек на экране рисуете. А экран это 2д-плоскость. вот и рисуйте в той же 2д-плоскости линию, связывающую две известные точки в этом же 2д. Я так и делаю Подскажите, с чем может быть связан вылет? Если перевести, то можно прочитать - попытка сравнения nil c юзердатой. @HellRatz, Если не ошибаюсь, все пожелания из вашего поста достигаются при помощи модулей нетпакетов Артоса. И без переспавна или двойного спавна. 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
HellRatz 2 864 Опубликовано 17 Марта 2016 Поделиться Опубликовано 17 Марта 2016 (изменено) Приветствую. А реально ли без правок движка на ТЧ (Ну максимум XE) штатными методами отлавливать определенное оружие в руках ГГ, и определенную анимацию отыгрываемую этим оружием в данный момент? Ну и повесить на все это дело выполнение функции, если условие оружие-анимация выполнено. Ну и конечно не одноразово бы, а постоянно проверять это. Пока оружие в руках - выполняем функцию. достигаются при помощи модулей нетпакетов Артоса Эх.. Если я это (И вообще скрипты) познаю когда-нибудь, может и да. А пока так Изменено 17 Марта 2016 пользователем HellRatz GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 17 Марта 2016 Поделиться Опубликовано 17 Марта 2016 (изменено) @HellRatz, Привет)) Отловить можно так: local active_item = db.actor:active_item() if active_item and active_item:section() == "твое_оружие" then ... end Насчет анимаций, не знаю. Помню кто-то недавно уже задавал такой вопрос. Но можно еще с помощью ХЕ получить текущие состояние оружия: local weapon_states = { idle = 0, fire = 1, fire2 = 2, reload = 3, showing = 4, hiding = 5, hidden = 6, misfire = 7, mag_empty = 8, switch = 9 } local state = db.actor:active_item():get_hud_item_state() if state == weapon_states.fire then ... end Изменено 17 Марта 2016 пользователем TIGER_VLAD 1 Ссылка на комментарий
Zander_driver 10 333 Опубликовано 18 Марта 2016 Поделиться Опубликовано 18 Марта 2016 Это опять же можно делать и без ХЕ, нетпакетами. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
Charsi 440 Опубликовано 18 Марта 2016 Поделиться Опубликовано 18 Марта 2016 На практике подмена параметра owner_id не работает, кроме того аномалия может сработать и на нести урон нпс до перепрошивки. А вот переспавн работает просто идеально. Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 18 Марта 2016 Поделиться Опубликовано 18 Марта 2016 Хм... интересно. Насчет состояния оружия. У меня не получается отловить стэйт: mag_empty = 8. Другие состояния работают. Ссылка на комментарий
dsh 3 824 Опубликовано 18 Марта 2016 Поделиться Опубликовано 18 Марта 2016 Ну и повесить на все это дело выполнение функции, если условие оружие-анимация выполнено. А какую анимацию? Если перезарядку, то что-то типа такого: local cur_wpn = {} function on_update( delta ) local wpn = db.actor:active_item() if not wpn then return end if not wpn:is_weapon() then return end if ( not cur_wpn.id ) or cur_wpn.id ~= wpn:id() then cur_wpn = { [ "ammo_n" ] = wpn:get_ammo_in_magazine(), [ "has_gl" ] = has_wpn_gl( wpn ), [ "has_silencer" ] = ( ogse_wpn_utils.get_silencer_status( wpn ) == 2 ), [ "id" ] = wpn:id(), [ "weapon_state" ] = wpn:get_hud_item_state(), [ "wpn" ] = wpn, } if cur_wpn.has_gl then cur_wpn.gl_mode = ogse_wpn_utils.get_gl_mode( wpn ) cur_wpn.gl_name = get_string( wpn:section(), "grenade_launcher_name" ) end end check_silencer( wpn ) local state = wpn:get_hud_item_state() if state == cur_wpn.weapon_state then if state == weapon_states.fire then local ammo_n = wpn:get_ammo_in_magazine() if ammo_n ~= cur_wpn.ammo_n then cur_wpn.ammo_n = ammo_n ogse_signals.get_mgr():call( "on_actor_fire", cur_wpn ) end end else cur_wpn.weapon_state = state if state == weapon_states.fire then cur_wpn.ammo_n = wpn:get_ammo_in_magazine() ogse_signals.get_mgr():call( "on_actor_fire", cur_wpn ) elseif state == weapon_states.switch then if cur_wpn.has_gl then local gl_mode = ogse_wpn_utils.get_gl_mode( wpn ) if cur_wpn.gl_mode ~= gl_mode then cur_wpn.gl_mode = gl_mode ogse_signals.get_mgr():call( "on_wpn_gl_mode", cur_wpn ) end end elseif state == weapon_states.reload then if ( db.actor:is_actor_sprinting() or db.actor:is_actor_climbing() ) and math.random() < level.get_game_difficulty() * 0.2 then db.actor:drop_item( wpn ) dsh.say_blin() end end end end Здесь обрабатывается стрельба, переключения подствольника и перезарядка. Сравнение с wpn:section() в начало уже сам добавить сможешь. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
HellRatz 2 864 Опубликовано 18 Марта 2016 Поделиться Опубликовано 18 Марта 2016 (изменено) Если перезарядку Нет, увы, не перезарядку. Надо на idle, и пока у нас спокойное состояние, все это время выполняется функция. С этим все хорошо, это отловили. Сейчас вскрылась другая проблема: функция выполняется даже если в оружии нет патронов. Нужно как-то проверять патроны, если они = 0, то состояние idle не обрабатывается. Увидел, кстати, в твоем примере: [ "ammo_n" ] = wpn:get_ammo_in_magazine(), возможно, это то, что мне нужно? Изменено 18 Марта 2016 пользователем HellRatz GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
Zander_driver 10 333 Опубликовано 18 Марта 2016 Поделиться Опубликовано 18 Марта 2016 wpn:get_ammo_in_magazine() Да это именно оно. 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
AndrewMor 527 Опубликовано 19 Марта 2016 Поделиться Опубликовано 19 Марта 2016 Камрады, поясните, кто знает. В Солянке в файле sak_off_corpses.script есть две таблицы: tabl_corpses и tabl_corpses_9510. Так понимаю, что в первую заносятся трупы, которые убираются. А во вторую - которые не должны убираться, что ли (те, которым прописан story_id)? Сталкер - наше всё! Ссылка на комментарий
dsh 3 824 Опубликовано 19 Марта 2016 Поделиться Опубликовано 19 Марта 2016 @AndrewMor, если я не путаю, в первую в цикле заносятся трупики, которые сейчас будут удалятся. Во вторую заносятся трупики, у которых story_id меньше 9510 и они не будут удаляться. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
AndrewMor 527 Опубликовано 19 Марта 2016 Поделиться Опубликовано 19 Марта 2016 @AndrewMor, если я не путаю, в первую в цикле заносятся трупики, которые сейчас будут удалятся. Во вторую заносятся трупики, у которых story_id меньше 9510 и они не будут удаляться. Спасибо, я так и думал. Сталкер - наше всё! Ссылка на комментарий
FonSwong 33 Опубликовано 20 Марта 2016 Поделиться Опубликовано 20 Марта 2016 Как без отключения кнопок передвижения, отобрать управление клавой, но управление мышью не отбирая? Ссылка на комментарий
Zander_driver 10 333 Опубликовано 20 Марта 2016 Поделиться Опубликовано 20 Марта 2016 В движок залезть Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
FonSwong 33 Опубликовано 20 Марта 2016 Поделиться Опубликовано 20 Марта 2016 Как ловить хиты по актору? Причём так же важен тип хита и от кого получен. Т.е. удар от монстра или человека, или выстрел из опред. Оружия, или же хит от жарки и т.д. У ГГ есть кости? Тогда так же если хит от удара или выстрела, то ещё и по какой кости ГГ пришёлся удар/выстрел. Ссылка на комментарий
UnLoaded 313 Опубликовано 20 Марта 2016 Поделиться Опубликовано 20 Марта 2016 Как ловить хиты по актору? ...Ответ все тот-же - выше... Ссылка на комментарий
dsh 3 824 Опубликовано 20 Марта 2016 Поделиться Опубликовано 20 Марта 2016 @FonSwong,если ты используешь x-ray extensions или OGSE, то там имеется колбэк, вызываемый перед обработкой хита. Вся нужная информация там имеется. Ты же, кажется, для OGSE делаешь? Найди там обработку бюрера, в скриптах. Ему из этого колбэка неуязвимость делается. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти