Romann 619 Опубликовано 12 Июня 2016 в чистой игре нет такого. Может тогда имеется функция подмены actor.ltx ? Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 12 Июня 2016 (изменено) Максимум, на десяток процентов, а далее ГГ начинает стукаться о воздух. Да, получилось, скриптом, но увеличение совсем не заметно, но ГГ спотыкается на ровном месте, получает xит. В ogse_actor_conditions_mgr.script добавил такой код: if db.actor:item_in_slot(6) and db.actor:item_in_slot(6):section() == "mon_nano_speed" then local cur_sprint_koef = override_sprint_koef or sprint_koef if act.satiety < light_hunger_limit then cur_sprint_koef = 1 + ( ( cur_sprint_koef + 5 ) * ( act.satiety / light_hunger_limit ) ) end if act.power < 1 then cur_sprint_koef = 1 + ( ( cur_sprint_koef + 5 ) * ( act.power / 1 ) ) end set_sprint_factor( cur_sprint_koef ) end Изменено 12 Июня 2016 пользователем Romann 1 Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 19 Июня 2016 Подскажите пожалуйста функцию, которая наносит хит всему живому, в опред. радидиусе от ГГ. Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 19 Июня 2016 вроде так: А вот тут: hit:bone("bip01_head") -- удар приходится на голову можно ли перечисллять части тела , через запятую? Или хит только по одной косточке? Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 19 Июня 2016 Подскажите функцию проверки заряжен ли ствол, где-то было, не могу найти. Заранее спасибо. Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 20 Июня 2016 А вообще для полетов камеры по локациям есть level.add_cam_effector2. Только тут нужно делать кат-сцену в X-ray SDK. Я делал кат-сцену, таким образом, вешал на рестриктор, это не помогло, остаётся худ и пушка в руках. Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 21 Июня 2016 Ты наверное использовал функцию level.add_cam_effector вместо level.add_cam_effector2. Вот функция: function blya_desant() level.add_cam_effector2("camera_effects\\blya_desant.anm", 30, false, "") local snd_obj = xr_sound.get_safe_sound_object([[helicopter\see_enemy_3]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) end Вот так это выглядит: (кат-сцена с 2м.50с.) Чтобы снять видео, я скрыл худ, и убрал пушку вручную. 1 Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 21 Июня 2016 Кто может помочь написать биндер к оружию? Я начал делать, но т.к. я не скриптер много чего не могу понять. Чтоб тут лишнего не расписывать, у кого есть желание помочь пишите в личку. Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 2 Июля 2016 (изменено) Так и делать. Что-то типа этого? function bla_bla_bla() for id=1,65534 do local obj = level.object_by_id(id) if obj and get_clsid(obj) == IAmAStalker then bla_bla.bla() end end end Мне нужно изменить код из этого примера , а то и правда можно хитовать и ящики с БТРами. Вот я попытался переписать ещё и так, чтоб проверялись объекты не на всей локации а только в онлайне: --local radius_sqr = 100 -- квадрат радиуса --local actor_position = db.actor:position() -- позиция актора -- по идее, лучший вариант сделать биндеры на все живие объекты -- и регистрировать их в определённую таблицу, которую будем -- перебирать и проверять, живой ли объект. Но обойдёмся этим: -- перебор объектов в онлайне (медленно!) local PositionActor = db.actor:position() for id,o in pairs(db.storage) do -- апд: был 0, могло стукнуть актора -- берём с локации local obj = level.object_by_id(id) -- если объект по ид есть, то if obj and get_clsid(obj) == IAmAStalker and obj.alive and obj:alive() then -- если макс хп у объекта не равно -1, значит объект живой if obj:max_health() > 0 then -- если квадрат дистанции, между позицией актора и объектом меньше либо равен макс радиусу в квадрате, то ( distance_to_sqr быстрей вроде как) if obj:position():distance_to(PositionActor) <= 50 then -- Наносим хит (ну тут можно брать и какие то определённые параметры) hit = hit() -- создание объекта класса hit hit.direction = vector():set(1,0,0) --дирекция по оси x hit.draftsman = db.actor --нанёс урон актор hit.impulse = 600 --импульс hit.power = 1.45 --хит hit.type = 2 --тип урона - выстрел hit:bone("bip01_head") -- удар приходится на голову -- наносим урон obj:hit(hit) end end end end Я не скриптер, если что-то не так поправьте пожалуйста. Изменено 2 Июля 2016 пользователем 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 20 Июля 2016 (изменено) Изначально грешил на таблицу(мол получение звука неверно), но и без неё вылетает... Я бы сделал так: local s_obj = { [[ep\military\ml1]], [[ep\military\ml2]], [[ep\military\ml3]], } local snd_flag = false function mil_sound_update() local s_obj=s_obj[ math.random(#s_obj) ] local snd_obj = sound_object(s_obj) local level_gg = level.name() if snd_flag == false and level_gg == "l07_military" then snd_flag = true end if snd_flag then snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) end end Изменено 20 Июля 2016 пользователем Romann 1 Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 20 Июля 2016 (изменено) Проблема была в самом файле скрипта... И не понятно, какого она вообще рода... Ну это уже надо смотреть сам скрипт, мало ли, может те же переменные пересекаются в скрипте - названия надо давать оригинальные. А вообще у тебя в коде с таблицей получается две разные переменные с одинаковым названием: local s_obj = { ... } и local s_obj=s_obj[ math.random(#s_obj) ] Надо так: local snd_tbl = { [[ep\military\ml1]], [[ep\military\ml2]], [[ep\military\ml3]], } local snd_flag = false function mil_sound_update() local s_obj=snd_tbl[ math.random(#snd_tbl) ] local snd_obj = sound_object(s_obj) local level_gg = level.name() if snd_flag == false and level_gg == "l07_military" then snd_flag = true end if snd_flag then snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) end end Изменено 20 Июля 2016 пользователем Romann 1 Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 9 Августа 2016 Доброго времени суток, народ подскажите как скриптом заспавнить машину/бтр ? Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 14 Августа 2016 А лучше писать скрипты хотя бы в "Notepad++"(там есть синтаксис луа, и видно где нужно закрыть функцию), а не в блокноте... 3 1 Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 11 Ноября 2018 (изменено) Всем привет, кто может помочь разобраться со скриптом?(платформа СоС 1.4.22) Задача такая: если актор подxодит к "термо аномалиям" - выдаём инфопоршень. С костром проблем нету, у него свой биндер, а вот с жарками проблема, биндер один на все аномалии, уже перепробовали кучу вариантов, последний такого вида: Скрытый текст function anomaly_zone_binder:update(delta, obj) object_binder.update(self, delta) --Система замерзания, чтоб греться у термо аномалий. if(obj) then local s_obj = alife():object(obj:id()) local thermal_zones_tbl = { "zone_field_thermal", "zone_field_thermal_weak", "zone_field_thermal_average", "zone_field_thermal_strong", "zone_mine_thermal", "zone_mine_thermal_weak", "zone_mine_steam", "zone_mine_steam_weak", "zone_mine_steam_average", "zone_zharka_static", "zone_zharka_static_weak", "zone_zharka_static_average", "zone_zharka_static_strong" } if (s_obj) then for i = 1, #thermal_zones_tbl do if (s_obj:section_name() == thermal_zones_tbl[i]) then if db.actor:position():distance_to(self.object:position()) <= 4 then if not has_alife_info("EugeniumFreezingSystemWarm") then db.actor:give_info_portion("EugeniumFreezingSystemWarm") end end end end end end --Система замерзания, чтоб греться у термо аномалий. ... ... ... end Как ещё можно проверить - "жарка ли это"? Изменено 11 Ноября 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 17 Ноября 2018 (изменено) Привет, снова я. Имеем такую функцию: Скрытый текст local current_outfit = db.actor:item_in_slot(7) if current_outfit then local outfit_section = current_outfit:section() if outfit_properties[outfit_section] then outfit_protection = outfit_properties[outfit_section] end news_manager.send_tip(db.actor, "%c[250, 0, 255, 0]".."Б-р-р-р, прохладно.", nil, nil, nil) end Проблема в строчке сообщения, во первыx - сообщение надо отправить когда мы снимаем броню, а не когда она в слоте, во вторыx - сообщение отправляется постоянно, а нужно: сняли броню - отправили сообщение, одели броню - не отправляем сообщение, сняли - опять отправили. Кто подскажет, как лучше сделать? Изменено 17 Ноября 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 29 Сентября 2020 2 часа назад, mdm64 сказал: Думается, так оно и реализовано. Хотя, может быть и ошибаюсь... Ошибаешься. 2 часа назад, HellRatz сказал: большинство кода можно перенести из платформы в платформу Я как-то тоже подумывал перенести "невидимку" на КоК, там конечно есть свой "маскхалат", но вот хочется именно тот самый скрипт невидимки от @НаноБот, там используется некий "инвиз", что за зверь и где он в скриптах вообще объявляется я так и не нашёл(или плохо искал), или может он из движка не знаю, так и забил на это. Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 619 Опубликовано 29 Сентября 2020 11 минут назад, WinCap сказал: самый простой вариант Ну не всё так просто - это не реализация "невидимки", это всего лишь некий игнор, враг просто не будет атаковать, но по факту актора будут все видеть, и даже на него реагировать. И назвать такое "невидимкой" у меня лично язык не повернётся, ИМХО. А вот сделать полную реализацию невидимки, когда мобы актора не просто игнорят - а полностью не видят и не реагируют - вот это уже "невидимка". 4 Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение