Jump to content

Digest October-December

We talk about what was done and updated in the past month. We help keep abreast of events.

December November October

Servers monitoring and the Addons Editor

We present you two legends. All dreams come true.

Servers monitoring The Addons Editor

A statistics bot for Telegram

Convenient analytics right on your phone.

Read more

Game tooltips

Tooltips provide a way for 3rd party fansites and extensions to display detailed information on mouseover.

Read more

The Addons Updater

Let us to introduce the addons updating software and to share the details

Read more Download

Sleep


CJloHuK

Recommended Posts

Здравствуйте, хотел бы узнать, возможно ли как-то реализовать функцию sleep в аддоне для аллодов.

Хочу написать аддон, который при нажатии кнопки будет шерстить всю сумку персонажа и использовать все найденные монетки.

Найденные монеты можно использовать только на отлове кнопки.

Так же не хочется загружать процессор на 100% в цикле. хочется сделать задержку между использованием монет( sleep).

Вот, есть ли возможность каким-то образом приостановить выполнение скриптовой части не вылезая из обработки действия нажатия кнопки( как например вызов процедуры PlayFadeEffect и далее в EVENT_EFFECT_FINISHED писать продолжение).

Link to comment
Share on other sites

I haven't tested this yet, as I don't have time right now, but you can try it:

local clock = common.GetLocalDateTime
function sleep(n)
local t0 = clock().overallMs
while clock().overallMs - t0 <= n do end
end

n will be the time you want it to sleep for in miliseconds.

I don't guarantee it will work. I'll try it myself later.

Link to comment
Share on other sites

Боюсь, что этот пустой цикл, так же загрузит процессор на 100%, а не даст ему отдохнуть.

Link to comment
Share on other sites

You're right, this does eat CPU time (or so I've read). But I also read that making a sleep function that doesn't eat CPU time is not possible in pure LUA.

Link to comment
Share on other sites

не сработает для монеток, заюзает 1-3 и всё

саму задержку в 1 секунду можно сделать через eventsecondtimer с булевой переменной которая каждую секунду будет менятся с true на false и по кругу, т.е.

local clock = true

function sleep() -- EVENT_SECOND_TIMER
clock = not clock
if clock == true then
usecoinfunction()
end
end

Link to comment
Share on other sites

Хм.. ну usecoinfuntion из Event_Second_timer не получится вызвать, если я правильно понимаю. Точнее она не отработает, т.к. будет вызвана не по RegisterReactionHandler.

В тот же момент, а почему не получится для монеток, из-за чего заюзает 1-3 и всё?

Edited by CJloHuK
Link to comment
Share on other sites

сам же и ответил, из-за RegisterReactionHandler, т.е. нужно кликать

Link to comment
Share on other sites

Ты хоть сам то понял чего захотел?

Чтобы тебе разрешили сделать то, что всегда запрещалось делать в Лолодах

Удачичо

Может и получится с ней то

while clock().overallMs - t0 <= n do end

А это ваще какой то бесконечный или невыполняемый цикл.

Все 3 переменные в нем никогда не меняются

==

Читаем документацию-нет?

В дальнейшем управление передается скрипту только на время обработки событий, инициируемых движком игры. Скрипт обязан провести необходимую обработку и вернуть управление игре. Есть два основных класса событий: игровые события и реакции системы Widgets - нажатие кнопок, ввод с клавиатуры и т.д. Скрипт сам определяет (регистрирует) те события и реакции, которые он хочет обрабатывать.

Пока выполняется скрипт в событии/реакции. От начала и до конца клиент нифига не делает, ждет окончания

Запусти бесконечный цикл в скрипте и твой клиент умрет.

Edited by Nikon
Link to comment
Share on other sites

Понял всю прозаичность ситуации, нельзя сделать обработку событий для клиента в цикле.

Edited by CJloHuK
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using our site you agree to the Terms of Use