Не уверен, что кому-нибудь пригодится, но предложить особо нечего, ибо много уже выложено здесь.
Вообщем мини-скрипт для удобства учета игрового времени(можно использовать для мультиборда или текстовых сообщений во время игры)
Сунуть можно в Custom Script вашей карты, нужно только инициализировать таймер, обратившись к функции ts_Start. Чтобы получить строку с пройденным временем нужно лишь обратиться к функции ts_GetTime.
//***************************************************************************
//*
//* TimeScript v1.0
//* Автор Tosky
//*
//***************************************************************************
//===========================================================================
// Функция для удобства
// (Возвращает одну из двух строк по условию, где первая - истинная)
function ts_iif takes boolean b, string s1, string s2 returns string
if b then
return s1
else
return s2
endif
endfunction
//===========================================================================
// Возвращает строку вида 0:00:00
function ts_GetTime takes nothing returns string
local integer i
local string s
local string m
local string h = I2S(ts_GetHours())
set i = bj_meleeTwinkedHeroes[1000]
set s = ts_iif(i > 9, I2S(i), "0" + I2S(i))
set i = bj_meleeTwinkedHeroes[1001]
set m = ts_iif(i > 9, I2S(i), "0" + I2S(i))
return h + ":" + m + ":" + s
endfunction
//===========================================================================
// Cоздает текстовое сообщение вида "0:00:00 - Сообщение"
// для указанного игрока по номеру(где -1 = Для всех игроков-людей)
function ts_Msg takes integer id, string msg returns nothing
local player p = GetLocalPlayer()
if id != -1 then
set p = Player(id)
endif
call DisplayTimedTextToPlayer(p, 0, 0, 30.0, "|cffffcc00" + ts_GetTime() + "|r - " + msg)
set p = null
endfunction
//===========================================================================
// Функция учета времени
function ts_Timer takes nothing returns nothing
local integer s = bj_meleeTwinkedHeroes[1000]
local integer m = bj_meleeTwinkedHeroes[1001]
local integer h = bj_meleeTwinkedHeroes[1002]
set s = s + 1
if s == 60 then
set s = 0
set m = m + 1
endif
if m == 60 then
set m = 0
set h = h + 1
endif
set bj_meleeTwinkedHeroes[1000] = s
set bj_meleeTwinkedHeroes[1001] = m
set bj_meleeTwinkedHeroes[1002] = h
endfunction
//===========================================================================
// Функция запуска(Запустите при инициализации)
function ts_Start takes nothing returns nothing
local timer tm = CreateTimer()
call TimerStart(tm, 1.0, true, function ts_Timer)
set tm = null
endfunction
» WarCraft 3 / Библиотека функций
Вообщем мини-скрипт для удобства учета игрового времени(можно использовать для мультиборда или текстовых сообщений во время игры)