Entity:ResetSequence
Açıklama
Varlık üzerinde bir animasyon oynatır. Bu, motor (engine) varlıklarında her zaman çalışmayabilir.
Bu, viewmodel'lar (görüş modelleri) üzerindeki animasyonu sıfırlamaz, bunun yerine Entity:SendViewModelMatchingSequence kullanın.
Bu fonksiyon, Entity:SetModel çağrıldıktan hemen sonra çağrılırsa düzgün çalışmayacaktır. Bir sonraki Tick'e (işlem anı) kadar beklemeyi düşünün.
Temel oyun modunun animasyon sistemi tarafından animasyonlar her karede sıfırlandığı için oyuncular üzerinde çalışmaz. Bkz. GM:CalcMainActivity.
Özel olarak kodlanmış (scripted) varlıklarda animasyonların çalışmasını sağlamak için ENTITY:Think sayfasındaki örneği uygulamak isteyeceksiniz.
Argümanlar
1 number veya string sequence
Oynatılacak sekans. Metin (string) de kabul eder.
Eğer bir metin (string) olarak ayarlanırsa, fonksiyon sekans ID'sini sayı olarak almak için otomatik olarak Entity:LookupSequence fonksiyonunu çağırır.
Örnek
Özel "anim" tipi varlıklarda sekansların beklendiği gibi çalışması için gereken minimum kod.
Bu örnekte, oyuncu sandığı kullandığında sandık açılacak ve tekrar kullandığında kapanacaktır.
ENT.Base = "base_anim"
ENT.Spawnable = true
ENT.AutomaticFrameAdvance = true
ENT.PrintName = "Animasyon Testi"
ENT.Category = "Varlık Kategorim"
function ENT:Initialize()
if ( SERVER ) then -- Bu ayarları sadece sunucuda yapın, istemcilere otomatik olarak ağ üzerinden iletilir
self:SetModel( "models/items/ammocrate_ar2.mdl" ) -- Modeli ayarla
self:PhysicsInit( SOLID_VPHYSICS ) -- Fiziği başlat
self:SetUseType( SIMPLE_USE ) -- ENT:Use'un her kullanımda (varlık üzerindeki kullanma tuşuna basıldığında, varsayılan olarak E tuşu) yalnızca bir kez çalıştırıldığından emin olun
end
end
function ENT:Think()
if ( SERVER ) then -- Bu ayarları sadece sunucuda yapın
self:NextThink( CurTime() ) -- Sunucu tarafındaki hook için bir sonraki think'i bir sonraki kare/tick olarak ayarla
return true -- self:NextThink() çağrısını uygulamak istediğimizi oyuna bildirmek için true döndür
end
end
if ( SERVER ) then -- Bu hook sadece sunucuda mevcuttur
function ENT:Use( activator, caller ) -- Bir oyuncu bu varlığı kullanırsa, bir animasyon oynat
if ( !self.Opened ) then -- Eğer "açık" değilsek
self:ResetSequence( "open" ) -- Açılma sekansını oynat
self.Opened = true -- Artık açığız
else
self:ResetSequence( "close" ) -- Kapanma sekansını oynat
self.Opened = false -- Artık kapalıyız
end
end
end
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord