Yoko

All sides of Injection
It is currently 2025-12-26 08:37:26

All times are UTC+02:00




Post new topic  Reply to topic  [ 9 posts ] 
Author Message
PostPosted: 2005-06-14 14:15:18 
Offline

Joined: 2005-06-12 09:14:09
Posts: 52
Location: Moscow, Russia
Что скажете по общему стилю написания? Где можно было сделать лучше и как?
Code:
sub Music()
DIM[5]
instrument[0]='' ;Лютня
instrument[1]='' ;Арфа      Не помню их типы :)
instrument[2]='' ;Бубен 
instrument[3]='' ;Барабан

Var i=0
Var instrumentest=0, instrumentcurrent

Hide()
While instrumentest==0 and i<4
  UO.FindType('instrument[i]')
  if UO.FindCount >=1 then
    instrumentest=1
    instrumentcurrent=instrument[i]
  endif
  i=i+1
wend

if instrumentest==1 then
  UO.Sayu(',warmode 0') ; На всякий случай
  repeat
    UO.Useobject('instrumentcurrent')
    wait(100)
    UO.Sayu(',warmode 1')
    wait(100)                   
    UO.Sayu(',warmode 0')
  until UO.Dead() or UO.SkillVal('Musicianship')==1000
endif                                               
endsub

Sub Hide()
While not UO.Hidden()==1
  UO.UseSkill('Hiding')
  UO.DeleteJournal()
  repeat
    wait(100)
  until UO.InJournal('have hidden') or ('hide here')
  wait(100)
wend
endsub


Top
   
 Post subject:
PostPosted: 2005-06-14 15:19:47 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
Пообщему стилю?;) если бы этот скрипт работал то было бы наверно ничего;)
UO.FindType('instrument[i]') - фантастика
UO.Sayu(',warmode 1') - класс
until UO.InJournal('have hidden') or ('hide here') - фантастика
While not UO.Hidden()==1 - не рационально
UO.Useobject('instrumentcurrent') - из области фантастики;)
Как думаешь сколько ошибок тебе сразу выдаст парсер?;)
в общем тепер ьпо пунктам....
UO.FindType('instrument[i]')
ну и что тут? а тут унас зарание созданый тип объекта в вкладке ObjectType или просто строчка не понятного содержания а нам нужен элемент массива... по этому нах кавычки

UO.Useobject('instrumentcurrent')
тоже самое, утебя переменая instrumentcurrent объявлина поэтому выдергивай ее содержимое нах кавычки

UO.Sayu(',warmode 1')
uo.warmode(1)

until UO.InJournal('have hidden') or ('hide here')
вот обрати внимание на вторую часть ('hide here') как ты это понимаешь? Самое страное что я понимаю эо просто как выражение...
ясно дело что ты там хотел написчать UO.InJournal('hide here')
Но это уже не модно и все уже пишут UO.InJournal('have hidden|hide here')

While not UO.Hidden()==1
зачем писат ьтакую логику? не проще просто While not UO.Hidden()?


Top
   
 Post subject:
PostPosted: 2005-06-14 15:36:18 
Offline

Joined: 2005-06-12 09:14:09
Posts: 52
Location: Moscow, Russia
Grin wrote:
UO.FindType('instrument[i]')
ну и что тут? а тут унас зарание созданый тип объекта в вкладке ObjectType или просто строчка не понятного содержания а нам нужен элемент массива... по этому нах кавычки

Не знал что он нормально всопримет просто имя переменной.

Grin wrote:
UO.Sayu(',warmode 1')
uo.warmode(1)

хмм. т.е. команды вызываемые через запятую можно использовать в скрипте напрямую. Гуд.
Grin wrote:
until UO.InJournal('have hidden') or ('hide here')
вот обрати внимание на вторую часть ('hide here') как ты это понимаешь? Самое страное что я понимаю эо просто как выражение...
ясно дело что ты там хотел написчать UO.InJournal('hide here')
Но это уже не модно и все уже пишут UO.InJournal('have hidden|hide here')

Нигде не видел пометки что такое выражение воспринимается нормально. Вот за это биг сенкс. Ну и разумеется имелось в виду UO.InJournal('hide here')

Grin wrote:
While not UO.Hidden()==1
зачем писать такую логику? не проще просто While not UO.Hidden()?

т.е. опять же он нормально воспримет такое условие. Не был уверен в этом.
В целом - Вери Биг Сенкс за разъяснения.


Top
   
 Post subject:
PostPosted: 2005-06-14 15:48:44 
Offline
User avatar

Joined: 2005-04-12 15:13:53
Posts: 35
Location: From RuO
Пацаны завик так парится на счет какогото мусикалшипа на те скриптик сразу качается антисентемент музыка и ПИСмайкинг
Code:
Var Animal1='0x003856CD'

sub Peacemaking()
var i=0
while uo.skillval('Peacemaking',1)<1000

i=i+1
if i==50 then
uo.usetype('0x097B')
wait(1000)
i=0
end if

cheklag()
uo.useskill('Peacemaking')
wait(3000)
wend
uo.closeuo()
end sub

sub Enticement()
var i=0
while uo.skillval('Enticement',1)<1000

i=i+1
if i==50 then
uo.usetype('0x097B')
wait(1000)
i=0
end if

cheklag()
uo.useskill('Enticement',Animal1)
wait(2500)
wend
uo.closeuo()
end sub

sub cheklag()
uo.deletejournal()
uo.click('backpack')
repeat
wait(10)
until uo.InJournal("backpack")
end sub

sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
While (UO.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(20000) # WorldSave Protection
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.LDblClick(357,164)
UO.LClick(616,459)
Wait(3000)
WEnd
Wait(3000)
if (RFlag == 0) and (ReconnectTime <> '0') Then
UO.TextOpen()
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
RFlag = 1
ReconnectTime = '0'
endif
Until false
end sub

sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next
Ret = STR(UO.Date())
D = ""
For i = 0 To Len(Ret)
D = Ret[Len(Ret)-i] + D
If (I == 2) OR (I == 4) Then
D = "." + D
EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub

Писал не я но скрипт овигеный короче до ГМа качается за 36часов!!! 8) 8)

[Убью ну вставляйте теги читать невозможно. I'm]


Top
   
 Post subject:
PostPosted: 2005-06-15 07:04:59 
Offline

Joined: 2005-06-12 09:14:09
Posts: 52
Location: Moscow, Russia
Я не люблю пользоваться чужими готовыми кодами. Как справочником - да, а для дела - сам напишу.

Вот что получилось после плейтеста:
Code:
sub Music()
DIM instrument[5]
instrument[0]='0x0EB3'
instrument[1]='0x0EB2'
instrument[2]='0x0E9D'
instrument[3]='0x0E9C'

Var i=0
Var instrumentest=0, instrumentcurrent

While instrumentest==0 and i<4
  UO.FindType(instrument[i])
  if UO.FindCount() >=1 then
    instrumentest=1
    instrumentcurrent=instrument[i]
  endif
  i=i+1
wend

if instrumentest==1 then
  UO.warmode(0)
  repeat
    UO.Usetype(instrumentcurrent)
    wait(500)
    UO.warmode(1)
    wait(100)
    UO.warmode(0)
    wait(100)
  until UO.Dead() or UO.SkillVal('Musicianship')==1000
endif
endsub


Top
   
 Post subject:
PostPosted: 2005-06-15 14:28:01 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Grin wrote:
UO.Useobject('instrumentcurrent')
тоже самое, утебя переменая instrumentcurrent объявлина поэтому выдергивай ее содержимое нах кавычки


Кавычки здесь конечно стоят зря, но на настоящую ошибку ты сам внимание не обратил. Дело в том, что instrumentcurrent - это тип объекта, поэтому правильно надо было UO.Usetype(instrumentcurrent)

Quote:
UO.Sayu(',warmode 1')
uo.warmode(1)


Оба написания работоспособны, на скорость не влияет. Здесь никакой ошибки нету.

Quote:
Но это уже не модно и все уже пишут UO.InJournal('have hidden|hide here')


Первый раз слышу про такую моду. Прежде чем советовать - поинтересовался бы у человека, может он на старой длл-ке сидит. Я вот например сижу на 312.19 и большинству советую того же. Так что на фиг такую моду.

Quote:
While not UO.Hidden()==1
зачем писат ьтакую логику? не проще просто While not UO.Hidden()?


Опять же, на работоспособность не влияет.


Top
   
 Post subject:
PostPosted: 2005-06-15 15:44:39 
Offline

Joined: 2005-06-12 09:14:09
Posts: 52
Location: Moscow, Russia
Дллька новая, посему работает и с '|'. А насчет того. что не ошибки - меня это и интересовало. оптимизация кода :)


Top
   
 Post subject:
PostPosted: 2005-06-25 12:18:59 
Offline

Joined: 2005-04-07 09:40:49
Posts: 36
casper46 wrote:
Пацаны завик так парится на счет какогото мусикалшипа на те скриптик сразу качается антисентемент музыка и ПИСмайкинг
Code:
Var Animal1='0x003856CD'

sub Peacemaking()
var i=0
while uo.skillval('Peacemaking',1)<1000

i=i+1
if i==50 then
uo.usetype('0x097B')
wait(1000)
i=0
end if

cheklag()
uo.useskill('Peacemaking')
wait(3000)
wend
uo.closeuo()
end sub

sub Enticement()
var i=0
while uo.skillval('Enticement',1)<1000

i=i+1
if i==50 then
uo.usetype('0x097B')
wait(1000)
i=0
end if

cheklag()
uo.useskill('Enticement',Animal1)
wait(2500)
wend
uo.closeuo()
end sub

sub cheklag()
uo.deletejournal()
uo.click('backpack')
repeat
wait(10)
until uo.InJournal("backpack")
end sub

sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
While (UO.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(20000) # WorldSave Protection
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.LDblClick(357,164)
UO.LClick(616,459)
Wait(3000)
WEnd
Wait(3000)
if (RFlag == 0) and (ReconnectTime <> '0') Then
UO.TextOpen()
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
RFlag = 1
ReconnectTime = '0'
endif
Until false
end sub

sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next
Ret = STR(UO.Date())
D = ""
For i = 0 To Len(Ret)
D = Ret[Len(Ret)-i] + D
If (I == 2) OR (I == 4) Then
D = "." + D
EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub
Ну и как мне разобраться в твоём скрипте?
Code:
UO.LDblClick(357,164)
UO.LClick(616,459)
Вот Это зачем например ?

_________________
[ещё раз увижу такую дебильную подпись - забаню. Администрация.]


Top
   
 Post subject:
PostPosted: 2005-06-25 13:36:23 
Offline

Joined: 2005-06-18 15:55:25
Posts: 24
еще массив задан неверно

Code:
DIM[4] 
instrument[0]='' ;
instrument[1]='' ;
instrument[2]='' ;
instrument[3]='' ;

так надо, у тебя всего 4 эллемента а не 5


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 9 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: Bing [Bot] and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited