Вторник, 24.06.2025, 19:11
[nIrVaNa]
Приветствую Вас Призывник | RSS

Меню сайта
Ultima Online
  • Ultima Online DRW
  • .::Games::.
  • EVE Online
  • Russia EVE-RU
  • Ukrainian EVE-UA
  • [6OP3bIE CAHTEXHuru] EVE
  • L2Europa.com
  • Clan Viktoria L2Europa.com
  • Мини-чат
    Главная » Статьи » Мои статьи

    Скрипт на Fishing
    ### Фишинг / Марк Поинтс v1.0 (19/06/07 ### 
    ########################################################## 
    ### Шард Dragon World / www.drw.ru ### 
    ########################################################## 
    ########################################################## 
    ### По вопросам и предложениям обращаться сюда: 
    ### ICQ: 354743436 или 233461603 (ВЕТЕРАН) 
    ### Авторы: 
    ### -За основу марка взят скрипт:"©Elthar aka Duo", 
    ### за что его автору большое спасибо. 
    ### -Автор скрипта:"BETEPAH". 
    ### -Редактировал и дополнял:"BETEPAH". 
    ######################################################### 
    ############################ 
    ### Описание и настройка ### 
    ############################ 
    ### Обратите внимание на значки "]![" ими выделенны важные сообщения. 
    ### 
    ### Чар бегает от точки ловли к точке (координаты берет из файла). 
    ### Выловит, бежит к следующей, при макс весе порталится домой скидывает все в сундук, 
    ### после реколится обратно и бежит к последней точке и продолжает рыбачить. 
    ### Пример: В файле 10 точек ловли, вы выловив на них всю рыбу дошли до придела веса, сработала система рекола 
    ### и вы "порталитесь" домой и складываете улоа в сундук, после вы реколитесь обратно на берег и бежите к 1 точке. 
    ### Перво наперво запустите 1 раз скрипт ОПЦИИ. 
    ### ]![ Чтобы скрипт заработал внимательно прочтите настройки. ]![ 
    ### 
    ################################### 
    ### Режимы работы скрипта ### 
    ################################### 
    ### Работает в 2х режимах: ### 
    ### 1)Маркировка ### 
    ### 2)Ловля ### 
    ################################### 
    ### Режим Первый - "Маркировка" ### 
    ################################### 
    ### Этот режим отвечает за Маркирование(записывание координат) 
    ### Включается переменной var GetFromFile=1 ## 1 - координаты будут считыватся из файла, 0 - собиратся из клиента. 
    ### То есть если GetFromFile=1 координаты точек собиратся из клиента. 
    ### 
    ### Маркировка происходит так: 
    ### Поставте переменную GetFromFile равную 0 (GetFromFile=0). 
    ### Положите к себе в сумку Удочку, Рунбук(с рунами домой и на берег) и Кирку. 
    ### Идите на берег. 
    ### Запустите Скрипт Starter(), инжект попросит вас указать кирку. 
    ### (появится прицел,прицелом на кирку которая у вас в паке или в руках) 
    ### Инжект сообщит вам что ('Собираем координаты в округе...'). 
    #### Теперь вы должны в любом порядке сами прицелом указать координаты(достаточно просто нажать прицелом на Землю). 
    ### Ходите по берегу и марчите точки. Для того чтобы ОСТАНОВИТЬ МАРК нажмите прицелом на себя. 
    ### Инжект напишет вам сообщение ('Анализ закончен, координаты записаны в файл C:\Fish.dat') и создаст файл на диске 
    ### С:\ куда запишет координаты. 
    ### После этого чар пойдет по координатам и будет рыбачить. 
    ### 
    ############################## 
    ### Режим Второй - "Ловля" ### 
    ############################## 
    ### Этот режим соответственно отвечает за Ловлю. 
    ### Включается переменной var GetFromFile=1 ## 1 - координаты будут считыватся из файла, 0 - собиратся из клиента 
    ### То есть если GetFromFile=1 координаты будут считыватся из файла. 
    ### И вам не надо будет сново марчить точки. 
    ### 
    ### Ловля происходит так: 
    ### Поставте переменную GetFromFile равную 1 (GetFromFile=1). 
    ### Положите к себе в сумку Удочку и Рунбук(с рунами домой и на берег). 
    ### 
    ###################################### 
    ### Дополнительные функции скрипта ### 
    ###################################### 
    ### В скрипте есть доп. функции: ### 
    ### 1)Кушанье ### 
    ### 2)Побег при Атаке ### 
    ### 3)Реконнект ### 
    ############################################ 
    ### Функция Первая - "Употребление Пищи" ### 
    ############################################ 
    ### Этот режим соответственно отвечает за Употребление Пищи. 
    ### Включается переменной var EatingFood=1 ## 1 - Будем есть, 0 - нет. 
    ### То есть если EatingFood=1 чар будет кушать. 
    ### 
    ### Употребление Пищи происходит так: 
    ### Поставте переменную EatingFood равную 1 (EatingFood=1). 
    ### Положите в сундук куда будут выгружаться логи и где лежат реколы - еду, 
    ### тип которой вы указали тут var TypeFood='0x097B' ## - Тип еды которую будем кушать.(сейчас фиштейки) 
    ### ]![ Советую положить в сундук побольше еды т.к. ели она кончиться скрипт встанет! ]![ 
    ### После того как чар выложит логи и речаржнет рунбуку, будет кушать. 
    ### Он берет 20 единиц еды и кушает, что осталось выгружает обратно в сундук. 
    ### 
    ########################################## 
    ### Функция Вторая - "Побег при Атаке" ### 
    ########################################## 
    ### Этот режим соответственно отвечает за Побег при атаке ентов и не только. 
    ### Включается переменной var AttackPK=1 ## 1 - Включить рекол при атаке, 0 - отключить рекол. 
    ### То есть если AttackPK=1 чар будет реколиться при атаке. 
    ### 
    ### Побег происходит так: 
    ### Поставте переменную AttackPK равную 1 (AttackEnts=1). 
    ### Что нада сделать далее: 
    ### 1) Телепортироваться самому на место рыбалки. 
    ### 2) 3апустить скрипт заново! 
    ### 
    ####################################### 
    ### Функция Третья - "Реконнект" ### 
    ####################################### 
    ### Этот режим соответственно отвечает за Реконнект при выкидывании с сервера. 
    ### Включается переменной var Reconnect=0 ## 1 - Включить реконнект на сервер если выкинет, 0 - отключить реконнект. 
    ### То есть если Reconnect=1 чар будет реколиться при атаке. 
    ### 
    ### Реконнект происходит так: 
    ### Поставте переменную Reconnect равную 1 (Reconnect=1). 
    ### Если вдруг повиснет игровая сфера или вас выкинет по любой другой причине 
    ### реконнектор законнектит вса на сервер автоматически. 
    ### Пишется время дисконнекта и коннекта на сервер. 
    ### 
    ### Настройте скрипт под себя при помощи переменных. 
    ### 
    ################## 
    ### Переменные ### 
    ################## 
    ################################################################################################### 
    var f=file("C:\FishKa Fish.dat") ## - Путь к файлу в котором будут хранится координаты 
    ### 
    var TryHiding=0 ## 1 - Перед тем как рыбачить, будет пытаться уйти в хайд, 0 - не будет . 
    ### 
    var TryRecall=1 ## 1 - После того как соберет полный вес будет пытаться реколиться домой, 
    ### складывать Улов в сундук и реколиться обратно , 0 - не будет. 
    ### 
    var RuneToHome=1 ## 1 - Номер руны Домой,по счёту в рунбуке.(сейчас в 1ом слоте,можно менять от 1-9) 
    ### 
    var RuneToPoint=2 ## 2- Номер руны в Лес,по счёту в рунбуке.(сейчас в 9ом слоте,можно менять от 1-9) 
    ### 
    var GetFromFile=1 ## 1 - Координаты будут считыватся из файла, 0 - собиратся из клиента 
    ### (сначала соберите а потом считывайте из файла). 
    ### 
    var EatingFood=0 ## 1 - Будем есть, 0 - нет. 
    ### 
    var TypeFood='0x097B' ## - Тип еды которую будем кушать.(сейчас фиштейки) 
    ### 
    var Reconnect=1 ## 1 - Включить реконнект на сервер если выкинет, 0 - отключить реконнект. 
    ### 
    var oldX,oldY,time ## - Для рекола. 
    ######################################################################### 
    var TryToHide=0 ## 1 - Включить уход(перед ловлей) в хайд, 0 - выключить. 
    ### 
    var TakeFish=0 ## 1 - Включить сбор обычной рыбы, 0 - выключить. 
    ### 
    var TakeMaps=1 ## 1 - Включить сбор карт, 0 - выключить. 
    ### 
    var TakeRareFish=0 ## 1 - Включить сбор рарной рыбы, 0 - выключить. 
    ### 
    var TakePrizeFish=0 ## 1 - Включить сбор приз рыбы, 0 - выключить. 
    ### 
    ################################################################################################### 
    ########### 
    ### Код ### 
    ########### 

    sub Starter() 
    var i=0,j=0,k=0,r=0,q=0,ii,jj 
    var TopX=324,TopY=65 
    dim PointX[5000], PointY[5000],PointT[5000] 

    var flag=0,PointCount=0,clicks=0,flag2=0 
    #BETEP™# 
    uo.Exec("filterspeech on") 
    uo.Exec("filterspeech add 'Where do you want to use the pickaxe?'") 

    if GetFromFile==1 then 
    uo.Print('Загружаем координаты из файла...') 
    f.open() 
    PointCount=safe call f.ReadNumber() 
    for i=1 to PointCount 
    PointT[i]=safe call f.ReadNumber() 
    PointX[i]=safe call f.ReadNumber() 
    PointY[i]=safe call f.ReadNumber() 
    next 
    f.close() 
    else 

    uo.Print('Выбери Кирку: ') 
    uo.Exec('addobject Pickaxe') 
    while uo.Targeting() 
    wait(100) 
    wend 
    uo.Print('Собираем координаты точек для ловли ...') 
    repeat 
    clicks=0 
    flag=0 
    uo.DeleteJournal() 
    uo.UseObject('Pickaxe') 
    waitForTarget() 
    uo.DeleteJournal() 
    WaitForTryRock() 
    if uo.Lasttile(1)==uo.getX() and uo.Lasttile(2)==uo.gety() then 
    flag=3 
    end if 
    PointCount=PointCount+1 
    PointX[PointCount]=uo.LastTile(1) 
    PointY[PointCount]=uo.LastTile(2) 
    PointT[PointCount]=uo.LastTile(0) 
    uo.Print('Найдена точка ловли '+str(PointCount)+' : x='+str(uo.Lasttile(1))+' y='+str(uo.LastTile(2))+' '+str(PointCount)) 
    until (Flag==3) or (PointCount==5000) 
    uo.Exec("filterspeech off") 
    uo.Print('Анализ закончен, координаты точек записаны в файл C:\Fish.dat') 
    SaveToFile(PointCount,PointX,PointY,PointT) 
    end if 
    uo.Print('Точек найдено: '+str(PointCount)) 
    wait(2000) 
    while 1==1 
    if PointCount>0 then 
    for i=1 to PointCount 
    uo.Print('Идем к координате '+str(i)+': x='+str(PointX[i])+' y='+str(PointY[i])) 
    flag=GotoXY(PointX[i],PointY[i]) 
    if flag==1 then 
    if TryHiding==1 then 
    ToHide() 
    end if 
    Fishing() 
    end if 
    next 
    end if 
    wend 
    end sub 

    sub Options()########################################## Конфиг 
    UO.Say("Добрый день. Вас привествует скрипт настройщик!") 
    wait(3000) 
    UO.Say("Следуйте инструкциям!") 
    wait(3000) 
    UO.Say("Вы должны стоять лицом к сундуку для сброса!") 
    wait(4000) 

    UO.Say("Укажите Рунбук ") 
      UO.AddObject('RuneB1') 
      While UO.Targeting()==2 
      wait(500) 
      Wend 
      UO.SaveConfig() 

    UO.Say("Укажите сундук прицелом") 
      UO.AddObject('Sunduk') 
      While UO.Targeting()==2 
      wait(500) 
      Wend 
      UO.SaveConfig() 
      UO.Say("Укажите Сумку в сундуке") 
      UO.AddObject('SundukBag') 
      While UO.Targeting()==2 
      wait(500) 
      Wend 
      UO.SaveConfig() 

    UO.Say("Отлично") 
    UO.UseObject('Sunduk') 
    wait(3000) 

    UO.Say("Укажите сумку для рар рыбы") 
      UO.AddObject('StoreFish') 
      While UO.Targeting()==2 
      wait(500) 
      Wend 
      UO.SaveConfig() 

    UO.Say("Укажите сумку для прайз рыбы") 
      UO.AddObject('StorePRFish') 
      While UO.Targeting()==2 
      wait(500) 
      Wend 
      UO.SaveConfig() 

    UO.Say("Укажите сумку для Карт") 
      UO.AddObject('StoreMAP') 
      While UO.Targeting()==2 
      wait(500) 
      Wend 
      UO.SaveConfig() 

    wait(2000) 

    UO.Say("Настройка закончена. Для изменения параметров запустите скрипт повторно.") 
    end sub 


    Sub Fishing() 
    var mX, mY, mZ, i, j 
    var f 
    var a=0 
    ######################################################################### 
    ################### 
    ### Массив рыбы ### 
    ################### 
    dim Fish[6] 
    Fish[0]=0x09CC 
    Fish[1]=0x09CD 
    Fish[2]=0x09CE 
    Fish[3]=0x09CF 
    Fish[4]=0x14EB 
    Fish[5]=0x0DD6 
    Fish[6]=0x0DD6 

    Beginning: 
    uo.Set('finddistance','6') 
    mX = uo.getX("self") 
    mY = uo.getY("self") 
    mZ = uo.getZ("self") 
    uo.DeleteJournal() 
    for i = mX-6 to mX+6 
    for j = mY-6 to mY+6 

    if uo.Dead() then 
    return 
    end if 

    if TryToHide==1 then 
    ToHide() 
    end if 

    uo.Print("Сейчас ловим: "+str(mx-i)+" "+str(my-j)) 

    while not uo.InJournal("You pull") and not uo.InJournal("in water") and not uo.InJournal("no fish") and not uo.InJournal("far away") 
    uo.DeleteJournal() 
    uo.Waittargettile("1341", str(i), str(j), str(mZ)) 
    uo.Usetype('0x0DBF') 

    while not uo.InJournal("You pull") and not uo.InJournal("location") and not uo.InJournal("no fish") and not uo.InJournal("but fail") and not uo.InJournal("far away") and not uo.InJournal("in water") 
    wait (100) 
    if uo.InJournal("You pull") then 

    if a>0 then 
    uo.print(STR(a)) 
    end if 

    if UO.InJournal("You pull out a fish!") then 
    if TakeFish==1 then 
    uo.Print('Собираем рыбу.') 
    for f=0 to 3 
    uo.FindType(Fish[f],"-1","ground") 
    if uo.Count(Fish[2])> 0 then 
    a= a+1 
    end if 
    uo.MoveItem("finditem","1","Fishs") 
    wait(200) 
    next 
    end if 
    endif 

    if UO.InJournal("You pull out a Tattered treasure map!") then 
    if TakeMaps==1 then 
    uo.Print('Собираем карты.') 
    for f=4 to 4 
    uo.FindType(Fish[f],"-1","ground") 
    uo.MoveItem("finditem","-1","Maps") 
    wait(200) 
    next 
    end if 
    endif 

    if UO.InJournal("Truly Rare Fish") then 
    if TakeRareFish==1 then 
    uo.Print('Собираем рар рыбу.') 
    for f=5 to 5 
    uo.FindType(Fish[f],"-1","ground") 
    uo.MoveItem("finditem","-1","RareFish") 
    wait(200) 
    next 
    end if 
    endif 

    if UO.InJournal("Prize") then 
    if TakePrizeFish==1 then 
    uo.Print('Собираем приз рыбу.') 
    for f=6 to 6 
    uo.FindType(Fish[f],"-1","ground") 
    uo.MoveItem("finditem","-1","PrizeFish") 
    wait(200) 
    next 
    end if 
    endif 

    if TryRecall==1 and uo.Weight>=uo.STR*4+20 then 
    ToRecall() 
    end if 

    end if 
    wend 
    wend 
    uo.DeleteJournal() 
    next 
    next 
    end sub 


    Sub ToRecall() 
    RecallToHome() 
    Drop() 
    if EatingFood==1 then 
    EatingFood() 
    end if 
    wait(3000) 
    RecallToPoint() 
    end sub 

    sub RecallToHome() 
    uo.Print('Прыгаем Домой.') 
    RunebookRecall(RuneToHome) 
    end sub 

    sub RecallToPoint() 
    uo.Print('Прыгаем в Лес.') 
    RunebookRecall(RuneToPoint) 
    end sub 

    sub ToHide() 
    while not uo.Hidden() 
    uo.Print('Пытаемся уйти в хайд...') 
    uo.DeleteJournal() 
    uo.UseSkill('Stealth') 
    wait(4500) 
    wend 
    wait(100) 
    end sub 

    Sub WaitForRecall() 
    var Text1=uo.GetName()+": The spell fizzles." 
    var mess='',lastX=uo.getX(),lastY=uo.getY() 
    for var i=0 to 200 
    mess=uo.Journal(0) 
    if uo.Journal(0)==Text1 then 
    return 0 
    end if 
    if uo.getX()<>lastX or uo.getY()<>LastY then 
    return 1 
    end if 
    wait(50) 
    next 
    return 0 
    end sub 


    Sub WaitForTryRock() 
    var Text1="That is too far away." 
    var Text2="Try mining in rock." 
    var Text3="There is no ore here to mine." 
    var Text4="You have no line of sight to that location" 
    var Text5="You can't see the target" 
    for var i=0 to 50 
    if uo.Journal(0)==Text1 or uo.Journal(0)==Text2 or uo.Journal(0)==Text3 or uo.Journal(0)==Text4 or uo.Journal(0)==Text5 then 
    return 1 
    end if 
    wait(200) 
    next 
    return 0 
    end sub 

    Sub WaitForTarget() 
    for var i=0 to 50 
    if uo.Targeting()==1 then 
    return 1 
    end if 
    wait(200) 
    next 
    return 0 
    end sub 

    Sub WaitForChangeXY(myX,myY,lastX,lastY) 
    for var i=1 to 50 
    if lastX<>myX or lastY<>myY then 
    return 1 
    end if 
    wait(200) 
    next 
    return 0 
    end sub 

    Sub GotoXY(x,y) 
    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)<=1 and Numb(y-myY)<=1 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 

    Sub SaveToFile(PointCount,PointX,PointY,PointT) 
    var f=file("C:\FishKa Fish.dat") 
    var s=0,i=0 
    f.open() 
    f.create() 
    s=safe call f.writeln(PointCount) 
    for i=1 to PointCount 
    s=safe call f.writeln(str(PointT[i])+' '+str(PointX[i])+' '+str(PointY[i])) 
    next 
    f.close() 
    end sub 

    sub Drop() 
    if uo.Waiting() then 
    uo.CancelTarget() 
    end if 
    var Exit 
    var f 
    ;var a=0 
    dim Fish[7] 
    Fish[0]=0x09CC 
    Fish[1]=0x09CD 
    Fish[2]=0x09CE 
    Fish[3]=0x09CF 
    Fish[4]=0x14EB 
    Fish[5]=0x0DD6 
    Fish[6]=0x0DD6 

    UO.UseObject('Sunduk') 
    wait(1000) 
    UO.UseObject('SundukBag') 
    wait(1000) 
    UO.UseObject('StoreFish') 
    wait(1300) 
    UO.UseObject('StoreMAP') 
    wait(1000) 
    UO.UseObject('StorePRFish') 


    wait(700) 
    exit=0 

    repeat 
    for f=0 to 3 
    uo.FindType(Fish[f],"-1","backpack") 
    uo.SetReceivingContainer('StoreFish') 
    if uo.GetQuantity('finditem')> 0 then 
    repeat 
    wait(130)

    uo.FindType(Fish[f],"-1","backpack") 
    uo.Grab('0','finditem') 
    wait(1300) 
    until uo.FindCount()==0 
    else 
    exit=1 
    next 
    uo.UnSetReceivingContainer() 
    end if 
    until Exit==1 

    exit=0 
    repeat 
    for f=4 to 4 
    uo.FindType(Fish[f],"-1","backpack") 
    uo.SetReceivingContainer('StoreMAP') 
    if uo.GetQuantity('finditem')> 0 then 
    repeat 
    uo.FindType(Fish[f],"-1","backpack") 
    uo.Grab('0','finditem') 
    wait(1000) 
    until uo.FindCount()==0 
    else 
    exit=1 
    next 
    uo.UnSetReceivingContainer() 
    end if 
    until Exit==1 

    exit=0 
    repeat 
    for f=5 to 5 
    uo.FindType(Fish[f],"0x01BB","backpack") 
    uo.SetReceivingContainer('StorePRFish') 
    if uo.GetQuantity('finditem')>0 then 
    repeat 
    uo.FindType(Fish[f],"0x01BB","backpack") 
    uo.Grab('0','finditem') 
    wait(1000) 
    until uo.FindCount()==0 
    else 
    exit=1 
    next 
    uo.UnSetReceivingContainer() 
    end if 
    until Exit==1 

    repeat 
    for f=6 to 6 
    uo.FindType(Fish[f],"backpack") 
    uo.SetReceivingContainer('StoreFish') ;rar 
    if uo.GetQuantity('finditem')>0 then 
    repeat 
    uo.FindType(Fish[f],"-1","backpack") 
    uo.Grab('0','finditem') 
    wait(1000) 
    until uo.FindCount()==0 
    else 
    exit=1 
    next 
    uo.UnSetReceivingContainer() 
    end if 
    until Exit==1 
    uo.Print("Улов выложен") 
    end sub 


    Sub RunebookRecall(n) 
    oldX=uo.getX() 
    oldY=uo.getY() 
    repeat 
    uo.Exec('warmode 0') 
    uo.UseObject('Runebook') 
    wait(1000) 
    uo.LClick(135, n*15+55) 
    wait(500) 
    uo.LClick(135, n*15+55) 
    time=uo.Timer() 
    repeat 
    wait(500) 
    until oldX<>uo.getX() or oldY<>uo.getY() or uo.Life==0 or uo.InJournal('needs') or time+200<uo.Timer() 
    uo.DeleteJournal() 
    until oldX<>uo.getX() or oldY<>uo.getY() 
    end sub 

    Sub Open(Container) 
    uo.DeleteJournal() 
    uo.UseObject(Container) 
    repeat 
    wait(500) 
    until uo.InJournal('Contains') 
    end sub 


    Sub EatingFood() 
    ToEat() 
    DropFood() 
    end sub 

    Sub ToEat() 
    uo.SetReceivingContainer('backpack') 
    Open('Sunduk') 
    uo.FindType(TypeFood,'-1','Sunduk') 
    uo.Grab('50','finditem') 
    wait(500) 
    repeat 
    Checklag() 
    uo.UseType(TypeFood) 
    wait(1000) 
    until uo.InJournal('You are simply too full to eat any more!') 
    uo.UnsetReceivingContainer() 
    end sub 

    Sub DropFood() 
    if uo.Waiting() then 
    uo.CancelTarget() 
    end if 
    var f,Exit 
    dim Food[1] 
    Food[0]=TypeFood 
    uo.SetReceivingContainer('Sunduk') 
    wait(500) 
    for f=0 to 0 
    Exit=0 
    repeat 
    uo.FindType(Food[f]) 
    if uo.GetQuantity('finditem')>0 then 
    uo.Grab('0','finditem') 
    wait(1500) 
    else 
    Exit=1 
    end if 
    until Exit==1 
    next 
    uo.UnSetReceivingContainer('Sunduk') 
    end sub 

    Sub RecallAtAttack() 
    var mX,mY 
    reccal: 
    uo.DeleteJournal() 
    if uo.Waiting() then 
    uo.CancelTarget() 
    end if 
    mX=uo.getX("self") 
    mY=uo.getY("self") 
    uo.DeleteJournal() 
    uo.FindType('0x1F14',-1,'mY') 
    uo.Cast('Recall','finditem') 
    uo.Print('Атака! Реколимся!') 
    wait(4000) 
    if not uo.getX("self")<>mX and not uo.getY("self")<>mY then 
    goto reccal 
    end if 
    RecallToHome() 
    Drop() 
    Terminate() 
    end sub 

    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.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' 
    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 Terminate() 
    uo.Print('Все функции скрипта выключены!') 
    uo.DeleteJournal() 
    uo.Exec('terminate all') 
    wait(100) 
    uo.Exec('terminate all') 
    wait(100) 
    uo.Exec('terminate all') 
    wait(100) 
    end sub 

    Sub CheckLag() 
    if uo.Waiting()>0 then 
    uo.Exec('canceltarget') 
    end if 
    uo.DeleteJournal() 
    uo.Click('backpack') 
    repeat 
    wait(50) 
    until uo.InJournal('backpack') 
    end sub



    Категория: Мои статьи | Добавил: -=DavidJones=- (15.11.2008)
    Просмотров: 2624 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]

    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Наш опрос
    Как Вам наш сайт
    Всего ответов: 244
    Copyright MyCorp © 2025