Скрипт GimFlexа на ловлю

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Hanguk
Posts: 5
Joined: 2006-02-03 12:56:56

Скрипт GimFlexа на ловлю

Post by Hanguk »

Скрипт вроде норм но, но что то там не так. После того как выловит в одном месте не портается в другое. Просто открывается рунбук. Портаешся в ручную скрипт продолжает ловить пока все не выловит. А потом опять просто открывается рунбука. Помогите

Code: Select all

; в третьей рунбуке 9 руна к дому для экономии рунбук 
; при реколе от пк чар юзает инвизку, так эффективнее улет 
; во время ловли говорим "next point" и летим сразу к следущей 
; во время ловли говорим "pause" и идем по своим делам, как дела 
;  сделали, возвращаемся туда же, говорим "return" и продолжаем 
; еда валяется у сундуков, т.е. чар ест с земли, фу гадость :) 
; расчитано на то, что чар реколиться домой сразу к сундукам 
; хотим посмотреть статистику ловли, в любой момент набираем 
;  в окне ультимы ",textopen" и смотрим 
; также можно отдельно запускать скрипт home(), он независимый 
################### Question aka GimFlex ####################### 
sub main() 
var o,p,time 
var in=0 
dim book[3] 
 book[0]='0x40002A65' ; первая рунбука с рунами к месту ловли 
 book[1]='0x40002A57' ; вторая рунбука с рунами к месту ловли 
 book[2]='0x404E2DE4' ; третья рунбука с рунами к месту ловли 
wait(1000) 
UO.Exec('terminate Reconnector') 
wait(1000) 
UO.Exec('exec Reconnector') 
wait(1000) 
time=MakeTime() 
uo.textprint("Скрипт запущен") 
uo.textprint("Время "+time) 
uo.textprint(" ") 
while 1==1 
 for o=1 to 9 
  for p=0 to 2 
   if p==2 and o==9 then 
    home() 
   else 
    port(book[p],o,in) 
    in=fish(p,o) 
   endif 
  next 
 next 
 eat() 
wend 
endsub 

Sub port(idrb,nrune,inviz) 
var inviz1='0x0F0E' ; тип инвизки 
var color='0x0631' ; цвет инвизки 
var time 
var oldX=uo.getx() 
var oldY=uo.gety() 
Dim gumpreturn[9] 
 gumpreturn[1]="0x0015" 
 gumpreturn[2]="0x0021" 
 gumpreturn[3]="0x002E" 
 gumpreturn[4]="0x003A" 
 gumpreturn[5]="0x0040" 
 gumpreturn[6]="0x0049" 
 gumpreturn[7]="0x0058" 
 gumpreturn[8]="0x005E" 
 gumpreturn[9]="0x0401" 
UO.exec('resend') 
UO.UseObject('backpack') 
if inviz==1 then 
 uo.usetype(inviz1,color) 
endif 
uo.useobject(idrb) 
uo.exec("ongump anygump "+gumpreturn[nrune]) 
uo.deletejournal() 
time=UO.Timer() 
Repeat 
 wait(500) 
Until oldX<>UO.GetX() OR oldY<>UO.GetY() OR time+200<UO.Timer() 
end sub 

Sub IsWater(X,Y) 
 if UO.PrivateGetTile(X, Y, -1, 6039, 6065) then 
  return 1 
 else 
  return 0 
 endif 
end sub  

Sub fish(pp,oo)  
var mx, my, mz, i, j, k, killer, fl=0, kol=0,time, inFishing=0, pr=0 
var spining='0x0DBF' ; удочка 
var map='0x14EB' ; нерасшифрованная карта 
var tfish='0x0DD6' ; трули фиш 
DIM text[6] 
 text[0] = 'You pull out a' 
 text[1] = 'You fish a while' 
 text[2] = 'That is too far away' 
 text[3] = 'Try fishing in water' 
 text[4] = 'There are no fish here' 
 text[5] = 'location' 
 text[6] = 'return' 
uo.set('finddistance','1') 
killer=pk() 
if killer==0 then 
  hiding() 
 else 
  pr=1 
endif 
mx = UO.GetX("self") 
my = UO.GetY("self") 
mz = UO.GetZ("self") 
UO.DeleteJournal() 
if killer==0 then 
for i = mx-6 to mx+6 
 for j = my -6 to my+6 
  if IsWater(i,j) then 
   inFishing=0 
   repeat 
    killer=pk() 
    if killer==1 then 
     fl=1 
     pr=1 
    endif 
    UO.DeleteJournal() 
    UO.Waittargettile("1341", str(i), str(j), str(mz)) 
    UO.Usetype(spining) 
    repeat 
     killer=pk() 
     if killer==1 then 
      fl=1 
      pr=1 
     endif 
     wait(10) 
    Until UO.InJournal(text[0]) OR UO.InJournal(text[1]) OR UO.InJournal(text[2]) OR UO.InJournal(text[3]) OR UO.InJournal(text[4]) OR UO.InJournal(text[5]) OR UO.InJournal(text[6]) 
    if NOT UO.InJournal(text[1]) then 
     inFishing=1 
    endif 
   Until inFishing==1 
   uo.findtype(map,'-1','ground') 
   if uo.findcount() then 
    uo.moveitem('finditem','1','backpack') 
    wait(500) 
   endif 
   uo.findtype(tfish,'-1','ground') 
   if uo.findcount() then 
    uo.moveitem('finditem','1','backpack') 
    wait(500) 
   endif 
  endif 
  killer=pk() 
  if killer==1 then 
   fl=1 
   pr=1 
  endif 
  UO.DeleteJournal() 
  if fl==1 then 
   time=MakeTime() 
   i=mx+6 
   j=my+6 
   uo.deletejournal() 
   uo.textprint("Нехороший человек!!!") 
   uo.textprint("Время "+time) 
   uo.textprint(" ") 
  endif 
 next 
 uo.print("book-"+str(pp+1)+" runa-"+str(oo)) 
 hiding() 
 uo.resend() 
 uo.findtype(map,'-1','backpack') 
 kol=uo.findcount() 
 uo.print("Vulovil "+str(kol)+" kart!!!") 
next 
else 
 pr=1 
endif 
return pr 
end sub  

Sub hiding()  
UO.Warmode("0") 
while not UO.Hidden() 
 UO.DeleteJournal() 
 UO.UseSkill("Hiding") 
 while NOT UO.InJournal("You") 
  wait(100) 
 wend 
wend  
end sub 

sub home() 
var book3='0x404E2DE4' ; 3-яя рунбука, 9 руна к дому 
var cont1='0x401EEECD' ; для карт и пустых мешков(<50) 
var cont2='0x401ECB38' ; для наполненных мешков с картами 
var cont3='0x401EC4D1' ; для наполненных мешков с трули фиш 
var map='0x14EB' ; нерасшифрованная карта 
var mesh='0x0E76' ; пустой мешок 
var tfish='0x0DD6' ; трули фиш 
var sm,kl,time 
port(book3,9,0) 
hiding() 
uo.set('finddistance','5') 
uo.useobject(cont1) 
wait(1000) 
uo.useobject(cont2) 
wait(1000) 
uo.useobject(cont3) 
wait(1000) 
uo.findtype(map,'-1','backpack') 
while uo.findcount() 
 uo.findtype(map,'-1',cont1) 
 if uo.findcount()>=200 then 
   uo.findtype(mesh,'-1',cont1) 
   sm=uo.getserial('finditem') 
   uo.moveitem(sm,'1',cont2) 
   wait(1000) 
   uo.findtype(map,'-1',cont1) 
   while uo.findcount() 
    uo.moveitem('finditem','1',sm) 
    wait(500) 
    cheklag() 
    uo.findtype(map,'-1',cont1) 
   wend 
  else 
   uo.findtype(map,'-1','backpack') 
   uo.moveitem('finditem','1',cont1) 
   wait(500) 
   cheklag() 
 endif 
 uo.findtype(map,'-1','backpack') 
wend 
uo.findtype(tfish,'-1','backpack') 
while uo.findcount() 
 uo.findtype(tfish,'-1',cont3) 
 if uo.findcount()>=200 then 
   uo.findtype(mesh,'-1',cont1) 
   sm=uo.getserial('finditem') 
   uo.moveitem(sm,'1',cont3) 
   wait(1000) 
   uo.findtype(tfish,'-1',cont3) 
   while uo.findcount() 
    uo.moveitem('finditem','1',sm) 
    wait(500) 
    cheklag() 
    uo.findtype(tfish,'-1',cont3) 
   wend 
  else 
   uo.findtype(tfish,'-1','backpack') 
   uo.moveitem('finditem','1',cont3) 
   wait(500) 
   cheklag() 
 endif 
 uo.findtype(tfish,'-1','backpack') 
wend 
time=MakeTime() 
uo.findtype(map,'-1',cont1) 
kl=uo.findcount() 
uo.textprint("В сундуке карт ["+str(kl)+"]") 
uo.findtype(mesh,'-1',cont2) 
kl=uo.findcount() 
uo.textprint("Мешков с картами ["+str(kl)+"]") 
uo.findtype(tfish,'-1',cont3) 
kl=uo.findcount() 
uo.textprint("В сундуке волшебной рыбки ["+str(kl)+"]") 
uo.findtype(mesh,'-1',cont3) 
kl=uo.findcount() 
uo.textprint("Мешков с волшебной рыбкой ["+str(kl)+"]") 
uo.textprint("Время "+time) 
uo.textprint(" ") 
endsub 

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

Sub pk() 
var jor,ser,fl=0 
for jor = 0 to 9    
 ser = uo.JournalColor(jor) 
 if ser=="0x0026" or uo.injournal("next point") then 
  fl=1 
 endif 
 if uo.injournal("pause") then 
  while not uo.injournal("return") 
   wait(500) 
  wend 
 endif 
next 
return fl 
endsub 

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 = T 
RETURN Ret 
end sub 

Sub eat() 
var eda='0x097B' ; еда 
var ms1="You eat some fish steaks" 
var ms2="You are stuffed!" 
var ms3="You are simply too full to eat any more!" 
uo.set('finddistance','1') 
uo.findtype(eda,'-1','ground') 
if uo.findcount() then 
 repeat 
  uo.deletejournal() 
  uo.useobject('finditem') 
  wait(500) 
  repeat 
   wait(100) 
  until uo.injournal(ms1) or uo.injournal(ms2) or uo.injournal(ms3) 
 until uo.injournal(ms2) or uo.injournal(ms3) 
endif 
endsub 

Sub Reconnector() 
var RFlag 
RFlag = 1 
Repeat 
While (UO.ObjAtLayer('Bpack') == '') 
if RFlag Then 
RFlag = 0 
endif 
Wait(20000) 
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) Then 
UO.Exec('terminate main') 
wait(1000) 
uo.lclick(494,383) 
wait(1000) 
UO.Exec('exec main') 
wait(1000) 
RFlag = 1 
endif 
Until false 
end sub 
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

надо настроить

Code: Select all

uo.useobject(idrb)
uo.exec("ongump anygump "+gumpreturn[nrune]) 
незнаю как, я неиграю у вас, неиграю вобще
666||TORCHKI
Posts: 257
Joined: 2006-11-14 16:19:03
Contact:

Post by 666||TORCHKI »

СКРИПТ ПОЛНОСТЬЮ РОБОЧИЙ !
Просто обнови инжект до последней версии !
Post Reply