ENTITY:TriggerOutput

  ENTITY:TriggerOutput( string output, Entity activator, string data = nil )

Açıklama

ENTITY:StoreOutput kullanılarak depolanan tüm çıktıları tetikler.

Argümanlar

1 string output
Ateşlenecek çıktının adı
2 Entity activator
Tetikleyici entity
3 string data = nil
Çıktıya verilecek veri.

Örnek

Haritaya derlendiğinde OnEndTouch çıktılarını çalıştıracak bir brush entity oluşturur

ENT.Type = "brush" ENT.Base = "base_brush" function ENT:Initialize() self:SetSolid(SOLID_BBOX) self:SetTrigger(true) -- Generates EndTouch and StartTouch callbacks end function ENT:KeyValue( k, v ) -- Store 'OnEndTouch' outputs for map created entities if ( k == "OnEndTouch" ) then self:StoreOutput( k, v ) end end function ENT:EndTouch(ent) -- Trigger all stored outputs self:TriggerOutput("OnEndTouch", ent) end

Örnek

Motor entity'leri için çıktıları hook'lamak amacıyla Entity:Fire kullanabilirsiniz. Bu örnek tüm trigger_teleport'ları hook'lar.

ACTIVATOR / CALLER / TRIGGER_PLAYER globalleri sadece çalıştırma sırasında mevcuttur, hemen ardından ayarları kaldırılır.
local function SetupMapLua() local MapLua = ents.Create( "lua_run" ) MapLua:SetName( "triggerhook" ) MapLua:Spawn() for _, v in ipairs( ents.FindByClass( "trigger_teleport" ) ) do v:Fire( "AddOutput", "OnStartTouch triggerhook:RunPassedCode:hook.Run( 'OnTeleport' ):0:-1" ) end end hook.Add( "InitPostEntity", "SetupMapLua", SetupMapLua ) hook.Add( "PostCleanupMap", "SetupMapLua", SetupMapLua ) hook.Add( "OnTeleport", "TestTeleportHook", function() local activator, caller = ACTIVATOR, CALLER print( activator, caller ) end )
Çıktı: Oyuncu bir trigger_teleport'a dokunduğunda bu, konsola yazdırılacaktır:
Player [1][Player1] Entity [3][trigger_teleport]

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