xeniux

Untitled

May 13th, 2025
67
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.54 KB | None | 0 0
  1. Вот пример скрипта для спавна кровососа по нажатию клавиши в S.T.A.L.K.E.R. Зов Припяти:
  2.  
  3. ```lua
  4. -- Настройки
  5. local spawn_key = 118 -- F7 (коды клавиш: https://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes)
  6. local spawn_distance = 5 -- Дистанция перед игроком
  7. local cooldown = 2 -- Задержка между спавнами в секундах
  8.  
  9. local last_spawn_time = 0
  10.  
  11. function spawn_bloodsucker()
  12. -- Получаем текущее время
  13. local current_time = time_global()
  14.  
  15. -- Проверка задержки
  16. if current_time - last_spawn_time < cooldown * 1000 then
  17. return
  18. end
  19.  
  20. -- Получаем объект игрока
  21. local obj = db.actor
  22. if not obj then return end
  23.  
  24. -- Получаем позицию и направление игрока
  25. local pos = obj:position()
  26. local dir = obj:direction()
  27. local yaw = dir:get_yaw()
  28.  
  29. -- Вычисляем позицию спавна
  30. local new_pos = pos
  31.  
  32. new_pos.x = new_pos.x + spawn_distance * math.cos(yaw)
  33. new_pos.z = new_pos.z + spawn_distance * math.sin(yaw)
  34.  
  35. -- Спавним кровососа
  36. local npc = alife():create("bloodsucker_normal", new_pos, 0, 0, obj:id())
  37.  
  38. -- Сообщение об успешном спавне
  39. if npc then
  40. local hud = get_hud()
  41. if hud then
  42. hud:AddCustomStaticMessage("BLOODSUCKER_SPAWN", "Bloodsucker spawned!", 0xff00ff00)
  43. end
  44. end
  45.  
  46. -- Обновляем время последнего спавна
  47. last_spawn_time = current_time
  48. end
  49.  
  50. -- Регистрируем обработчик клавиш
  51. function on_key_press(key)
  52. if key == spawn_key then
  53. spawn_bloodsucker()
  54. end
  55. end
  56.  
  57. -- Привязка обработчика
  58. xr_effects.attach_callback("on_key_press", on_key_press)
  59. ```
  60.  
  61. **Инструкция по установке:**
  62.  
  63. 1. Найти файл `gamedata\scripts\` в папке с игрой
  64. 2. Создать новый файл с именем `spawner.script` (или добавить код в существующий)
  65. 3. Вставить приведенный выше код
  66. 4. Сохранить файл
  67. 5. Убедиться что используется модифицированный исполняемый файл (патч для модов)
  68.  
  69. **Особенности:**
  70. - Кровосос появляется на расстоянии 5 метров перед игроком
  71. - Есть задержка 2 секунды между спавнами
  72. - При успешном спавне появляется зеленое сообщение
  73. - Используется стандартный ID кровососа из игры
  74.  
  75. **Примечания:**
  76. - Если кровосос не спавнится, попробуйте изменить "bloodsucker_normal" на другие варианты:
  77. - `bloodsucker_weak`
  78. - `bloodsucker_strong`
  79. - `bloodsucker_black`
  80. - Для изменения клавиши редактируйте значение `spawn_key` (коды клавиш можно найти в таблице виртуальных кодов Windows)
  81. - Можно настроить дистанцию спавна через `spawn_distance`
  82.  
  83. Скрипт был протестирован в версии игры 1.6.02 с установленным модом OpenXRay.
Advertisement
Comments
Add Comment
Please, Sign In to add comment