Weapon
Bu, sadece silahlar için mevcut olan tüm metotların bir listesidir. Silahlarda Entity fonksiyonlarını çağırmak da mümkündür.
Mevcut metotların bir listesi navigasyon çubuğunuzda genişletilmiştir.
Entity'den metotlar miras alır.
Metotlar
boolean Weapon:AllowsAutoSwitchFrom()
Daha iyi bir (Weapon:GetWeight) silah alındığında silahtan otomatik olarak geçiş yapılıp yapılamayacağını döndürür.
boolean Weapon:AllowsAutoSwitchTo()
Daha iyi bir (Weapon:GetWeight) silah alındığında silaha otomatik olarak geçiş yapılıp yapılamayacağını döndürür.
İstemcide bir SWEP fonksiyonu çağırır. İstemcide hiçbir şey yapmaz.
Bu, dahili olarak usermessage kullanır, bu nedenle, bu fonksiyonun argümanlarının toplam uzunluğu 254 baytı/karakteri geçmemelidir, aksi takdirde fonksiyon çalışmayı durdurur!
Şarjörde ne kadar birincil mermi olduğunu döndürür.
Bu, istemciler arasında paylaşılmaz ve bunun yerine maksimum birincil şarjör boyutunu döndürür.
Şarjörde ne kadar ikincil mermi olduğunu döndürür.
Bu, istemciler arasında paylaşılmaz ve bunun yerine maksimum ikincil şarjör boyutunu döndürür.
Belirtilen animasyonu oynatırken silahı yeniden doldurmaya zorlar.
Bu, silah yeniden doldurulurken WEAPON:Think fonksiyonunun çağrılmasını durduracaktır!
number Weapon:GetActivity()
Silahın oynattığı sekans numaralandırma (enumeration) sayısını döndürür.
Bu, sunucu ve istemci arasında tutarsız sonuçlar döndürebilir. Sorun Takipçisi: 2543
number Weapon:GetDeploySpeed()
Weapon:SetDeploySpeed tarafından ayarlandığı şekilde silahın kuşanma hızını döndürür. Eğer daha önce ayarlanmamışsa, değer sv_defaultdeployspeed ConVar'ından alınır.
string Weapon:GetHoldType()
Silahın tutuş tipini döndürür.
number Weapon:GetMaxClip1()
Maksimum birincil şarjör boyutunu döndürür.
number Weapon:GetMaxClip2()
Maksimum ikincil şarjör boyutunu döndürür.
number Weapon:GetNextPrimaryFire()
Silahın bir sonraki birincil ateşleme yapabileceği zamanı alır. ( WEAPON:PrimaryAttack çağırabilir )
number Weapon:GetNextSecondaryFire()
Silahın bir sonraki ikincil ateşleme yapabileceği zamanı alır. ( WEAPON:SecondaryAttack çağırabilir )
number Weapon:GetPrimaryAmmoType()
Verilen silahın birincil mermi türünü alır.
string Weapon:GetPrintName()
Silahın görüntülenmesi gereken, dahili olmayan adını döndürür.
Eğer bu, çevrilmemiş bir mesaj (#HL2_XX) döndürürse, "güzel" adı görmek için language.GetPhrase kullanın. Eğer SWEP.PrintName, silahta veya silah tabanında (Weapon Base) ayarlanmamışsa, "<MISSING SWEP PRINT NAME>" döndürülür.
number Weapon:GetSecondaryAmmoType()
Verilen silahın ikincil ateşlemesinin mermi türünü alır.
number Weapon:GetSlotPos()
Silahın yuva pozisyonunu döndürür.
string Weapon:GetWeaponViewModel()
Silahın görüş modelini (view model) döndürür.
string Weapon:GetWeaponWorldModel()
Silahın dünya modelini (world model) döndürür.
Motor tarafından hangi silahın daha iyi olduğuna karar verilirken kullanılan silahın "ağırlığını" döndürür.
Silahın mermisi kalıp kalmadığını döndürür. Şarjörde ve yedekte hiç mermi kalmadığında false döndürür.
Levye, gravity gun gibi silahlar için true döndürür.
boolean Weapon:IsCarriedByLocalPlayer()
Silahın yerel oyuncu tarafından taşınıp taşınmadığını döndürür.
boolean Weapon:IsScripted()
Silahın bir SWEP mi yoksa dahili bir silah mı olduğunu kontrol eder.
boolean Weapon:IsWeaponVisible()
Silahın görünür olup olmadığını döndürür. Burada kontrol edilen tam olarak görünürlük terimi değildir, önce sahibinin bir oyuncu olup olmadığını kontrol eder, ardından aktif görüş modelinin EF_NODRAW bayrağının ayarlanıp ayarlanmadığını kontrol eder.
number Weapon:LastShootTime()
Bu silahın Entity:FireBullets ile en son mermi ateşlemesinden bu yana geçen süreyi saniye cinsinden döndürür. Ağa bağlı (networked) değildir.
Weapon:SendWeaponAnim( number act )
Silahı etkinlik/animasyon oynamaya zorlar.
Weapon:SetActivity( number act )
Silahın oynattığı etkinliği ayarlar.
Ayrıca bakınız Weapon:GetActivity.
Verilen silahın birincil şarjöründeki mermi sayısını değiştirmenizi sağlar.
Verilen silahın ikincil şarjöründeki mermi sayısını değiştirmenizi sağlar.
Weapon:SetDeploySpeed( number speed )
Silahın kuşanma hızını ayarlar. Bu değerin istemci ve sunucuda eşleşmesi gerekir.
Weapon:SetHoldType( string name )
Silahın tutuş tipini ayarlar. Bu fonksiyon aynı zamanda WEAPON:SetWeaponHoldType'ı çağırır ve tüm istemcilere düzgün bir şekilde ağ üzerinden iletir.
Bu sadece scriptli silahlarda çalışır. Bu fonksiyonu botların tuttuğu silahlarda kullanmak, dünya modeli boş bir dizeye ayarlanmışsa (SWEP.WorldModel = "") tutuş tipi değişikliklerini istemcilere ağ üzerinden iletmez.
Weapon:SetLastShootTime( number time = CurTime() )
Bu silahın en son ateşlemesinden bu yana geçen süreyi saniye cinsinden ayarlar. Weapon:LastShootTime ile birlikte kullanılır.
Weapon:SetNextPrimaryFire( number time )
Weapon:SetNextSecondaryFire( number time )
Silahın ne zaman tekrar alternatif ateş edebileceğini ayarlar. Zaman CurTime'a dayalı olmalıdır.
Entity'den metotlar miras alır.
Olaylar
Başka bir varlık (entity) bu varlığa bir olay (event) ateşlediğinde çağrılır.
number WEAPON:AdjustMouseSensitivity()
Fare hassasiyetini ayarlamanıza olanak tanır. Bu kanca (hook) yalnızca GM:AdjustMouseSensitivity'yi geçersiz kılmadıysanız çalışır.
Bu silah kullanımdayken oyuncu görüşünü ayarlamanıza olanak tanır.
Bu kanca, GM:CalcView'in burada bulunan varsayılan uygulamasından çağrılır. Bu nedenle, CalcView'e eklenen başka bir kanca herhangi bir değer döndürürse veya mevcut oyun modu varsayılan kancayı geçersiz kılar ve SWEP fonksiyonunu çağırmazsa çağrılmaz.
Vector, Angle WEAPON:CalcViewModelView( Entity ViewModel, Vector OldEyePos, Angle OldEyeAng, Vector EyePos, Angle EyeAng )
Görüş modelinin (viewmodel) pozisyonunu ve açısını geçersiz kılmaya olanak tanır. Bu kanca yalnızca GM:CalcViewModelView'i geçersiz kılmadıysanız çalışır.
boolean WEAPON:CanBePickedUpByNPCs()
Bir Vatandaş (Citizen) NPC'si almak için (daha iyi) bir silah aradığında çağrılır.
boolean WEAPON:CanPrimaryAttack()
Mermi olmamasını kontrol etmek için yardımcı bir fonksiyondur.
boolean WEAPON:CanSecondaryAttack()
Mermi olmamasını kontrol etmek için yardımcı bir fonksiyondur.
table WEAPON:CustomAmmoDisplay()
HUD'daki mermi göstergesi için istediğiniz sayıları kullanmanıza olanak tanır.
Standart mermi kullanmayan silahlar için faydalı olabilir.
Oyuncu bu silaha yeni geçtiğinde çağrılır.
Bu kancanın tahmin edilebilir (predicted) olması nedeniyle, tek oyunculu modda istemci tarafında hiç çağrılmaz ve çok oyunculu modda 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 olanak tanır.
Bu fonksiyon, eğer SWEP.DrawCrosshair false olarak ayarlanmışsa veya oyuncu Player:CrosshairDisable'dan etkilenmişse çağrılmaz.
Silahın yarattığı çarpma efektlerini geçersiz kılabilmesi için çağrılır.
Eğer mermi tahmin edilebilir (predicted) bir ortamda ateşlendiyse, kanca CLIENT alanında çağrılmaz. Bu kanca ayrıca WEAPON:GetOwner():FireBullets çağrıldığında da çağrılır. MULTIPLAYER modundayken, bu kanca ilgili durumda çağrılır, ancak SINGLEPLAYER modunda, FireBullets SERVER'da çağrılmış olsa bile bu kanca her zaman CLIENT alanında çağrılır.
WEAPON:DrawHUD()
Bu kanca, bu silah kullanımdayken ekrana çizim yapmanıza olanak tanır.
Özel bir nişangah çizmek istiyorsanız, bunun yerine WEAPON:DoDrawCrosshair kullanmayı düşünün.
WEAPON:DrawHUDBackground()
Bu kanca, bu silah kullanımdayken ekrana çizim yapmanıza olanak tanır. Bu kanca, WEAPON:DrawHUD'dan önce çağrılır ve GM:HUDPaintBackground'a eşdeğerdir.
Bu kanca, 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 dünya modelini (translucent world model) çizmek üzereyken çağrılır.
Oyuncu silahı aldı ve mermisini de aldı.
Silah bu çağrıdan hemen sonra 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ı yürütmeden önce çağrılır.
Bu, sadece 3000 aralığındaki olaylar için sunucu tarafında ve 5000 aralığındaki ve diğer olaylar için istemci tarafında çağrılacaktır.
boolean WEAPON:FreezeMovement()
Bu kanca, oyuncuların ekranını dondurmanıza olanak tanır.
Oyuncu hala hareket edebilir veya ateş edebilir.
number WEAPON:GetCapabilities()
Bu kanca NPC'ler içindir, onunla ne yapmaya çalışmaları gerektiğini döndürürsünüz.
Bu kancada aynı varlık üzerinde NPC:CapabilitiesGet çağırmak sonsuz döngülere neden olabilir, çünkü bu fonksiyon WEAPON:GetCapabilities'in sonucunu dönüş değerinin üzerine ekler.
Silah NPC'ler tarafından kullanıldığında, ateşlenen mermilerin ne kadar isabetli olması gerektiğini belirlemek için çağrılır.
İsabetsizlik, bu kancadan döndürülen 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ı söylemek için çağrılır. NPC'nin ne kadar süreyle 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ı söylemek için çağrılır. NPC'nin atış aralarında ne kadar süre dinlenebileceğini (ateş etmeyeceğini) kontrol eder.
Vector WEAPON:GetTracerOrigin()
Mermi izi (tracer) efektinin nereden geldiğini geçersiz kılmanıza olanak tanır. ( Görsel mermiler )
Bu kanca, görüş modeli (view model) pozisyonunu ve açılarını ayarlamanıza olanak tanır.
Silah kılıfına konulmaya çalışıldığında çağrılır.
Bu, yalnızca Player:SelectWeapon kullanıldığında sunucu tarafında çağrılır, çünkü bu fonksiyon silahı hemen tahminden (prediction) çıkarır. Bu, her kılıfa koyma işlemi için istemci tarafında iki kez çağrılır, biri Prediction içinde diğeri değil. Sorun Takipçisi: 2854
WEAPON:OnRemove çağrılmadan önce, bu fonksiyon sadece sunucu tarafında çağrılır. Sorun Takipçisi: 3133
WEAPON:OnRemove çağrılmadan önce, bu fonksiyon sadece sunucu tarafında çağrılır. Sorun Takipçisi: 3133
Bu kanca HUD'ın hangi kısımlarının çizileceğini belirler.
WEAPON:Initialize()
Silah varlığı oluşturulduğunda çağrılır.
Entity:GetOwner bu noktada NULL döndürür çünkü silah henüz bir oyuncu veya NPC tarafından kuşanılmamıştır. Sahibin geçerli olması gerekiyorsa WEAPON:Equip veya WEAPON:Deploy kullanın. Bu, hızlı kayıttan (quicksave) sonra sunucu tarafında çağrılmaz. Sorun Takipçisi: 3015
Motor bu scriptli silah için bir değer ayarladığında çağrılır.
Tüm varlıklar için çalışan bir kanca için GM:EntityKeyValue'e bakın.
Scriptli varlıklar için çalışan bir kanca için ENTITY:KeyValue'e 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 scripti yeniden yüklendiğinde çağrılır.
WEAPON:OnRemove()
SWEP kaldırılmak üzereyken çağrılır.
WEAPON:OnRestore()
Silah varlığı bir Source Engine kaydından (Sandbox kayıtları veya kopyaları değil) yeniden yüklendiğinde veya bir seviye değişikliğinde (örneğin Half-Life 2 kampanya seviye geçişleri) çağrılır.
Kopyalayıcı (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 alınırsa bu, sunucudaki tüm oyuncular için istemci tarafında çağrılabilir.
Ayrıca bakınız WEAPON:OnDrop.
Silah kullanımdayken görüş modeli çizildikten sonra çağrılır. Bu kanca, GM:PostDrawViewModel'in varsayılan uygulamasından çağrılır ve bu nedenle, geçersiz kılınmışsa gerçekleşmez.
WEAPON:ViewModelDrawn, her zaman GM:PostDrawViewModel'den önce çağrılan alternatif bir kancadır.
Silah kullanımdayken, çizilmeden önce görüş modelini değiştirmenize olanak tanır. Bu kanca yalnızca GM:PreDrawViewModel'i geçersiz kılmadıysanız ç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 alanında çağrılır. Çok oyunculu modda, kanca hem sunucuda hem de istemcide çağrılarak Tahmin (Prediction) özelliğine izin verilir.
Kancanın her zaman istemcide çağrılmasını şu şekilde zorlayabilirsiniz:
if ( game.SinglePlayer() ) then self:CallOnClient( "PrimaryAttack" ) end
Unutmayın ki tahmin nedeniyle, çok oyunculu modda SWEP:PrimaryAttack silahla yapılan her bir "atış" için birden çok kez çağrılır. Bu durumu aşmak için IsFirstTimePredicted kullanın.
WEAPON:DrawWeaponSelection'da kullanılan, silah bilgi kutusunu çizen kullanışlı bir fonksiyondur.
WEAPON:Reload()
Yeniden doldurma 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 görüş modeli ekranlarını (TOOL:DrawToolScreen) renderlamak için kullanılır.
Bu kancada renderlanan 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 kancanın istemci tarafında hızla çağrılmasıyla ilgili sorunlar için, genel fonksiyon olan IsFirstTimePredicted'e bakın.
WEAPON:SetupDataTables()
SWEP'in Veri Tablolarını (Data Tables) kurması gerektiğinde çağrılır.
WEAPON:SetWeaponHoldType( string name )
Silahın tutuş tipini ayarlar. Düzgün çalışması için hem sunucuda hem de istemcide çağrılmalıdır.
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 atmak için kullanışlı bir fonksiyondur.
WEAPON:ShootEffects()
Ateş etme efektleri oluşturmak için kullanışlı bir fonksiyondur.
boolean WEAPON:ShouldDrawViewModel()
Görüş modelinin (view model) çizilip çizilmeyeceğini belirlemek için çağrılır.
boolean WEAPON:ShouldDropOnDie()
Bu silah, sahibi öldüğünde düşürülmeli mi?
Bu yalnızca oyuncunun Player:ShouldDropWeapon özelliği true olarak ayarlanmışsa çalışır.
WEAPON:TakePrimaryAmmo( number amount )
Şarjörden birincil mermiyi çıkarmak için kullanışlı bir fonksiyondur.
WEAPON:TakeSecondaryAmmo( number amount )
Şarjörden ikincil mermiyi çıkarmak için kullanışlı bir fonksiyondur.
WEAPON:Think()
Silah düşündüğünde (think) çağrılır.
Bu kanca kuşanma animasyonu sırasında ve Weapon:DefaultReload kullanıldığında çağrılmaz.
Tahmin edilebilir (predicted) bir kanca olmasına rağmen, bu kanca tek oyunculu modda (kolaylık olması için) istemci tarafında çağrılır, ancak Player:GetCurrentCommand aracılığıyla tahmin edilebilir bir kanca olarak tanınmaz ve bu durumda daha sık çalışır.
Bu kanca istemcide Oyuncu hareketi işlenmeden önce, sunucuda ise sonra çağrılır.
Bu kanca yalnızca silah oyuncuların elindeyken çalışır. Bir NPC tarafından taşınırken çalışmaz. Sadece sunucu tarafında yapılan bir kuşanmadan sonraki kuşanma animasyonları sırasında çalışmaz. Bu genellikle +use ile bir nesneyi 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 etkinliği, tutuş tipine özgü etkinlikler gibi daha spesifik bir etkinliğe çevirir.
Çevrilen etkinlik 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ştirmeye olanak tanır.
Bu kancanın paylaşımlı (shared) olarak tanımlanması ve Alan Portallarını (Area Portals) düzgün şekilde etkilemesi için her ikisinde de aynı değeri döndürmesi gerekir.
WEAPON:ViewModelDrawn( Entity ViewModel )
Görüş modeli çizildikten hemen sonra çağrılır. Bu, GM:PostDrawViewModel ve WEAPON:PostDrawViewModel'den önce çağrılır.
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord