Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Вот пример скрипта для спавна кровососа по нажатию клавиши в S.T.A.L.K.E.R. Зов Припяти:
- ```lua
- -- Настройки
- local spawn_key = 118 -- F7 (коды клавиш: https://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes)
- local spawn_distance = 5 -- Дистанция перед игроком
- local cooldown = 2 -- Задержка между спавнами в секундах
- local last_spawn_time = 0
- function spawn_bloodsucker()
- -- Получаем текущее время
- local current_time = time_global()
- -- Проверка задержки
- if current_time - last_spawn_time < cooldown * 1000 then
- return
- end
- -- Получаем объект игрока
- local obj = db.actor
- if not obj then return end
- -- Получаем позицию и направление игрока
- local pos = obj:position()
- local dir = obj:direction()
- local yaw = dir:get_yaw()
- -- Вычисляем позицию спавна
- local new_pos = pos
- new_pos.x = new_pos.x + spawn_distance * math.cos(yaw)
- new_pos.z = new_pos.z + spawn_distance * math.sin(yaw)
- -- Спавним кровососа
- local npc = alife():create("bloodsucker_normal", new_pos, 0, 0, obj:id())
- -- Сообщение об успешном спавне
- if npc then
- local hud = get_hud()
- if hud then
- hud:AddCustomStaticMessage("BLOODSUCKER_SPAWN", "Bloodsucker spawned!", 0xff00ff00)
- end
- end
- -- Обновляем время последнего спавна
- last_spawn_time = current_time
- end
- -- Регистрируем обработчик клавиш
- function on_key_press(key)
- if key == spawn_key then
- spawn_bloodsucker()
- end
- end
- -- Привязка обработчика
- xr_effects.attach_callback("on_key_press", on_key_press)
- ```
- **Инструкция по установке:**
- 1. Найти файл `gamedata\scripts\` в папке с игрой
- 2. Создать новый файл с именем `spawner.script` (или добавить код в существующий)
- 3. Вставить приведенный выше код
- 4. Сохранить файл
- 5. Убедиться что используется модифицированный исполняемый файл (патч для модов)
- **Особенности:**
- - Кровосос появляется на расстоянии 5 метров перед игроком
- - Есть задержка 2 секунды между спавнами
- - При успешном спавне появляется зеленое сообщение
- - Используется стандартный ID кровососа из игры
- **Примечания:**
- - Если кровосос не спавнится, попробуйте изменить "bloodsucker_normal" на другие варианты:
- - `bloodsucker_weak`
- - `bloodsucker_strong`
- - `bloodsucker_black`
- - Для изменения клавиши редактируйте значение `spawn_key` (коды клавиш можно найти в таблице виртуальных кодов Windows)
- - Можно настроить дистанцию спавна через `spawn_distance`
- Скрипт был протестирован в версии игры 1.6.02 с установленным модом OpenXRay.
Advertisement