GM:DrawPhysgunBeam

  boolean GM:DrawPhysgunBeam( Player ply, Weapon physgun, boolean enabled, Entity target, number physBone, Vector hitPos )

Açıklama

Fizik silahı (physgun) efektlerinin oluşturulmasını geçersiz kılmanıza olanak tanır.

Bu hook, physgun_drawbeams convar'ı 0 olarak ayarlandığında bile çağrılır, çünkü bu hook aynı zamanda fizik silahının sprite efektlerini de geçersiz kılabilirken, convar bunu yapamaz.

Argümanlar

1 Player ply
Fizik silahının sahibi
2 Weapon physgun
Fizik silahı
3 boolean enabled
Işın etkin mi
4 Entity target
Tuttuğumuz obje. Eğer hiçbir şey tutulmuyorsa bu NULL olacaktır
5 number physBone
Tuttuğumuz fizik kemiğinin (PhysObj) ID'si. Gerçek bir kemiğe çevirmek için Entity:TranslatePhysBoneToBone kullanın.
6 Vector hitPos
Tuttuğumuz fizik kemiğine (PhysObj) göre ışının vurduğu pozisyon.

Dönen Değer

1 boolean
Varsayılan efektleri gizlemek için false döndürün

Örnek

Fizik silahından hedefe doğru düz bir çizgi çizecek örnek kod.

hook.Add( "DrawPhysgunBeam", "test", function( ply, wep, enabled, target, bone, deltaPos ) -- Işın dışındaki fizik silahı efektlerini burada çizin. -- Fizik silahı "ateşlenmiyor" mu? Hiçbir şey çizmeyin. if ( !enabled ) then return false end local clr = Color( 255, 0, 0 ) -- Fizik silahı "ateşlenmediğinde" beyaz, bu yukarıdaki "if" ile çalışmaz if ( !enabled ) then clr = Color( 255, 255, 255, 255 ) end local hitpos = ply:GetEyeTrace().HitPos if ( IsValid( target ) ) then local mt = target:GetBoneMatrix( bone ) if ( target:TranslatePhysBoneToBone( bone ) >= 0 ) then mt = target:GetBoneMatrix( target:TranslatePhysBoneToBone( bone ) ) end hitpos = LocalToWorld( deltaPos, Angle( 0, 0, 0 ), mt:GetTranslation(), mt:GetAngles() ) end local srcPos = wep:GetAttachment( 1 ).Pos if ( !ply:ShouldDrawLocalPlayer() ) then srcPos = ply:GetViewModel():GetAttachment( 1 ).Pos end render.DrawLine( srcPos, hitpos, clr ) return false -- Orijinal fizik silahı ışınını gizle end )

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