Source SDK

Source SDK

Not enough ratings
Примеры Vscript CS:GO
By Effluvia
   
Award
Favorite
Favorited
Unfavorite
Содержание
Найти ближайшего игрока к известной сущности
button <- Entities.FindByName( null, "button_01" ) // find the in-game entity "button_01" and store its handle player <- Entities.FindByClassnameNearest( "player", button.GetOrigin(), 512 ) // find the nearest player within 512 hammer units to the button's origin and store their handle. Turn decoys into nukes // The following script is a think script, it can be attached to any entity. // The Think function will be executed // as long as the entity is alive and has its thinkfunction set to Think // This can be found in hammer's sound picker const EXPLOSION_SOUND = "c4.Explode" // Called after the entity is spawned function Precache() { self.PrecacheScriptSound( EXPLOSION_SOUND ) } // Every 0.1 seconds this function checks for decoy_projectiles in the map // When found, it checks if the decoy is standing still // If true create an env_explosion, trigger it and kill the decoy function Think() { local decoy = null while( ( decoy = Entities.FindByClassname( decoy, "decoy_projectile" ) ) != null ) { if( decoy.GetVelocity().LengthSqr() == 0 ) { local owner = decoy.GetOwner() local origin = decoy.GetOrigin() local explosion = Entities.CreateByClassname( "env_explosion" ) explosion.__KeyValueFromInt( "iMagnitude", 2000 ) explosion.SetOrigin( origin ) explosion.SetOwner( owner ) EntFireByHandle( explosion, "Explode", "", 0.1, owner, owner ) DispatchParticleEffect( "explosion_c4_500", origin, origin ) decoy.EmitSound( EXPLOSION_SOUND ) decoy.Destroy() } } }

Создать таймер для самостоятельного вызова функции
timer <- null function OnTimer() { print(".") } // Called after the entity is spawned function OnPostSpawn() { if( timer == null ) { timer = Entities.CreateByClassname( "logic_timer" ) // set refire time timer.__KeyValueFromFloat( "RefireTime", 0.1 ) timer.ValidateScriptScope() local scope = timer.GetScriptScope() // add a reference to the function scope.OnTimer <- OnTimer // connect the OnTimer output, // every time the timer fires the output, the function is executed timer.ConnectOutput( "OnTimer", "OnTimer" ) // start the timer EntFireByHandle( timer, "Enable", "", 0, null, null ) } }