HellRatz 2 892 Опубликовано 5 Июля 2022 Поделиться Опубликовано 5 Июля 2022 34 минуты назад, EGER.OVERKILL WF сказал: делаю по урокам Неправильные уроки потому что. Не on_inside, а on_actor_inside Можно добавить еще nil (on_actor_inside = nil %+kura%), чтобы при заходе в рестриктор и срабатывании инфопоршня/функции рестриктор больше не проверялся на апдтейте (т.е при повторном заходе в зону рестриктора повторной выдачи/вызова не будет). Если вызов поршня/функции должен повторяться, nil не нужен. 2 GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
EGER.OVERKILL WF 3 Опубликовано 5 Июля 2022 Поделиться Опубликовано 5 Июля 2022 (изменено) 9 минут назад, HellRatz сказал: nil (on_actor_inside = nil %+kura%) Cпасибо за ценные инструкции, я по этому сюда и написал, тут люди грамотные собрались. Сейчас попробую. Скрытый текст ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [871] ; cse_abstract properties section_name = space_restrictor name = wy position = -40.14, -15.15, -159.5; 13.43, 4. 51, 91.69 direction = 0.0, 0.0, 0.0 id = 65535 version = 118 script_version = 6 spawn_id = 871 ; cse_alife_object properties game_vertex_id = 108 level_vertex_id = 238464 object_flags = 0xffffff3e custom_data = <<END [logic] active = sr_idle [sr_idle] on_actor_inside = nil %+kura% END ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 5 ; cse_alife_space_restrictor properties restrictor_type = 0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Но поршень который выдается, не активирует квест. (Хотя должен), В диалоге поршень отыгрывается нормально и выдается квест. Бегаю по этому месту (координатам которые указывал), по прежнему, никакой реакции. Изменено 5 Июля 2022 пользователем EGER.OVERKILL WF Ссылка на комментарий
HellRatz 2 892 Опубликовано 5 Июля 2022 Поделиться Опубликовано 5 Июля 2022 @EGER.OVERKILL WF а рестриктор правильно установлен? Имею ввиду его шейп, ГГ точно внутри рестриктора находится? Т.к работа ведется в распакованном олл.спаун, а не СДК, можно было что-то не так сделать. Повесь выдачу сообщения при заходе в рестриктор. Если ничего не будет, то ответ на поверхности. GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
mole venomous 3 433 Опубликовано 5 Июля 2022 Поделиться Опубликовано 5 Июля 2022 1 час назад, EGER.OVERKILL WF сказал: квест А с квестом порядок? Вызове поршень другим способом для проверки. Здесь могла быть ваша реклама. Ссылка на комментарий
EGER.OVERKILL WF 3 Опубликовано 5 Июля 2022 Поделиться Опубликовано 5 Июля 2022 1 минуту назад, mole venomous сказал: поршень другим способом Да, порядок. Вызываю диалогом, и все работает как надо. 16 минут назад, HellRatz сказал: а рестриктор правильно установлен? На счет правильности, не уверен. Сейчас попробую, подскажете как реализовать, или тоже через поршни следует делать? (сообщение) 23 минуты назад, HellRatz сказал: Имею ввиду его шейп Сообщение нет. Вы правы, ничего не происходит. Скрипт сообщения заведомо рабочий, так что в нём ошибки быть не может. Как правильно установить шейп? Делаю по координатам, там где спавниться один из моих НПС. Нпс есть, рестриктора нет (исходя из данных выше.) 2 часа назад, HellRatz сказал: а рестриктор правильно установлен? Имею ввиду его шейп В этом я новичок, и по сему, что именно "на поверхности", и как поправить шейп, я не понимаю. Подскажите пожалуйста. Насколько я догадываюсь, редактировать нужно то, что под "cse_shape properties". У меня там следующая билеберда: (брал из этого же файла, с другого рестриктора) Скрытый текст ; cse_shape properties shapes = 1 shape_0:type = sphere shape_0:offset = 0,0,0 shape_0:radius = 4.5480751991272 Ссылка на комментарий
HellRatz 2 892 Опубликовано 6 Июля 2022 Поделиться Опубликовано 6 Июля 2022 @EGER.OVERKILL WF Шейп может быть шаром, боксом, любого размера. Но что у тебя взято за исходник неизвестно. Вижу, что тип шейпа у тебя шарообразный shape_0:type = sphere. Попробуй поставить box, может быть поможет. ; cse_shape properties shapes = shape0 shape0:type = box shape0:axis_x = 2.64159965515137,0,0 --ширина зоны по X shape0:axis_y = 0,2.22759985923767,0 --ширина зоны по Y shape0:axis_z = 0,0,2.64159965515137 --ширина зоны по Z shape0:offset = 0,0,0 --поворот по осям (x,y,z) Вообще для таких работ целесообразно использовать СДК. Создание правильных и нужных рестрикторов через копи-паст в all.spawn не самый грамотный подход. 1 GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
mole venomous 3 433 Опубликовано 6 Июля 2022 Поделиться Опубликовано 6 Июля 2022 Почему не поэкспериментировать с размером сферы или бокса? Или тут нужно его прям хитро уместить? Бокс можно вращать же... Короче, я вообще не вижу проблемы. Или просто не понял проблему... Здесь могла быть ваша реклама. Ссылка на комментарий
EGER.OVERKILL WF 3 Опубликовано 6 Июля 2022 Поделиться Опубликовано 6 Июля 2022 13 часов назад, HellRatz сказал: через копи-паст в all.spawn не самый грамотный подход. Знаю, но я только учусь. Думая, что если взять что-то за основу исходно рабочее (оригинальное), ну такой уж я выбор сделал, в данном случае. Про СДК знаю, но слишком уж много заморочек получается для всего этого, три редактора на один рестриктор и это в лучшем случае. Основная мысль - сделать максимально просто и красиво, но видимо без стороннего софта и знающих людей, одному реализовать слишком уж проблемно. Новые рекомендации по Шейпу не сработали, к сожалению, прилагаю весь рестриктор, спойлером ниже. P.S Локация кордон, все Х,Y,Z взяты из Позишн Информера. Скрытый текст ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [871] ; cse_abstract properties section_name = space_restrictor name = wy position = 6.638, 2.548, 72.340 direction = -0.79547029733658, 0.0, 0.60599255561829 id = 65535 version = 118 script_version = 6 spawn_id = 871 ; cse_alife_object properties game_vertex_id = 89 distance = 9.8000002 level_vertex_id = 283095 object_flags = 0xffffff3e custom_data = <<END [logic] active = sr_idle [sr_idle] nil (on_actor_inside = nil %+kura%) END ; cse_shape properties shapes = shape0 shape0:type = box shape0:axis_x = 2.64159965515137,0,0 --ширина зоны по X shape0:axis_y = 0,2.22759985923767,0 --ширина зоны по Y shape0:axis_z = 0,0,2.64159965515137 --ширина зоны по Z shape0:offset = 0,0,0 --поворот по осям (x,y,z) ; cse_alife_space_restrictor properties restrictor_type = 0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Ссылка на комментарий
Купер 2 907 Опубликовано 6 Июля 2022 Поделиться Опубликовано 6 Июля 2022 (изменено) @EGER.OVERKILL WF , 31 минуту назад, EGER.OVERKILL WF сказал: [logic] active = sr_idle [sr_idle] on_actor_inside = nil %+kura% И вот здесь всё-таки так, по моему: 31 минуту назад, EGER.OVERKILL WF сказал: ; cse_shape properties shapes = 1 shape0:type = box ... Изменено 6 Июля 2022 пользователем Купер 1 Ссылка на комментарий
EGER.OVERKILL WF 3 Опубликовано 6 Июля 2022 Поделиться Опубликовано 6 Июля 2022 6 минут назад, Купер сказал: shapes = 1 shape0:type = box В данный момент меня поправили, уже так Скрытый текст ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0, 0, 0 shape0:radius = 5 Скрытый текст [logic] active = sr_idle [sr_idle] on_actor_inside = {-kura} nil %+kura% {...} - условия для выполнения %...% - действия Должно быть все таки условие? Или нет? Меня просто интересует, можно ли задать рестриктору логику что при заходе в него, гг получает поршень (и квест соотв.) , или нет? (без условия.) Если так, то считается ли условием, наличие другого инфопоршня? Ссылка на комментарий
Zander_driver 10 334 Опубликовано 7 Июля 2022 Поделиться Опубликовано 7 Июля 2022 7 часов назад, EGER.OVERKILL WF сказал: shape0:axis_x = 2.64159965515137,0,0 --ширина зоны по X shape0:axis_y = 0,2.22759985923767,0 --ширина зоны по Y shape0:axis_z = 0,0,2.64159965515137 --ширина зоны по Z shape0:offset = 0,0,0 --поворот по осям (x,y,z) Так чему же тут будут равны, ширина зоны по Х, Y, и т.д... ась? 0 -- неизвестные движку символы. Скорее всего получится vector3(NaN), т.е. недействительный. Немножко ликбеза... Скрытый текст При чтении текстовых файлов (конфиги, скрипты, алл.спавн), движок X-Ray предусматривает наличие в файле комментариев. Как это работает: При чтении очередной строки, движок ищет ключевые символы обозначающие начало комментария. Если он их находит, все после этих символов, движком не воспринимается - это комментарий предназначенный для людей, а не для движка. Если он их НЕ находит. То всю строку он пытается интерпретировать как ключ = значение. Или просто значение. Т.е. в данном случае shape0:axis_x Ключ 2.64159965515137,0,0 --ширина зоны по X Значение. Это не число, это не вектор. Это непонятная движку абракадабра. Результатом интерпретации этой строки будет NaN или NULL или еще что-нибудь в таком духе. Как правильно ставить комментарии: В файлах LTX конфигов и аллспавна ; это комментарий. -- А это НЕ комментарий. Движок будет пытаться интерпретировать это как значение. Просто символ ; (точка с запятой) все что до него - ключи и значения, все что после - комментарии В файлах скриптов на языке Луа, т.е. *.script -- это комментарий --[[ И это тоже комментарий ]] ; А это НЕ комментарий. Очевидно что для скриптов, и для конфигов-спавна, ключевые символы комментирования разные. Не путайте их между собой, не надо писать конфиги так как будто это скрипты, и наоборот. P.S. Скрытый текст По этому "птичьему языку", то бишь логикой иксрея, который состоит из %, фигурных скобочек и разных других непонятных закорючек. Не помогу, т.к. этого языка не знаю, никогда им не пользовался, понятия не имею зачем его вообще придумали. С грустью наблюдаю попытки делать что-то на этой ущербной системе, когда же людям надоест кушать кактус? 1 1 1 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. Ссылка на комментарий
Labadal 68 Опубликовано 7 Июля 2022 Поделиться Опубликовано 7 Июля 2022 доброго вечера, в общем такая проблема: получаю цель: local target = level.get_target_obj() (это XRE, но не суть) получаю имя секции этой цели (в моём случае сталкера): local sect = target:profile_name() далее, я хочу удалить именно этого нпс: for a=10,65634,1 do local obj=alife():object(a) if obj and target and string.find(obj:name(),sect) then alife():release(obj,true) end end но дело в том, что есть нпс, типа: south_digger_default1 south_digger_default2 south_digger_default3 south_digger_default4 и при "удалении" одного - у меня удаляются все. (то есть если я удалю одного нпс из деревни новичков, например, то там останется только Волк). Как мне удалить именно того, кого я выбрал? God save Hatsune Miku! Ссылка на комментарий
Manool 145 Опубликовано 7 Июля 2022 Поделиться Опубликовано 7 Июля 2022 @Labadal local target = level.get_target_obj() if target then local sobj = alife():object(target:id()) if sobj then alife():release(sobj, true) end end 1 1 1 Объединённый Пак OGSR Engine Ссылка на комментарий
Labadal 68 Опубликовано 7 Июля 2022 Поделиться Опубликовано 7 Июля 2022 (изменено) @Manool Хорошо, я вот удалил этого нпс. Допустим, через некоторое время я хочу его вновь заспавнить (именно его (с таким же именем и тд)). Как это сделать? причем так, чтоб он вновь стал "работать" под своей логикой, и присоединился к своему гулагу, если был в нем. Ещё раз спасибо. Изменено 7 Июля 2022 пользователем Labadal God save Hatsune Miku! Ссылка на комментарий
EGER.OVERKILL WF 3 Опубликовано 8 Июля 2022 Поделиться Опубликовано 8 Июля 2022 23 часа назад, Zander_driver сказал: Немножко ликбеза... Боже, храни вас господь. Низкий поклон, и уважение. Именно ваше решение, с ликбезом и комментариями помогло мне! Выражаю благодарность! Теперь, все работает как часы. 1 Ссылка на комментарий
Kirgudu 1 217 Опубликовано 8 Июля 2022 Поделиться Опубликовано 8 Июля 2022 По мотивам всего вышенаписанного. 06.07.2022 в 10:28, HellRatz сказал: shape0:axis_x = 2.64159965515137,0,0 --ширина зоны по X shape0:axis_y = 0,2.22759985923767,0 --ширина зоны по Y shape0:axis_z = 0,0,2.64159965515137 --ширина зоны по Z shape0:offset = 0,0,0 --поворот по осям (x,y,z) Лишний раз хотелось бы заметить, что подобные советы, по сути своей возможно и правильные, могут быть крайне вредны, если даются новичку, за недостатком опыта не отличающему комментарий в коде от комментария в сообщении. Если уж решил помочь, лучше потрудиться и написать текст, не оставляющий места для кривотолков. @Zander_driver, респект. 1 1 1 Инструмент Ссылка на комментарий
gam 117 Опубликовано 8 Июля 2022 Поделиться Опубликовано 8 Июля 2022 @Labadal Возможно Вам нужно обратить внимание на минимод "Артефакт Воскрешения" (Kolmogor), может там найдете способ реализации своих наработок. В раритетах для ТЧ должно быть. 1 1 Ссылка на комментарий
Colder 12 Опубликовано 8 Июля 2022 Поделиться Опубликовано 8 Июля 2022 Не срабатывает проверка в чём проблема? Скрытый текст local rad_level = { ["l01_escape"] = true, ["ai_test"] = true } function ItTank(obj) if not obj then return false end local list = { ["test_att"] = true, } return list[obj:section()] end local dmg = 0.00002 function on_update() local tl = rad_level[level.name()] if db.actor and tl then db.actor.radiation = dmg end end --// вот тут function item_to_slot(obj) local st = db.actor:item_in_slot(11) if st and ItTank(obj) then dmg = dmg - 0.0 end end Ссылка на комментарий
gam 117 Опубликовано 8 Июля 2022 Поделиться Опубликовано 8 Июля 2022 1 час назад, Colder сказал: db.actor:item_in_slot(11) Вы уверенны, что слот 11 активен? Ссылка на комментарий
Colder 12 Опубликовано 8 Июля 2022 Поделиться Опубликовано 8 Июля 2022 @gam естественно 1 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти