# Set Player Hero
Grammar — Set Player player’s hero to hero.
Flags —Native
|Action
Sets the hero of the specified player.
# Arguments
int
— Playerstring
<gamelink::Hero> — Hero
Returns — void
native void PlayerSetHero(int inPlayer, string inHero);
# Related
Category: Player / Player Settings
- Modify Player Property (Integer) —
void
— PlayerModifyPropertyInt - Modify Player Property (Real) —
void
— PlayerModifyPropertyFixed - Player Property (Integer) —
int
— PlayerGetPropertyInt - Player Property (Real) —
fixed
— PlayerGetPropertyFixed - Modify Player Score (Integer) —
void
— PlayerScoreValueSetFromInt - Modify Player Score (Real) —
void
— PlayerScoreValueSetFromFixed - Player Score Value (Integer) —
int
— PlayerScoreValueGetAsInt - Player Score Value (Real) —
fixed
— PlayerScoreValueGetAsFixed - Turn Player Flag On/Off —
void
— PlayerSetState - Player Flag Check —
bool
— PlayerGetState - Player License Check —
bool
— PlayerHasLicense - Player Access Check —
bool
— PlayerHasAccessTo - Player Has Reward —
bool
— PlayerHasReward - Player Has Talent —
bool
— PlayerHasTalent - Name Of Player —
text
— PlayerName - Handle Of Player —
string
— PlayerHandle - Race Of Player —
string
<gamelink::Race> — PlayerRace - Hero Of Player —
string
<gamelink::Hero> — PlayerHero - Skin Of Player —
string
<gamelink::Skin> — PlayerSkin - Mount Of Player —
string
<gamelink::Mount> — PlayerMount - Spray Of Player —
string
<gamelink::Spray> — PlayerSpray - Artifact Of Player —
string
<gamelink::Artifact> — PlayerArtifact - Artifact Rank Of Player —
int
— PlayerArtifactRank - Commander Of Player —
string
<gamelink::Commander> — PlayerCommander - Commander Level Of Player —
int
— PlayerCommanderLevel - Commander Mastery Level Of Player —
int
— PlayerCommanderMasteryLevel - Commander Mastery Talent Rank Of Player —
int
— PlayerCommanderMasteryTalentRank - Commander Selected Prestige Of Player —
int
— PlayerCommanderSelectedPrestige - Brutal Plus Difficulty of Player —
int
— PlayerBrutalPlusDifficulty - Retry Mutation Index of Player —
int
— PlayerRetryMutation - Allied Commander Enemy Wave Type —
int
— PlayerACEnemyWaveType - Start Location Of Player —
point
— PlayerStartLocation - Controller Of Player —
int
<preset::PlayerController> — PlayerType - Status Of Player —
int
<preset::PlayerStatus> — PlayerStatus - Set Player Color —
void
— PlayerSetColorIndex - Set Player Race —
void
— PlayerSetRace - Set Player Hero —
void
— PlayerSetHero - Set Player Skin —
void
— PlayerSetSkin - Set Player Console Skin —
void
— PlayerSetConsoleSkin - Apply Player Skin —
void
— PlayerApplySkin - Apply Player Skin (Replacing Existing Unit) —
void
— libNtve_gf_PlayerApplySkinReplacingExistingUnit - Set Player Mount —
void
— PlayerSetMount - Set Player Spray —
void
— PlayerSetSpray - Set Player Commander —
void
— PlayerSetCommander - Set Player Commander Level —
void
— PlayerSetCommanderLevel - Set Player Commander Mastery Level —
void
— PlayerSetCommanderMasteryLevel - Set Player Death Timer —
void
— PlayerSetDeathTimer - Set Player Bounds —
void
— PlayerSetBounds - Add Player Talent —
void
— PlayerAddTalent - Remove Player Talent —
void
— PlayerRemoveTalent - Add Player Response —
void
— PlayerAddResponse - Remove Player Response —
void
— PlayerRemoveResponse - Clear Player Response —
void
— PlayerClearResponse - Player Color —
int
<playercolor> — PlayerGetColorIndex - Override Player Option —
void
— PlayerOptionOverride - Player Hotkey Profile —
string
— PlayerGetHotkeyProfile - Player Property Changed —
void
— TriggerAddEventPlayerPropChange - Player Joins Game —
void
— TriggerAddEventPlayerJoin - Player Leaves Game —
void
— TriggerAddEventPlayerLeft - Triggering Player —
int
— EventPlayer - Triggering Player Property —
int
<preset::Player_Property_Get> — EventPlayerProperty - Triggering Player Property Change (Integer) —
int
— EventPlayerPropertyChangeInt - Triggering Player Property Change (Real) —
fixed
— EventPlayerPropertyChangeFixed - Player Add Label —
void
— PlayerAddLabel - Player Remove Label —
void
— PlayerRemoveLabel - Player Remove All Labels —
void
— PlayerRemoveAllLabels - Player Has Label —
bool
— PlayerHasLabel - Player Add Reward —
void
— PlayerAddReward
# Examples
mods/heroes.stormmod — base.stormmaps/maps/heroes/singleplayermaps/%2810%29trymemode.stormmap/MapScript.galaxy:1442
TriggerExecute(gt_TryMeModePanelInitialize, true, true);
libGame_gf_MinionTurnOnOffCatapults(false);
PlayerSetHero(gv_pLAYER_AI_Enemy_C, "Arthas");
PlayerSetMount(gv_pLAYER_AI_Enemy_C, "HorseBlack");
libGame_gv_players[gv_pLAYER_AI_Enemy_C].lv_selectedMount = libCore_gf_DataMountGetMountIndexFromMountLink("HorseBlack");
mods/heroes.stormmod/base.stormmaps/maps/heroes/singleplayermaps/(10)trymemode.stormmap — map/MapScript.galaxy:1442
TriggerExecute(gt_TryMeModePanelInitialize, true, true);
libGame_gf_MinionTurnOnOffCatapults(false);
PlayerSetHero(gv_pLAYER_AI_Enemy_C, "Arthas");
PlayerSetMount(gv_pLAYER_AI_Enemy_C, "HorseBlack");
libGame_gv_players[gv_pLAYER_AI_Enemy_C].lv_selectedMount = libCore_gf_DataMountGetMountIndexFromMountLink("HorseBlack");
mods/heroesbrawlmods/arenamodemods/arenamode.stormmod — base.stormdata/LibAREN.galaxy:428
lv_itPlayer = 1;
for ( ; ( (autoBD96AF1D_ai >= 0 && lv_itPlayer <= autoBD96AF1D_ae) || (autoBD96AF1D_ai < 0 && lv_itPlayer >= autoBD96AF1D_ae) ) ; lv_itPlayer += autoBD96AF1D_ai ) {
PlayerSetHero(lv_itPlayer, (""));
libGame_gf_SetCameraBoundStormIndexForPlayer(lv_itPlayer, libGame_gf_CameraBoundStormIndex(libAREN_gv_aRM_MechanicData[libAREN_gf_ArenaCurrentMechanicId()].lv_cameraBoundsRegion));
CameraLockInput(lv_itPlayer, true);
mods/heroesbrawlmods/arenamodemods/attackdefend.stormmod — base.stormdata/LibAtDe.galaxy:428
lv_itPlayer = 1;
for ( ; ( (auto11D31742_ai >= 0 && lv_itPlayer <= auto11D31742_ae) || (auto11D31742_ai < 0 && lv_itPlayer >= auto11D31742_ae) ) ; lv_itPlayer += auto11D31742_ai ) {
PlayerSetHero(lv_itPlayer, (""));
CameraLockInput(lv_itPlayer, true);
CameraPan(lv_itPlayer, libGame_gv_players[lv_itPlayer].lv_spawnPoint, 0.0, -1, 10.0, false);
mods/heroesdata.stormmod — base.stormdata/TriggerLibs/GameLib.galaxy:5475
for ( ; ( (auto27F3DF11_ai >= 0 && lv_playerIndex <= auto27F3DF11_ae) || (auto27F3DF11_ai < 0 && lv_playerIndex >= auto27F3DF11_ae) ) ; lv_playerIndex += auto27F3DF11_ai ) {
if ((PlayerStatus(lv_playerIndex) != c_playerStatusUnused) && (libGame_gv_players[lv_playerIndex].lv_heroIndex != 0)) {
PlayerSetHero(lv_playerIndex, libCore_gf_GetHeroFromIndex(libGame_gv_players[lv_playerIndex].lv_heroIndex));
}
mods/heroesdata.stormmod — base.stormdata/TriggerLibs/GameLib.galaxy:10623
}
PlayerSetHero(lp_player, libGame_gv_players[lp_heroIndex].lv_heroData.lv_heroCatalogLink);
StatEventCreate("PlayerSpawned");
StatEventAddDataInt(StatEventLastCreated(), "PlayerID", lp_player);
mods/heromods/chogall.stormmod — base.stormdata/LibHCHO.galaxy:1328
lv_savedTalentsCho[lv_itTalent] = libGame_gv_talents_TalentChoices[lv_initialChoPlayerID][lv_itTalent].lv_selection;
}
PlayerSetHero(lv_initialGallPlayerID, "Cho");
UnitSetOwner(lv_choUnit, lv_initialGallPlayerID, true);
UnitGroupClear(libGame_gv_players[lv_initialGallPlayerID].lv_heroUnitGroup);
mods/heromods/chogall.stormmod — base.stormdata/LibHCHO.galaxy:1339
libGame_gf_TalentsSetupTalentChoicesFromHeroDataForPlayer(libGame_gv_players[lv_initialGallPlayerID].lv_heroIndex, lv_initialGallPlayerID);
UISetCommandAllowed(PlayerGroupSingle(lv_initialGallPlayerID), c_uiCommandAllowQueue, true);
PlayerSetHero(lv_initialChoPlayerID, "Gall");
UnitSetOwner(lv_gallUnit, lv_initialChoPlayerID, true);
UnitGroupClear(libGame_gv_players[lv_initialChoPlayerID].lv_heroUnitGroup);
mods/heromods/chogall.stormmod — base.stormdata/LibHCHO.galaxy:1767
lv_gallIndex = lv_gallPlayer;
PlayerSetHero(lv_gallPlayer, libGame_gv_players[lv_gallIndex].lv_heroData.lv_heroCatalogLink);
StatEventCreate("PlayerSpawned");
StatEventAddDataInt(StatEventLastCreated(), "PlayerID", lv_gallPlayer);
mods/heromods/dva.stormmod — base.stormdata/LibHDVA.galaxy:232
}
PlayerSetHero(lp_player, libGame_gv_players[lp_player].lv_heroData.lv_heroCatalogLink);
StatEventCreate("PlayerSpawned");
StatEventAddDataInt(StatEventLastCreated(), "PlayerID", lp_player);