Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> Тайм аут
Серж
сообщение 28.1.2014, 4:07
Сообщение #1


**

Neophyte
Сообщений: 21
Регистрация: 11.1.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.391
Возраст: 21



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

Например:
Код
if 1258, 438 255  
  kleft 1244, 524 [abs]
   wait 300
else
send {F9}
wait 500
end_if


Бывает "тупик", когда надо проехать к цвету кликом мышкой, а не может, из за препяствия, и нужно нажать на F9 по тайм ауту...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
BSW_rama
сообщение 28.1.2014, 5:28
Сообщение #2


****

Apprentice
Сообщений: 188
Регистрация: 28.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.728
Возраст: 32



таких скриптов нет, но их всегда можно написать (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 28.1.2014, 5:31
Сообщение #3


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



https://forum.uokit.com/index.php?showtopic=22175
второй пример глянь.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Серж
сообщение 29.1.2014, 0:30
Сообщение #4


**

Neophyte
Сообщений: 21
Регистрация: 11.1.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.391
Возраст: 21



Что то не понял я про блоки, и не понятно что за кнопка такая "$buffButton1"?...

И вот еще вопрос, возможно сделать так, типа по цвету запустился таймер, а потом цвет вдруг изчез раньше времени, можно сделать чтоб отменял таймер, т.к. цвет "ложный" сработал раньше чем истек таймер?

И пожалуйста меньше теорий, больше практики! (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 29.1.2014, 0:56
Сообщение #5


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



есть у нашего форума одна особенность: рыбу за вас ловить не будут, а вот учить как это делать будут очень терпеливо. Перевожу: вместо вас писать не будут, подсказать - всегда пожалуйста. Бывают очень редкие исключения, если задачи очень интересные и/или сложные. Тут все что нужно - это посидеть и чуток подумать. Лучше с ручкой и бумажкой.
Цитата
что за кнопка такая "$buffButton1"?

Это переменная. Предполагается, что пользователь сам присвоит ей необходимое значение. Скрипт расчитан на бафф, но его структура абсолютно универсальная.
Цитата
И вот еще вопрос, возможно сделать так, типа по цвету запустился таймер, а потом цвет друг изчез раньше времени, можно сделать чтоб отменял таймер, т.к. цвет "ложный" сработал раньше чем истек таймер?

Можно, такие вещи пишутся ручками. Замените в своем предложении "(в)друг", "т.к." на if'ы и получите структуру кода (IMG:style_emoticons/default/smile.gif)

Сообщение отредактировал DarkMaster - 29.1.2014, 0:57


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Серж
сообщение 29.1.2014, 1:57
Сообщение #6


**

Neophyte
Сообщений: 21
Регистрация: 11.1.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.391
Возраст: 21



Исправил отпечатку (IMG:style_emoticons/default/smile.gif)
Про кнопку я понял, а остальное непонял...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 29.1.2014, 2:38
Сообщение #7


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



смех в том, что вы словами очень четко описали алгоритм работы скрипта, т.к. у вас получился псевдокод. Разверните это в скрипт. Ну насколько получится. Прямо берите тест из постов и переписывайте на if'ах. Потом просто подставите переменные.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Серж
сообщение 29.1.2014, 3:32
Сообщение #8


**

Neophyte
Сообщений: 21
Регистрация: 11.1.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.391
Возраст: 21



Писал по всякому, путем проб и ошибок, и не могу понять как правильно впихнуть if'ы с таймерами в существующий скрипт, максимум что пока получилость, это ждать тайм аут, но работает в обоих условиях, есть цвет или нет...

Или if'ы с таймером вообще отдельным скриптом писать нужно было? (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 29.1.2014, 4:51
Сообщение #9


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Цитата
Или if'ы с таймером вообще отдельным скриптом писать нужно было?

бывают и такие случаи, но пока случай не тот.
Цитата
Писал по всякому, путем проб и ошибок

Так сюда их давайте. Будем смотреть код, анализировать, править.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Серж
сообщение 29.1.2014, 5:09
Сообщение #10


**

Neophyte
Сообщений: 21
Регистрация: 11.1.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.391
Возраст: 21



Вот что первое на ум пришло...

Код
if 1258, 438 65280 
     kleft 1244, 524 [abs]
     wait 100
   if #time > timer
  end_if
else
set #time timer + 12000
send {F9}
wait 500
end_if


Я думал что после истечения таймера, курсор скрипта ( или как вы его называете)
перейдет с 4 стоки на 7 стоку...
А на практике, по истечении таймера перестает читать 5 строку...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Серж
сообщение 29.1.2014, 18:10
Сообщение #11


**

Neophyte
Сообщений: 21
Регистрация: 11.1.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.391
Возраст: 21



Написал еще вот так:

Код
if #time > timer  
if 1258, 438 65280
     kleft 1244, 524 [abs]
     wait 100
     end_if
else
send {F9}
wait 500
set #time timer + 12000
end_if

Но тут уже получается что перед нажатием Ф9, ждет 12 секунд, не зависимо есть цвет или нет.
не совсем то что нужно...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 29.1.2014, 18:15
Сообщение #12


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Цитата
set #time timer + 12000

Потому что не на своем месте.
Цитата
if #time > timer
end_if

Смысл блока?

// Извиняюсь за долгие ответы. День бешеный, меня срубает. Надо немного на более чистую голову. Надо дремануть.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Серж
сообщение 29.1.2014, 18:58
Сообщение #13


**

Neophyte
Сообщений: 21
Регистрация: 11.1.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.391
Возраст: 21



Цитата(DarkMaster @ 29.1.2014, 19:15) *

Потому что не на своем месте.

Ну я много раз по разному if'ы переставлял и смотрел как работает, пока не получается как нужно...

Цитата(DarkMaster @ 29.1.2014, 19:15) *

Смысл блока?

Незнаю, разве на 2 if'а можно написать 1 "конец"? я так вроде пробывал, ошибку выдает.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 30.1.2014, 0:57
Сообщение #14


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Цитата
Незнаю, разве на 2 if'а можно написать 1 "конец"? я так вроде пробывал, ошибку выдает.

Нет. Просто у тебя внутри if'а вообще никаких действий нет. Т.е. блок что есть, что нет - результат один. Хотя бы в лог сообщение какое-то пиши, чтобы понимать(в т.ч. тебе самому), что это такое.

Вернемся к 1 варианту. Он был очень близок.
Цитата
по цвету запустился таймер

Цитата
if 1258, 438 65280
...
else
set #time timer + 12000
...
end_if

Посмотри где запускается таймер. По цвету или по отсутствию цвета?

Эта конструкция может стопорить скрипт или ей этого делать нельзя? Если можно, то проще на while это написать. Если нельзя, то тебе необходимо будет сделать защиту от повторного запуска таймера. Т.е. в текущем виде таймер будет перезапускаться каждый раз согласно условию. Таким образом он будет постоянно отсрочиваться пока не изменится выражение правда/ложь. Самый простой вариант сделать флаг: запустили таймер - изменили переменную, при запуске таймера проверять эту переменную: если таймер запущен, то таймер больше не запускать.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Серж
сообщение 30.1.2014, 1:10
Сообщение #15


**

Neophyte
Сообщений: 21
Регистрация: 11.1.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.391
Возраст: 21



Цитата(DarkMaster @ 30.1.2014, 1:57) *

Вернемся к 1 варианту. Он был очень близок.
Посмотри где запускается таймер. По цвету или по отсутствию цвета?


По цвету запуск таймера...
Просто для меня пока темный лес с операторами Set, не могу точно понять как он работает
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 30.1.2014, 1:26
Сообщение #16


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



set? да по сути он обычное присвоение. Т.е.:
set #a ...
по смыслу тоже самое, что:
#a == ...
Мы просто присваиваем переменной #a какое-то значение.
Кстати таймер по большому счету мы не создаем. Таймер в пилоте один: timer. Мы создаем значение, которое потом сравниваем с текущим значением таймера. Попробуй понять эту фразу (IMG:style_emoticons/default/smile.gif).
Цитата
По цвету запуск таймера...

Тогда еще раз смотрим на условие:
Код
if 1258, 438 65280
...
else
    set #time timer + 12000
...
end_if

Код
если в 1258, 438 цвет равен 65280
...
в противном случае
    set #time timer + 12000
...
конец_условия


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Серж
сообщение 30.1.2014, 4:24
Сообщение #17


**

Neophyte
Сообщений: 21
Регистрация: 11.1.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.391
Возраст: 21



Что то запутался, в скрипте должно быть 1 if или 2?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 30.1.2014, 4:41
Сообщение #18


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



думаю, что 3 (IMG:style_emoticons/default/smile.gif)
Давайте по порядку попробуем.

напишите условие "если цвет - запускаем таймер".


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Серж
сообщение 30.1.2014, 4:57
Сообщение #19


**

Neophyte
Сообщений: 21
Регистрация: 11.1.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.391
Возраст: 21



Написал вот так, у меня просто кончилисть другие идеи (IMG:style_emoticons/default/smile.gif)

Код
if 1258, 438 65280
kleft 1244, 524 [abs]
wait 200
if_not #time > timer    
     goto 8
     end_if
else
:8
set #time timer + 20000
send {F9}
wait 500
end_if


На практике работает так как я хотел, а у вас в голове какой скрипт был? (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 30.1.2014, 6:34
Сообщение #20


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Код

set #timerRun 0
if  1258, 438 65280
    if  #timerRun = 0
        set #timerRun 1
        set #timeDelay timer + 12000
    else
        if  #timeDelay < timer
            наше_десйcтвие
            set #timerRun 0
        end_if
    end_if
else
    set #timerRun 0
end_if

Как-то так.

У тебя таймер запускается по ОТСУТСТВИЮ цвета. И каждый раз обновляется когда цвета нет. Как только искомый цвет появился - таймер обновляться перестает, происходит действие. Корректно ли решение - зависит от конкретной ситуации.

// goto - вселенское зло.

Сообщение отредактировал DarkMaster - 30.1.2014, 6:37


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V  1 2 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 27.4.2024, 20:11
Designed by Nickostyle