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
Başka bir varlık (entity) bu varlığa bir olay (event) tetiklediğinde çağrılır.
number WEAPON:AdjustMouseSensitivity()
Fare hassasiyetini ayarlamanıza olanak tanır. Bu hook yalnızca GM:AdjustMouseSensitivity'yi geçersiz kılmadıysanız (override) çalışır.
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.
boolean WEAPON:CanBePickedUpByNPCs()
Bir Citizen NPC'si yerden almak için (daha iyi) bir silah aradığında çağrılır.
boolean WEAPON:CanPrimaryAttack()
Cephane kalıp kalmadığını kontrol etmek için yardımcı bir fonksiyondur.
boolean WEAPON:CanSecondaryAttack()
Cephane kalıp kalmadığını kontrol etmek için yardımcı bir fonksiyondur.
table WEAPON:CustomAmmoDisplay()
HUD'daki cephane göstergesi için istediğiniz sayıları kullanmanıza olanak tanır.
Standart cephane kullanmayan silahlar için faydalı olabilir.
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.
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.
WEAPON:DrawHUDBackground()
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.
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.
WEAPON:DrawWorldModelTranslucent( number flags )
Yarı saydam (translucent) dünya modelini çizmek üzereyken çağrılır.
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.
boolean WEAPON:FreezeMovement()
Bu hook oyuncunun ekranını dondurmanıza olanak tanır.
Oyuncu hala hareket edebilir veya ateş edebilir.
number WEAPON:GetCapabilities()
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.
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.
Vector WEAPON:GetTracerOrigin()
İzli mermi (tracer) efektinin nereden geleceğini geçersiz kılmanıza (override) olanak tanır. ( Görsel mermiler )
Bu hook, view model pozisyonunu ve açılarını ayarlamanıza olanak tanır.
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
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
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.
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.
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.
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: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.
boolean WEAPON:ShouldDrawViewModel()
View model'in çizilip çizilmeyeceğini belirlemek için çağrılır.
boolean WEAPON:ShouldDropOnDie()
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.
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