почин диалогов, пратиклы от выстлеров

This commit is contained in:
2026-07-25 23:26:07 +07:00
parent af01cf14e7
commit 8027f1875a
343 changed files with 13727 additions and 176 deletions
+30 -6
View File
@@ -265,13 +265,37 @@ func displayMuzzleFlash():
push_error("%s doesn't have a muzzle flash reference" % cW.weaponName)
return
# НАЙДИ И ПОЛНОСТЬСТЬЮ ЗАМЕНИ ЭТУ ФУНКЦИЮ В WeaponManagerScript.gd:
# Сначала загружаем файл искр в самом верху скрипта (к остальным preload, если есть, или прямо перед функцией):
const SPARKS_SCENE = preload("res://addons/Weapons/bullet_sparks.tscn.tscn") # Укажи правильный путь к файлу из Шага 1!
func displayBulletHole(colliderPoint : Vector3, colliderNormal : Vector3):
#create a muzzle flash instance, and display it at the indicated point
var bulletDecalInstance = bulletDecal.instantiate()
get_tree().get_root().add_child(bulletDecalInstance)
bulletDecalInstance.global_position = colliderPoint
bulletDecalInstance.look_at(colliderPoint - colliderNormal, Vector3.UP)
bulletDecalInstance.rotate_object_local(Vector3(1.0, 0.0, 0.0), 90)
# 1. Оригинальный код автора для спавна декали дырки от пули
if bulletDecal != null:
var bulletDecalInstance = bulletDecal.instantiate()
get_tree().get_root().add_child(bulletDecalInstance)
bulletDecalInstance.global_position = colliderPoint
bulletDecalInstance.look_at(colliderPoint - colliderNormal, Vector3.UP)
bulletDecalInstance.rotate_object_local(Vector3(1.0, 0.0, 0.0), 90)
# 2. НАШЕ НОВОЕ ДОБАВЛЕНИЕ: СПАВН ПАРТИКЛОВ ИСКР
if SPARKS_SCENE != null:
# Было: var sparks_instance = SPARKS_SCENE.instAPE()
# НАДО (СТРОГО ВОТ ТАК):
var sparks_instance = SPARKS_SCENE.instantiate()
get_tree().get_root().add_child(sparks_instance)
# Слегка смещаем искры назад от стены (на 0.05 метра вдоль нормали),
# чтобы они гарантированно не рендерились внутри текстуры стены!
sparks_instance.global_position = colliderPoint + (colliderNormal * 0.05)
if colliderNormal.length() > 0.01:
sparks_instance.look_at(sparks_instance.global_position + colliderNormal, Vector3.UP)
func weaponSoundManagement(soundName : AudioStream, soundSpeed : float):
var audioIns : AudioStreamPlayer3D = audioManager.instantiate()