победа при убийстве рошана

Merall

Пользователь
7 Май 2024
10
0
Проект
PigBossSurvival
Кто может знает почему код не работает?

ListenToGameEvent("dota_entity_killed", Dynamic_Wrap(MerallMode, "OnRoshanKilled"), self) --слушатель

function MerallMode:OnRoshanKilled(event) -- функция которая должна вызывать победу команды при убийстве роши
local killedUnit = EntIndexToHScript( event.entindex_killed )

if killedUnit:GetUnitName() == npc_dota_roshan then
GameRules:SetGameWinner(DOTA_TEAM_GOODGUYS)
end
end
 
Кавычки поставь на "npc_dota_roshan "
 
все равно не работает
 
Последнее редактирование:
А так у тебя dota_entity_killed, а нужно просто entity_killed
 
я это уже попробовал до вашего комментария, все равно не работает
 
Lua:
if MerallMode == nil then

    MerallMode = class({})

end

function MerallMode:InitGameMode()

    GameRules:SetCustomGameTeamMaxPlayers( DOTA_TEAM_GOODGUYS, 4)

    GameRules:SetCustomGameTeamMaxPlayers( DOTA_TEAM_BADGUYS, 0 )

    GameRules:GetGameModeEntity():SetBuybackEnabled(false)

    GameRules:SetStrategyTime(0.0)

    GameRules:SetShowcaseTime(0.0)

    GameRules:GetGameModeEntity():SetThink( "OnThink", self, "GlobalThink", 2 )

    GameRules:GetGameModeEntity():GetFogOfWarEnabled(true)

    GameRules:SetTimeOfDay(0, 9999)

    ListenToGameEvent("entity_killed", Dynamic_Wrap(MerallMode, "OnRoshanKilled"), self)

end



function MerallMode:OnRoshanKilled(event)

    local killedUnit = EntIndexToHScript( event.entindex_killed )

 

    if killedUnit:GetUnitName() == "npc_dota_roshan" then

        GameRules:SetGameWinner(DOTA_TEAM_GOODGUYS)

end

end
 
А остальные функции до слушателя выполняются ?
Что в консоль пишет, какие ошибки ?
 
ошибок никаких не выводит
 
Lua:
function MerallMode:InitGameMode()

    GameRules:SetTimeOfDay(0, 9999)

end
Ты в функции SetTimeOfDay передаёшь 2 аргумента, хотя требуется один. В этой строчке игра видит ошибку, поэтому не регается слушаеть на убийство рошана
 
Ты в функции SetTimeOfDay передаёшь 2 аргумента, хотя требуется один. В этой строчке игра видит ошибку, поэтому не регается слушаеть на убийство рошана
я её убрал, но все равно не работает
 
Замени GameRules:GetGameModeEntity():GetFogOfWarEnabled(true) на GameRules:GetGameModeEntity():SetFogOfWarDisabled(false)
Ибо я не видел функции GetFogOfWarEnabled
 
Замени GameRules:GetGameModeEntity():GetFogOfWarEnabled(true) на GameRules:GetGameModeEntity():SetFogOfWarDisabled(false)
Ибо я не видел функции GetFogOfWarEnabled
я тут попробовал кое что, у меня был 1 скрипт с рандомным дропом, там был слушатель, который мне нужен, я туда условие победы запихнул и оно заработало :cool:
 
я тут попробовал кое что, у меня был 1 скрипт с рандомным дропом, там был слушатель, который мне нужен, я туда условие победы запихнул и оно заработало :cool:
гений !
 
Реклама: