Fenrir02 199 Опубликовано 22 Ноября 2018 Поделиться Опубликовано 22 Ноября 2018 Да, этот мод у меня как раз и стоит. Функция, которая разжигает костёр при присутствии хотя бы одного НПС такая: Скрытый текст function CKampManager:increasePops(npc) self.population = self.population + 1 local camp_name = camp_tbl[self.kamp_name] if self.population == 1 and camp_name then local flame_name = camp_name.flame local light_name = camp_name.light kamps_info[self.kamp_name] = nil if not kamps_info[self.kamp_name] then kamps_info[self.kamp_name] = {} kamps_info[self.kamp_name].time = time_global() kamps_info[self.kamp_name].prtcl = nil kamps_info[self.kamp_name].state = nil end for i,o in pairs(level_objs) do local obj = o if obj and obj:name() == flame_name then kamps_info[self.kamp_name].obj_fire = obj obj:enable_anomaly() end if obj and obj:name() == light_name then kamps_info[self.kamp_name].obj_light = obj end end end end (файл xr_kamp.script) А вот как сделать проверку на приближение ГГ к костру ума не приложу... Важнейшая задача цивилизации - научить человека мыслить. Ссылка на комментарий
Romann 619 Опубликовано 22 Ноября 2018 Поделиться Опубликовано 22 Ноября 2018 29 минут назад, Fenrir02 сказал: А вот как сделать проверку на приближение ГГ к костру ума не приложу... А зачем именно на приближение? - Почему бы не дёрнуть функцию розжига костра ГГ из СоС? Или попробовать перенести полностью биндер костров? Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz). Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб). Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий
Fenrir02 199 Опубликовано 22 Ноября 2018 Поделиться Опубликовано 22 Ноября 2018 @Romann Я думал об этом, тем более это даже более логично. Но возможно ли реализовать данную фичу на ТЧ? Важнейшая задача цивилизации - научить человека мыслить. Ссылка на комментарий
BFG 7 582 Опубликовано 22 Ноября 2018 Поделиться Опубликовано 22 Ноября 2018 2 часа назад, Fenrir02 сказал: как с помощью скрипта разжечь костёр, к которому подходит ГГ на определённое расстояние? В НС 2016 это сделал Сапсан ещё в 2015 году. Даже с анимацией разжигания. Смотри файл xr_kamp.script. Там есть все комментарии. Здесь - class "evaluator_see_kampfire" (property_evaluator) и далее... 2 "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
Romann 619 Опубликовано 22 Ноября 2018 Поделиться Опубликовано 22 Ноября 2018 (изменено) 19 минут назад, Fenrir02 сказал: Но возможно ли реализовать данную фичу на ТЧ? Думаю возможно, то и дело между платформами "тягают" фичи туда-сюда, ещё и не такой сложности, тут вопрос другой - придётся ли при этом "поправлять" движок.... Если есть возможность вносить правки в движок - то в любом случае проблем не должно возникнуть. Изменено 22 Ноября 2018 пользователем Romann Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz). Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб). Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий
BFG 7 582 Опубликовано 22 Ноября 2018 Поделиться Опубликовано 22 Ноября 2018 6 минут назад, Romann сказал: придётся ли при этом "поправлять" движок. Не надо вносить правки в движок для розжига костров. Вот нашёл видео от тестера Соли. Там всё видно - https://youtu.be/neKqhDb919U 2 "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
I am Dead 912 Опубликовано 23 Ноября 2018 Поделиться Опубликовано 23 Ноября 2018 (изменено) Парни кто может помочь сделать быстрые слоты(подобные зп чтобы можно было в ячейку перемещать предмет а не как в dmx mod выбирать предмет из списка). Изменено 23 Ноября 2018 пользователем I am Dead Ссылка на комментарий
_Sk8_AsTeR_ 117 Опубликовано 23 Ноября 2018 Поделиться Опубликовано 23 Ноября 2018 Доброго времени! Возможно ли скриптово в теории заставить НПС использовать патроны из своего инвентаря? Чтобы они не бесконечно стреляли, к примеру? Ссылка на комментарий
DoberBull 290 Опубликовано 23 Ноября 2018 Поделиться Опубликовано 23 Ноября 2018 Привет всем, нужна помощь касательно скриптов. Пытаюсь запилить модель в полный рост в инвентаре актора как в билде 1537, естественно с помощью текстур. Вопрос такой, как с помощью скрипта отследить положение ГГ в настоящий момент ? Пример ф-ции. Если актор сидит, то заставить делать вот это, если актор в спринте, то вот то, если в полном присяде то третье. Примерно так, если я понятно выразился Ссылка на комментарий
lordmuzer 743 Опубликовано 23 Ноября 2018 Поделиться Опубликовано 23 Ноября 2018 Получить состояния тела ГГ можно примерно вот так https://github.com/dsh2dsh/op2ogse/blob/63e3502e12281fb8f236be72cac64276680d2b35/gamedata/scripts/_g.script#L3010 движок OGSR Ссылка на комментарий
DoberBull 290 Опубликовано 24 Ноября 2018 Поделиться Опубликовано 24 Ноября 2018 @lordmuzer спасибо, как раз то что нужно. А как проверить какое состояние в настоящий момент, например проверить на спринт ? if body_state == sprint будет работать ? Ссылка на комментарий
lordmuzer 743 Опубликовано 24 Ноября 2018 Поделиться Опубликовано 24 Ноября 2018 Можно проще local is_running = get_actor_obj():is_actor_sprinting() if is_running then end Spoiler .def("is_actor_normal", &CActor::is_actor_normal) .def("is_actor_crouch", &CActor::is_actor_crouch) .def("is_actor_creep", &CActor::is_actor_creep) .def("is_actor_climb", &CActor::is_actor_climb) .def("is_actor_walking", &CActor::is_actor_walking) .def("is_actor_running", &CActor::is_actor_running) .def("is_actor_sprinting", &CActor::is_actor_sprinting) .def("is_actor_crouching", &CActor::is_actor_crouching) .def("is_actor_creeping", &CActor::is_actor_creeping) .def("is_actor_climbing", &CActor::is_actor_climbing) .def("is_actor_moving", &CActor::is_actor_moving) 1 Ссылка на комментарий
Fenrir02 199 Опубликовано 25 Ноября 2018 Поделиться Опубликовано 25 Ноября 2018 Как можно заставить этот статик мигать - Скрытый текст hud = get_hud() act = db.actor if act.health < 0.8 and act.health > 0.4 then hud:AddCustomStatic("hud_health_static", true):wnd():SetColor(GetARGB(255,0,255,0)) else hud:RemoveCustomStatic("hud_health_static") end Важнейшая задача цивилизации - научить человека мыслить. Ссылка на комментарий
AndreySol 215 Опубликовано 25 Ноября 2018 Поделиться Опубликовано 25 Ноября 2018 21 минуту назад, Fenrir02 сказал: заставить этот статик мигать В xml-описании "hud_health_static" добавить соответствующие теги. Подсмотреть в оригинальных статиках как это сделать. 1 Ссылка на комментарий
Overfirst 630 Опубликовано 25 Ноября 2018 Поделиться Опубликовано 25 Ноября 2018 <text_on_screen_center x="212" y="300" width="600" height="68" complex_mode="1" light_anim="ui_slow_blinking_alpha"> <text font="graffiti32" r="240" g="217" b="182" a="255" align="c"/> </text_on_screen_center> Световая анимация ui_slow_blinking_alpha. Не знаю, есть ли она в ТЧ, если вопрос по этой платформе. 1 Ранее был известен под ником BoBaH_671. Ссылка на комментарий
dPlayer 454 Опубликовано 28 Ноября 2018 Поделиться Опубликовано 28 Ноября 2018 Что-то не доходит, как выдать поршень при подборе предмета в чистом поле без задания? Нужны какие-то аргументы в подобной ф-ции? function have_krots_flash(task, objective) if db.actor:object("krot_flash") ~= nil then db.actor:give_info_portion ("agr_krot_task_complete") return true end return false end Ссылка на комментарий
Fenrir02 199 Опубликовано 28 Ноября 2018 Поделиться Опубликовано 28 Ноября 2018 Имеется такая функция рандомного удаления предметов из инвентаря: function release_random_item(num) local actor = db.actor local cnt = actor:object_count() if cnt < num then return end for i=1,num do local item = actor:object(math.random(0, cnt-1)) local sobj = alife():object(item:id()) if sobj then alife():release(sobj,true) cnt = actor:object_count() end end end Помогите сделать таблицу предметов, которые нельзя удалять. Важнейшая задача цивилизации - научить человека мыслить. Ссылка на комментарий
stalkergoshawk 1 Опубликовано 28 Ноября 2018 Поделиться Опубликовано 28 Ноября 2018 Здравствуйте, подскажите как в момент спавна скриптом обьекта, задать ему направление? Ссылка на комментарий
Graff46 598 Опубликовано 28 Ноября 2018 Поделиться Опубликовано 28 Ноября 2018 @Fenrir02, Как предметы указывать будите? (ид, имя секции, .... ?) @stalkergoshawk, Если x-ray extensions есть в движке, то у серверного объекта есть свойство angle, к нему нужно приравнять вектор, который укажет направление. alife():create("stalker", vector():set(0,0,0,), 0, 0).angle = vector():set(0, 1.5, 0) Если x-ray extensions нет, то нэт-пакетами. Ссылка на комментарий
stalkergoshawk 1 Опубликовано 28 Ноября 2018 Поделиться Опубликовано 28 Ноября 2018 x-ray extensions нет, про net_packet я уже думал но пока не смог разобраться. нет готовых вариантов как сделать с net_packet? Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти