WEAPON

SWEP'lerde kullanıma uygun olan varsayılan silah metotları. Bu hook'lar, Half-Life 2 silahları gibi betiklenmemiş (non-scripted) silahlarda çalışmayacaktır.

Mevcut tüm SWEP alanlarını burada bulabilirsiniz: SWEP yapısı

Weapon'dan metotları miras alır.

Olaylar

boolean WEAPON:AcceptInput( string inputName, Entity activator, Entity called, string data )
Başka bir varlık (entity) bu varlığa bir olay (event) tetiklediğinde çağrılır.
Fare hassasiyetini ayarlamanıza olanak tanır. Bu hook yalnızca GM:AdjustMouseSensitivity'yi geçersiz kılmadıysanız (override) çalışır.
number WEAPON:Ammo1()
Oyuncunun ne kadar birincil cephanesi olduğunu döndürür.
number WEAPON:Ammo2()
Oyuncunun ne kadar ikincil cephanesi olduğunu döndürür.
Vector, Angle, number WEAPON:CalcView( Player ply, Vector pos, Angle ang, number fov )
Bu silah kullanımdayken oyuncu görüşünü ayarlamanıza olanak tanır. Bu hook, GM:CalcView'in varsayılan uygulamasından çağrılır. Bu nedenle, CalcView'e eklenen başka bir hook herhangi bir değer döndürürse veya mevcut oyun modu (gamemode) varsayılan hook'u geçersiz kılıp SWEP fonksiyonunu çağırmazsa, bu hook çağrılmaz.
Vector, Angle WEAPON:CalcViewModelView( Entity ViewModel, Vector OldEyePos, Angle OldEyeAng, Vector EyePos, Angle EyeAng )
Viewmodel'in pozisyonunu ve açısını geçersiz kılmaya (override) olanak tanır. Bu hook yalnızca GM:CalcViewModelView'i geçersiz kılmadıysanız çalışır.
Bir Citizen NPC'si yerden almak için (daha iyi) bir silah aradığında çağrılır.
Cephane kalıp kalmadığını kontrol etmek için yardımcı bir fonksiyondur.
Cephane kalıp kalmadığını kontrol etmek için yardımcı bir fonksiyondur.
HUD'daki cephane göstergesi için istediğiniz sayıları kullanmanıza olanak tanır. Standart cephane kullanmayan silahlar için faydalı olabilir.
boolean WEAPON:Deploy()
Oyuncu bu silaha yeni geçtiğinde çağrılır. Bu hook'un tahmin edilebilir (predicted) olması nedeniyle, tek oyunculu modda istemci tarafında (clientside) hiç çağrılmaz. Çok oyunculu modda ise silah Player:SelectWeapon veya "use" konsol komutu ile değiştirilirse istemci tarafında çağrılmaz, ancak varsayılan silah seçim menüsüyle ve CUserCmd:SelectWeapon kullanıldığında istemci tarafında çağrılır.
Nişangah (crosshair) çizilmek üzereyken çağrılır ve onu geçersiz kılmanıza (override) olanak tanır. Eğer SWEP.DrawCrosshair `false` olarak ayarlanmışsa veya oyuncu Player:CrosshairDisable'dan etkilenmişse bu fonksiyon çağrılmaz.
boolean WEAPON:DoImpactEffect( table tr, number damageType )
Silahın oluşturduğu çarpma efektlerini geçersiz kılabilmesi (override) için çağrılır. Eğer mermi tahmin edilebilir (predicted) bir ortamda ateşlendiyse, hook CLIENT alanında (realm) çağrılmaz. Bu hook ayrıca WEAPON:GetOwner():FireBullets çağrıldığında da çağrılır. MULTIPLAYER'da bu hook ilgili durumda çağrılırken, SINGLEPLAYER'da FireBullets SERVER'da çağrılsa bile bu hook her zaman CLIENT alanında çağrılır.
WEAPON:DrawHUD()
Bu hook, bu silah kullanımdayken ekrana çizim yapmanıza olanak tanır. Eğer özel bir nişangah (crosshair) çizmek istiyorsanız, bunun yerine WEAPON:DoDrawCrosshair kullanmayı düşünün.
Bu hook, bu silah kullanımdayken ekrana çizim yapmanıza olanak tanır. Bu hook WEAPON:DrawHUD'dan önce çağrılır ve GM:HUDPaintBackground'un eşdeğeridir.
WEAPON:DrawWeaponSelection( number x, number y, number width, number height, number alpha )
Bu hook, silah seçim menüsündeki seçim ikonunu çizer.
WEAPON:DrawWorldModel( number flags )
Dünya modelini (world model) çizmek üzereyken çağrılır.
Yarı saydam (translucent) dünya modelini çizmek üzereyken çağrılır.
WEAPON:Equip( Entity NewOwner )
Bir oyuncu veya NPC silahı yerden aldığında çağrılır.
WEAPON:EquipAmmo( Player ply )
Oyuncu silahı yerden aldı ve içindeki cephaneyi aldı. Bu çağrıdan hemen sonra silah kaldırılacaktır.
boolean WEAPON:FireAnimationEvent( Vector pos, Angle ang, number event, string options, Entity source )
Namlu parlaması veya kovan fırlatma gibi bir animasyon olayını (event) yürütmeden önce çağrılır. Bu, 3000 serisi olaylar için yalnızca sunucu tarafında (serverside), 5000 serisi ve diğer olaylar için ise istemci tarafında (clientside) çağrılacaktır.
Bu hook oyuncunun ekranını dondurmanıza olanak tanır. Oyuncu hala hareket edebilir veya ateş edebilir.
Bu hook NPC'ler içindir, onunla ne yapmaya çalışmaları gerektiğini döndürürsünüz. Bu hook içinde aynı varlık (entity) üzerinde NPC:CapabilitiesGet çağırmak sonsuz döngülere neden olabilir, çünkü bu fonksiyon WEAPON:GetCapabilities'in sonucunu dönüş değerinin üstüne ekler.
number WEAPON:GetNPCBulletSpread( number proficiency )
Silah NPC'ler tarafından kullanıldığında, ateşlenen mermilerin ne kadar isabetli olacağını belirlemek için çağrılır. İsabetsizlik, bu hook'tan dönen değere göre NPC:GetAimVector değiştirilerek simüle edilir.
Silah NPC'ler tarafından kullanıldığında, NPC'ye bu silahı nasıl kullanacağını bildirmek için çağrılır. NPC'nin ne kadar süre boyunca sürekli ateş edebileceğini veya etmesi gerektiğini kontrol eder.
Silah NPC'ler tarafından kullanıldığında, NPC'ye bu silahı nasıl kullanacağını bildirmek için çağrılır. NPC'nin seri atışlar (bursts) arasında ne kadar süre dinlenebileceğini (ateş etmeyeceğini) kontrol eder.
İzli mermi (tracer) efektinin nereden geleceğini geçersiz kılmanıza (override) olanak tanır. ( Görsel mermiler )
Vector, Angle WEAPON:GetViewModelPosition( Vector EyePos, Angle EyeAng )
Bu hook, view model pozisyonunu ve açılarını ayarlamanıza olanak tanır.
boolean WEAPON:Holster( Entity weapon )
Silah kılıfına konmaya (holster) çalışıldığında çağrılır. Bu, yalnızca Player:SelectWeapon kullanıldığında sunucu tarafında (serverside) çağrılır, çünkü bu fonksiyon silahı hemen tahmin (prediction) dışına çıkarır. Bu, istemci tarafında (clientside) her kılıfa koyma işlemi için iki kez çağrılır, biri Prediction'da diğeri değil. Sorun Takipçisi: 2854WEAPON:OnRemove çağrılmadan önce, bu fonksiyon sadece sunucu tarafında çağrılır. Sorun Takipçisi: 3133
boolean WEAPON:HUDShouldDraw( string element )
Bu hook, HUD'ın hangi kısımlarının çizileceğini belirler.
WEAPON:Initialize()
Silah varlığı (entity) oluşturulduğunda çağrılır. Bu noktada Entity:GetOwner NULL döndürür çünkü silah henüz bir oyuncu veya NPC tarafından kuşanılmamıştır. Sahibin (owner) geçerli olması gerekiyorsa WEAPON:Equip veya WEAPON:Deploy kullanın. Bu, hızlı kayıttan (quicksave) sonra sunucu tarafında (serverside) çağrılmaz. Sorun Takipçisi: 3015
boolean WEAPON:KeyValue( string key, string value )
Motor (engine) bu betiklenmiş (scripted) silah için bir değer ayarladığında çağrılır. Tüm varlıklar için çalışan bir hook için GM:EntityKeyValue'ye bakın. Betiklenmiş varlıklar için çalışan bir hook için ENTITY:KeyValue'ye bakın.
WEAPON:OnDrop( Entity owner )
Silah Player:DropWeapon tarafından düşürüldüğünde çağrılır. Ayrıca bakınız WEAPON:OwnerChanged.
WEAPON:OnReloaded()
Silahın Lua betiği yeniden yüklendiğinde çağrılır.
WEAPON:OnRemove()
SWEP kaldırılmak üzereyken çağrılır.
WEAPON:OnRestore()
Silah varlığı (entity) bir Source Engine kaydından (Sandbox kayıtları veya kopyaları değil) veya bir seviye değişikliğinde (örneğin Half-Life 2 campaign seviye geçişleri) yeniden yüklendiğinde çağrılır. Duplicator geri çağrıları için ENTITY:OnDuplicated'e bakın. İlgili fonksiyonlar için ayrıca saverestore'a bakın.
WEAPON:OwnerChanged()
Silah düşürüldüğünde veya yeni bir oyuncu tarafından alındığında çağrılır. Silahın sahibi yoksa ve yerden alınırsa, bu sunucudaki tüm oyuncular için istemci tarafında (clientside) çağrılabilir. Ayrıca bakınız WEAPON:OnDrop.
WEAPON:PostDrawViewModel( Entity vm, Weapon weapon, Player ply )
Silah kullanımdayken view model çizildikten sonra çağrılır. Bu hook, GM:PostDrawViewModel'in varsayılan uygulamasından çağrılır ve bu nedenle, eğer geçersiz kılındıysa (overridden) gerçekleşmez. WEAPON:ViewModelDrawn, her zaman GM:PostDrawViewModel'dan önce çağrılan alternatif bir hook'tur.
WEAPON:PreDrawViewModel( Entity vm, Weapon weapon, Player ply )
Silah kullanımdayken, çizilmeden önce viewmodel'i değiştirmenize olanak tanır. Bu hook yalnızca GM:PreDrawViewModel'i geçersiz kılmadıysanız (override) çalışır.
WEAPON:PrimaryAttack()
Birincil saldırı tuşuna ( +attack ) basıldığında çağrılır. Tek oyunculu modda, bu fonksiyon yalnızca sunucu (server) alanında çağrılır. Çok oyunculu modda ise, Tahmin'e (Prediction) izin vermek için hook hem sunucuda hem de istemcide çağrılır. Hook'un her zaman istemcide çağrılmasını şu şekilde zorlayabilirsiniz: if ( game. SinglePlayer() ) then self:CallOnClient( "PrimaryAttack" ) end Unutmayın ki tahmin (prediction) nedeniyle, çok oyunculu modda SWEP:PrimaryAttack silahla yapılan her bir "atış" için birden çok kez çağrılır. Bunu aşmak için IsFirstTimePredicted'ı kullanın.
WEAPON:PrintWeaponInfo( number x, number y, number alpha )
WEAPON:DrawWeaponSelection'da kullanılan, silah bilgi kutusunu çizen kullanışlı bir fonksiyondur.
WEAPON:Reload()
Şarjör değiştirme tuşuna ( +reload ) basıldığında çağrılır.
WEAPON:RenderScreen()
Her karede, GM:RenderScene'den hemen önce çağrılır. Tool Gun tarafından view model ekranlarını işlemek için kullanılır (TOOL:DrawToolScreen). Bu hook'ta işlenen materyallerin düzgün çizilmesi için $ignorez parametresi gerekir.
WEAPON:SecondaryAttack()
İkincil saldırı tuşuna ( +attack2 ) basıldığında çağrılır. Bu hook'un istemci tarafında hızla çağrılmasıyla ilgili sorunlar için, global fonksiyon olan IsFirstTimePredicted'e bakın.
WEAPON:SetupDataTables()
SWEP'in Data Table'larını kurması gerektiğinde çağrılır.
WEAPON:SetWeaponHoldType( string name )
Silahın tutuş tipini ayarlar. Düzgün çalışması için bunun hem sunucuda hem de istemcide çağrılması gerekir. NOT: Bu fonksiyonu çağırmaktan kaçınmalı ve artık Weapon:SetHoldType'ı çağırmalısınız.
WEAPON:ShootBullet( number damage, number num_bullets, number aimcone, string ammo_type = "self.Primary.Ammo", number force = 1, number tracer = 5 )
Mermi ateşlemek için kullanışlı bir fonksiyondur.
WEAPON:ShootEffects()
Ateş etme efektleri oluşturmak için kullanışlı bir fonksiyondur.
View model'in çizilip çizilmeyeceğini belirlemek için çağrılır.
Sahibi öldüğünde bu silah düşürülmeli mi? Bu yalnızca oyuncunun Player:ShouldDropWeapon ayarı `true` ise çalışır.
WEAPON:TakePrimaryAmmo( number amount )
Şarjörden birincil cephane eksiltmek için kullanışlı bir fonksiyondur.
WEAPON:TakeSecondaryAmmo( number amount )
Şarjörden ikincil cephane eksiltmek için kullanışlı bir fonksiyondur.
WEAPON:Think()
Silah düşündüğünde (think) çağrılır. Bu hook, kuşanma (deploy) animasyonu sırasında ve Weapon:DefaultReload kullanılırken çağrılmaz. Tahmin edilebilir (predicted) bir hook olmasına rağmen, bu hook tek oyunculu modda istemci tarafında (clientside) çağrılır (size kolaylık olması için), ancak Player:GetCurrentCommand aracılığıyla tahmin edilebilir bir hook olarak tanınmaz ve bu durumda daha sık çalışır. Bu hook, istemcide oyuncu hareketi işlenmeden önce, sunucuda ise sonra çağrılır. Bu hook yalnızca silah oyuncunun elindeyken çalışır. Bir NPC tarafından taşınırken çalışmaz. Bu, yalnızca sunucu taraflı bir kuşanmadan sonraki kuşanma animasyonları sırasında çalışmaz. Bu genellikle bir nesneyi +use ile alıp bıraktıktan sonra olur. Sorun Takipçisi: 2855
WEAPON:Tick()
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Bunun yerine Weapon:Think kullanın. Weapon:Think'in takma adıdır (alias).
Genel bir aktiviteyi, tutuş tipine özel aktiviteler gibi daha spesifik bir aktiviteye çevirir. Çevrilen aktivite daha sonra Entity:SelectWeightedSequence ve benzeri fonksiyonlar aracılığıyla sahibin modelinden animasyonlar istemek için kullanılır. Örneğin, ACT_MP_RUN, ACT_HL2MP_RUN_PISTOL olur.
number WEAPON:TranslateFOV( number fov )
Oyuncu silahı tutarken oyuncunun görüş alanını (field of view) değiştirmenize olanak tanır. Bu hook'un Alan Portallarını (Area Portals) düzgün bir şekilde etkilemesi için paylaşımlı (shared) olarak tanımlanması ve her ikisinde de aynı değeri döndürmesi gerekir.
WEAPON:ViewModelDrawn( Entity ViewModel )
View model çizildikten hemen sonra çağrılır. Bu, GM:PostDrawViewModel ve WEAPON:PostDrawViewModel'dan önce çağrılır.

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