CTakeDamageInfo

Bir hasar olayıyla ilgili tüm verileri depolamak ve değiştirmek için kullanılan bir sınıftır. Boş bir CTakeDamageInfo nesnesi DamageInfo ile oluşturulabilir.

Bu nesnenin aktarıldığı hook'ların listesi:

Bu nesneyi kullanan fonksiyonların listesi:

Metotlar

CTakeDamageInfo:AddDamage( number damageIncrease )
Hasarı damageIncrease kadar artırır.
number CTakeDamageInfo:GetAmmoType()
Hasarı veren silahın kullandığı mermi türünü döndürür.
Entity CTakeDamageInfo:GetAttacker()
Saldırganı (saldırıyı başlatan karakter), örneğin bir oyuncu veya silahı ateşleyen bir NPC'yi döndürür.
number CTakeDamageInfo:GetBaseDamage()
Yetenek seviyesi (game.GetSkillLevel) tarafından değiştirilmemiş başlangıç hasarını döndürür.
number CTakeDamageInfo:GetDamage()
Toplam hasarı döndürür.
number CTakeDamageInfo:GetDamageBonus()
Mevcut bonus hasarını alır.
number CTakeDamageInfo:GetDamageCustom()
Özel hasar türünü alır. Bu, genişletilmiş hasar bilgisi için Day of Defeat: Source ve Team Fortress 2 tarafından kullanılır, ancak varsayılan olarak Garry's Mod'da kullanılmaz.
Vector CTakeDamageInfo:GetDamageForce()
Hasar kuvvetini temsil eden bir vektör döndürür. CTakeDamageInfo:SetDamageForce ile ayarlanabilir.
Vector CTakeDamageInfo:GetDamagePosition()
Hasarın uygulandığı veya uygulanacağı konumu döndürür. CTakeDamageInfo:SetDamagePosition kullanılarak ayarlanabilir.
number CTakeDamageInfo:GetDamageType()
Hasarın hasar türünü/türlerini gösteren bir bitflag döndürür. Bunun yerine CTakeDamageInfo:IsDamageType kullanmayı düşünün. Bu fonksiyon tarafından döndürülen değer birden fazla hasar türü içerebilir.
Entity CTakeDamageInfo:GetInflictor()
Hasarı vereni (inflictor) döndürür. Bu ille de bir silah olmak zorunda değildir. Hitscan silahlar için bu, silahtır. Mermi (projectile) silahlar için bu, mermidir. Bir varlığa hasar veren silahı elde etmek için daha güvenilir bir yöntem olarak, CTakeDamageInfo:GetWeapon veya GetAttacker ile birlikte GetActiveWeapon kullanın.
number CTakeDamageInfo:GetMaxDamage()
Maksimum hasarı döndürür. Bakınız: CTakeDamageInfo:SetMaxDamage
Vector CTakeDamageInfo:GetReportedPosition()
Hasarın meydana geldiği başlangıçtaki, değiştirilmemiş konumu döndürür.
Entity CTakeDamageInfo:GetWeapon()
Varsa, hasar olayının hasar veren silahını döndürür. Bu ille de bir Weapon varlığı olmak zorunda değildir, ancak büyük olasılıkla öyledir. Hasarı veren asıl varlık için CTakeDamageInfo:GetInflictor'a bakın.
boolean CTakeDamageInfo:IsBulletDamage()
Hasarın bir mermi tarafından verildiği durumlarda true döndürür.
boolean CTakeDamageInfo:IsDamageType( number dmgType )
Hasar bilgisinin belirtilen hasar türünü içerip içermediğini döndürür.
boolean CTakeDamageInfo:IsExplosionDamage()
Hasar bilgisinin patlama hasarı içerip içermediğini döndürür.
boolean CTakeDamageInfo:IsFallDamage()
Hasar bilgisinin düşme hasarı içerip içermediğini döndürür.
CTakeDamageInfo:ScaleDamage( number scale )
Hasarı verilen değere göre ölçeklendirir.
CTakeDamageInfo:SetAmmoType( number ammoType )
Hasarı veren silahın kullandığı mermi türünü değiştirir.
CTakeDamageInfo:SetAttacker( Entity ent )
Hasarın saldırganını (saldırıyı başlatan karakter), örneğin bir oyuncu veya bir NPC olarak ayarlar.
CTakeDamageInfo:SetBaseDamage( number )
Yetenek seviyesi (game.GetSkillLevel) tarafından değiştirilmemiş başlangıç hasarını ayarlar. Bu fonksiyon, CTakeDamageInfo:GetDamage'i güncellemez veya ona dokunmaz.
CTakeDamageInfo:SetDamage( number damage )
Hasar miktarını ayarlar.
CTakeDamageInfo:SetDamageBonus( number damage )
Bonus hasarı ayarlar. Bonus hasar otomatik olarak uygulanmaz, bu nedenle varsayılan olarak dışarıdan bir etkisi olmaz.
CTakeDamageInfo:SetDamageCustom( number DamageType )
Özel hasar türünü ayarlar. Bu, genişletilmiş hasar bilgisi için Day of Defeat: Source ve Team Fortress 2 tarafından kullanılır, ancak varsayılan olarak Garry's Mod'da kullanılmaz.
CTakeDamageInfo:SetDamageForce( Vector force )
Hasarın yönlü kuvvetini ayarlar. Bu fonksiyon sadece VPHYSICS hareket türünü kullanan varlıkları etkiler. Bu, oyuncuların ve çoğu NPC'nin sağladığınız kuvvet vektörünü geri tepme (knockback) olarak almayacağı anlamına gelir. Hasar alan varlık WALK veya STEP hareket türlerini kullanıyorsa, hasar kuvveti bunun yerine otomatik olarak hesaplanır. Varlığı, hasarı verenin (inflictor) Entity:WorldSpaceCenter'ından uzağa doğru iter ve bu itme, toplam hasar miktarı ve varlığın boyutunu içeren hesaplanmış bir değere göre ölçeklenir. Kaynak Geri tepmeyi tamamen devre dışı bırakmak için, EFL_NO_DAMAGE_FORCES'a bakın veya aşağıdaki geçici çözüm örneğini kullanın.
CTakeDamageInfo:SetDamagePosition( Vector pos )
Hasarın uygulanacağı konumu ayarlar.
CTakeDamageInfo:SetDamageType( number type )
Hasar türünü ayarlar.
CTakeDamageInfo:SetInflictor( Entity inflictor )
Hasarı vereni (inflictor), örneğin bir silahı ayarlar. Hitscan/mermi silahları için bu, silah olmalıdır. Mermi (roketatar, el bombası, vb.) silahlar için bu, mermi olmalı ve CTakeDamageInfo:SetWeapon silah olarak ayarlanmalıdır.
CTakeDamageInfo:SetMaxDamage( number maxDamage )
Bu hasar olayının neden olabileceği maksimum hasarı ayarlar.
CTakeDamageInfo:SetReportedPosition( Vector pos )
Hasarın kaynağını ayarlar.
CTakeDamageInfo:SetWeapon( Entity )
Hasar olayının hasar veren silahını ayarlar. Bu, bir mermi değil, bir Weapon varlığı olmalıdır. Ayrıca bakınız: CTakeDamageInfo:SetInflictor.
CTakeDamageInfo:SubtractDamage( number damage )
Belirtilen miktarı hasardan çıkarır.

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord