Overfirst 630 Опубликовано 30 Июня 2016 Полтеры не подчиняются логике - улетают в рандомном направлении. [smart_terrain];esc_polter_smart squad_id = 6 max_population = 3 def_restr = esc_polter_smart_def_restr [exclusive] esc_polter_1 = escape\exclusives\esc_polters_logic.ltx esc_polter_2 = escape\exclusives\esc_polters_logic.ltx esc_polter_3 = escape\exclusives\esc_polters_logic.ltx [logic@polters] prior = 200 monster_job = true [mob_home@polters] aggressive = true [logic@esc_polter_1]:logic@polters active = mob_home@esc_polter_1 suitable = {=is_monster_polter} true [mob_home@esc_polter_1]:mob_home@polters path_home = polter_home_walk_1 home_min_radius = 5 home_max_radius = 10 [logic@esc_polter_2]:logic@polters active = mob_home@esc_polter_2 suitable = {=is_monster_polter} true [mob_home@esc_polter_2]:mob_home@polters path_home = polter_home_walk_2 home_min_radius = 5 home_max_radius = 10 [logic@esc_polter_3]:logic@polters active = mob_home@esc_polter_3 suitable = {=is_monster_polter} true [mob_home@esc_polter_3]:mob_home@polters path_home = polter_home_walk_3 home_min_radius = 5 home_max_radius = 10 Я им и рестриктор в смарте указал. Не помогает. Из-за чего могут не поддаваться логике? Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 30 Июня 2016 @warwer, у меня в скваде прописан target_smart, я немного не догоняю, что нужно сделать-то? Подробнее, пожалуйста. И это полтеры на 1 раз, так сказать, респавн мне не нужен. Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 30 Июня 2016 %=create_squad(твой_сквад : имя_смарта)% Так я и делаю. Через рестриктор. Вопрос заключается в том, почему они улетают за пределы установленных для них границ? Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 1 Июля 2016 out_restr = имя_рестриктора За радиус не улетает и остается в точке спавна. Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 16 Июля 2016 (изменено) @tan4ik75, если в смарте прописан респавн и условия, то да. А если создать смарт и сунуть в него сквад, после чего умертвить, то респавна не будет, разумеется. Почитай по этому поводу вики на сталкерине. Изменено 16 Июля 2016 пользователем warwer Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 17 Июля 2016 Как можно ограничить движение камеры? Ну, например, стоит ГГ на какой-то снайперской позиции и повернуться назад нельзя, только на 90 гр., например. Реализуемо? Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 18 Июля 2016 @aka_sektor, мой пример, видимо, оказался не очень удачным. Сидит в кресле, например, не по вернётся же он на 360 гр. Да и вообще в целом интересна реализация. 1 Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 18 Июля 2016 @KitkaT.Net, %=spawn_object(секция:точка_пути)%, например. А для удаления существуют разные функции, да и для спавна тоже. См. xr_effects.script. 1 1 Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 22 Июля 2016 (изменено) @KitkaT.Net, достаточно, если предметов не очень много, проверять так {=actor_has_item(section)} . И так несколько раз. Ну а если айтемов с десяток и больше, то лучше написать функцию для их проверки. Изменено 22 Июля 2016 пользователем BoBaH_671 1 Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 22 Июля 2016 @alex5773, см. smart_terrain.script: local RESPAWN_IDLE = 1000 -- секунд игрового времени 1 Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 23 Июля 2016 Сколько уже мучаюсь с этим во всей трилогии. Наверно, решение элементарное? Как заставить непися сразу отыгрывать анимацию после перехода в remark из walker'а? Он постоит, руки потрёт и только потом отыгрывает... Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 24 Июля 2016 (изменено) С вопросом выше разобрался, перед сменой схемы вызывать: local state_mgr = db.storage[npc:id()].state_mgrif state_mgr == nil then return end local planner = npc:motivation_action_manager() state_mgr.animation:set_state(nil, true) state_mgr.animation:set_state() --set_control() state_mgr.animstate:set_state(nil, true) state_mgr.animstate:set_state() --set_control() state_mgr:set_state("idle", nil, nil, nil, {fast_set = true}) state_mgr:update() state_mgr:update() state_mgr:update() state_mgr:update() state_mgr:update() state_mgr:update() state_mgr:update() npc:set_body_state(move.standing) npc:set_mental_state(anim.free) Теперь такой вопрос. Есть отличия между on_timer и on_game_timer? Вот если запускать таймер реального времени, допустим, на 30 секунд и из этих 30-ти секунд игра зависает на несколько секунд, то время же идет все равно? Как в такой же ситуации с таймером игрового времени? Вот on_timer = 1000 - секунда реального времени. on_game_timer = 1 - секунда игрового времени. Сколько нужно задать on_game_timer'у, чтобы значение было равно одной секунде реального времени? on_game_timer = 1 Это будет 1 секунда игрового времени, а мне надо реального. Надо было сразу спросить проще: сколько реальных секунд в минуте игровог времени? Изменено 24 Июля 2016 пользователем BoBaH_671 Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 24 Июля 2016 db.actor:has_info("инфопоршень") return has_alife_info("info") Можно и как предложил ты. 1 Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 24 Июля 2016 (изменено) С монстрами в ЗП почти не работал, потому спрошу: как направить сквад монстров атаковать смарт сталкеров? mob_walker с точками пути рядом с нужным смартом или можно проще? Монстров более десятка и для каждого делать по точке... Есть еще варианты? Вопрос снят, допёр. Поставил смарт монстров рядом со смартом сталкеров, а самих монстров заспавнил подальше и сделал им логику mob_home... Изменено 24 Июля 2016 пользователем BoBaH_671 Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 26 Июля 2016 Можно как-то отловить зависание? Просто есть катсцена, в которой по истечению таймера в нужный момент запускается эффект fade_in_out, но может быть так, что из-за зависаний таймер срабатывает раньше и всё идёт не так. Как при зависании сделать, чтобы зависали и таймеры? Реально вообще? Или какой-то другой способ. Отловить на какой секунде камера, например. Лучше, конечно, последний вариант. Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 26 Июля 2016 @CiBrAiKeR, в alife.ltx нельзя, наверно. А вот в _g.script в функцию start_game_callback или как ее там, можно сунуть функцию с рандомизацией времени при старте, думаю. Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 26 Июля 2016 @CiBrAiKeR, дождись знающих, я тоже на ахти. Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 26 Июля 2016 @KitkaT.Net, воспользуйся %=spawn_object_in(section_item:section_obj)%. Ну ты понял, я думаю. Первое значение - айтем, который спавнить, второе - в кого спавнить. 1 Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 26 Июля 2016 (изменено) Попробуй-ка: return character_community(db.actor) == "dolg" Ну группировку уже по своим нуждам пишешь. По второму вопросу тебе сюда. См. схемы camper\sniper. Изменено 26 Июля 2016 пользователем BoBaH_671 1 Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение
Overfirst 630 Опубликовано 27 Июля 2016 Как вообще сделать используемый предмет? Открой items.ltx, там юзабельные предметы. По аналогии сделай свой. Ранее был известен под ником BoBaH_671. Поделиться этим сообщением Ссылка на сообщение