# EntitySystem
Класс для работы со всеми Entity в игре.
# GetLocalHero
Получает объект локального героя Hero.
Возвращаемые значения:
- Hero |
null
let exampleScript = {};
exampleScript.OnUpdate = () => {
// Проверяем находится ли клиент в игре, так как в ином случае будет возвращен пустой массив.
if(!GameRules.IsActiveGame()) {
return;
}
// Получаем объект локального героя и записываем его в переменную
let me = EntitySystem.GetLocalHero();
// Проверяем есть ли что-то в переменной me, так как в режиме просмотра IsActiveGame возвращает true,
// а GetLocalHero не возвращает ничего.
if(!me) {
return;
}
// Выводим значение HP локального героя.
console.log(me.GetHealth());
};
RegisterScript(exampleScript);
# GetLocalPlayer
Получает объект локального игрока Player.
Возвращаемые значения:
- Player |
null
let exampleScript = {};
exampleScript.OnUpdate = () => {
// Проверяем находится ли клиент в игре, так как в ином случае будет возвращен null.
if(!GameRules.IsActiveGame()) {
return;
}
// Получаем объект локального игрока и записываем его в переменную
let me = EntitySystem.GetLocalPlayer();
// Выводим золото локального игрока
console.log(me.GetTotalGold());
};
RegisterScript(exampleScript);
# GetPlayersList
Получает массив из всех игроков на карте Player.
Возвращаемые значения:
- Array<Player> |
null
let exampleScript = {};
exampleScript.OnScriptLoad = () => {
// Проверяем находится ли клиент в игре, так как в ином случае будет возвращен null.
if(!GameRules.IsActiveGame()) {
return;
}
// Получаем массив игроков
let players = EntitySystem.GetPlayersList();
for(let player of players) {
// Выводим ник каждого игрока на карте
console.log(player.GetName());
}
};
RegisterScript(exampleScript);
# GetHeroesList
Получает массив из всех героев на карте Hero.
ПРЕДУПРЕЖДЕНИЕ
В этом массив будут находиться также любые копии и иллюзии героев (ульта Monkey King, иллюзии Naga Siren и прочие сущности). Если вам нужны только оригинальные герои, не забудьте добавить проверки с помощью функций IsMeepoClone и IsIllusion
ВНИМАНИЕ
Если герой ни разу не был замечен за игру, то его не будет в этом массиве
Возвращаемые значения:
- Array<Hero> |
null
let exampleScript = {};
exampleScript.OnScriptLoad = () => {
// Проверяем находится ли клиент в игре, так как в ином случае будет возвращен null.
if(!GameRules.IsActiveGame()) {
return;
}
// Получаем массив игроков
let heroes = EntitySystem.GetHeroesList();
for(let hero of heroes) {
// Выводим имя каждого героя на карте
console.log(hero.GetUnitName());
}
};
RegisterScript(exampleScript);
# GetNPCsList
Получает массив из всех NPC на карте.
ПОДСКАЗКА
В этом массиве хранятся абсолютно все NPC на карте: мины Techies, ловушки Templar Assassin, герои, крипы и прочее. Если вы хотите получить только массив героев, рекомендуем пользоваться функцией GetHeroesList
ВНИМАНИЕ
Если сущность находится в невидимости или в тумане войны, то в большинстве случаев её не будет в этом массиве
Возвращаемые значения:
- Array<NPC> |
null
let exampleScript = {};
exampleScript.OnScriptLoad = () => {
// Проверяем находится ли клиент в игре, так как в ином случае будет возвращен null.
if(!GameRules.IsActiveGame()) {
return;
}
// Получаем массив игроков
let NPCs = EntitySystem.GetNPCsList();
for(let npc of NPCs) {
// Выводим имя каждого NPC на карте
console.log(npc.GetUnitName());
}
};
RegisterScript(exampleScript);
# GetCouriersList
Получает массив из всех NPC на карте.
Возвращаемые значения:
- Array<Player> |
null
# GetRunesList
Получает массив из всех Rune на карте.
ПОДСКАЗКА
Здесь находятся все видимые руны
Возвращаемые значения:
- Array<Rune> |
null
let exampleScript = {};
exampleScript.OnScriptLoad = () => {
// Проверяем находится ли клиент в игре, так как в ином случае будет возвращен null.
if(!GameRules.IsActiveGame()) {
return;
}
// Получаем массив из видимых рун
let runes = EntitySystem.GetRunesList();
for(let rune of runes) {
if(rune.GetRuneType() === Enum.RuneType.DOTA_RUNE_BOUNTY) {
console.log('Баунти руна находится в зоне видимости, координаты: ', rune.GetAbsOrigin());
}
}
};
RegisterScript(exampleScript);
# GetEntitiesList
Получает массив из всех Entity на карте.
ПОДСКАЗКА
В этом массиве находится всевозможные Entity на карте Dota 2.
Возвращаемые значения:
- Array<Entity> |
null
let exampleScript = {};
exampleScript.OnScriptLoad = () => {
// Проверяем находится ли клиент в игре, так как в ином случае будет возвращен null.
if(!GameRules.IsActiveGame()) {
return;
}
let entities = EntitySystem.GetEntitiesList();
for(let entity of entities) {
console.log(entity.GetClassName());
}
};
RegisterScript(exampleScript);
# GetTargetProjectileList
Получает массив из всех TargetProjectile на карте.
Возвращаемые значения:
- Array<TargetProjectile> |
null
# GetTargetProjectileList
Получает массив из всех LinearProjectile на карте.
// TODO: сделать возвращаемые значения и пример
# GetPhysicalItemsList
Получает массив из всех PhysicalItem на карте.
Возвращаемые значения:
- Array<Physicalitem> |
null
let exampleScript = {};
exampleScript.OnScriptLoad = () => {
// Проверяем находится ли клиент в игре, так как в ином случае будет возвращен null.
if(!GameRules.IsActiveGame()) {
return;
}
let physicalItems = EntitySystem.GetPhysicalItemsList();
for(let physicalItem of physicalItems) {
// Выводит имя всех предметов, которые лежат "на полу"
console.log(physicalItem.GetItem().GetName());
}
};
RegisterScript(exampleScript);