Dota 2 Workshop Tools/Scripting/API/Global.CreateUnitByName: Difference between revisions
< Dota 2 Workshop Tools | Scripting | API
		
		
		
		Jump to navigation
		Jump to search
		| RoyAwesome (talk | contribs)  (Dota_Lebot push: Updated Page) | RoyAwesome (talk | contribs)   (Undo revision 190721 by RoyAwesome (talk)) | ||
| Line 13: | Line 13: | ||
| == Parameters == | == Parameters == | ||
| {| class="standard-table" style="width:  | {| class="standard-table" style="width: 100%;" | ||
| ! Type | ! Type | ||
| ! Name | ! Name | ||
| ! Description | ! Description | ||
| ! Example | |||
| |- | |- | ||
| | string | | string | ||
| | a | | a | ||
| |  | | The name of the unit as referenced in the KV | ||
| | "npc_dota_creature_troll_healer" | |||
| |- | |- | ||
| | Vector | | Vector | ||
| | b | | b | ||
| |  | | The Vector at which the unit will be created | ||
| | keys.caster:GetAbsOrigin() | |||
| |- | |- | ||
| | bool | | bool | ||
| | c | | c | ||
| |  | | Whether or not to find free space for the unit | ||
| | true/false | |||
| |- | |- | ||
| | handle | | handle | ||
| | d | | d | ||
| |  | | NPC Owner, Unknown Function | ||
| | nil | |||
| |- | |- | ||
| | handle | | handle | ||
| | e | | e | ||
| |  | | Unit Owner, Unknown Function | ||
| | nil | |||
| |- | |- | ||
| | int | | int | ||
| | f | | f | ||
| |  | | The Team ID in which to place the unit | ||
| | keys.caster:GetTeam() | |||
| |} | |} | ||
| == Returns == | == Returns == | ||
| ''handle'' -  | ''handle'' - The handle to the unit that was created | ||
| == 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:14, 17 June 2015
 Note: This page is automatically generated.  Any changes may be overwritten
Note: This page is automatically generated.  Any changes may be overwrittenFunction 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 | Example | 
|---|---|---|---|
| string | a | The name of the unit as referenced in the KV | "npc_dota_creature_troll_healer" | 
| Vector | b | The Vector at which the unit will be created | keys.caster:GetAbsOrigin() | 
| bool | c | Whether or not to find free space for the unit | true/false | 
| handle | d | NPC Owner, Unknown Function | nil | 
| handle | e | Unit Owner, Unknown Function | nil | 
| int | f | The Team ID in which to place the unit | keys.caster:GetTeam() | 
Returns
handle - The handle to the unit that was created
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