Actionscript game engine reference

From Valve Developer Community
Jump to: navigation, search

Game

globals.Game.

  • Time() - raw time since the server started. This continues even when the game is paused
  • GetGameTime() - similar to Time, but freezes if the game is paused
  • IsHUDFlipped() - Returns true if the user has enabled flipped HUD
  • ScreenXYToWorld(x, y) - Converts the specified x,y screen co-ordinates into x,y,z world co-ordinates. Returns array with the translated x,y,z world co-ordinate(x is 0, y is 1 and z is 2).
  • WorldToScreenX( x, y, z ) - Converts the specified x,y,z world co-ordinate into an x screen coordinate. Returns -1 if offscreen
  • WorldToScreenY( x, y, z ) - Converts the specified x,y,z world co-ordinate into a y screen coordinate. Returns -1 if offscreen
  • GetKeybindForAbility( nAbilityEntityIndex ) - Returns the keybind as a string
  • GetState() - returns the current gamerules state:
    • DOTA_GAMERULES_STATE_INIT = 0,
    • DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD = 1,
    • DOTA_GAMERULES_STATE_HERO_SELECTION = 2,
    • DOTA_GAMERULES_STATE_STRATEGY_TIME = 3,
    • DOTA_GAMERULES_STATE_PRE_GAME = 4,
    • DOTA_GAMERULES_STATE_GAME_IN_PROGRESS = 5,
    • DOTA_GAMERULES_STATE_POST_GAME = 6,
    • DOTA_GAMERULES_STATE_DISCONNECT = 7,
    • DOTA_GAMERULES_STATE_TEAM_SHOWCASE = 8,
    • DOTA_GAMERULES_STATE_LAST = 9

Players

globals.Players.

  • CanPlayerBuyback( nPlayerID ) - Can the player buy back?
  • GetAssists( nPlayerID ) - The number of assists credited to a player.
  • GetClaimedDenies( nPlayerID ) -
  • GetClaimedMisses( nPlayerID ) -
  • GetDeaths( nPlayerID ) - The number of deaths a player has suffered.
  • GetDenies( nPlayerID ) - The number of denies credited to a player.
  • GetGold( nPlayerID ) - The amount of gold a player has.
  • GetGoldBagsCollected( nPlayerID ) - The number of gold bags collected by a player.
  • GetKills ( nPlayerID ) - The number of kills credited to a player.
  • GetLastBuybackTime( nPlayerID ) -
  • GetLastHitMultikill( nPlayerID ) -
  • GetLastHits( nPlayerID ) - The number of last hits credited to a player.
  • GetLastHitStreak( nPlayerID ) -
  • GetLevel( nPlayerID ) - The current level of a player.
  • GetMisses( nPlayerID ) -
  • GetNearbyCreepDeaths( nPlayerID ) -
  • GetReliableGold( nPlayerID ) - Total reliable gold for this player.
  • GetRespawnSeconds( nPlayerID ) -
  • GetStreak( nPlayerID ) -
  • GetTotalEarnedGold( nPlayerID ) - Total gold earned in this game by this player.
  • GetTotalEarnedXP( nPlayerID ) - Total xp earned in this game by this player.
  • GetUnreliableGold( nPlayerID ) - Total unreliable gold for this player.
  • GetGoldPerMin( nPlayerID ) - Average gold earned per minute for this player.
  • GetXPPerMin( nPlayerID ) - Average xp earned per minute for this player.
  • GetMaxPlayers( nPlayerID ) - Get the maximum number of players in the game.
  • GetMaxTeamPlayers( nPlayerID ) - Get the maximum number of players on teams.
  • GetLocalPlayer() - Get the local player ID.
  • IsValidPlayer( nPlayerID ) - Is the nth player a valid player?
  • GetPlayerName( nPlayerID ) - Return the name of a player.
  • GetPlayerSelectedHero( nPlayerID ) - Return the name of the hero a player is controlling.
  • GetPlayerHeroEntityIndex( nPlayerID ) - Get the entity index of the hero controlled by this player.
  • GetSelectedEntities( nPlayerID ) - Get the entities this player has selected (as an array of entity indices).
  • GetQueryUnit( nPlayerID ) - Get the entities this player is querying (as an array of entity indices).
  • GetPlayerColor( nPlayerID ) - Get the player color.
  • IsSpectator( nPlayerID ) - Is this player a spectator.

Entities

These functions return an array of entity indices.

globals.Entities.

  • GetAllBuildingEntities() - Get all the building entities.
  • GetAllHeroEntities() - Get all the hero entities.
  • GetAllCreatureEntities() - Get all the creature entities.
  • GetAllEntitiesByName( name ) - Get all the entities with a given name.
  • GetAllEntitiesByClassname( classname ) - Get all the entities with a given classname.
  • GetAllEntities() - Get all the entities.

NPC

Given an NPC entity index, these functions return various information about the NPC.


globals.Entities.

  • GetAbsOrigin( nNPCEntityIndex ) - Get the world origin of the entity.
  • CanBeDominated( nNPCEntityIndex ) -
  • HasAttackCapability( nNPCEntityIndex ) -
  • HasCastableAbilities( nNPCEntityIndex ) -
  • HasFlyingVision( nNPCEntityIndex ) -
  • HasFlyMovementCapability( nNPCEntityIndex ) -
  • HasGroundMovementCapability( nNPCEntityIndex ) -
  • HasMovementCapability( nNPCEntityIndex ) -
  • HasScepter( nNPCEntityIndex ) -
  • HasUpgradeableAbilities( nNPCEntityIndex ) -
  • HasUpgradeableAbilitiesThatArentMaxed( nNPCEntityIndex ) -
  • IsAncient( nNPCEntityIndex ) -
  • IsAttackImmune( nNPCEntityIndex ) -
  • IsBarracks( nNPCEntityIndex ) -
  • IsBlind( nNPCEntityIndex ) -
  • IsBlockDisabled( nNPCEntityIndex ) -
  • IsBoss( nNPCEntityIndex ) -
  • IsRoshan( nNPCEntityIndex ) -
  • IsBuilding( nNPCEntityIndex ) -
  • IsCommandRestricted( nNPCEntityIndex ) -
  • IsConsideredHero( nNPCEntityIndex ) -
  • IsControllableByAnyPlayer( nNPCEntityIndex ) -
  • IsCourier( nNPCEntityIndex ) -
  • IsCreature( nNPCEntityIndex ) -
  • IsCreep( nNPCEntityIndex ) -
  • IsCreepHero( nNPCEntityIndex ) -
  • IsDeniable( nNPCEntityIndex ) -
  • IsDominated( nNPCEntityIndex ) -
  • IsEnemy( nNPCEntityIndex ) -
  • IsEvadeDisabled( nNPCEntityIndex ) -
  • IsFort( nNPCEntityIndex ) -
  • IsFrozen( nNPCEntityIndex ) -
  • IsGeneratedByEconItem( nNPCEntityIndex ) -
  • IsGreevil( nNPCEntityIndex ) -
  • IsHallofFame( nNPCEntityIndex ) -
  • IsHardDisarmed( nNPCEntityIndex ) -
  • IsHero( nNPCEntityIndex ) -
  • IsHexed( nNPCEntityIndex ) -
  • IsIllusion( nNPCEntityIndex ) -
  • IsInRangeOfFountain( nNPCEntityIndex ) -
  • IsInventoryEnabled( nNPCEntityIndex ) -
  • IsInvisible( nNPCEntityIndex ) -
  • IsInvulnerable( nNPCEntityIndex ) -
  • IsLaneCreep( nNPCEntityIndex ) -
  • IsLootGreevil( nNPCEntityIndex ) -
  • IsLowAttackPriority( nNPCEntityIndex ) -
  • IsMagicImmune( nNPCEntityIndex ) -
  • IsMechanical( nNPCEntityIndex ) -
  • IsMuted( nNPCEntityIndex ) -
  • IsNeutralUnitType( nNPCEntityIndex ) -
  • IsNightmared( nNPCEntityIndex ) -
  • IsOther( nNPCEntityIndex ) -
  • IsOutOfGame( nNPCEntityIndex ) -
  • IsOwnedByAnyPlayer( nNPCEntityIndex ) -
  • IsPhantom( nNPCEntityIndex ) -
  • IsRangedAttacker( nNPCEntityIndex ) -
  • IsRealHero( nNPCEntityIndex ) -
  • IsRooted( nNPCEntityIndex ) -
  • IsSelectable( nNPCEntityIndex ) -
  • IsShop( nNPCEntityIndex ) -
  • IsSilenced( nNPCEntityIndex ) -
  • IsSoftDisarmed( nNPCEntityIndex ) -
  • IsSpeciallyDeniable( nNPCEntityIndex ) -
  • IsStunned( nNPCEntityIndex ) -
  • IsSummoned( nNPCEntityIndex ) -
  • IsTower( nNPCEntityIndex ) -
  • IsUnselectable( nNPCEntityIndex ) -
  • IsWard( nNPCEntityIndex ) -
  • IsZombie( nNPCEntityIndex ) -
  • NoHealthBar( nNPCEntityIndex ) -
  • NoTeamMoveTo( nNPCEntityIndex ) -
  • NoTeamSelect( nNPCEntityIndex ) -
  • NotOnMinimap( nNPCEntityIndex ) -
  • NotOnMinimapForEnemies( nNPCEntityIndex ) -
  • NoUnitCollision( nNPCEntityIndex ) -
  • PassivesDisabled( nNPCEntityIndex ) -
  • ProvidesVision( nNPCEntityIndex ) -
  • UsesHeroAbilityNumbers( nNPCEntityIndex ) -
  • GetAbilityCount( nNPCEntityIndex ) -
  • GetCombatClassAttack( nNPCEntityIndex ) -
  • GetCombatClassDefend( nNPCEntityIndex ) -
  • GetCurrentVisionRange( nNPCEntityIndex ) -
  • GetDamageBonus( nNPCEntityIndex ) -
  • GetDamageMax( nNPCEntityIndex ) -
  • GetDamageMin( nNPCEntityIndex ) -
  • GetDayTimeVisionRange( nNPCEntityIndex ) -
  • GetHealth( nNPCEntityIndex ) -
  • GetHealthPercent( nNPCEntityIndex ) -
  • GetHealthThinkRegen( nNPCEntityIndex ) -
  • GetLevel( nNPCEntityIndex ) -
  • GetMaxHealth( nNPCEntityIndex ) -
  • GetNightTimeVisionRange( nNPCEntityIndex ) -
  • GetStates( nNPCEntityIndex ) -
  • GetTotalPurchasedUpgradeGoldCost( nNPCEntityIndex ) -
  • GetTotalDamageTaken( nNPCEntityIndex ) -
  • GetAttackRange( nNPCEntityIndex ) -
  • GetAttackSpeed( nNPCEntityIndex ) -
  • GetAttacksPerSecond( nNPCEntityIndex ) -
  • GetBaseAttackTime( nNPCEntityIndex ) -
  • GetBaseMagicalResistanceValue( nNPCEntityIndex ) -
  • GetBaseMoveSpeed( nNPCEntityIndex ) -
  • GetCollisionPadding( nNPCEntityIndex ) -
  • GetEffectiveInvisibilityLevel( nNPCEntityIndex ) -
  • GetHasteFactor( nNPCEntityIndex ) -
  • GetHullRadius( nNPCEntityIndex ) -
  • GetIdealSpeed( nNPCEntityIndex ) -
  • GetIncreasedAttackSpeed( nNPCEntityIndex ) -
  • GetMana( nNPCEntityIndex ) -
  • GetManaThinkRegen( nNPCEntityIndex ) -
  • GetMaxMana( nNPCEntityIndex ) -
  • GetPaddedCollisionRadius( nNPCEntityIndex ) -
  • GetPercentInvisible( nNPCEntityIndex ) -
  • GetProjectileCollisionSize( nNPCEntityIndex ) -
  • GetRingRadius( nNPCEntityIndex ) -
  • GetSecondsPerAttack( nNPCEntityIndex ) -
  • ManaFraction( nNPCEntityIndex ) -
  • GetClassname( nNPCEntityIndex ) -
  • GetDisplayedUnitName( nNPCEntityIndex ) -
  • GetSelectionGroup( nNPCEntityIndex ) -
  • GetSoundSet( nNPCEntityIndex ) -
  • GetUnitLabel( nNPCEntityIndex ) -
  • GetUnitName( nNPCEntityIndex ) -
  • IsControllableByPlayer( nNPCEntityIndex, nPlayerID ) -
  • GetChosenTarget( nNPCEntityIndex ) -
  • HasItemInInventory( nNPCEntityIndex, item_name ) -
  • GetRangeToUnit( nNPCEntityIndex ) -
  • GetMoveSpeedModifier( nNPCEntityIndex, flBaseSpeed ) -
  • CanAcceptTargetToAttack( nNPCEntityIndex ) -
  • IsEntityInRange( nNPCEntityIndex, nOtherEntityIndex, flRange ) -
  • InState( nNPCEntityIndex ) -
  • GetArmorForDamageType( nNPCEntityIndex, nDamageType ) -
  • GetArmorReductionForDamageType( nNPCEntityIndex, nDamageType ) -
  • IsInRangeOfShop( nNPCEntityIndex ) -
  • GetNumItemsInStash( nNPCEntityIndex ) -
  • GetNumItemsInInventory( nNPCEntityIndex ) -
  • GetItemInSlot( nNPCEntityIndex, nItemSlot ) - returns entity index of item
  • GetAbility( nNPCEntityIndex, nAbilitySlot ) - returns entity index of ability
  • GetAbilityByName( nNPCEntityIndex, ability_name ) - returns entity index of ability
  • GetClassname( nNPCEntityIndex ) -
  • GetDisplayedUnitName( nNPCEntityIndex ) -
  • GetSelectionGroup( nNPCEntityIndex ) -
  • GetSoundSet( nNPCEntityIndex ) -
  • GetUnitLabel( nNPCEntityIndex ) -
  • GetUnitName( nNPCEntityIndex ) -
  • GetTotalDamageTaken( nNPCEntityIndex ) -

Ability

Given an ability entity index (returned from npc.GetAbility or npc.GetAbilityByName), these functions return information about the ability.


globals.Abilities.

  • GetAbilityName( nAbilityEntityIndex ) -
  • GetAbilityTextureName( nAbilityEntityIndex ) -
  • GetAssociatedPrimaryAbilities( nAbilityEntityIndex ) -
  • GetAssociatedSecondaryAbilities( nAbilityEntityIndex ) -
  • GetHotkeyOverride( nAbilityEntityIndex ) -
  • GetIntrinsicModifierName( nAbilityEntityIndex ) -
  • GetSharedCooldownName( nAbilityEntityIndex ) -
  • AbilityReady( nAbilityEntityIndex ) -
  • CanAbilityBeUpgraded( nAbilityEntityIndex ) -
  • CanBeExecuted( nAbilityEntityIndex ) -
  • GetAbilityDamage( nAbilityEntityIndex ) -
  • GetAbilityDamageType( nAbilityEntityIndex ) -
  • GetAbilityTargetFlags( nAbilityEntityIndex ) -
  • GetAbilityTargetTeam( nAbilityEntityIndex ) -
  • GetAbilityTargetType( nAbilityEntityIndex ) -
  • GetAbilityType( nAbilityEntityIndex ) -
  • GetBehavior( nAbilityEntityIndex ) -
  • GetCastRange( nAbilityEntityIndex ) -
  • GetChannelledManaCostPerSecond( nAbilityEntityIndex ) -
  • GetCurrentCharges( nAbilityEntityIndex ) -
  • GetEffectiveLevel( nAbilityEntityIndex ) -
  • GetHeroLevelRequiredToUpgrade( nAbilityEntityIndex ) -
  • GetLevel( nAbilityEntityIndex ) -
  • GetManaCost( nAbilityEntityIndex ) -
  • GetMaxLevel( nAbilityEntityIndex ) -
  • AttemptToUpgrade( nAbilityEntityIndex ) -
  • CanLearn( nAbilityEntityIndex ) -
  • GetAutoCastState( nAbilityEntityIndex ) -
  • GetToggleState( nAbilityEntityIndex ) -
  • HasScepterUpgradeTooltip( nAbilityEntityIndex ) -
  • IsActivated( nAbilityEntityIndex ) -
  • IsActivatedChanging( nAbilityEntityIndex ) -
  • IsAttributeBonus( nAbilityEntityIndex ) -
  • IsAutocast( nAbilityEntityIndex ) -
  • IsCooldownReady( nAbilityEntityIndex ) -
  • IsCosmetic( nAbilityEntityIndex ) -
  • IsHidden( nAbilityEntityIndex ) -
  • IsHiddenWhenStolen( nAbilityEntityIndex ) -
  • IsInAbilityPhase( nAbilityEntityIndex ) -
  • IsItem( nAbilityEntityIndex ) -
  • IsMarkedAsDirty( nAbilityEntityIndex ) -
  • IsMuted( nAbilityEntityIndex ) -
  • IsOnCastbar( nAbilityEntityIndex ) -
  • IsOnLearnbar( nAbilityEntityIndex ) -
  • IsOwnersGoldEnough( nAbilityEntityIndex ) -
  • IsOwnersGoldEnoughForUpgrade( nAbilityEntityIndex ) -
  • IsOwnersManaEnough( nAbilityEntityIndex ) -
  • IsPassive( nAbilityEntityIndex ) -
  • IsRecipe( nAbilityEntityIndex ) -
  • IsSharedWithTeammates( nAbilityEntityIndex ) -
  • IsStealable( nAbilityEntityIndex ) -
  • IsStolen( nAbilityEntityIndex ) -
  • GetAOERadius( nAbilityEntityIndex ) -
  • GetBackswingTime( nAbilityEntityIndex ) -
  • GetCastPoint( nAbilityEntityIndex ) -
  • GetChannelStartTime( nAbilityEntityIndex ) -
  • GetChannelTime( nAbilityEntityIndex ) -
  • GetCooldown( nAbilityEntityIndex ) -
  • GetCooldownLength( nAbilityEntityIndex ) -
  • GetCooldownTime( nAbilityEntityIndex ) -
  • GetCooldownTimeRemaining( nAbilityEntityIndex ) -
  • GetDuration( nAbilityEntityIndex ) -
  • GetUpgradeBlend( nAbilityEntityIndex ) -
  • GetCaster( nAbilityEntityIndex ) -
  • GetCustomValueFor( nAbilityEntityIndex ) -
  • GetSpecialValueFor( nAbilityEntityIndex, name ) -
  • GetLevelSpecialValueFor( nAbilityEntityIndex, name, level ) -

Item

Given an item entity index (returned from npc.GetItemInSlot), these functions return information about the item.


globals.Items.

  • AlwaysDisplayCharges( nItemEntityIndex ) -
  • CanBeSoldByLocalPlayer( nItemEntityIndex ) -
  • CanDoubleTapCast( nItemEntityIndex ) -
  • ForceHideCharges( nItemEntityIndex ) -
  • IsAlertableItem( nItemEntityIndex ) -
  • IsCastOnPickup( nItemEntityIndex ) -
  • IsDisassemblable( nItemEntityIndex ) -
  • IsDroppable( nItemEntityIndex ) -
  • IsInnatelyDisassemblable( nItemEntityIndex ) -
  • IsKillable( nItemEntityIndex ) -
  • IsMuted( nItemEntityIndex ) -
  • IsPermanent( nItemEntityIndex ) -
  • IsPurchasable( nItemEntityIndex ) -
  • IsRecipe( nItemEntityIndex ) -
  • IsRecipeGenerated( nItemEntityIndex ) -
  • IsSellable( nItemEntityIndex ) -
  • IsStackable( nItemEntityIndex ) -
  • ProRatesChargesWhenSelling( nItemEntityIndex ) -
  • RequiresCharges( nItemEntityIndex ) -
  • CanBeExecuted( nItemEntityIndex ) -
  • GetCost( nItemEntityIndex ) -
  • GetCurrentCharges( nItemEntityIndex ) -
  • GetDisplayedCharges( nItemEntityIndex ) -
  • GetInitialCharges( nItemEntityIndex ) -
  • GetItemColor( nItemEntityIndex ) -
  • GetShareability( nItemEntityIndex ) -
  • GetAbilityTextureSF( nItemEntityIndex ) -
  • GetAssembledTime( nItemEntityIndex ) -
  • GetPurchaseTime( nItemEntityIndex ) -
  • GetPurchaser( nItemEntityIndex ) -

Misc

  • gameAPI.SubscribeToGameEvent( "event", callbackFunction )
  • gameAPI.SendServerCommand( "consolecommand" ) - send a console command to the server. This can be a console command registered in your server side game mode .lua (see Convars:RegisterCommand in holdout_example/scripts/vscripts/addon_game_mode.lua for an example)
  • globals.GameInterface.PlaySound( "soundname" ) - play a sound effect. NOTE: Custom game sounds are currently not supported.
  • globals.GameInterface.StopSound( "soundname" )
  • globals.GameInterface.AddKeyInputConsumer() - if you call this, the UI will start to eat all keypresses and will receive key input events. It's very important to call RemoveKeyInputConsumer when your UI is done processing input.
  • globals.GameInterface.RemoveKeyInputConsumer() - this must be called once for every call of AddKeyInputConsumer for key input to return to the game.