Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 (изменено) Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском.Возможно, ответ на Ваш вопрос уже есть.Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. Изменено 23 Февраля 2016 пользователем warwer 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
imcrazyhoudini 197 Опубликовано 15 Октября 2022 Поделиться Опубликовано 15 Октября 2022 @Hind скорее всего они занимают рандомную работу в лагере, добавь проверку на профиль, глянь как с Шустрым сделано. ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
alex5773 1 330 Опубликовано 15 Октября 2022 Поделиться Опубликовано 15 Октября 2022 14.10.2022 в 13:57, alex5773 сказал: А как исправить файлы ,в которых всё сплошником идёт? Сейчас смотрел что у меня на диске из старья, и увидел W-U_Conv И вспомнил, что именно эта прога для этого))) Запускаешь, выбираешь Конвертировать папку Unix в Windows и выбираешь папку, и всё готово. В папке все сразу файлы становятся нормальные за пару секунд))) Можно и по одному файлу, можно и папку целиком. Можно и обратно с виндовс в уникс. Весит W-U_Conv всего 52 кб ))) Оказывается не нотепадом это делается, значит нотепадом что-то другое делал тогда. Три года прошло, забыл всё на фиг. Вот приходится вспоминать всё заново. Всё сплошником в файлах, в SRP-master для ЧН. Это если блокнотом открывать))) 1 Ссылка на комментарий
Купер 2 730 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 (изменено) Notepad++ Скрытый текст По идее, должно сработать. Изменено 16 Октября 2022 пользователем Купер 1 Ссылка на комментарий
Hind 29 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 Как сделать, чтобы непись подольше задержался на точке в smart_terrains? Мне надо чтобы он именно что стоял и охранял, а он тупо идёт. Иными словами, Как отрегулировать задержку на точке? + подскажите, почему неписи которые записаны в смарт террайн, идут куда хотят? Хотя работы есть. Они просто уходят. И интересует то, что я не увидел практически ни одной кучки пацанов сидящих за телевизором или костром. Почему? Вот схемки: Скрытый текст --' Escape blockpost if type == "esc_blokpost" then t = { section = "logic@esc_blockpost_patrol_yard", idle = 0, prior = 1, state = {0,1}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_watch_tv1", idle = 0, prior = 1, state = {0}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_watch_tv2", idle = 0, prior = 1, state = {0}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_kamp1", idle = 0, prior = 6, state = {1}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_kamp1", idle = 0, prior = 5, state = {1}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_kamp2", idle = 0, prior = 4, state = {1}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone", predicate = function(obj_info) return obj_info.name == "esc_blokpost_commander" end } table.insert(sj, t) t = { section = "logic@esc_blockpost_comander_guard1", idle = 0, prior = 3, state = {2}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_comander_guard2", idle = 0, prior = 2, state = {2}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_camper1", idle = 0, prior = 7, state = {2}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_camper2", idle = 0, prior = 0, state = {2}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blokpost_kpp_guard2", idle = 0, prior = 0, state = {2}, position_threshold = 100000, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blokpost_kpp2_guard3", idle = 0, prior = 0, state = {2}, position_threshold = 100000, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) end t = { section = "logic@esc_blokpost_kazarma_guard1", idle = 0, prior = 0, state = {1}, position_threshold = 100000, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) end end Скрытый текст [logic@esc_blockpost_patrol1] active = patrol@esc_blokpost_day_patrol_commander [patrol@esc_blokpost_day_patrol_commander] path_walk = day_patrol_walk path_look = day_patrol_look formation = back commander = true [logic@esc_blockpost_follower1] active = patrol@esc_blokpost_day_patrol_follower1 [patrol@esc_blokpost_day_patrol_follower1] path_walk = day_patrol_walk path_look = day_patrol_look formation = back commander = false [logic@esc_blockpost_follower2] active = patrol@esc_blokpost_day_patrol_follower2 [patrol@esc_blokpost_day_patrol_follower2] path_walk = day_patrol_walk path_look = day_patrol_look formation = back commander = false [logic@esc_blockpost_commander_day] active = camper@esc_blockpost_commander_day on_death = death@commander [camper@esc_blockpost_commander_day] path_walk = commander_walk path_look = commander_look [death@commander] on_info = %+esc_commander_die% [logic@esc_blockpost_post1] active = walker@esc_blockpost_post1 [walker@esc_blockpost_post1] path_walk = post_walk1 path_look = post_look1 [logic@esc_blockpost_post2] active = walker@esc_blockpost_post2 [walker@esc_blockpost_post2] path_walk = post_walk2 path_look = post_look2 [logic@esc_blockpost_camper_day] active = camper@esc_blockpost_camper_day [camper@esc_blockpost_camper_day] path_walk = camper_day_walk path_look = camper_day_look sniper = true def_state_campering = threat [logic@esc_blockpost_patrol_yard] active = walker@esc_blockpost_patrol_yard [walker@esc_blockpost_patrol_yard] path_walk = patrol_yard_walk [logic@esc_blockpost_watch_tv1] active = walker@esc_blockpost_watch_tv1 [walker@esc_blockpost_watch_tv1] path_walk = watch_walk1 path_look = watch_look1 [logic@esc_blockpost_watch_tv2] active = walker@esc_blockpost_watch_tv2 [walker@esc_blockpost_watch_tv2] path_walk = watch_walk2 path_look = watch_look2 [logic@esc_blockpost_kamp1] active = kamp@esc_blockpost_kamp1 [kamp@esc_blockpost_kamp1] center_point = kamp path_walk = kamp_task soundgroup = esc_blokpost_soldier [logic@esc_blockpost_kamp2] active = kamp@esc_blockpost_kamp2 on_death = death@commander [kamp@esc_blockpost_kamp2] center_point = kamp path_walk = kamp_task soundgroup = esc_blokpost_soldier [logic@esc_blockpost_sleep1] active = sleeper@esc_blockpost_sleep1 [sleeper@esc_blockpost_sleep1] path_main = sleep1 wakeable = false [logic@esc_blockpost_sleep2] active = sleeper@esc_blockpost_sleep2 [sleeper@esc_blockpost_sleep2] path_main = sleep2 wakeable = false [logic@esc_blockpost_sleep3] active = sleeper@esc_blockpost_sleep3 [sleeper@esc_blockpost_sleep3] path_main = sleep3 wakeable = false [logic@esc_blockpost_sleep4] active = sleeper@esc_blockpost_sleep4 [sleeper@esc_blockpost_sleep4] path_main = sleep4 wakeable = false [logic@esc_blockpost_comander_guard1] active = walker@esc_blockpost_comander_guard1 [walker@esc_blockpost_comander_guard1] path_walk = guard_walk1 path_look = guard_look1 [logic@esc_blockpost_comander_guard2] active = walker@esc_blockpost_comander_guard2 [walker@esc_blockpost_comander_guard2] path_walk = guard_walk2 path_look = guard_look2 [logic@esc_blockpost_camper1] active = camper@esc_blockpost_camper1 [camper@esc_blockpost_camper1] path_walk = camper1_walk path_look = camper1_look sniper = true [logic@esc_blockpost_camper2] active = camper@esc_blockpost_camper2 [camper@esc_blockpost_camper2] path_walk = camper2_walk path_look = camper2_look sniper = true [logic@esc_blockpost_alarm_patrol1] active = walker@esc_blockpost_alarm_patrol1 [walker@esc_blockpost_alarm_patrol1] path_walk = alarm1_walk [logic@esc_blockpost_alarm_patrol2] active = walker@esc_blockpost_alarm_patrol2 [walker@esc_blockpost_alarm_patrol2] path_walk = alarm2_walk [logic@esc_blokpost_kpp_guard2] active = walker@esc_blokpost_kpp_guard2 [walker@esc_blokpost_kpp_guard2] path_walk = esc_blokpost_kpp_guard_2_walk path_look = esc_blokpost_kpp_guard_2_look [logic@esc_blokpost_kpp2_guard3] active = walker@esc_blokpost_kpp2_guard3 [walker@esc_blokpost_kpp2_guard3] path_walk = esc_blokpost_kpp2_guard_3_walk path_look = esc_blokpost_kpp2_guard_3_look [logic@esc_blokpost_kazarma_guard1] active = walker@esc_blokpost_kazarma_guard1 [walker@esc_blokpost_kazarma_guard1] path_walk = esc_blokpost_kazarma_guard_1_walk path_look = esc_blokpost_kazarma_guard_1_walk Hind Upgrade Mod Ссылка на комментарий
mole venomous 3 272 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 (изменено) 34 минуты назад, Hind сказал: почему неписи которые записаны в смарт террайн, идут куда хотят? Хотя работы есть. Они просто уходят А НПС подходят под эти работы? В смартах есть установки predicate (и не только - у тебя вообще весь смарт может не работать. Тупо из-за мелкой ошибки в файле при написании.) Скрытый текст t = { section = "logic@esc_blockpost_commander_day", idle = 0, prior = 100, state = {0,2}, position_threshold = 100, -- online = true, in_rest = "", out_rest = "escape_blockpost_zone", predicate = function(obj_info) return obj_info.name == "esc_blokpost_commander" end } Вот здесь только для объекта esc_blokpost_commander 34 минуты назад, Hind сказал: ни одной кучки пацанов сидящих за телевизором или костром Скрытый текст 34 минуты назад, Hind сказал: t = { section = "logic@esc_blockpost_kamp1", idle = 0, prior = 5, state = {1}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } Обрати внимание на state. Эта работа выполняется при каком то условии - время суток, выданный/не выданный инфопоршен... 34 минуты назад, Hind сказал: подольше задержался на точке в smart_terrains Это установки в all.spawn. В секциях путей для данной работы, например: Скрытый текст [lim_exit_city_patrol_look] points = p0,p1,p2,p3,p4 p0:name = wp00|p=100|t=30000 p0:flags = 0x1 p0:position = 13.822473526001,-0.789200007915497,-330.906127929688 p0:game_vertex_id = 3006 p0:level_vertex_id = 33386 p1:name = wp01|p=100|t=15000 p1:flags = 0x2 p1:position = 2.4173846244812,0.944146752357483,-355.61669921875 p1:game_vertex_id = 3006 p1:level_vertex_id = 25614 p2:name = wp02|p=100|t=15000 p2:flags = 0x3 p2:position = 9.83491706848145,0.779918670654297,-296.050415039063 p2:game_vertex_id = 3009 p2:level_vertex_id = 30559 p3:name = wp03|p=100|t=15000 p3:flags = 0x4 p3:position = 30.4576187133789,0.938418030738831,-288.948120117188 p3:game_vertex_id = 3018 p3:level_vertex_id = 42572 p4:name = wp04|p=100|t=15000 p4:flags = 0x5 p4:position = 4.57630348205566,0.66511857509613,-360.93310546875 p4:game_vertex_id = 3006 p4:level_vertex_id = 27268 Здесь на примере четыре точки на пути НПС, в которые он последовательно смотрит с вероятностью p и продолжительностью t (в миллисекундах) Изменено 16 Октября 2022 пользователем mole venomous 1 Здесь могла быть ваша реклама. Ссылка на комментарий
Norman Eisenherz 282 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 @Купер Можно пояснение? Если я правильно понял, выражение означает "если перед New Line нет Carriage Return, то добавить такой спецсимвол". 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Hind 29 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 @mole venomous правильно понял что |p=100|t=15000 надо писать ТОЛЬКО в точку, куда он смотрит? Hind Upgrade Mod Ссылка на комментарий
mole venomous 3 272 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 (изменено) @Hind , я же просто пример кинул. Ты в точке пути, будь то walk или look, указываешь время и вероятность, анимацию... Смотря, чего тебе надо. Я недавно скидывал ссылку на документ с разбором логики, там это есть. Я же говорю - практикуй. Сделай простой смарт и всё на нём проверяй. В этом деле практика нужна. Изменено 16 Октября 2022 пользователем mole venomous 1 Здесь могла быть ваша реклама. Ссылка на комментарий
Hind 29 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 UPD: Настройки в state поменял на {1,2,3} и всё равно, никто не сидит за телеком или костром. Часть военных просто слоняется по базе, часть уходит в свободное плаванье. Скрытый текст t = { section = "logic@esc_blockpost_patrol_yard", idle = 0, prior = 1, state = {0,1,2}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_watch_tv1", idle = 0, prior = 1, state = {0,1,2}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_watch_tv2", idle = 0, prior = 1, state = {0,1,2}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_kamp1", idle = 0, prior = 6, state = {0,1,2}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_kamp1", idle = 0, prior = 5, state = {0,1,2}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_kamp2", idle = 0, prior = 4, state = {0,1,2}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone", predicate = function(obj_info) return obj_info.name == "esc_blokpost_commander" or "esc_jawa" or "esc_kobelcev" or "esc_shamtkov" or "esc_melnik" or "esc_dumko" or "esc_grachov" or "esc_borisenkov" or "esc_boroday" or "esc_bondarenko" end } table.insert(sj, t) t = { section = "logic@esc_blockpost_comander_guard1", idle = 0, prior = 3, state = {0,1,2}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_comander_guard2", idle = 0, prior = 2, state = {0,1,2}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_camper1", idle = 0, prior = 7, state = {0,1,2}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blockpost_camper2", idle = 0, prior = 0, state = {0,1,2}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } table.insert(sj, t) t = { section = "logic@esc_blokpost_kpp_guard2", idle = 0, prior = 0, state = {0,1,2}, position_threshold = 100000, online = true, in_rest = "", out_rest = "escape_blockpost_zone" predicate = function(obj_info) return obj_info.name == "esc_blokpost_commander" or "esc_jawa" or "esc_kobelcev" or "esc_shamtkov" or "esc_melnik" or "esc_dumko" or "esc_grachov" or "esc_borisenkov" or "esc_boroday" or "esc_bondarenko" end } table.insert(sj, t) t = { section = "logic@esc_blokpost_kpp2_guard3", idle = 0, prior = 0, state = {0,1,2}, position_threshold = 100000, online = true, in_rest = "", out_rest = "escape_blockpost_zone" predicate = function(obj_info) return obj_info.name == "esc_blokpost_commander" or "esc_jawa" or "esc_kobelcev" or "esc_shamtkov" or "esc_melnik" or "esc_dumko" or "esc_grachov" or "esc_borisenkov" or "esc_boroday" or "esc_bondarenko" end } table.insert(sj, t) end t = { section = "logic@esc_blokpost_kazarma_guard1", idle = 0, prior = 0, state = {0,1,2}, position_threshold = 100000, online = true, in_rest = "", out_rest = "escape_blockpost_zone" predicate = function(obj_info) return obj_info.name == "esc_blokpost_commander" or "esc_jawa" or "esc_kobelcev" or "esc_shamtkov" or "esc_melnik" or "esc_dumko" or "esc_grachov" or "esc_borisenkov" or "esc_boroday" or "esc_bondarenko" end } table.insert(sj, t) end end специально для теста оставил возможные работы в гулаге только свои собственные. И хоть бы хны - неписи всё равно не останавливаются на пост. Настройки вейпойнта на примере одного из часовых: look waypoint - wp00|t=50000|p=100 walk waypoint - wp00 Hind Upgrade Mod Ссылка на комментарий
mole venomous 3 272 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 2 минуты назад, Hind сказал: Настройки в state поменял на {1,2,3} и всё равно Загрузка состояний данного гулага: Скрытый текст if type == "esc_blokpost" then return function (gulag) local actor = db.actor if not actor then return gulag.state end for k,v in pairs(gulag.Object) do if v ~= true and v:best_enemy() ~= nil then gulag.alarm_start = game.get_game_time() actor:give_info_portion("esc_blockpost_alarm") return 2 -- тревога end end if gulag.alarm_start == nil or game.get_game_time():diffSec(gulag.alarm_start) > 300 then if level.get_time_hours() >= 6 and level.get_time_hours() <= 22 then actor:give_info_portion("esc_blockpost_normal") return 0 -- день else return 1 -- ночь end else return 2 end end end Там вообще нет состояния "3" 4 минуты назад, Hind сказал: walk waypoint - wp00 4 минуты назад, Hind сказал: не останавливаются на пост Ну ещё бы. 1 Здесь могла быть ваша реклама. Ссылка на комментарий
Hind 29 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 @mole venomous сделал как ты сказал "полигон". Назвал его "esc_hind" прописал в gulag_escape.ltx и .script Написал следующее: Скрытый текст [logic@esc_hind_guard1] active = walker@esc_hind_ward1 [walker@esc_hind_ward1] path_walk = ward_walk1 path_look = ward_look1 Скрытый текст if type == "esc_hind" then t = { section = "logic@esc_hind_ward1", idle = 0, prior = 1, state = {0, 1}, position_threshold = 100, online = true, in_rest = "", out_rest = "escape_blockpost_zone" } end end В редакторе поставил одного единственного непися, и два вейпоинта - esc_hind_ward_walk1, esc_hind_ward_look1. В esc_hind_ward_walk1 вписал следующее: wp00|t=15000|p=100|a=sit_ass (т.е. при работе сидит с анимкой ~15 секунд со 100% вероятностью) В esc_hind_ward_look1: wp00|t=15000|p=100 Запускаю - и этот чувак просто идёт куда угодно, но не выполняет работу. Hind Upgrade Mod Ссылка на комментарий
mole venomous 3 272 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 Я правильно понял, ты создал тест-смарт? Его нужно "подключить" в ф-иях "load_states(gname, type)" и checkStalker(npc_community, gulag_type, npc_rank, se_obj), подобно остальным и в зависимости от твоих "предпочтений". 1 Здесь могла быть ваша реклама. Ссылка на комментарий
Hind 29 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 @mole venomousизвиняюсь, а как? Hind Upgrade Mod Ссылка на комментарий
imcrazyhoudini 197 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 @Hind по примеру с другими, например: Скрытый текст function load_states(gname, type) if type == "bar_camp_1" then return function(gulag) if db.actor ~= nil then if ( level.get_time_hours() >= 5 and level.get_time_hours() <= 22 ) then return 0 -- день else return 1 -- ночь end else return gulag.state end end end function checkStalker(npc_community, gulag_type) if gulag_type == "bar_camp_1" then return npc_community == "stalker" end ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
mole venomous 3 272 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 (изменено) 12 минут назад, Hind сказал: а как? Скрытый текст 21 минуту назад, mole venomous сказал: подобно остальным На примере гулага "esc_blokpost". В скрипте конструкция == "esc_blokpost" встречается трижды. 1 - собственно, разбор работ Скрытый текст if type == "esc_blokpost" then t = { section = "logic@esc_blockpost_patrol1", idle = 0, prior = 8, state = {0}, position_threshold = 100, online = true, in_rest = "", out_rest = "esc_blockpost_patrol_restrictor" } ... 2 - загрузка состояний Скрытый текст if type == "esc_blokpost" then return function (gulag) local actor = db.actor if not actor then return gulag.state end for k,v in pairs(gulag.Object) do if v ~= true and v:best_enemy() ~= nil then gulag.alarm_start = game.get_game_time() actor:give_info_portion("esc_blockpost_alarm") return 2 -- тревога end end if gulag.alarm_start == nil or game.get_game_time():diffSec(gulag.alarm_start) > 300 then if level.get_time_hours() >= 6 and level.get_time_hours() <= 22 then actor:give_info_portion("esc_blockpost_normal") return 0 -- день else return 1 -- ночь end else return 2 end end end Но тебе такой сложный код для практики сейчас не нужен. Возьми попроще, например: if type == "you_gulag" then return function(gulag) return 0 end end 3 - коммьюнити Скрытый текст if gulag_type == "esc_blokpost" then return npc_community == "military" end Изменено 16 Октября 2022 пользователем mole venomous Здесь могла быть ваша реклама. Ссылка на комментарий
Hind 29 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 @mole venomous Присобачил в gulag_general.script Скрытый текст function load_states(gname, type) if type == "general_lager" then return function(gulag) if gulag.state == 0 then if gulag.population_comed == 0 then return 0 end if xr_logic.pick_section_from_condlist(db.actor, gulag.smrttrn, gulag.state_switch_1) ~= nil then --level.map_add_object_spot(gulag.smrttrn.id, "alife_presentation_smart_ready", "Ready") return 1 end return 0 elseif gulag.state == 1 then if gulag.population_comed == 0 then return 0 end if xr_logic.pick_section_from_condlist(db.actor, gulag.smrttrn, gulag.state_switch_0) ~= nil then --level.map_remove_object_spot(gulag.smrttrn.id, "alife_presentation_smart_ready") return 0 end return 1 end end end if type == "general_lair" then return function(gulag) if gulag.state == 0 then if gulag.population_comed == 0 then return 0 end if xr_logic.pick_section_from_condlist(db.actor, gulag.object, gulag.state_switch_1) ~= nil then --level.map_add_object_spot(gulag.smrttrn.id, "alife_presentation_smart_ready", "Ready") return 1 end return 0 elseif gulag.state == 1 then if gulag.population_comed == 0 then return 0 end if xr_logic.pick_section_from_condlist(db.actor, gulag.object, gulag.state_switch_0) ~= nil then --level.map_remove_object_spot(gulag.smrttrn.id, "alife_presentation_smart_ready") return 0 end return 1 end end end if type == "esc_hind" then return function(gulag) if db.actor ~= nil then if ( level.get_time_hours() >= 5 and level.get_time_hours() <= 22 ) then return 0 -- день else return 1 -- ночь end else return gulag.state end end end end function checkStalker(npc_community, type, npc_rank, se_obj, preset_name) return type == "general_lager" if gulag_type == "esc_hind" then return npc_community == "military" end end Логику чутка подправил: Скрытый текст [logic@esc_hind_ward1] active = guard@esc_hind_ward1 [guard@esc_hind_ward1] path_walk = guard_1_walk path_look = guard_1_look И скрипт тоже: Скрытый текст if type == "esc_hind" then t = { section = "logic@esc_hind_ward1", idle = 0, prior = 1, state = {0,1}, position_threshold = 100, online = true, in_rest = "", out_rest = "" } end end А всё равно непись не хочет идти на точку и сесть.. Идёт куда не надо. Hind Upgrade Mod Ссылка на комментарий
Купер 2 730 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 @Norman Eisenherz , именно так. Разные символы окончания строки в Unix и Windows форматах. Unix: Windows: При попытке открытия файла стандартным Win Блокнотом (в старых ОС, за Win10+ не скажу, не знаю): Он просто не понимает unix формат. Т.е., "... всё сплошняком идёт" (c). А регулярка меняет формат unix на формат window: \n -> \r\n при условии, что это уже не \r\n. Ссылка на комментарий
mole venomous 3 272 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 @Hind , добавляй в скрипте gulag_escape.script В ф-ию load_job Скрытый текст В load_states Скрытый текст В checkStalker Скрытый текст Если всё остальное сделано правильно, но опять не работает, значит, всё таки пора отложить на завтра не всё правильно... 1 Здесь могла быть ваша реклама. Ссылка на комментарий
Hind 29 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 @mole venomousне робит.. Может дело в алл спавне? walk вейпоинт я поставил флажком 0 и wp00. look вейпоинт я поставил так же. Непися разместил в "смарт террейне" (внутри сферы) Интересное наблюдение: в логике (.ltx) если: Скрытый текст [logic@esc_hind_ward1] active = walker@esc_hind_ward1 [walker@esc_hind_ward1] path_walk = ward_walk1 -- поставить без esc_hind (чтобы вышло полное название вейпоинта) path_look = ward_look1 -- поставить без esc_hind (чтобы вышло полное название вейпоинта) То непись пойдет влево (в ту сторону где находится вейпоинт) А если написать полностью: [logic@esc_hind_ward1] active = walker@esc_hind_ward1 [walker@esc_hind_ward1] path_walk = esc_hind_ward_walk1 path_look = esc_hind_ward_look1 То непись пойдет в правую сторону. Hind Upgrade Mod Ссылка на комментарий
imcrazyhoudini 197 Опубликовано 16 Октября 2022 Поделиться Опубликовано 16 Октября 2022 @Hind покажи настройки вэйпоинтов. Вообще лучше ещё глянуть правильно ли ты скрипт оформил, есть программа - script Syntax Checker, проверь ей. ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти