Перейти к содержанию

Дайджесты за январь-февраль

Обновления гайдов и аддонов

Январь Февраль

Мониторинг серверов и редактор аддонов

Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.

Мониторинг серверов Редактор аддонов

Подсказки из игры на вашем сайте

Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.

Подробнее

Апдейтер аддонов

Представляем вам программу для автообновления аддонов и делимся подробностями.

Подробнее Скачать


cristimirt

Рекомендуемые сообщения

LibTimer

Просмотр файла

LibTimer is a library that allows the use of a timer function. This is intended for developers, not general players.

The Allods API does not provide a way to call a function after a certain time, at least not without freezing the thread. So I've used something that the API does provide: animation of a widget. To be more exact, when we animate a widget, we can specify the duration of the animation. My library uses that.

Usage is simple. First, include the file in AddonDesc.(UIAddon).xdb, in the <Scripts> section, but before your main script file.

You can use the timer function like so:

StartTimer(functionName,duration,arguments[...])

functionName is the name of the function that you want to execute.

duration is the duration in milliseconds after wich the function will execute

arguments is a list of the arguments that you want to pass to your function. You can pass any number of arguments

This is an example that will run the function TestTimer 2 seconds after writing "Test Start". 

function TestTimer(param1, param2, param3)
  common.LogInfo("",param1.." "..param2.." "..param3)
end

common.LogInfo("","Test Start")
StartTimer(TestTimer,2000,"First String","Second String","Third String")
common.LogInfo("","Test End??")

The result will be the following

Test Start
Test End??
First String Second String Third String

 


 

Ссылка на комментарий
Поделиться на другие сайты

Кто-то выкладывал код:

	local task, trigger
	local function killtask( callback )
 if task and ( not callback or task == callback ) then
  task = nil
  mainForm:FinishFadeEffect()
  common.UnRegisterEventHandler( trigger, "EVENT_EFFECT_FINISHED", { wtOwner = mainForm, effectType = ET_FADE } )
 end
end
	function trigger( event )
 if task then
  local callback = task
  killtask( task )
  callback( event )
 end
end
	local function newtask( callback, delay )
 if callback and task ~= callback then
  task = callback
  mainForm:PlayFadeEffect( 1, 1, math.ceil( delay ), EA_SYMMETRIC_FLASH )
  common.RegisterEventHandler( trigger, "EVENT_EFFECT_FINISHED", { wtOwner = mainForm, effectType = ET_FADE } )
 end
end
	

Ссылка на комментарий
Поделиться на другие сайты

ВНИМАНИЕ!
Обязательна информация из \Personal\Logs\mods.txt для диагностики ошибки.
Иначе вам не помочь.
В игре включите в Меню → Интерфейс → Общие настройки → Запись ошибок пользовательских дополнений. Затем запустите аддон в игре.
Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...

Важная информация

Пользуясь сайтом, вы принимаете Условия использования