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 623 Опубликовано 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 623 Опубликовано 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 917 Опубликовано 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 631 Опубликовано 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 526 Опубликовано 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? Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти