- 20 Сен 2014
- 440
- 1
- Проект
- Survival in Taiga XE
Сделал healthbar и manabar он реагируют как обычный то есть может переключатся между героями и показывать хп и ману, но при выборе любого юнита у которого нет маны код перестаёт работать, ругается на
и в консоле пишет Failed to set property value (property=width)(value=NaN%), походу что не видит его и поэтому весь код крашится и все бары замирают. В Api лазил по js пробовал через Players.GetPlayerSelectedHero и Players.GetLocalPlayer() не удалось.
Код:
$("#ManaBar").style.width = (Entities.GetMana(currentUnit) / Entities.GetMaxMana(unit)) * 100 + "%";
Код:
(function ()
{
/* Выбор изменен на npc, которым управляет игрок. */
function onUpdateSelectedUnit(event) {
var unit = Players.GetLocalPlayerPortraitUnit(); /* Players.GetPlayerSelectedHero() Players.GetLocalPlayerPortraitUnit() */
currentUnit = unit;
}
function onUpdate() {
$("#HealthBar").style.width = (Entities.GetHealth(currentUnit) / Entities.GetMaxHealth(currentUnit)) * 100 + "%";
$("#ManaBar").style.width = (Entities.GetMana(currentUnit) / Entities.GetMaxMana(currentUnit)) * 100 + "%";
$("#Healths").text = (Entities.GetHealth(currentUnit) / Entities.GetMaxHealth(currentUnit)) * 100 + "/100";
$("#cold").text = (Entities.GetMana(currentUnit) / Entities.GetMaxMana(currentUnit)) * 110 + "/110";
$.Schedule(0.005, onUpdate);
}
GameEvents.Subscribe("dota_player_update_selected_unit", onUpdateSelectedUnit);
unit = Players.GetLocalPlayer();
currentUnit = unit;
onUpdate();
})();
Последнее редактирование модератором: