# 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);