- 25 Сен 2015
- 2,348
- 41
Допустим, есть код, ну или часть кода:
Вопрос такой: можно ли сделать проще/красивее?
Мне дико не нравится то, что этот код будет проверять смерти всех юнитов. Естественно, это плохо....
Я пробовал через dota_player_killed, но мне не известны все возможные функции, которые я бы мог использовать с data от-туда, поэтому завернул так, как есть. Может, подскажете выход?
Суть кода в том, чтобы он отсчитывал смерти, в данном случае, хороших ребят. Зачем мне это нужно? В будущем моде думаю сделать победу по убийству всех противников (выкуп и перерождение отключены)
Конечно, вы можете сказать про функцию PlayerResource:GetTeamKills, но увы, она засчитывает лишь смерть от рук героя, а если крип убьет игрока, она не добавит очка и может случиться ситуация, когда из 5и противников игроки сами убьют 4х, а последнего убьет крип и все, игра не закончится.
Код:
chek = 0
function main:InitGameMode()
ListenToGameEvent("entity_killed", Dynamic_Wrap(main, "OnHeroKilled"), self)
end
function main:OnHeroKilled (data)
local killedEntity = EntIndexToHScript(data.entindex_killed)
local number = killedEntity:GetTeamNumber()
local name = GetTeamName(number)
if name == "#DOTA_GoodGuys" then
chek = chek + 1
end
end
Вопрос такой: можно ли сделать проще/красивее?
Мне дико не нравится то, что этот код будет проверять смерти всех юнитов. Естественно, это плохо....
Я пробовал через dota_player_killed, но мне не известны все возможные функции, которые я бы мог использовать с data от-туда, поэтому завернул так, как есть. Может, подскажете выход?
Суть кода в том, чтобы он отсчитывал смерти, в данном случае, хороших ребят. Зачем мне это нужно? В будущем моде думаю сделать победу по убийству всех противников (выкуп и перерождение отключены)
Конечно, вы можете сказать про функцию PlayerResource:GetTeamKills, но увы, она засчитывает лишь смерть от рук героя, а если крип убьет игрока, она не добавит очка и может случиться ситуация, когда из 5и противников игроки сами убьют 4х, а последнего убьет крип и все, игра не закончится.
Последнее редактирование модератором: