Yoko

All sides of Injection
It is currently 2024-03-28 13:30:21

All times are UTC+02:00




Post new topic  Reply to topic  [ 11 posts ] 
Author Message
 Post subject: vapros po scriptu taima!
PostPosted: 2007-02-04 11:42:46 
Offline

Joined: 2007-01-06 15:00:37
Posts: 8
Location: laTVIJA
Obisniti mne pozhalasta, kak v avto rezhimi mozhna ukazatj kago taimitj????



sub main()
# Скрипт работает в 2-ух режимах: #
# 1. Автоматический поиск (Авто) - для загонов. #
# Постоянно ищет животное по имени из массива. При нахождении #
# сам подходит к нему и пытается приручить. При удачном #
# исходе отпускает или убивает (см. Настройки). #
# При неудачном (если маленький скилл или голодное) убивает. #
# Режим кормления не предусмотрен. #
# 2. Указание в ручную (Ручной) - для дома. #
# Просит указать таргетом на животное которое нужно приручить. #
# При удачном исходе отпускает или убивает (см. Настройки). #
# Если маленький скилл - убивает, если голодный - кормит #
# сеном или убивает (см. Настройки). #
###################################################################
# #
# НАСТРОЙКИ #
# #
#####################################
# Настройки режима. #
var Mode = 2 # 1 - Авто. #
# 2 - Ручной. #
#####################################################
# Что делать с прирученным животным #
var Release = 1 # 1 - Отпустить cказать All Release #
# 0 - Убить #
#####################################################################
# ВНИМАНИЕ!!! Это код клавиши на которую в клиенте #
var Key = 77 # забито All Name на данный момент это английская m #
# Без этой клавиши скрипт в Авто работать не будет! #
#####################################################################
# Кормление в режиме Ручной #
var Foot = 1 # 1 - Кормить #
# 0 - Не кормить #
#############################################

var a, j
var gl=''
dim Animal[71]

Animal[0]="Rabbit [npc]"
Animal[1]="Bull [npc]"
Animal[2]="Hind [npc]"
Animal[3]="Dog [npc]"
Animal[4]="Cow [npc]"
Animal[5]="sheep [npc]"
Animal[6]="Chicken [npc]"
Animal[7]="Rat [npc]"
Animal[8]="Pig [npc]"
Animal[9]="Llama [npc]"
Animal[10]="Snake [npc]"
Animal[11]="Jackrabbit [npc]"
Animal[12]="Cat [npc]"

Animal[13]="Linnet [npc]" ######################################
Animal[14]="Bittern [npc]" # Эти 4 позиции резерв если найдутся #
Animal[15]="Jay [npc]" # новые названия животных #
Animal[16]="Grouse [npc]" ######################################

######################
# Птички 54 штуки :) #
######################
Animal[17]="Bittern [npc]"
Animal[18]="Chaffinch [npc]"
Animal[19]="Coot [npc]"
Animal[20]="Corncrake [npc]"
Animal[21]="Cuckoo [npc]"
Animal[22]="Curlen [npc]"
Animal[23]="Dunlin [npc]"
Animal[24]="Fieldfare [npc]"
Animal[25]="Gannet [npc]"
Animal[26]="Glossy Ibis [npc]"
Animal[27]="Goshawk [npc]"
Animal[28]="Grouse [npc]"
Animal[29]="Hoopoe [npc]"
Animal[30]="Jackdaw [npc]"
Animal[31]="Jay [npc]"
Animal[32]="Kestrel [npc]"
Animal[33]="Kingfisher [npc]"
Animal[34]="KittiWake [npc]"
Animal[35]="Lapwing [npc]"
Animal[36]="Linnet [npc]"
Animal[37]="Little Grebe [npc]"
Animal[38]="Magpie [npc]"
Animal[39]="Mourhen [npc]"
Animal[40]="Nightingale [npc]"
Animal[41]="Nighttar [npc]"
Animal[42]="Partridge [npc]"
Animal[43]="Peregine [npc]"
Animal[44]="Pheasant [npc]"
Animal[45]="Pied Wagtail [npc]"
Animal[46]="Plover [npc]"
Animal[47]="Quail [npc]"
Animal[48]="Red Kite [npc]"
Animal[49]="Redstart [npc]"
Animal[50]="Reed Bunting [npc]"
Animal[51]="Robin [npc]"
Animal[52]="Rook [npc]"
Animal[53]="Sandmartin [npc]"
Animal[54]="Sandpiper [npc]"
Animal[55]="Shag [npc]"
Animal[56]="Skylark [npc]"
Animal[57]="Snipe [npc]"
Animal[58]="Song Thrush [npc]"
Animal[59]="Sparrow [npc]"
Animal[60]="Spoonbill [npc]"
Animal[61]="Starling [npc]"
Animal[62]="Swallow [npc]"
Animal[63]="Tern [npc]"
Animal[64]="Turtle Dove [npc]"
Animal[65]="Wheatear [npc]"
Animal[66]="Whimbell [npc]"
Animal[67]="Woodcock [npc]"
Animal[68]="Woodpecker [npc]"
Animal[69]="Woodpigeon [npc]"
Animal[70]="Wren [npc]"

UO.exec("terminate Reconnect;exec Reconnect")

if (Mode == 2) then
if (UO.GetName('Ani') == '') then
UO.Print('Укажи на животное на котором хотите качаться ОБЯЗАТЕЛЬНО!!!')
UO.addobject('Ani')
while UO.Targeting()
wait(100)
wend
endif
while (UO.SkillVal('Animal Taming','1') < 1000)
wait(2000)
TameAnimal('Ani',Release,Foot,Mode)
wend
endif

if (Mode == 1) then
while (UO.SkillVal('Animal Taming','1') < 1000)

UO.DeleteJournal()
UO.Press(Key)
wait(1000)
j = 0

For a = 0 to 70
if UO.InJournal(Animal[a]) then
j = UO.JournalSerial(UO.InJournal(Animal[a])-1)
wait(1000)
if UO.GetName(j) == gl then
UO.Print('ГЛЮКИ!!!')
else
TameAnimal(j,Release,Foot,Mode)
endif
endif
next

UO.Print('Анализ NPC закончин.')
if (j == 0) then
UO.Print('NPC Нет')
endif
wait(2000)

wend
endif

endsub

sub TameAnimal(Animal, Rel, Eat, Mod)

var msg1 = "It seems to accept you"
var msg2 = "You fail to tame the"
var msg3 = "I am too far away"
var msg4 = "creature very hungry"
var msg5 = "quantity"; taming skill"

UO.Print('Приручаем '+UO.GetName(Animal)+'...')
GotoXY(UO.GetX(Animal),UO.GetY(Animal),2)
DeleteJournal(msg1)
DeleteJournal(msg2)
DeleteJournal(msg3)
DeleteJournal(msg4)
DeleteJournal(msg5)

While not UO.InJournal(msg1) and not UO.InJournal(msg4) and not UO.InJournal(msg5)
UO.WarMode(0)
UO.WaitTargetObject(Animal)
UO.UseSkill('Animal Taming')
While not UO.InJournal(msg1) and not UO.InJournal(msg2) and not UO.InJournal(msg3) and not UO.InJournal(msg4) and not UO.InJournal(msg5)
wait(100)
wend
if UO.InJournal(msg2) or UO.InJournal(msg3) then
GotoXY(UO.GetX(Animal),UO.GetY(Animal),2)
endif
DeleteJournal(msg2)
DeleteJournal(msg3)
wend

if UO.InJournal(msg4) then
UO.Print(UO.GetName(Animal)+' Голодный.')
if (Eat == 1) and (Mod == 2) then
Korm(Animal)
else
KillAnim(Animal)
endif
endif

if UO.InJournal(msg5) then
UO.Print(UO.GetName(Animal)+' Нехватает скилла.')
KillAnim(Animal)
endif

if UO.InJournal(msg1) then
UO.Print(UO.GetName(Animal)+' Приручен!!!')
if not (UO.GetName(Animal) == '') then
if (Rel == 1) then
UO.msg('All Release')
UO.msg('GuArDs')
else
UO.sayu('All Come')
UO.Attack(Animal)
UO.DeleteJournal()
While not UO.InJournal("Body of")
wait(100)
wend
endif
endif
endif

endsub

sub DeleteJournal(msg)
var nomer=UO.InJournal(msg)
if nomer>0 then
UO.SetJournalLine(Nomer - 1," ----- 8< ----- ")
DeleteJournal(msg)
endif
endsub

sub KillAnim(Anim)
UO.Print('Идём убивать '+UO.GetName(Anim)+'...')
UO.Attack(Anim)
GotoXY(UO.GetX(Anim),UO.GetY(Anim),1)
UO.DeleteJournal()
While not UO.InJournal("Body of")
wait(1000)
if not UO.InJournal("Body of") and (UO.GetX(Anim) >= 664) and (UO.GetY(Anim) >= 928) then
GotoXY(UO.GetX(Anim),UO.GetY(Anim),1)
endif
wend
endsub

sub Korm(An)
if UO.Count('0x0F36') then
UO.findtype('0x0F36','-1','backpack')
UO.SetReceivingContainer('An')
wait(500)
UO.Grab('1','finditem')
wait(2000)
UO.UnSetReceivingContainer('An')
else
UO.Print('В рюкзаке нет сена!')
UO.Print('Купите сено или измените настройки кормления!')
UO.Print('Все скрипты Terminate')
UO.exec("terminate all")
endif
endsub

sub Reconnect()
var ReconnectTime,rFlag
ReconnectTime='0'
rFlag=1
repeat
while (UO.ObjAtLayer('Bpack')=='')
if rFlag then
ReconnectTime=MakeTime()
rFlag=0
end if
wait(20000)
UO.Lclick(316,270)
wait(3000)
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)
UO.exec("terminate main;exec start")
rFlag=1
ReconnectTime='0'
end if
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
end if
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
end if
next
ret=t+" @ "+d
return ret
end sub

sub start()
UO.WarMode(1)
wait(100)
UO.WarMode(0)
wait(100)
UO.WarMode(1)
wait(20000)
UO.exec("terminate main;exec main")
end sub

sub GotoXY(x,y,prec)
var myX,myY,LastX=0,LastY=0,i,halt=0,z,r=0
for i=1 to 60
myX=uo.GetX()
myY=uo.GetY()
if LastX==myX and LastY==myY then
halt=halt+1
else
halt=0
end if
if halt>=10 then
if uo.GetDir()==1 then
for z=0 to 8
uo.Press(40)
next
end if
if uo.GetDir()==3 then
for z=0 to 8
uo.Press(37)
next
end if
if uo.GetDir()==5 then
for z=0 to 8
uo.Press(38)
next
end if
if uo.GetDir()==7 then
for z=0 to 8
uo.Press(39)
next
end if
halt=15
end if
if Numb(x-myX) <= prec and Numb(y-myY) <= prec then
return 1
end if
if x<=myX then
if y<=myY then
for z=0 to 3
uo.Press(38)
next
else
for z=0 to 3
uo.Press(37)
next
end if
else
if y<=myY then
for z=0 to 3
uo.Press(39)
next
else
for z=0 to 3
uo.Press(40)
next
end if
end if
LastX=myX
LastY=myY
wait(200)
next
return 0
end sub

sub Numb(num)
if num>=0 then
return num
else
return num*(-1)
end if
end sub


Top
   
PostPosted: 2012-08-19 13:39:14 
Offline

Joined: 2005-02-08 18:39:50
Posts: 444
Location: Moscow
а какая функция скроет труп убитой живки?

перепробовал:
uo.Hide('Anim')
uo.Hide('corpse')
uo.Hide('lastcorpse')


Top
   
PostPosted: 2012-08-19 17:54:28 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Premit Vars Loopback
Включено на мэйн закладке?
Хотя у меня и без неё всё нормально скрывается.


Top
   
PostPosted: 2012-08-19 20:00:29 
Offline

Joined: 2005-02-08 18:39:50
Posts: 444
Location: Moscow
не помогло, а как ты сделал?


Top
   
PostPosted: 2012-08-19 22:13:05 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Image

Code:
sub HideTest()
   uo.hide('backpack')
end sub


Всё нормально работает)


Top
   
PostPosted: 2012-08-20 17:39:44 
Offline

Joined: 2005-02-08 18:39:50
Posts: 444
Location: Moscow
Juicy Fruit wrote:
Image

Code:
sub HideTest()
   uo.hide('backpack')
end sub


Всё нормально работает)


так это работает без проблем,а вот труп что-то не скрывает, т.е. затамил живку, убил и нужно скрыть тело, чтобы потом затамить живую, а то он труп тамить собирается


Top
   
PostPosted: 2012-08-20 17:39:59 
Offline

Joined: 2005-02-08 18:39:50
Posts: 444
Location: Moscow
Gromiz wrote:
Juicy Fruit wrote:

Code:
sub HideTest()
   uo.hide('backpack')
end sub


Всё нормально работает)


так это работает без проблем,а вот труп что-то не скрывает, т.е. затамил живку, убил и нужно скрыть тело, чтобы потом затамить живую, а то он труп тамить собирается


Top
   
PostPosted: 2012-08-20 18:49:29 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Э, чёт стрёмная система, когда убил живку - начинай новый поиск живки, нашлось - тамь и убивай, не нашлось - сново юзай поиск через пару сек.


Top
   
PostPosted: 2012-08-20 19:06:22 
Offline

Joined: 2005-02-08 18:39:50
Posts: 444
Location: Moscow
да тут поиск через журнал, т.е. по названиям.
самое простое думал, что просто скрыть труп и скать дальше, а оно не скрывает хад.


Top
   
PostPosted: 2012-08-20 20:40:26 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
о_О злобно)
По типу сделай поиск, так вернее, если нужно - сравни цвет, злобность, имя.
А если по журналу то после убийства удали все сообщения, связанные с твоим объектом
Code:
Sub deljournal(msg)
   while uo.injournal(msg)
      uo.setjournalline(uo.injournal(msg)-1,'')
   wend
end sub

и заново ищи, если я канешн правильно понимаю суть скрипта)


Top
   
PostPosted: 2012-08-21 16:50:32 
Offline

Joined: 2005-02-08 18:39:50
Posts: 444
Location: Moscow
блиииин, точно! сделал скрытие строчки с трупом живки и все пашет.

спасибо.


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

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 23 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:  
cron
Powered by phpBB® Forum Software © phpBB Limited