Повторение в Таймере

  • Автор темы Автор темы Unito
  • Дата начала Дата начала

Unito

Пользователь
31 Янв 2023
24
4
1675192146681.png
За место того чтобы писать один раз, пишется 2
Код :

function CAddonTemplateGameMode:InitGameMode()
print( "Template addon is loaded." )
GameRules:GetGameModeEntity():SetThink( "OnThink", self, "GlobalThink", 2 )
GameSetup:init()
Timers:CreateTimer(15, function()
Say(nil, "Rapapa123 лалала", false)
return 15.0
end)
end

поясните, новичок в этом, не понимаю как пофиксить
 
Просто функция Say поломана
 
Просто функция Say поломана
Чем заменить? или не знаю, какие нибудь уведомления в углу экрана, ну это через panorama делается
только как, не имею представления как такого
и ещё, по ощущениям таймер быстрее начинается чем указано
return 10.0 а пишется оно сразу практический и спавнится тоже
(делал по гайду с волнами крипов)
 
Ещё один вопрос про повторение в таймере
1675262948712.png
сразу спавнит, то есть за место того чтобы сначало написало wave 1, подождало 15 секунд и началось заново, вылетает сразу 2 сообщения и спавнится 2 волны

Вот код

Код:
function GameMode:OnGameRulesStateChange(keys)
    local point = Entities:FindByName( nil, "spawner"):GetAbsOrigin()
    local waypoint = Entities:FindByName( nil, "way1")
    local return_time = 15.0

    Timers:CreateTimer(15, function()

        GAME_ROUND = GAME_ROUND + 1

        if GAME_ROUND == MAX_ROUNDS then
            return_time = nil
        end

        Say(nil, "Wave №" .. GAME_ROUND, false)

        for i=1, ROUND_UNITS do
            local unit = CreateUnitByName( "gnoll_unit_" .. GAME_ROUND, point + RandomVector( RandomFloat( 0, 200 ) ), true, nil, nil, DOTA_TEAM_BADGUYS )
            unit:SetInitialGoalEntity( waypoint )
        end

        return 15.0
    end)
end
 
Ещё один вопрос про повторение в таймере
Посмотреть вложение 1694
сразу спавнит, то есть за место того чтобы сначало написало wave 1, подождало 15 секунд и началось заново, вылетает сразу 2 сообщения и спавнится 2 волны

Вот код

Код:
function GameMode:OnGameRulesStateChange(keys)
    local point = Entities:FindByName( nil, "spawner"):GetAbsOrigin()
    local waypoint = Entities:FindByName( nil, "way1")
    local return_time = 15.0

    Timers:CreateTimer(15, function()

        GAME_ROUND = GAME_ROUND + 1

        if GAME_ROUND == MAX_ROUNDS then
            return_time = nil
        end

        Say(nil, "Wave №" .. GAME_ROUND, false)

        for i=1, ROUND_UNITS do
            local unit = CreateUnitByName( "gnoll_unit_" .. GAME_ROUND, point + RandomVector( RandomFloat( 0, 200 ) ), true, nil, nil, DOTA_TEAM_BADGUYS )
            unit:SetInitialGoalEntity( waypoint )
        end

        return 15.0
    end)
end
P.S уже пофиксил
 
Реклама: