ENTITY

Sadece Scripted Entities (Scriptli Varlıklar) için kullanılabilen hook'ların bir listesi.

Bu kuralın istisnaları, tüm varlıklara uygulanabilen Custom Entity Fields (Özel Varlık Alanları) sayfasında belgelenmiştir.

Entity:AddCallback fonksiyonu ile tüm varlıklar (motor varlıkları dahil) için bazı ek "hook"lar mevcuttur.

Ayrıca bakınız: ENT yapısı

Burada listelenen hook'lar aynı zamanda scriptli varlık türüne de bağlıdır. Örneğin, temel bir scriptli varlık ENTITY:DoSchedule'ı hiç kullanmaz, bu yalnızca scriptli NPC'ler içindir.

Entity'den metotlar miras alır.

Olaylar

boolean ENTITY:AcceptInput( string inputName, Entity activator, Entity caller, string param )
Başka bir varlık bu varlığa bir olay tetiklediğinde çağrılır.
Scripted Entities oluşturmak için bir yardımcı fonksiyondur. ENTITY:AddOutputFromKeyValue'a benzer şekilde, bunu ENTITY:AcceptInput'tan çağırın ve eğer iletilen girdi verisinden bir çıktıyı başarıyla eklerse `true` döndürür.
Scripted Entities oluşturmak için bir yardımcı fonksiyondur. Bunu ENTITY:KeyValue'dan çağırın ve eğer iletilen KV (anahtar-değer) çiftinden bir çıktıyı başarıyla eklerse `true` döndürür.
Varlığın konumu her değiştiğinde çağrılır. Bir varlığın açısı değiştiğinde bir geri arama Entity:AddCallback aracılığıyla mevcuttur. ENTITY:RenderOverride gibi, bu hook uygulandığı herhangi bir varlıkta (scriptli olsun ya da olmasın) çalışır. Eğer varlık üzerinde EFL_DIRTY_ABSTRANSFORM ayarlanmışsa, bu sadece sunucu tarafında çağrılır; aksi takdirde, sadece istemci tarafında çağrılır. Bu, EFL_DIRTY_ABSTRANSFORM bayrağı etkinleştirilmemiş (çoğu durumda) Entity:SetPos'un sunucu tarafı çağrılarının sadece istemci tarafında çağrılacağı anlamına gelir. `give` konsol komutu, varlık oluşturulduğunda bu hook'u sadece sunucu tarafında çağırır.
boolean ENTITY:CanProperty( Player ply, string property )
Bir özelliğin bu varlık üzerinde kullanılıp kullanılamayacağını kontrol eder. Bu hook, yalnızca GM:CanProperty'nin üzerine yazılmamış Sandbox türevi oyun modlarında çalışır. Bu hook, sadece scriptli olanlar (SENT'ler) değil, TÜM varlıklarda çalışır.
boolean ENTITY:CanTool( Player ply, table tr, string toolname, table tool, number button )
Bir aletin bu varlık üzerinde kullanılıp kullanılamayacağını kontrol eder. Bu hook, yalnızca SANDBOX:CanTool'un üzerine yazılmamış Sandbox türevi oyun modlarında çalışır. Bu hook, sadece scriptli olanlar (SENT'ler) değil, TÜM varlıklarda çalışır.
Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız. Yalnızca "ai" türü varlıklar için ENTITY:Initialize'dan hemen önce çağrılır.
boolean ENTITY:DoImpactEffect( table tr, number damageType )
Varlığın oluşturduğu mermi çarpma efektlerini geçersiz kılması için çağrılır. Bu, varlık vurulduğunda değil, varlığın kendisi Entity:FireBullets aracılığıyla mermi ateşlediğinde çağrılır. Bu hook sadece anim türü varlıklar için çalışır.
Varsayılan `base_ai` SNPC'si tarafından, `ENT.bDoingEngineSchedule`'ın ENTITY:StartEngineSchedule tarafından ayarlanıp ayarlanmadığını kontrol etmek için çağrılır. Bu, yalnızca SENT'iniz `base_ai` tabanlıysa kullanılabilen bir yardımcı fonksiyondur.
ENTITY:DoSchedule( table sched )
Bir Lua zamanlaması (schedule) çalıştırır. Zamanlama içindeki görevleri (task) çalıştırır.
ENTITY:Draw( number flags )
Varlığın Entity:GetRenderGroup'una bağlı olarak, varlığın opak olarak çizilmesi gerektiğinde çağrılır. Daha fazla bilgi için ENT yapısı ve RENDERGROUP enum'una bakın. Ayrıca bakınız ENTITY:DrawTranslucent. Varlığın render sınırları (render bounds) oyuncunun görüş alanında değilse bu fonksiyon çağrılmaz. Bkz. Entity:SetRenderBounds.
ENTITY:DrawTranslucent( number flags )
Varlığın yarı saydam (translucent) olarak çizilmesi gerektiğinde çağrılır. Eğer scriptli varlığınızın yarı saydam bir modeli varsa, burada çizilmediği sürece görünmez olacaktır. Bu hook'un opak çizim alternatifi için ENTITY:Draw'a bakın.
ENTITY:EndTouch( Entity entity )
Varlık başka bir varlığa dokunmayı bıraktığında çağrılır. İlgili hook'lar için ENTITY:StartTouch ve ENTITY:Touch'a bakın. Bu, yalnızca brush (fırça) varlıkları ve Entity:SetTrigger `true` olarak ayarlanmış varlıklar için çalışır.
Bir motor zamanlaması (engine schedule) bittiğinde çağrılır; ya motor zamanlamasındaki son görev bitmiştir ya da zamanlama bir kesme (interrupt) koşulu tarafından kesilmiştir. Bu hook yalnızca ai türü SENT'ler için mevcuttur. Motor zamanlaması başarısız olduğunda, zamanlama NPC:ClearSchedule ile temizlendiğinde veya NPC:SetSchedule çağrıldığında bu hook çağrılmaz.
ENTITY:ExpressionFinished( string strExp )
Bir NPC'nin ifadesi (expression) bittiğinde çağrılır. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
boolean ENTITY:FireAnimationEvent( Vector pos, Angle ang, number event, string name )
Namlu flaşı veya mermi kovanı fırlatma gibi istemci tarafı animasyon olayları tetiklenmeden önce çağrılır. Sunucu tarafı versiyonu için ENTITY:HandleAnimEvent'e bakın. Bu hook yalnızca "anim", "nextbot" ve "ai" türü varlıklarda çalışır.
number ENTITY:GetAttackSpread( Weapon wep, NPC target )
Bir NPC'nin belirli bir silahı kullanmada ne kadar iyi olduğunu belirlemek için çağrılır. Sadece "ai" tabanlı.
Scriptli NPC'nin, örneğin NPC:Disposition çağrıldığında, başka bir varlığa karşı nasıl "hissettiğini" kontrol etmesi gerektiğinde çağrılır.
Bu SENT'in modeli yerine çizilmesi gereken bir mesh (ağ) belirtin. Bu hook içinde bir IMesh oluşturmamalı veya değiştirmemelisiniz. Referans
Gölgenin yeniden hesaplanması gerektiğinde çağrılır. Gölge açılarının özelleştirilmesine olanak tanır. Bu yalnızca anim türü varlıklar için çalışır.
Bu SNPC'nin ses ipucu (sound hint) ilgilerini sorgulamak için her saniye çağrılır. Bu, `sound.EmitHint` ve `NPC:GetBestSoundHint` gibi diğer ses ipucu fonksiyonlarıyla birlikte kullanılır. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
Sandbox türevi oyun modlarında GM:GravGunPickupAllowed tarafından TÜM varlıklar üzerinde çağrılır ve bir geçersiz kılma (override) görevi görür.
boolean ENTITY:GravGunPunt( Player ply )
Bu varlık gravity gun (birincil ateş) ile fırlatılmak üzereyken çağrılır. Yalnızca Sandbox türevi oyun modlarında ve yalnızca GM:GravGunPunt geçersiz kılınmamışsa çalışır.
boolean ENTITY:HandleAnimEvent( number event, number eventTime, number cycle, number type, string options )
NPC'ler için silah doldurma, çekme ve kılıfına koyma, scriptli sahneler vb. gibi sunucu tarafı animasyon olayları tetiklenmeden önce çağrılır. İstemci tarafı versiyonu için ENTITY:FireAnimationEvent'e bakın. Bu hook yalnızca "anim", "ai" ve "nextbot" türü varlıklarda çalışır.
boolean ENTITY:ImpactTrace( table traceResult, number damageType, string customImpactName = nil )
Bir mermi izi (bullet trace) bu varlığa çarptığında çağrılır ve `true` döndürerek varsayılan davranışı geçersiz kılmanıza olanak tanır.
ENTITY:Initialize()
Varlık oluşturulduğunda çağrılır. Bu, özel varlığı Entity:Spawn ile oluşturduğunuzda çağrılır. ENTITY:SetupDataTables ve GM:OnEntityCreated'dan sonra çağrılır.
boolean ENTITY:IsJumpLegal( Vector startPos, Vector apex, Vector endPos )
Scriptli NPC'nin belirli bir zıplamayı yapıp yapamayacağına karar verilirken çağrılır. Bu yalnızca "ai" türü varlıklar için çağrılır.
boolean ENTITY:KeyValue( string key, string value )
Motor bu scriptli varlık için bir değer ayarladığında çağrılır. Bu hook, anahtar-değerler (key-values) harita tarafından ayarlandığında ENTITY:Initialize'dan önce çağrılır. Aksi takdirde, bu hook varlık üzerinde Entity:SetKeyValue her çağrıldığında çağrılır. Tüm varlıklar için çalışan bir hook için GM:EntityKeyValue'ya bakın. Scriptli silahlar için çalışan bir hook için WEAPON:KeyValue'ya bakın.
ENTITY:NextTask( table sched )
Belirli bir zamanlamadaki bir sonraki görevi başlatır. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
ENTITY:OnChangeActiveWeapon( Weapon old, Weapon new )
SNPC'nin mevcut aktif silahı değiştiğinde çağrılır. Bu hook yalnızca ai türü varlıklarda çalışır.
ENTITY:OnChangeActivity( number act )
NPC aktivitesini değiştirdiğinde çağrılır. Bu hook yalnızca ai türü varlıklar için çalışır.
ENTITY:OnCondition( number conditionID )
NPC durumunu (condition) her güncellediğinde çağrılır. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
ENTITY:OnDuplicated( table entTable )
Herhangi bir varlık üzerinde, duplicator (çoğaltıcı) tarafından oluşturulduktan sonra ve herhangi bir kemik/varlık değiştiricisi uygulanmadan önce çağrılır. Bu hook ENTITY:Initialize'dan sonra ve ENTITY:PostEntityPaste'ten önce çağrılır.
Duplicator (çoğaltıcı) varlığı kaydetmeyi bitirdikten sonra çağrılır ve kaydetme verilerini değiştirmenize olanak tanır. Bu, ENTITY:PostEntityCopy'den sonra çağrılır.
SNPC hedefine olan hareketini tamamladığında çağrılır. Bu hook yalnızca ai türü varlıklarda çalışır.
SNPC hedefine hareket etmede başarısız olduğunda çağrılır. Bu hook yalnızca ai türü varlıklarda çalışır.
ENTITY:OnReloaded()
Varlık, lua otomatik yenileme sistemi tarafından yeniden yüklendiğinde, yani geliştirici oyun çalışırken varlığın lua dosyasını düzenlediğinde çağrılır.
ENTITY:OnRemove( boolean fullUpdate )
Varlık kaldırılmak üzereyken çağrılır. Ayrıca, motor (Lua olmayan) varlıklarda bile kullanılabilen Entity:CallOnRemove'a da bakın. Örnek Varlık kaldırılacağında bir patlama oluşturun. Bir varlık oluşturmak için ents. Create'i okuyabilirsiniz. function ENT:OnRemove() local explosion = ents. Create( "env_explosion" ) -- Patlama varlığı explosion:SetPos( self:GetPos() ) -- Patlamanın konumunu varlığın konumuna ayarla explosion:Spawn() -- Patlamayı oluştur explosion:SetKeyValue( "iMagnitude", "50" ) -- patlamanın büyüklüğü explosion:Fire( "Explode", 0, 0 ) -- patlat end
ENTITY:OnRestore()
Varlık 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 senaryo seviye geçişleri) çağrılır. Duplicator (çoğaltıcı) geri aramaları için ENTITY:OnDuplicated'a bakın.
ENTITY:OnStateChange( number oldState, number newState )
NPC'nin durumu değiştiğinde motor tarafından çağrılır. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
Varlık hasar aldığında çağrılır. Bu hook içinde kurban varlık üzerinde Entity:TakeDamage, Entity:TakeDamageInfo, Entity:DispatchTraceAttack veya Player:TraceHullAttack (eğer varlık vurulursa) çağırmak sonsuz döngülere neden olabilir, çünkü hook tekrar çağrılacaktır. Aşağıdaki örnek gibi özyineleme (recursion) korumaları kurduğunuzdan emin olun. Bu hook yalnızca ai, nextbot ve anim türü varlıklar için çağrılır.
ENTITY:OnTaskComplete()
TaskComplete çağrıldığında motordan çağrılır. Bu, bir sonraki göreve geçmemizi sağlar - TaskComplete motor tarafı bir görevden çağrılmış olsa bile. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
ENTITY:OnTaskFailed( number failCode, string failReason )
Bu NPC'nin yürüttüğü bir görev herhangi bir nedenle başarısız olduğunda çağrılır. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
boolean ENTITY:OverrideMove( number interval )
NPC hareketini tamamen geçersiz kılmak için çağrılır. Bu, örneğin uçan NPC'ler için kullanılabilir. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
boolean ENTITY:OverrideMoveFacing( number interval, table data )
Navigasyon sırasında NPC'nin bakacağı yönü tamamen geçersiz kılmak için çağrılır. Bu hook yalnızca ai türü SENT'ler için mevcuttur. Bu hook, varsayılan hareket hook'u tarafından çağrılır. ENTITY:OverrideMove içinde `true` döndürmek, motorun bu hook'u çağırmasını engeller.
Varlığın fırçayı (brush) ne zaman tetiklemesi gerektiğini sorgular. Bu hook bozuktur ve aşağıdaki kod olmadan çalışmaz.
ENTITY:PhysicsCollide( table colData, PhysObj collider )
Varlık fizik nesneleri aracılığıyla herhangi bir şeyle çarpıştığında çağrılır. Hook'un çağrılması için hareket türü (move type) ve katılık modu (solid mode) VPHYSICS olmalıdır. Bu hook yalnızca anim türü varlıklar için çalışır. Bu, ENTITY:Touch'tan farklıdır. Bu hook'u varsayılan/motor/Lua olmayan varlıklarda (prop_physics gibi) kullanmak istiyorsanız, bunun yerine Entity:AddCallback kullanın! Bu sayfa Lua ile scriptlenmiş varlıklar için bir hook açıklamaktadır.
Vector, Vector, number ENTITY:PhysicsSimulate( PhysObj phys, number deltaTime )
Fiziği simüle etmek için Varlığın hareket denetleyicisinden (motion controller) çağrılır. Bu yalnızca, anim türündeki bir scriptli varlık üzerinde Entity:StartMotionController kullandıktan sonra çağrılır. Bu hook, Entity:StartMotionController'ı çağırırsanız ve kontrol etmek istediğiniz fizik nesneleri üzerinde Entity:AddToMotionController'ı kullanırsanız İSTEMCİDE çalışabilir. Bu hook içinde PhysObj:EnableCollisions veya PhysObj:EnableGravity gibi fonksiyonları kullanmayın, çünkü oyununuzu çökertme olasılıkları çok yüksektir. Bunun yerine ENTITY:PhysicsUpdate'i kullanmak isteyebilirsiniz.
ENTITY:PhysicsUpdate( PhysObj phys )
Varlığın fiziği her güncellendiğinde çağrılır. Varlığın PhysObj'u uyku moduna geçerse bu hook çağrılmaz.
ENTITY:PostEntityCopy()
Duplicator (çoğaltıcı) varlığı kopyalamayı bitirdikten sonra çağrılır. Ayrıca bakınız: ENTITY:PreEntityCopy, ENTITY:PostEntityPaste ve ENTITY:OnEntityCopyTableFinish.
ENTITY:PostEntityPaste( Player ply, Entity ent, table createdEntities )
Duplicator (çoğaltıcı) varlığı yapıştırdıktan sonra, kemik/varlık değiştiricileri varlığa uygulandıktan sonra çağrılır. Bu hook ENTITY:OnDuplicated'dan sonra çağrılır. Ayrıca bakınız: ENTITY:PreEntityCopy.
ENTITY:PreEntityCopy()
Duplicator (çoğaltıcı) varlığı kopyalamadan önce çağrılır. Çoğaltıldığında duplicator'ın başka bir varlık oluşturmasını sağlamanın bir yolunu arıyorsanız (örneğin, bir `prop_physics` kopyalıyorsunuz, ancak duplicator'ın `prop_physics_my` oluşturmasını istiyorsunuz), `prop_physics.ClassOverride = "prop_physics_my"` eklemelisiniz. Çoğaltma tablosu da `prop_physics_my` üzerinde değil, o `prop_physics` üzerinde saklanmalıdır. Ayrıca bakınız: ENTITY:PostEntityCopy.
ENTITY:RenderOverride( number flags )
Varlığın motor çizim fonksiyonu yerine çağrılır. Bu hook, uygulandığı herhangi bir varlıkta (scriptli olsun ya da olmasın) çalışır. Bu, "physgun_beam" üzerinde çalışmaz, bunun yerine GM:DrawPhysgunBeam'i kullanın. Bu uygulamanın bir dezavantajı olarak, aynı anda yalnızca bir RenderOverride uygulanabilir. Bu fonksiyonda bir viewmodel çizmek, GM:PreDrawViewModel, WEAPON:PreDrawViewModel, WEAPON:ViewModelDrawn, GM:PostDrawViewModel ve WEAPON:PostDrawViewModel'in iki kez çağrılmasına neden olur. Sorun Takipçisi: 3292 Bu, oyuncular için PrePlayerDraw'dan önce çağrılır. Bu fonksiyon bir oyuncu üzerinde mevcutsa, PrePlayerDraw'ın dönüş değerine bakılmaksızın dünya modelleri (worldmodel) her zaman çizilir. Sorun Takipçisi: 3299
ENTITY:RunAI()
Her 0.1 saniyede bir motordan çağrılır. Bu hook içinde `true` döndürmek, `CAI_BaseNPC::MaintainSchedule`'ın da çağrılmasına izin verir. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
boolean ENTITY:RunEngineTask( number taskID, number taskData )
Varlık üzerinde bir motor görevi (engine task) çalıştırıldığında çağrılır. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
ENTITY:RunTask( table task )
Çalışan görev üzerinde her think'te (düşünme döngüsü) çağrılır. Asıl görev fonksiyonu, görevin ne zaman bittiğini bize bildirmelidir. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
Bir Lua zamanlaması bittiğinde veya ENTITY:StartEngineSchedule çağrıldığında çağrılır. NPC'nin tablosunda saklanan zamanlama ve görev verilerini temizler. Bu, yalnızca SENT'iniz `base_ai` tabanlıysa kullanılabilen bir yardımcı fonksiyondur.
ENTITY:SelectSchedule()
Şu anda oynamamız gereken zamanlamayı ayarlar. NPC'nin bir Lua zamanlaması veya bir motor zamanlaması başlatmasına izin verir. `CAI_BaseNPC::SelectSchedule()` ile aynı adı paylaşmasına rağmen, bu fonksiyona bağlı değildir; bu, Lua'nın ENTITY:RunAI'si tarafından çağrılır, bir motor fonksiyonu döndürmez, bir motor fonksiyonu döndürmek yardımcı olmaz ve NPC'nin bir motor zamanlaması başlatmasını sağlamaz. Başlangıçtaki motor zamanlamasını değiştirmek için ENTITY:TranslateSchedule'ı kullanmanız önerilir. Bu, yalnızca SENT'iniz `base_ai` tabanlıysa kullanılabilen bir yardımcı fonksiyondur.
Bir varlık üzerindeki animasyonlu sekanslar için otomatik kare ilerlemesini açar/kapatır. Bu, `ENT.AutomaticFrameAdvance` özelliğini ayarlamakla aynı etkiye sahiptir. (Bkz. ENT yapısı)
ENTITY:SetTask( table task )
Mevcut görevi ayarlar. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
ENTITY:SetupDataTables()
Varlığın Veri Tablolarını (Data Tables) kurması gerektiğinde çağrılır. Bu, Set/Get Networked Values kullanmaktan çok daha iyi bir seçenektir. Bu hook, GM:OnEntityCreated ve GM:NetworkEntityCreated'dan sonra çağrılır.
ENTITY:SpawnFunction( Player ply, table tr, string ClassName )
Bu, oluşturma (spawn) fonksiyonudur. Bir oyuncu varlığı spawn menüsünden oluşturduğunda çağrılır. SENT'inizin oluşturulabilir olmasını istiyorsanız, varlığı düzgün bir şekilde oluşturmak için bu fonksiyona ihtiyacınız vardır. Diğer ENTITY fonksiyonlarından farklı olarak, bu fonksiyonun "self" parametresi bir varlık değil, SENT'i oluşturmak için kullanılan tablodur. Bu tablo `scripted_ents.GetStored("ent_name")`'e eşdeğerdir.
ENTITY:StartEngineSchedule( number scheduleID )
Yalnızca NPC:SetSchedule çağrıldığında motor tarafından çağrılır. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
boolean ENTITY:StartEngineTask( number taskID, number TaskData )
Varlık üzerinde bir motor görevi (engine task) başlatıldığında çağrılır. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
ENTITY:StartSchedule( Schedule sched )
Daha önce `ai_schedule.New` tarafından oluşturulmuş bir zamanlamayı başlatır. Motor tabanlı bir zamanlama başlatan ENTITY:StartEngineSchedule veya NPC:SetSchedule ile karıştırılmamalıdır. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
ENTITY:StartTask( Task task )
Görev başlatılırken bir kez çağrılır. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
ENTITY:StartTouch( Entity entity )
Varlık başka bir varlığa dokunmaya başladığında çağrılır. İlgili hook'lar için ENTITY:Touch ve ENTITY:EndTouch'a bakın. Bu, yalnızca brush (fırça) varlıkları ve Entity:SetTrigger `true` olarak ayarlanmış varlıklar için çalışır.
ENTITY:StoreOutput( string name, string info )
Bir çıktıyı (output) saklamak için kullanılır, böylece ENTITY:TriggerOutput ile tetiklenebilir. Bir haritaya derlenmiş çıktılar, ENTITY:KeyValue aracılığıyla varlıklara anahtar/değer çiftleri olarak iletilir. Bu fonksiyon önce çağrılmazsa TriggerOutput hiçbir şey yapmaz.
Mevcut çalışan Görev (Task) bitmişse `true` döndürür. Görevler, tüm NPC'ler için TASKSTATUS_COMPLETE'i ayarlayan NPC:TaskComplete çağrıldığında biter, ayrıca ai türü SENT'ler için `self.bTaskComplete`'i ayarlar. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
number ENTITY:TaskTime()
Bu mevcut görevi kaç saniyedir yaptığımızı döndürür. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
table ENTITY:TestCollision( Vector startpos, Vector delta, boolean isbox, Vector extents, number mask )
Bir iz (trace) varlığa çarptığında iz sonucunu geçersiz kılmanıza olanak tanır. Bu hook'un çalışması için varlığınızın Entity:EnableCustomCollisions özelliğinin etkinleştirilmiş olması gerekir. Varlığınızın ayrıca bir iz ile "vurulabilir" olması gerekir, bu yüzden (örneğin) SOLID_OBB veya SOLID_VPHYSICS ayarlanmış olmalı ve çarpışma sınırları (collision bounds) buna göre ayarlanmalıdır. Bu hook yalnızca anim türü için çağrılır.
boolean ENTITY:Think()
İstemcide her karede çağrılır. Sunucuda saniyede yaklaşık 5-6 kez çağrılır. Bu hook'un sunucu tarafında çalışmasını sağlamak için Entity:Spawn'ı çağırmanız gerekebilir. Aşağıdaki örnekle sunucunun tickrate'inde (işlem hızı) çalışmaya zorlayabilirsiniz.
ENTITY:Touch( Entity entity )
"Dokunulan" her varlık için her tick'te çağrılır. Dokunma genellikle varlığın çarpışma sınırları kullanılarak AABB kesişim kontrolleri ile algılanır. Tetikleyiciler (triggers) gibi varlıklar işlevleri için dokunma hook'larını kullanır. Fizik tabanlı çarpışma olayları için Entity:PhysicsCollide'a bakın. Ayrıca bakınız: ENTITY:StartTouch ve ENTITY:EndTouch. Fiziği etkinleştirilmiş varlıklar için, varlığın fiziği uykudayken bu hook çalışmaz. Bkz. PhysObj:Wake.
NPC tarafından istenirse, NPC aktivitelerini değiştirmek için motor tarafından çağrılır. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
Vector ENTITY:TranslateNavGoal( NPC or Entity target = GetEnemy() or m_hGoalEnt, Vector currentGoal = GetEnemyLastKnownPos() or m_hGoalEnt:GetPos() )
NPC'nin düşmanına veya hedefine ulaşmak için son pozisyonunu değiştirmek üzere motor tarafından çağrılır. Bu, GOALTYPE_PATHCORNER için iki kez çağrılır; ilki ilk path_corner için, ikincisi ise bir sonraki bağlı path_corner içindir. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
number ENTITY:TranslateSchedule( number schedule )
NPC tarafından istenirse, NPC zamanlamalarını değiştirmek için motor tarafından çağrılır. Bu hook yalnızca ai türü SENT'ler için mevcuttur.
ENTITY:TriggerOutput( string output, Entity activator, string data = nil )
ENTITY:StoreOutput kullanılarak saklanan tüm çıktıları (output) tetikler.
İletim durumu (transmit state) güncellenmesi gerektiğinde çağrılır.
ENTITY:Use( Entity activator, Entity caller, number useType, number value )
Bir varlık bu varlığı "kullandığında" çağrılır, örneğin bir oyuncunun bu varlık üzerinde +use tuşuna (varsayılan e) basması gibi. Hook'un ne sıklıkla çağrılacağını değiştirmek için Entity:SetUseType'a bakın. Bu hook yalnızca nextbot, ai ve anim scriptli varlık türleri için çalışır.

Metotlar

NPC sınıflandırmasını alır. Dahili olarak, motor tarafından sorgulanan `m_iClass` değişkenini alır. Bu, NPC:Classify'a eşdeğer olacaktır. Bu, yalnızca SENT'iniz `base_ai` tabanlıysa kullanılabilen bir yardımcı fonksiyondur.
ENTITY:SetMaxYawSpeed( number maxyaw )
NPC'nin maksimum sapma (yaw) hızını ayarlar. Dahili olarak, motor tarafından sorgulanan `m_fMaxYawSpeed` değişkenini ayarlar. Bu, yalnızca SENT'iniz `base_ai` tabanlıysa kullanılabilen bir yardımcı fonksiyondur.
ENTITY:SetNPCClass( number classification )
NPC sınıflandırmasını ayarlar. Dahili olarak, motor tarafından sorgulanan `m_iClass` değişkenini ayarlar. Bu, yalnızca SENT'iniz `base_ai` tabanlıysa kullanılabilen bir yardımcı fonksiyondur.

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