Конец игры.

Леша

Новичок
3 Мар 2020
3
0
Как мне сделать конец игры при убийстве npc который спавнится через определенное время?
 

Дикий Пёс

Друзья CG
28 Июн 2017
411
96
Проект
Petri Reborn
в ивенте убийств нпс проверяй является ли нужный тебе нпс нужным тебе нпс и пиши setgamewinner кого тебе там надо
 

Леша

Новичок
3 Мар 2020
3
0
посмотри так?

function GameMode:_OnEntityKilled( keys )

-- The Unit that was Killed
local killedUnit = ("npc_dota_roshan1")
-- The Killing entity
local killerEntity = nil

if keys.entindex_attacker ~= nil then
killerEntity = EntIndexToHScript( keys.entindex_attacker )
end

if killedUnit:IsRealHero() then
DebugPrint("KILLED, KILLER: " .. killedUnit:GetName() .. "npc_dota_roshan1" .. killerEntity:GetName())
if END_GAME_ON_KILLS and GetTeamHeroKills(killerEntity:GetTeam()) >= KILLS_TO_END_GAME_FOR_TEAM then
GameRules:SetSafeToLeave( true )
GameRules:SetGameWinner( killerEntity:GetTeam() )
end

--PlayerResource:GetTeamKills
if SHOW_KILLS_ON_TOPBAR then
GameRules:GetGameModeEntity():SetTopBarTeamValue(DOTA_TEAM_BADGUYS, GetTeamHeroKills(DOTA_TEAM_BADGUYS))
GameRules:GetGameModeEntity():SetTopBarTeamValue(DOTA_TEAM_GOODGUYS, GetTeamHeroKills(DOTA_TEAM_GOODGUYS))
end
end
end
 

muRLoc

Активный
25 Ноя 2018
83
23
посмотри так?

function GameMode:_OnEntityKilled( keys )

-- The Unit that was Killed
local killedUnit = ("npc_dota_roshan1")
-- The Killing entity
local killerEntity = nil

if keys.entindex_attacker ~= nil then
killerEntity = EntIndexToHScript( keys.entindex_attacker )
end

if killedUnit:IsRealHero() then
DebugPrint("KILLED, KILLER: " .. killedUnit:GetName() .. "npc_dota_roshan1" .. killerEntity:GetName())
if END_GAME_ON_KILLS and GetTeamHeroKills(killerEntity:GetTeam()) >= KILLS_TO_END_GAME_FOR_TEAM then
GameRules:SetSafeToLeave( true )
GameRules:SetGameWinner( killerEntity:GetTeam() )
end

--PlayerResource:GetTeamKills
if SHOW_KILLS_ON_TOPBAR then
GameRules:GetGameModeEntity():SetTopBarTeamValue(DOTA_TEAM_BADGUYS, GetTeamHeroKills(DOTA_TEAM_BADGUYS))
GameRules:GetGameModeEntity():SetTopBarTeamValue(DOTA_TEAM_GOODGUYS, GetTeamHeroKills(DOTA_TEAM_GOODGUYS))
end
end
end

Код:
function GameMode:OnEntityKilled(event)
    -- event.damagebits
    -- event.entindex_attacker
    -- event.entindex_killed
    -- event.game_event_listener
    -- event.game_event_name

    local hKiller = EntIndexToHScript(event.entindex_attacker)
    local hVictim = EntIndexToHScript(event.entindex_killed)

    if hKiller and hVictim:GetUnitName() == "npc_dota_roshan1" then
        GameRules:SetGameWinner(hKiller:GetTeamNumber())
    end
end
 
Реклама: