Таймер
Moderators: Murderator+, Murderator
-
Scripts Writer
- Posts: 2259
- Joined: 2005-04-19 18:00:29
- Location: Московская область
- Contact:
А не могли бы вы пояснить как и куда именно вставить таймер.
и поясните пожалуста основной принцип действия таймера
Code: Select all
sub heal()
var frizheal = "You apply bandages but"
var hil = "You put bloody"
var bloodbandage = 0x0E20
var bandage = 0x0E21
var Sunduk = '0x40000FE8'
var DoborBintov = 1
var DoborRegov = 1
while not uo.Dead()
if DoborBintov == 1 then
DoborBintov()
end if
if uo.Count('0x0F0B') == 0 then
MakeRefresh()
end if
if uo.Life < uo.Str then
bandageself()
else
ClickNaUlej()
end if
wend
end sub
######################################################################################################
sub DoborBintov()
if uo.count('0x0E20') >= 100 then
uo.findtype('0x0E20', '-1', 'backpack')
if uo.getquantity('finditem') >= 60 then
uo.moveitem('finditem', '100', '0x40000FE8')
wait(700)
endif
end if
if uo.count('0x0E21') < 1000 then
uo.findtype('0x0E21', '-1', '0x40000FE8')
if uo.getquantity('finditem') >= 60 then
uo.moveitem('finditem', '100', 'my')
wait(700)
else
uo.print( 'Áèíòû â ñóíäóêå êîí÷èëèñü!' )
return
endif
end if
end sub
######################################################################################################
sub DoborRegov()
uo.findtype('0x0F7A', '-1', '0x40000FE8')
if uo.getquantity('finditem') >= 60 then
uo.moveitem('finditem', '150', 'my')
wait(700)
endif
end sub
######################################################################################################
sub bandageself()
if UO.Stamina < 30 then
uo.UseType('0x0F0B')
end if
uo.exec('bandageself')
uo.DeleteJournal()
repeat
wait(100)
until uo.InJournal("You apply bandages but") or uo.InJournal("You put bloody")
end sub
######################################################################################################
sub ClickNaUlej()
var ulej = 0x091A
repeat
UO.UseFromGround(ulej)
wait(100)
until uo.Life < (uo.Str - 10)
end sub
######################################################################################################
sub MakeRefresh()
var garlick='0x0F7A'
if uo.bp < 150 then
DoborRegov()
end if
while not uo.Count('0x0F0B') == 112 #
uo.WaitMenu('What sort of potion do you want to','Refresh')
uo.UseType(garlick)
uo.DeleteJournal()
repeat
wait(100)
until uo.InJournal("mes1") or uo.InJournal("mes")
wend
end sub
и поясните пожалуста основной принцип действия таймера
-
DerMeister =)
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
-
DerMeister =)
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
Re: Таймер
Rijo wrote:Как можно сделать тамймер на то что если скрипт ничего не делает, то он его бы запускал сначала. А то у меня действеие скрипта зависит от проверки сообщений в журнале. И если что то не так, то он подвисает и просто чар простаивает
В каком случае ону тебя ничего не делает? И зачем сначала запускать? Сделай просто "вечный" цикл и фсё
DerMeister сейчас на нейрале!
-
DerMeister =)
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
Rijo wrote:Code: Select all
...
repeat
UO.UseFromGround(ulej)
wait(100)
until uo.Life < (uo.Str - 10)
...
Фпятёрке...
ЗЫ: Каким образом он может "ничего не делать?" Этоже скрипт на прокачку... [/quote]
DerMeister сейчас на нейрале!
Допустим чар наложил на себя бинт и ждет пока в журнале не появится сообщага о том положен ли бинт или нет
вот типа что то этого. А скрипт и так вечный
. Ну смысле пока выполняются все условия
Code: Select all
repeat
wait(100)
until uo.InJournal("You apply bandages but") or uo.InJournal("You put bloody")
вот типа что то этого. А скрипт и так вечный
[/quote]DerMeister =) wrote:Rijo wrote:Code: Select all
...
repeat
UO.UseFromGround(ulej)
wait(100)
until uo.Life < (uo.Str - 10)
...
Фпятёрке...![]()
ЗЫ: Каким образом он может "ничего не делать?" Этоже скрипт на прокачку...
а тут то что не так?
-
DerMeister =)
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
1) Если ты имеешь ввиду ситуацию, когда сообшения о хеле не приходят, то используй счётчик:
Принцип работы: даже если сообщения (You apply bandages but и You put bloody) по каким либо причинам не появятся, то счётчик выведет из цикла (условие выхода: schetchik >200 ) Число подстрой под себя...
2)
wait(100)
У тебя не лагает? Или это так специально задумано 100мс задержка?
Code: Select all
var schetchik=0
repeat
schetchik=schetchik+1
wait(100)
until uo.InJournal("You apply bandages but") or uo.InJournal("You put bloody") or schetchik >200Принцип работы: даже если сообщения (You apply bandages but и You put bloody) по каким либо причинам не появятся, то счётчик выведет из цикла (условие выхода: schetchik >200 ) Число подстрой под себя...
2)
Rijo wrote:а тут то что не так?
wait(100)
У тебя не лагает? Или это так специально задумано 100мс задержка?
DerMeister сейчас на нейрале!
-
DerMeister =)
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
[/quote]Rijo wrote:Rijo wrote:а тут то что не так?
wait(100)
У тебя не лагает? Или это так специально задумано 100мс задержка?
нет не лагает, специально поставил такую паузу чтобы инжект не потерял случайно сообщагу. Все равно теряет
Да я не про это (тут всё правильно
Code: Select all
repeat
UO.UseFromGround(ulej)
wait(100)
until uo.Life < (uo.Str - 10) DerMeister сейчас на нейрале!
-
DerMeister =)
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
Rijo wrote:нет не лагает, специально поставил такую паузу чтобы инжект не потерял случайно сообщагу. Все равно теряет
Не может он её терять! Если сервер присылает то потеря не возможна!
Совет попробуй соощения "упростить, напимер вместо "You apply bandages but" попробуй просто "bandages"...
DerMeister сейчас на нейрале!
Ну в принципе упростил как ты посоветовал. Ща посмотрим как будет работать.
Ну и получилось примерно так
может че неправлень сделал. На всякий случай выложил сюда
Ну и получилось примерно так
Code: Select all
sub bandageself()
var schetchik=0
if UO.Stamina < 30 then
uo.UseType('0x0F0B')
end if
uo.exec('bandageself')
uo.DeleteJournal()
repeat
schetchik=schetchik+1
wait(100)
until uo.InJournal("bandages but") or uo.InJournal("bloody") or schetchik >300
end sub
может че неправлень сделал. На всякий случай выложил сюда
Code: Select all
repeat
UO.UseFromGround(ulej)
wait(100)
until uo.Life < (uo.Str - 10)
ну а тут я собсно не понял что тебя удевило
-
DerMeister =)
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
Rijo wrote:Code: Select all
repeat
UO.UseFromGround(ulej)
wait(100)
until uo.Life < (uo.Str - 10)
ну а тут я собсно не понял что тебя удевило. Он у меня раза 3-4 тыкает на улей и и потом лечится до тех пор пока uo.Life = uo.str
Да мне просто интересно как он у тебя 10 раз в секунду будет хуярить по улью... серв с ума не сходит???
DerMeister сейчас на нейрале!
-
DerMeister =)
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
-
No More Lies
- Posts: 39
- Joined: 2006-05-26 11:44:07
- Location: Москва
- Contact: