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

From Valve Developer Community
Jump to navigation Jump to search
(Undo revision 190721 by RoyAwesome (talk))
(Dota_Lebot push: Updated Page)
Line 6: Line 6:




''' handle CreateUnitByName(string ''a'', Vector ''b'', bool ''c'', handle ''d'', handle ''e'', int ''f'') '''
''' handle CreateUnitByName(string ''string_1'', Vector ''Vector_2'', bool ''bool_3'', handle ''handle_4'', handle ''handle_5'', int ''int_6'') '''


''Creates a DOTA unit by its dota_npc_units.txt name ( szUnitName, vLocation, bFindClearSpace, hNPCOwner, hUnitOwner, iTeamNumber )''
''Creates a DOTA unit by its dota_npc_units.txt name ( szUnitName, vLocation, bFindClearSpace, hNPCOwner, hUnitOwner, iTeamNumber )''
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
| string_1
| The name of the unit as referenced in the KV
| No Description Set
| "npc_dota_creature_troll_healer"
|-
|-
| Vector
| Vector
| b
| Vector_2
| The Vector at which the unit will be created
| No Description Set
| keys.caster:GetAbsOrigin()
|-
|-
| bool
| bool
| c
| bool_3
| Whether or not to find free space for the unit
| No Description Set
| true/false
|-
|-
| handle
| handle
| d
| handle_4
| NPC Owner, Unknown Function
| No Description Set
| nil
|-
|-
| handle
| handle
| e
| handle_5
| Unit Owner, Unknown Function
| No Description Set
| nil
|-
|-
| int
| int
| f
| int_6
| 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 04:29, 19 June 2015

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

Function Description

handle CreateUnitByName(string string_1, Vector Vector_2, bool bool_3, handle handle_4, handle handle_5, int int_6)

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


Parameters

Type Name Description
string string_1 No Description Set
Vector Vector_2 No Description Set
bool bool_3 No Description Set
handle handle_4 No Description Set
handle handle_5 No Description Set
int int_6 No Description Set

Returns

handle - No Description Set