-
Публикаций
305 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные FalkineIsaku
-
-
СпойлерВ этой теме будут всякие функции, проверки для логики рестриктора (и объяснения к ним). Также вы можете дополнить этот
сборник новыми функциями/проверками, достаточно просто написать их в комментарии, позже я добавлю их в шапку темы.Спойлер+(инфопоршень) Выдача инфопоршня
-(инфопоршень) Забираем у гг этот инфопоршень
=run_postprocess(black:3009:true) Бесконечная темнота
=stop_postprocess(3009) Убираем бесконечную темноту
=set_weather(sun_shafts:true) Устанавливаем погоду
=actor_punch Бьём гг по лицу
=disable_ui Пустой экран, нет худа, оружия, карты и т.д.
=enable_ui Возвращаем гг экран
=scenario_autosave(st_start_save_game) Делаем автоматическое сохранение с текстом из "text/rus"
=give_task(quest_id) Выдача квеста гг
=teleport_actor(path_walk:path_look) Телепортируем гг на точку walk, с поворотом на look
=spawn_object(wpn_kalash48:path_walk) Спавним объект из spawn_element на точке walk
=set_game_time(00:01) Ставим своё время
=create_squad(squad:smart_terrain) Заспавнить сквад на смарт-террейне
=remove_squad(squad) Удалить сквад из игры
=remove_item(bread) Забрать у гг этот предмет
=give_item(bread:actor) Выдать гг этот предмет
=inc_faction_goodwill_to_actor(army:5000) Установка дружественных отношений гг с группировкой(без "-": 5000)
=dec_faction_goodwill_to_actor(army:5000) Установка вражеских отношений гг с группировкой(с "-": -5000)
=play_sound(music_id) Проигрывание звука (нужно регистрировать в script_sound_****).
=hit_actor(0.2) Снести пару хп актёру. для работы функции: Раскомментирование hit_actor.txt
=kill_squad(squad_id) Убить сквад
=clear_smart_terrain(smart_id) Убрать все сквады с смарт-террейна
=set_actor_faction(army) Меняем гг группировку
=give_treasure(esc_hiding_place) Выдаём гг тайник
=start_surge Начинаем выброс
=stop_surge Заканчиваем выбросСпойлерСразу поясняю, если перед проверкой стоит "=" то эта проверка выполняется/есть, если стоит "!" значит не выполняется/нету.
В этой теме в проверках будет "=", при надобноости заменяйте на "!"
+(инфопоршень) Есть ли у гг есть этот инфопоршень?
-(инфопоршень) Нет ли у гг этого инфопоршня?
=actor_in_zone(state_space_restrictor) ГГ в этом рестрикторе
=actor_on_level(zaton) ГГ на затоне
=actor_has_item(bread) Есть ли у гг этот предмет?
=surge_started Начался ли выброс?
=surge_complete Закончился ли выброс?
=actor_alive Жив ли Актёр?
=npc_in_zone(state_space_restrictor) Нпс находится в этом рестрикторе?
=heli_see_npc Видит ли вертолёт нпс?
=heli_see_actor Видит ли вертолёт гг?
=see_enemy Видит ли врага?
=see_actor Видит ли ГГ?
=actor_friend ГГ друг?
=actor_neutral ГГ нейтрален?
=actor_enemy ГГ враг?
=fighting_actor ГГ активный враг?
=hit_by_actor Хит нанесён ГГ?
=killed_by_actor Умер от рук ГГ?
=actor_has_weapon() У ГГ есть это оружие?
=is_rain Сейчас дождь?
=is_day Сейчас день?
=squad_in_zone(айди_сквада:айди_зоны) Сквад в какой-то зоне?СпойлерПроверка - {=/! проверка}
Функция - %=функция%
Пример:
on_info = {+infoportion} %infoportion%-
1
-
3
-
3
-
-
-
-
АлеБард , если удаление из симуляции и удаление смарта не помогло, значит скорее всего дело либо в скрипте, либо в воздухе?
Спойлер -
-
-
-
-
-
Спросить в группе по аномали: ❌
Создавать для этого тему в совершенно другой категории: ✅-
1
-
-
-
-
-
-
-
-
-
Belka_mod попробуй переделать сектора, если будешь билдить локацию и порталы тоже. Кстати, валидность проходить не обязательно, она сама проходится при билде локации, спавна и т.д.
-
-
-
-
-
Nik_99 у тебя как прописана? #include "script_sound_escape.ltx"? В script_sound
Дополнено 55 минуты спустяЗдравствуйте, не спавнятся сквады через simulation, локация везде прописана. На всякий случай вот то как прописал и как спавню
Спойлерlocal group_id_by_levels = {zaton = 1,
pripyat = 2,
jupiter = 3,
labx8 = 4,
jupiter_underground = 5,
escape = 6}Спойлер[start_position_escape]
esc_stalker_base_trader = esc_a1_smart_stalker_base
esc_stalker_base_mechanic = esc_a1_smart_stalker_base
esc_stalker_tunnel_dead_squad = esc_sim_6Через логику рестриктора или respawn_params всё спавнится нормально.
-
[CoP] Изменение прочности вещей в любой момент игры
в Уроки, вопросы и советы по созданию модов
Опубликовано
Этот урок будет о том, как изменить прочность вещей гг в любой момент игры. (в теме будет в начале игры)
Есть два способа: Изменение оригинальной функции, или удаление старой и создание новой. (Можно оставить старую и создать новую)
Ищем в нашем файле: "function damage_actor_items_on_start", думаю тут понятно, но на всякий случай объясню:
function damage_actor_items_on_start(actor, npc) "damage_actor_items_on_start" - можно изменить.
local actor = db.actor - Не трогать
local obj = actor:object("helm_respirator") "helm_respirator" - это секция предмета, у которого мы хотим повысить прочность.
if obj ~= nil then - Не трогать
obj:set_condition(0.8) "0.8" - Это новое состояние предмета, которое мы можем установить.
end - Не трогать
end - Не трогать
По этой схеме вполне можно сделать новую функцию
Для начала расскажу как убрать стандартную активацию функции (в начале оригинала ЗП на Затоне)
Заходим в "configs\scripts\zaton\zaton_a1_logic.ltx" и просто убираем %=damage_actor_items_on_start% (она на 5 строчке)
Теперь расскажу как вызвать такую функцию снова, уже с другим именем и в другой логике.
Открываем вашу логику рестриктора, и в самое начало, после самой первой "on_info/on_game_timer" пишем: %=имя_вашей_функции%
Пример:
on_info = {+esc_start_game !surge_started} %=имя_вашей_функции%
Всё...