Winsor 177 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 Уважаемые, есть ли у кого опыт совмещения ZeroBrane Studio c библиотеками lua сталкера? т.е. такое вообще возможно? результат запуска скрипта в студии Program completed in 28.76 seconds (pid: 4916). test.lua:15: attempt to call global 'system_ini' (a nil value) stack traceback: test.lua: in main chunk Ссылка на комментарий
macron 1 823 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 (изменено) Тут вопрос возник (ТЧ с модом OLR). Пытаемся сделать, чтобы в момент сохранения проверялись координаты всех объектов локации, и если у каких-то объектов координаты совпадут с координатами заданного объекта (в данном примере это changer_test), то чтобы такие объекты удалялись. Вот такой скрипт подгружаем, но он всегда даёт положительный результат, ничего не удаляя, то есть сравнение не срабатывает. local changer_test = alife():object("lvl14_stancia_level_changer_0001") function update() if db.actor then for i=1,65535 do local gluk_obg = level.object_by_id(i) if gluk_obg ~= nil and gluk_obg:position():distance_to(changer_test)<0.01 then amk.remove_item(gluk_obg) news_manager.send_tip(db.actor, "Удаляем глючный объект - ОК") log1("Удаляем глючный объект - ОК") break elseif i == 65535 then news_manager.send_tip(db.actor, "нет глючных объектов") end end end end Изменено 2 Июня 2015 пользователем macron Ссылка на комментарий
Struck 61 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 @macron, вторым аргументов надо тоже вектор передавать, а не юзердату. 1 Ссылка на комментарий
dimka02 42 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 (изменено) Кто может подсказать функцию для проверки расстояния от камеры до точки куда целится гг. Платформа Тень Чернобыля. Изменено 2 Июня 2015 пользователем dimka02 Ссылка на комментарий
UnLoaded 313 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 функцию для проверки расстояния от камеры до точки куда целится гг. Дальномер лазерный ? Поищи, где-то это обсуждалось, и вроде даже отдельной темой. Ссылка на комментарий
Kirgudu 1 207 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 (изменено) @dimka02, X-Ray Extensions, функция level.get_target_dist(). Изменено 2 Июня 2015 пользователем Kirgudu 1 Инструмент Ссылка на комментарий
Elz 343 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 Народ, вопрос: как реализовать на 1.6.хх худ предметов? Юзаешь итем - отыгрывается анима? Заранее спасибо. -------------------------------------------------------------------------------------------------------------------------------------------------------- Второй вопрос: как на СЕ3 сделать инвентори а-ля стлк? Сорсы СЕ3 имеются... Первый опыт в С++ (WinAPI) - небольшой текстовый редактор.Сборник книг по C++ | DX | WinAPI | Other на ЯДе Ссылка на комментарий
FantomICW 678 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 (изменено) Юзаешь итем - отыгрывается анима? Вечный вопрос. Первый вариант - править двиг, делать удобную функцию. Второй - костыли. Я лично создаю секцию аним-объекта на основе оружия. Ему в draw-анимацию прописываю нужную анимку, прописываем ему какой-нибудь рабочий слот. Дальше используем юз-коллбек в bind_stalker.script. Собственно, нам нужно совершить следующее: Выдать ГГ аним-айтем Поместить айтем в слот (часто используется слот бинокля или болта, тогда приходится сначала временно удалять бинокль/болт) Активизировать слот аним-айтема Теперь вопрос заключается в окончании анимации...Вариант первый - ставить таймер для функции удаления на апдейт, так во всех модах. Второй намного удобней: использовать коллбек анимации камеры. По нему, если интересно, могу урок сделать. Кстати, посмотри скрипты этого мода. Изменено 2 Июня 2015 пользователем FantomICW 3 Ссылка на комментарий
FantomICW 678 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 @Struck, level.add_cam_effector(string, number, boolean, string) level.add_cam_effector2(string, number, boolean, string, number) level.add_cam_effector("camera_effects\\surge_02.anm", 10, false, "bind_stalker.anabiotic_callback") Можешь "лолштокать" дальше 4 Ссылка на комментарий
Struck 61 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 @FantomICW, это аргумент, а не коллбек. Коллбеков там и близко нет. Ссылка на комментарий
Desertir 202 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 (изменено) @Struck, в данном случае ты слишком придираешься к словам, да, аргумент, а что он обозначает? Делёные точкой модуль и имя функции, которая будет вызвана в конце анимации, или что там у вас. Что это по твоему, если не коллбек на окончание? Что по твоему коллбек? Изменено 2 Июня 2015 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Ссылка на комментарий
Struck 61 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 @Desertir, какой колбек на окончание? В функцию передается аргумент, никаких колбеков там нет. Не нужно заниматься казуистикой. Ссылка на комментарий
FantomICW 678 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 (изменено) @Struck, никто же не отрицает, что это аргумент. Но... Даже @Malandrinus назвал это коллбеком : http://www.amk-team.ru/forum/index.php?showtopic=7450&p=343515 (см. пространство level) Но ок, не будем опираться на то, что писал @Malandrinus. Смотрим в sr_cutscene.script, пробиваем поиском по "callback": if not (eff.global_cameffect) then level.add_cam_effector("camera_effects\\"..eff.anim..".anm", 210408, false, "sr_cutscene.effector_callback") else level.add_cam_effector2("camera_effects\\"..eff.anim..".anm", 210408, false, "sr_cutscene.effector_callback", self.st.fov or db.actor:fov()*0.75) end sr_cutscene.effector_callback() self:cutscene_callback() function action_cutscene:cutscene_callback() function effector_callback(obj) xr_logic.issue_event(object_scene, storage_scene, "cutscene_callback") end Ну ничего себе, сколько раз GSC назвали коллбеком то, что по классу коллбеком не является: Просто так назвали, наверное. Могли бы назвать сигналом...И, блин, тоже не верно было бы! Сигналы - это же другое: const act_end = 128; const anim_end = 4; const look_end = 2; const move_end = 1; const object_end = 32; const sound_end = 8; const time_end = 64; Ситуация не из легких, по ходу. Назовем это "аргумент, который срабатывает в момент окончания анимации камеры и оповещает об этом, запуская функцию". Звучит однозначно лучше, чем наименование "коллбек", которое передает ту же суть. Разговор тупо "ниочом". Более того, я готов сказать, что этот аргумент - действительно никакой не коллбек (по своей движково-скриптовой сути), который в тех же биндерах используется. Если тебе столь важно выявить единственное истинное наименование, то поздравляю, молодец. Если смысл в том, чтобы ограничить себя в канонах и терминах, тоже поздравляю. Моя цель была - намекнуть о системе для аним-айтемов, если что)) class callback { const action_animation = 21; const action_movement = 18; const action_object = 24; const action_particle = 23; const action_removed = 20; const action_sound = 22; const action_watch = 19; const actor_sleep = 25; const article_info = 12; const death = 8; const helicopter_on_hit = 27; const helicopter_on_point = 26; const hit = 16; const inventory_info = 11; const inventory_pda = 10; const level_border_enter = 7; const level_border_exit = 6; const map_location_added = 14; const on_item_drop = 29; const on_item_take = 28; const patrol_path_in_point = 9; const script_animation = 30; const sound = 17; const take_item_from_box = 34; const task_state = 13; const trade_perform_operation = 3; const trade_sell_buy_item = 2; const trade_start = 0; const trade_stop = 1; const trader_global_anim_request = 31; const trader_head_anim_request = 32; const trader_sound_end = 33; const use_object = 15; const weapon_no_ammo = 35; const zone_enter = 4; const zone_exit = 5; }; Изменено 2 Июня 2015 пользователем FantomICW 1 4 Ссылка на комментарий
smitt 0 Опубликовано 3 Июня 2015 Поделиться Опубликовано 3 Июня 2015 Народ, вопрос: как реализовать на 1.6.хх худ предметов? Юзаешь итем - отыгрывается анима? Заранее спасибо. -------------------------------------------------------------------------------------------------------------------------------------------------------- Второй вопрос: как на СЕ3 сделать инвентори а-ля стлк? Сорсы СЕ3 имеются... Flash+Action Script,по другому увы никак Насколько же древняя версия? Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 5 Июня 2015 Поделиться Опубликовано 5 Июня 2015 (изменено) В очередной раз напоролся на чудесное: if sound_theme.theme[info] ~= nil then if db.story_by_id[npc:id()] == nil then db.story_by_id[npc:id()] = {} end table.insert(db.story_by_id[npc:id()], info) end Это в xr_info.script Он вообще чудесен чуть более, чем полностью, во всех отношениях, но данный фрагмент - особенно. Чудесность будет понятна, если посмотреть, где и как используется результат. Изменено 5 Июня 2015 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Pro100The-Best 0 Опубликовано 6 Июня 2015 Поделиться Опубликовано 6 Июня 2015 (изменено) Справочное руководство по языку Lua 5.1 Обновите ссыль, очь почитать охото. Похоже, его по всему интернету снесли. Кто-то устроил борьбу за аффтырьские права. 8( Вот здесь смотрите: https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ru dc Изменено 7 Июня 2015 пользователем Dennis_Chikin Ссылка на комментарий
Outfater 288 Опубликовано 7 Июня 2015 Поделиться Опубликовано 7 Июня 2015 (изменено) Всем привет. Подскажите кто знает, как через поршень (в ТЧ) установить ГГ новый параметр скорости восстановления здоровья, или заживления раны, или повысить переносимый вес, и т.п. Спасибо. Ни как. Это не задается через поршни. dc Изменено 7 Июня 2015 пользователем Dennis_Chikin Ссылка на комментарий
Nazgool 250 Опубликовано 7 Июня 2015 Поделиться Опубликовано 7 Июня 2015 (изменено) @Pro100The-Best, Такое руководство подойдет? https://yadi.sk/d/wzSTaTNVh8Eeb Изменено 7 Июня 2015 пользователем Nazgool Ссылка на комментарий
Outfater 288 Опубликовано 7 Июня 2015 Поделиться Опубликовано 7 Июня 2015 (изменено) @Dennis_Chikin, через предмет в инв. тоже нельзя? Только артом на пояс, либо съеданием аптечек и иже с ними (см. конфиги аптечек), или писать в свойства актора (actor.health = , actor.radiation = и т.д.). Вес - только костюмами. Читайте уже документацию: куча ссылок везде висит, по всем разделам и темам. dc Изменено 7 Июня 2015 пользователем Dennis_Chikin Ссылка на комментарий
Gerakruger 18 Опубликовано 8 Июня 2015 Поделиться Опубликовано 8 Июня 2015 Добрый день, хочу прикрутить спавн монстров к посещению локации. (Спавн происходит в лаборатории х-16 каждый раз при заходе на локацию). Создаю свой скрипт, называю его kruger.script --мой спавн монстров function kruger_super_spawn() alife():create("m_gigant_jumper_e",vector():set(-50.813457489014,3.4666757583618,-16.220701217651),2039,1535) alife():create("spider_mini",vector():set(-63.28190612393,11.563755989075,-12.167085647583),1319,1530) alife():create("vypolzen_red",vector():set(-34.370433807373,11.56409740448,3.0166418552399),3203,1532) alife():create("zanoza_mut",vector():set(-10.502453804216,1.117949962616,-6.6846594810486),3914,1536) alife():create("karlik_mut",vector():set(-58.828918457031,-4.121039390564,-23.820091247559),1690,1531) alife():create("gigant_final_by",vector():set(-58.828918457031,-4.121039390564,-23.820091247559),1690,1531) alife():create("zombie_hell",vector():set(-58.828918457231,-4.121039390564,-23.820091247559),1690,1531) alife():create("swampbeast_strong",vector():set(-50.813457489014,3.4666757583618,-16.220701217651),2039,1535) alife():create("zombie_trup2",vector():set(-50.813457489214,3.4666757583618,-16.220701217651),2039,1535) alife():create("ghoul_strong",vector():set(-10.502453804016,1.117949962616,-6.6846594810486),3914,1536) alife():create("zombie_immortal",vector():set(-10.502453804216,1.117949962616,-6.6846594810486),3914,1536) alife():create("dog_sil_hill",vector():set(-115.49247,21.56357,-30.328390),219,1529) alife():create("bloodsucker_albinoss",vector():set(-102.81878,21.56417,-30.42200),432,1529) alife():create("zombie_bloodsucker",vector():set(-91.34848,21.57212,-21.57377),744,1530) alife():create("bloodsucker_mil",vector():set(30.63223,5.580508,13.53717),4673,1537) alife():create("bloodsucker_albinoss",vector():set(33.56632,5.58483,-11.035712),4760,1538) alife():create("zombie_bloodsucker",vector():set(47.4579,5.58542,-1.06534),5391,1538) alife():create("dog_green",vector():set(82.60298,5.57212,-14.6757),6040,1539) end function activate() if level.name() == "l08_yantar" and not has_alife_info("kruger_super_spawn")then kruger.kruger_super_spawn() db.actor:give_info_portion("kruger_super_spawn") end end Затем открываю файл bind_stalker.script и вставляю свою функцию, например здесь. -- $DreamMod апдейт схемы сна if sleep_manager.is_sleep_active() and xr_conditions.actor_dead() then xr_logic.issue_event(db.actor, db.storage[db.actor:id()]["ar_sleep"], "update") end amk.oau_watchdog=198 -- апдейт погоды self.weather_manager:update() amk.oau_watchdog=197 -- апдейт схемы детектора self.actor_detector:update() amk.oau_watchdog=196 --ms_ai.sleep_manager() amk.oau_watchdog=195 -- апдейт звуковой схемы актера xr_sound.update_actor() kruger.activate() amk.oau_watchdog=194 meceniy_work.set_invisible() amk.oau_watchdog=193 -- meceniy_utils.on_actor_update_callback() -- by Monnoroch Затем в файле info_portions.xml <info_portion id="autojump_enabled"></info_portion> <!-- kostya level --> <info_portion id="peshera_code_door_unlocked"></info_portion> <info_portion id="peshera_code_door_unlocked2"></info_portion> <info_portion id="peshera_code_door_unlocked3"></info_portion> <info_portion id="peshera_code_door_unlocked4"></info_portion> <info_portion id="spawn_teleport_exit"></info_portion> <info_portion id="spawn_teleport_hospital"></info_portion> <info_portion id="krovosos_spawn"></info_portion> <info_portion id="krovosos_spawn2"></info_portion> <info_portion id="generators_code_door_unlocked"></info_portion> <info_portion id="red_forest_open"></info_portion> <info_portion id="red_forest_open2"></info_portion> <info_portion id="red_polter_spawn"></info_portion> <info_portion id="red_krovosos_spawn"></info_portion> <info_portion id="kruger_super_spawn"></info_portion> </game_information_portions> В результате все замечательно, при заходе на локацию Янтарь, происходит спавн живности в лабе х-16 один раз. Помогите зациклить скрипт. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти