Dota 2 Workshop Tools/Scripting/API/Global.CreateUnitByName: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Dota_Lebot push: Updated Page)
Line 13: Line 13:


== Parameters ==
== Parameters ==
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 50%;"
! Type
! Type
! Name
! Name
! Description
! Description
! Example
|-
|-
| string
| string
| a
| a
| The name of the unit as referenced in the KV
| No Description Set
| "npc_dota_creature_troll_healer"
|-
|-
| Vector
| Vector
| b
| b
| The Vector at which the unit will be created
| No Description Set
| keys.caster:GetAbsOrigin()
|-
|-
| bool
| bool
| c
| c
| Whether or not to find free space for the unit
| No Description Set
| true/false
|-
|-
| handle
| handle
| d
| d
| NPC Owner, Unknown Function
| No Description Set
| nil
|-
|-
| handle
| handle
| e
| e
| Unit Owner, Unknown Function
| No Description Set
| nil
|-
|-
| int
| int
| f
| f
| The Team ID in which to place the unit
| No Description Set
| keys.caster:GetTeam()
|}
|}


== Returns ==
== Returns ==


''handle'' - The handle to the unit that was created
''handle'' - No Description Set
 
== Example ==
 
The currently best known way to make a unit under the control of a player is something like
 
  function CreateUnit(keys)
      -- Create the unit around the caster and find free space for it to prevent getting suck
      local unit = CreateUnitByName("npc_dota_unit", keys.caster:GetAbsOrigin(), true, nil, nil, keys.caster:GetTeam())
      -- Set the owner of the new unit to the owner of the old unit
      unit.vOwner = keys.caster:GetOwner()
      -- Set the new owner as the controlling player
      unit:SetControllableByPlayer(keys.caster:GetOwner():GetPlayerID(), true )
        -- Note: Only heroes will return the correct value for keys.caster:GetPlayerOwnerID()
        -- Useing keys.caster:GetOwner():GetPlayerID() will allow created units to create more units
        -- For example having builder make a building and that building create units
  end

Revision as of 02:12, 17 June 2015

Note.pngNote: This page is automatically generated. Any changes may be overwritten

Function Description

handle CreateUnitByName(string a, Vector b, bool c, handle d, handle e, int f)

Creates a DOTA unit by its dota_npc_units.txt name ( szUnitName, vLocation, bFindClearSpace, hNPCOwner, hUnitOwner, iTeamNumber )


Parameters

Type Name Description
string a No Description Set
Vector b No Description Set
bool c No Description Set
handle d No Description Set
handle e No Description Set
int f No Description Set

Returns

handle - No Description Set