Перейти к содержанию
Форум шарда Middle-Earth

Areas

Members
  • Публикаций

    4
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Areas


  1. народ ! помогите !

    Почти переделал под себя скрипт ! осталось 2 проблемы ,которые просто не знаю как решить !!!

    1ая не отркывает секьюреный чест в доме (A metal chest )

    и 2е - не хочет делать тп в лес !! начинает постоянно нажимат ькучну всякого и все ( по идее открывает бекпак и ЧЕСТ !! :( )

    Хотя книга рекола открывается ! Коорды прописаны правильно ,но те всеравно не хочет делать вообщем подвисает в доме и все тут

    + даже если потом вручную делаю тп в лес - не отланивается. Стоит и все

    ПОмогите плиз народ !! Сутки промучался что б под себя настроить ,хайд убрать и т.д и всеравно не пашет хад >. <

    ##########################################################

    ### Lumberjacking / Рубка деревьев v8.7 Full ###

    ##########################################################

    ### ###################################

    ### Режимы работы скрипта ###

    ###################################

    ### Работает в 2х режимах: ###

    ### 1)Маркировка ###

    ### 2)Рубка ###

    ###################################

    ### Режим Первый - "Маркировка" ###

    ###################################

    ### Этот режим отвечает за Маркирование(записывание координат) деревьев.

    ### Включается переменной var GetFromFile=0 ## 1 - координаты деревьев будут считыватся из файла, 0 - собиратся из клиента.

    ### То есть если GetFromFile=0 координаты деревьев собиратся из клиента.

    ###

    ### Маркировка происходит так:

    ### Поставте переменную GetFromFile равную 0 (GetFromFile=0).

    ### Положите к себе в сумку Топор, Рунбук(с рунами домой и в лес), Руну(в безопасное место) и Кирку.

    ### Идите в лес в котором вы хотите рубить.

    ### Запустите Скрипт Lumberjacking(), инжект попросит вас указать Топор

    ### (появится прицел,прицелом на топор который вы с собой взяли),

    ### потом инжект попросит вас указать Рунбук(появится прицел,прицелом на него) и Руну в безопасное место(прицелом на нее).

    ### Инжект сообщит вам что ('Собираем координаты деревьев в округе...').

    ### Инжект попросит вас указать Кирку(появится прицел,прицелом на неё).

    ### Теперь вы должны в любом порядке сами прицелом указать координаты(достаточно просто нажать прицелом на дерево).

    ### Если вы не промахнулись и "нажали" на дерево, то инжект сообщит вам об этом(Найдено дерево "координаты дерева").

    ### Причем что если даже вы нажмете два раза на одно дерево то он не "запомнит" его повторно.

    ### Ходите по лесу и марчите деревья.

    ### Для того чтобы остановить марк нажмите таргетом на себя.

    ### Инжект напишет вам сообщение ('Анализ закончен, координаты деревьев записаны в файл' +FileName) и создаст файл на диске

    ### С:\ куда запишет координаты деревьев.

    ### После этого чар пойдет по координатам и будет вырубать деревья.

    ###

    ##############################

    ### Режим Второй - "Рубка" ###

    ##############################

    ### Этот режим соответственно отвечает за рубку.

    ### Включается переменной var GetFromFile=1 ## 1 - координаты деревьев будут считыватся из файла, 0 - собиратся из клиента

    ### То есть если GetFromFile=1 координаты деревьев будут считыватся из файла.

    ### И вам не надо будет сново марчить деревья.

    ###

    ### Рубка происходит так:

    ### Поставте переменную GetFromFile равную 1 (GetFromFile=1).

    ### Положите к себе в сумку Топор и Рунбук(с рунами домой и в лес).

    ### ]![ Внимание руны в рунбуке вы можете указать в переменных RuneToHome=4 и RuneToForest=5(вместо 4 и 5 номера ваших рун). ]![

    ### После установок рун в рунбук.

    ### ]![ Внимание в скрипте система рекола по рунбуке настроена под ДРВ шард. ]![

    ###

    #########################################

    ### Дополнительные функции скрипта ###

    #########################################

    ### В скрипте 4е доп. функции: ###

    ### 1)Речарж Рунбуки ###

    ### 2)Употребление Пищи ###

    ### 3)Рекол при Атаке ###

    ### 4)Реконнект ###

    #########################################

    ### Функция Первая - "Речарж Рунбуки" ###

    #########################################

    ### Этот режим соответственно отвечает за Речарж(заполнение скролами) Рунбуки.

    ### Включается переменной var RechargeBook=1 ## 1 - Включить речарж рунбуки, 0 - отключить речарж.

    ### То есть если RechargeBook=1 чар будет речаржить рунбуку.

    ###

    ### Речарж происходит так:

    ### Поставте переменную RechargeBook равную 1 (RechargeBooks=1).

    ### Положите в сундук, в который будут выгручаться логи, реколы.

    ### Чар берет 50 реколов из сундука, речаржет рунбуку, оставшиеся кладет обратно в сундук.

    ###

    ############################################

    ### Функция Вторая - "Употребление Пищи" ###

    ############################################

    ### Этот режим соответственно отвечает за Употребление Пищи.

    ### Включается переменной var EatingFood=1 ## 1 - Будем есть, 0 - нет.

    ### То есть если EatingFood=1 чар будет кушать.

    ###

    ### Употребление Пищи происходит так:

    ### Поставте переменную EatingFood равную 1 (EatingFood=1).

    ### Положите в сундук куда будут выгружаться логи и где лежат реколы - еду,

    ### тип которой вы указали тут var TypeFood='0x097B' ## - Тип еды которую будем кушать.(сейчас фиштейки)

    ### После того как чар выложит логи и речаржнет рунбуку, будет кушать.

    ### Он берет 20 единиц еды и кушает, что осталось выгружает обратно в сундук.

    ###

    ##########################################

    ### Функция Третья - "Рекол при Атаке" ###

    ##########################################

    ### Этот режим соответственно отвечает за Рекол при атаке ентов и не только(также стоит проверка на ПК и Криминалов).

    ### Включается переменной var ControlOfDanger=1 ## 1 - Включить рекол по руне(в паке) при атаке, 0 - отключить рекол.

    ### То есть если ControlOfDanger=1 чар будет реколиться при атаке.

    ###

    ### Побег происходит так:

    ### Поставте переменную ControlOfDanger равную 1 (ControlOfDanger=1).

    ### Замарчите Руну в безопасном месте.

    ### Положите к себе в сумку

    ### Руну(которую замарчили в безопасном месте), Реагенты(Black Pearls,Blood Moss,Mandrake Root.)

    ### и Бутылки расчитывая на то сколько вы хотите рубить.(Invizible Potion,Mana Potion,Heal Potion).

    ### При атаке, появлении ПК или криминала вы выпиваете Invizible Potion, автоматически телепортитесь на то место,

    ### где замаркана руна(в бакпаке).

    ### В это время записывается имя того кто вас атачил.

    ### После рекола руна маркается и проверяется ваша мана и здоровье, если чегото меньше,

    ### чар выпивает Mana Potion или Heal Potion в зависимости от надобности.

    ###

    ######################################

    ### Вариант Первый - "Цыкличность" ###

    ######################################

    ### Есди вы хотите чтобы скрипт не прекращал свою работу, то поставьте переменную CycleScript раную 1 (CycleScript=1),

    ### затем после указания предметов таргетом задите в "Edit current script"(в окно редактирования скрипта) и

    ### поставьте переменную AddObject равную 0 (AddObject=0).

    ### Теперь после рекола скрипт не будет выключаться, а будет ждать указанное время(DangerousTime) и затем

    ### реколиться домой, речаржить рунбуку, есть и опять реколиться на место рубки и рубить.

    ###

    #####################################

    ### Вариант Второй - "Выключение" ###

    #####################################

    ### Есди вы хотите чтобы скрипт не прекращал свою работу, то поставьте переменную CycleScript раную 0 (CycleScript=0),

    ### Теперь после рекола скрипт выключится и закроет окно UO.

    ###

    #######################################

    ### Функция Четвертая - "Реконнект" ###

    #######################################

    ### Этот режим соответственно отвечает за Реконнект при выкидывании с сервера.

    ### Включается переменной var Reconnect=0 ## 1 - Включить реконнект на сервер если выкинет, 0 - отключить реконнект.

    ### То есть если Reconnect=1 чар будет реколиться при атаке.

    ###

    ### Реконнект происходит так:

    ### Поставте переменную Reconnect равную 1 (Reconnect=1).

    ### Если вдруг повиснет игровая сфера или вас выкинет по любой другой причине

    ### реконнектор законнектит вас на сервер автоматически.

    ### Пишется время дисконнекта и коннекта на сервер.

    ###

    ### ]![ Настройте скрипт под себя при помощи переменных. ]![

    ###

    ##################

    ### Переменные ###

    ##################

    ################################################################################

    ##################################

    ###

    var FileName=('G:\trees4.dat') ## - Путь к файлу в котором будут хранится координаты деревьев.

    ###

    ###

    var TryRecall=1 ## 0 - После того как соберет LogsQty логов, будет пытаться реколиться домой,

    ### складывать логи в сундук и реколиться обратно , 0 - не будет.

    ###

    var RuneToHome=1 ## - Номер руны Домой,по счёту в рунбуке.(сейчас в 4ом слоте,можно менять от 1-9)

    ###

    var RuneToForest=3 ## - Номер руны в Лес,по счёту в рунбуке.(сейчас в 5ом слоте,можно менять от 1-9)

    ###

    var RechargeBook=1 ## 1 - Включить речарж рунбуки, 0 - отключить речарж.

    ###

    var GetFromFile=1 ## 1 - Координаты деревьев будут считыватся из файла, 0 - собиратся из клиента

    ### (сначала соберите а потом считывайте из файла).

    ###

    var LogsQty=120 ## - Количество логов, добыв которое надо реколиться домой.

    ###

    var QuantityImpact=15 ## - Сколько раз чар будет ударять по дереву, прежде чем перейдет к другому.(стандарт - 15)

    ###

    var ControlOfDanger=0 ## 1 - Включить рекол по руне(в паке) при атаке, 0 - отключить рекол.

    ###

    var PhysicalDanger=0 ## 1 - влючить рекол при физической атаке, 0 - отключить рекол.

    ###

    var SeenDanger=0 ## 1 - влючить рекол при появлении рядом ПК ил криминала, 0 - отключить рекол.

    ###

    var RecallFromAll=0 ## 1 - включить рекол при появлении рядом любово чара, 0 - отключить рекол.

    ###

    var DisturbingSound=('C:\Warning.wav') ## - Звук которы будет пригран при атаке.(замените на свой)

    ###

    var DangerousTime=50000 ## - Время которое чар будет ждать(после рекола) пока уйдет ПК или Ент.(сейчас 50 секунд)

    ###

    var CycleScript=1 ## 1 - Скрипт не отключается после рекола от атакующего, 0 - отключаетсяи закрывает UO.

    ###

    var EatingFood=1 ## 1 - Будем есть, 0 - нет.

    ###

    var TypeFood='0x09F2' ## - Тип еды которую будем кушать.(сейчас фиштейки)

    ###

    var Reconnect=0 ## 1 - Включить реконнект на сервер если выкинет, 0 - отключить реконнект.

    ###

    var Chest='0x45106EF1' ## - ID сундука куда будут выгружаться логи, где должны лежать реколы и еда.

    ###

    var AddObject=0 ## 1 - Если надо добавить обьекты, 0 - не надо.

    ###

    ################################################################################

    ##################################

    ###

    ### После настройки:

    ### Идите в лес в котором вы хотите рубить.

    ### Запустите cкрипт Lumberjacking(), Инжект попросит вас указать Топор

    ### (появится прицел, прицелом на топор который вы с собой взяли),

    ### затем инжект попросит вас указать Рунбук(появится прицел, прицелом на него) и Руну(прицелом на неё).

    ### После этого чар пойдет по координатам и будет вырубать деревья.

    ###########

    ### Код ###

    ###########

    sub Lumberjacking()

    var i=0,j=0,k=0,r=0,q=0,ii,jj,f

    var TopX=324,TopY=65

    dim TreeX[5000],TreeY[5000],TreeT[5000]

    dim TreeTile[29]

    var flag=0,TreeCount=0,clicks=0,flag2=0

    ########################

    ### Графика деревьев ###

    ########################

    TreeTile[0]=3277

    TreeTile[1]=3280

    TreeTile[2]=3283

    TreeTile[3]=3286

    TreeTile[4]=3289

    TreeTile[5]=3291

    TreeTile[6]=3294

    TreeTile[7]=3296

    TreeTile[8]=3299

    TreeTile[9]=3302

    TreeTile[10]=3393

    TreeTile[11]=3394

    TreeTile[12]=3395

    TreeTile[13]=3396

    TreeTile[14]=3415

    TreeTile[15]=3416

    TreeTile[16]=3417

    TreeTile[17]=3418

    TreeTile[18]=3419

    TreeTile[19]=3438

    TreeTile[20]=3439

    TreeTile[21]=3440

    TreeTile[22]=3441

    TreeTile[23]=3442

    TreeTile[24]=3460

    TreeTile[25]=3461

    TreeTile[26]=3462

    TreeTile[27]=3290

    TreeTile[28]=3288

     

    if AddObject==1 then

    uo.FilterSpeech('on')

    uo.FilterSpeech('add', 'Where do you want to use the pickaxe?')

     

    uo.Print('Выбери Топор: ')

    uo.Exec('addobject Axe')

    while uo.Targeting()

    wait(100)

    wend

     

    if TryRecall==1 then

    uo.Print('Выбери PунБук: ')

    uo.Exec('addobject Runebook')

    while uo.Targeting()

    wait(100)

    wend

    end if

     

    if ControlOfDanger==1 then

    uo.Print('Выбери Руну: ')

    uo.Exec('addobject Rune')

    while uo.Targeting()

    wait(100)

    wend

    end if

    end if

     

    if ControlOfDanger==1 then

    uo.Exec('exec ControlOfDanger')

    end if

     

    if Reconnect==1 then

    uo.Exec('exec Reconnect')

    end if

     

    #####################################

    ### Загружаем координаты из файла ###

    #####################################

    if GetFromFile==1 then

    uo.Print('Загружаем координаты из файла...')

    f=file(FileName)

    f.Open()

    TreeCount=safe call f.ReadNumber()

    for i=1 to TreeCount

    TreeT=safe call f.ReadNumber()

    TreeX=safe call f.ReadNumber()

    TreeY=safe call f.ReadNumber()

    next

    f.Close()

    else

    ######################################

    ### Собираем координаты из клиента ###

    ######################################

    if AddObject==1 then

    uo.Print('Выбери Кирку: ')

    uo.Exec('addobject Pickaxe')

    while uo.Targeting()

    wait(100)

    wend

    end if

    uo.Print('Собираем координаты деревьев в округе...')

    repeat

    clicks=0

    flag=0

    uo.DeleteJournal()

    #######################

    ### Кликаем на тайл ###

    #######################

    uo.UseObject('Pickaxe')

    waitForTarget()

    uo.DeleteJournal()

    WaitForTryRock()

    ###############################

    ### Проверяем дерево ли это ###

    ###############################

    flag=0

    for k=0 to 28

    if uo.LastTile(0)==TreeTile[k]+1 then

    flag=2

    end if

    next

    if flag==0 then

    for k=0 to 28

    if uo.LastTile(0)==TreeTile[k] then

    flag=1

    end if

    next

    end if

    if uo.Lasttile(1)==uo.GetX() and uo.Lasttile(2)==uo.GetY() then

    flag=3

    end if

    #########################

    ### Кликнули на ствол ###

    #########################

    if flag==1 then

    flag2=0

    if TreeCount>0 then

    for ii=1 to TreeCount

    if TreeX[ii]==uo.LastTile(1) and TreeY[ii]==uo.LastTile(2) then

    flag2=1

    end if

    next

    end if

    if flag2==0 then

    TreeCount=TreeCount+1

    TreeX[TreeCount]=uo.LastTile(1)

    TreeY[TreeCount]=uo.LastTile(2)

    TreeT[TreeCount]=uo.LastTile(0)

    uo.Print('Найдено дерево номер '+str(TreeCount)+' : x='+str(uo.Lasttile(1))+' y='+str(uo.LastTile(2)))

    end if

    end if

    ##########################

    ### Кликнули по листве ###

    ##########################

    if flag==2 then

    flag2=0

    if TreeCount>0 then

    for ii=1 to TreeCount

    if TreeX[ii]==uo.LastTile(1) and TreeY[ii]==uo.LastTile(2) then

    flag2=1

    end if

    next

    end if

    if flag2==0 then

    TreeCount=TreeCount+1

    TreeX[TreeCount]=uo.LastTile(1)

    TreeY[TreeCount]=uo.LastTile(2)

    TreeT[TreeCount]=uo.LastTile(0)-1

    uo.Print('Найдено дерево номер '+str(TreeCount)+' : x='+str(uo.Lasttile(1))+' y='+str(uo.LastTile(2)))

    end if

    end if

    until (flag==3) or (TreeCount==5000)

    uo.FilterSpeech('off')

    uo.Print('Анализ закончен, координаты деревьев записаны в файл ' + FileName)

    SaveToFile(TreeCount,TreeX,TreeY,TreeT)

    end if

    uo.Print('Деревьев найдено: '+str(TreeCount))

    wait(2000)

    ######################################

    ### Ходим по собранным координатам ###

    ######################################

    while 1==1

    if TreeCount>0 then

    for i=1 to TreeCount

    if TryRecall==1 and uo.Count('ZLK')>=LogsQty or uo.Weight>=uo.STR*4+20 then

    ToRecall()

    end if

    uo.Print('Идем к дереву номер '+str(i)+': x='+str(TreeX)+' y='+str(TreeY))

    InfoLogs()

    flag=GotoXY(TreeX,TreeY)

    if flag==1 then

    end if

    GetTree(str(TreeT),str(TreeX),str(TreeY),str(uo.GetZ()))

    end if

    next

    end if

    wend

    end sub

     

    sub SaveToFile(TreeCount,TreeX,TreeY,TreeT)

    var s=0,i=0,f

    f=file(FileName)

    f.Open()

    f.Create()

    s=safe call f.Writeln(TreeCount)

    for i=1 to TreeCount

    s=safe call f.Writeln(str(TreeT)+' '+str(TreeX)+' '+str(TreeY))

    next

    f.Close()

    end sub

     

    sub GetTree(Type,X,Y,Z)

    var i

    uo.Print('Начинаем рубку дерева...')

    for i=0 to QuantityImpact

    if uo.Warmode()==1 then

    return 0

    end if

    wait(200)

    uo.DeleteJournal()

    uo.WaitTargetTile(Type,X,Y,Z)

    uo.UseObject('Axe')

    if WaitForChange()==1 then

    return 1

    end if

    next

    return 0

    end sub

     

    sub WaitForRecall()

    var Text1=uo.GetName()+': The spell fizzles.'

    var LastX=uo.GetX()

    var LastY=uo.GetY()

    var mess=''

    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 WaitForHide()

    var Text1=uo.GetName()+': You have hidden yourself well'

    var Text2=uo.GetName()+": You can't seem to hide here."

    var mess

    for var i=0 to 200

    mess=uo.Journal(0)

    if uo.Journal(0)==Text1 then

    return 1

    end if

    if uo.Journal(0)==Text2 then

    return 0

    end if

    wait(50)

    next

    return 0

    end sub

     

    sub WaitForChange()

    var Text1=uo.GetName()+': You hack at the tree for a while, but fail to produce any useable wood.'

    var Text2="There's not enough wood here to chop."

    var Text3="You can't reach this."

    var Text4='That is too far away.'

    var Text5="You can't do much in your current state."

    var mess

    for var i=0 to 200

    mess=uo.Journal(0)

    if uo.Journal(0)==Text2 or uo.Journal(0)==Text3 or uo.Journal(0)==Text4 then

    return 1

    end if

    if uo.Journal(0)==Text1 then

    return 0

    end if

    if mess[0]=='Y' and mess[1]=='o' and mess[2]=='u' and mess[4]=='p' and mess[5]=='u' and mess[6]=='t' then

    return 0

    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 MovingItems(tItem,cItem,qItem,FromBackPack)

    var idResivCont,idSendCont

    Open(chest)

    uo.UseObject('backpack')

    if FromBackPack==1 then

    idResivCont=uo.GetSerial('backpack')

    idSendCont=chest

    else

    idSendCont=uo.GetSerial('backpack')

    idResivCont=chest

    end if

    CheckLag()

    uo.Findtype(tItem,cItem,idSendCont)

    while uo.GetQuantity('finditem')>0

    uo.MoveItem('finditem',str(qItem),idResivCont)

    wait(1000)

    CheckLag()

    if qItem>0 then

    return

    end if

    uo.FindType(tItem,cItem,idSendCont)

    wend

    end sub

     

    sub InfoTrees(sNum,fStr,lStr,Sort)

    var n=VAL(Right(sNum,1))

    if n==0 then

    if Sort==0 then

    uo.Print(fStr+'а'+lStr)

    else

    uo.Print(fStr+lStr)

    end if

    return

    end if

    if n<5 then

    uo.Print(fStr+'а'+lStr)

    return

    end if

    if Sort==0 then

    uo.Print(fStr+'ев'+lStr)

    else

    uo.Print(fStr+'ов'+lStr)

    end if

    end sub

     

    sub Open(chest)

    uo.DeleteJournal()

    uo.UseObject(chest)

    repeat

    wait(500)

    until uo.InJournal('Contains')

    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)<=2 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 InfoLogs()

    uo.Print('У вас всего '+str(uo.Count('0x1BDD'))+' логов в сумке')

    uo.Print('Из них '+str(uo.Count('0x1BDD','0x0000'))+' простых и ' +str(uo.Count('0x1BDD')-uo.Count('0x1BDD','0x0000'))+' цветных')

    end sub

     

    sub ToRecall()

    uo.Exec('terminate ControlOfDanger')

    RecallToHome()

    DropLogs()

    InfoLogs()

    if RechargeBook==1 then

    RechargeBook()

    wait(4000)

    end if

    if EatingFood==1 then

    EatingFood()

    end if

    wait(3000)

    RecallToLumber()

    uo.Exec('exec ControlOfDanger')

    end sub

     

    sub RecallToHome()

    uo.Print('Прыгаем Домой.')

    UO.Exec("disarm")

    uo.UseObject('Runebook')

    Wait(100)

    UO.LClick(64,70) #координата руны в буке(определяеться в окне редактирование скрипта в инже-кнопкой сверху)

    wait(100)

    UO.LClick(64,70)

    uo.msg(' ')

    uo.msg(' ')

    uo.msg(' ')

    uo.msg(' ')

    uo.msg(' ')

    wait(1000)

    end sub

     

    sub RecallToLumber()

    uo.Print('Прыгаем в Лес.')

    UO.Exec("disarm")

    Wait (1000)

    uo.UseObject('Runebook')

    Wait(100)

    UO.LClick(63,101) #координата руны в буке(определяеться в окне редактирование скрипта в инже-кнопкой сверху)

    wait(100)

    UO.LClick(63,101)

    uo.msg(' ')

    uo.msg(' ')

    uo.msg(' ')

    uo.msg(' ')

    uo.msg(' ')

    wait(1000)

    end sub

     

     

    sub DropLogs()

    var Time,Space

    Time=Time()

    Space=' '

    uo.TextOpen()

    uo.TextPrint('Выкладываем логи - ' +Space +Time)

    var a,Exit

    dim Logs[1]

    Logs[0]=0x1BDD

    uo.Print('Выкладываем Логи.')

    for a=0 to 0

    MovingItems(Logs[a],'-1',-1,0)

    next

    uo.Print('Логи Выложены.')

    end sub

     

    sub RechargeBook()

    var Time,Space

    Time=Time()

    Space=' '

    uo.TextOpen()

    uo.TextPrint('Речарим рунбуку - ' +Space +Time)

    repeat

    MovingItems('0x1F4C','-1',50,1)

    uo.UseObject('Runebook')

    wait(1000)

    Checklag()

    uo.Lclick(296,91)

    wait(1000)

    until uo.InJournal('charges are 50') or uo.InJournal('fully') or uo.InJournal('You need a Recall Scroll') or uo.Dead()

    while uo.Count('0x1F4C')>0

    MovingItems('0x1F4C','-1',-1,0)

    wend

    end sub

     

    sub EatingFood()

    var Time,Space

    Time=Time()

    Space=' '

    uo.TextOpen()

    uo.TextPrint('Кушаем - ' +Space +Time)

    MovingItems(TypeFood,'-1',20,1)

    repeat

    CheckLag()

    if uo.Count(TypeFood)<=0 then

    uo.Exec('terminate EatingFood')

    end if

    uo.UseType(TypeFood)

    while not uo.InJournal('full') and not uo.InJournal('stuffed') and not uo.InJournal('hungry') and not uo.InJournal('satiated') and not uo.Dead()

    wait(100)

    wend

    until uo.InJournal('too full') or uo.Dead()

    while uo.Count(TypeFood)>0

    MovingItems(TypeFood,'-1',-1,0)

    wend

    end sub

     

    sub ControlOfDanger()

    var Time,danger,Space

    Time=Time()

    Space=' '

    while 1

    uo.DeleteJournal()

    while not uo.InJournal(':')

    wait(100)

    wend

    danger=uo.GetNotoriety(uo.JournalSerial(0))

     

    if PhysicalDanger==1 then

    if uo.InJournal('OOPS') then

    uo.TextOpen()

    uo.TextPrint('Был вырублен Ент ' +Space +Time)

    uo.Exec('exec RecallRune')

    end if

     

    if uo.InJournal('attacking you') then

    uo.GetStatus('uo.JournalSerial(0)')

    uo.SetGlobal('name',uo.GetName(uo.JournalSerial(0)))

    uo.TextOpen()

    uo.TextPrint('Вы были атакованы - '+uo.GetName(uo.JournalSerial(0)) +Space +Time)

    uo.Exec('exec RecallRune')

    end if

    end if

     

    if SeenDanger==1 then

    if Danger==6 and UO.JournalSerial(0) <> UO.GetSerial() then

    uo.GetStatus('uo.JournalSerial(0)')

    uo.SetGlobal('name',uo.GetName(uo.JournalSerial(0)))

    uo.TextOpen()

    uo.TextPrint('Рядом оказался ПК - '+uo.GetName(uo.JournalSerial(0)) +Space +Time)

    uo.Exec('exec RecallRune')

    end if

     

    if Danger==4 and UO.JournalSerial(0) <> UO.GetSerial() then

    uo.GetStatus('uo.JournalSerial(0)')

    uo.SetGlobal('name',uo.GetName(uo.JournalSerial(0)))

    uo.TextOpen()

    uo.TextPrint('Рядом оказался криминал - '+uo.GetName(uo.JournalSerial(0)) +Space +Time)

    uo.Exec('exec RecallRune')

    end if

     

    if RecallFromAll==1 then

    if Danger==1 and UO.JournalSerial(0) <> UO.GetSerial() then

    uo.GetStatus('uo.JournalSerial(0)')

    uo.SetGlobal('name',uo.GetName(uo.JournalSerial(0)))

    uo.TextOpen()

    uo.TextPrint('Рядом оказался чар - '+uo.GetName(uo.JournalSerial(0)) +Space +Time)

    uo.Exec('exec RecallRune')

    end if

    end if

    end if

    wend

    end sub

     

    sub RecallRune()

    Terminate()

    uo.PlayWav(DisturbingSound)

    uo.UseType('0x0F0E','0x0631')

    wait(100)

    repeat

    uo.WaitTargetObject('Rune')

    uo.Exec('warmode 0')

    uo.Cast('Recall')

    wait(3000)

    until not uo.InJournal('spell fizzles')

    repeat

    uo.DeleteJournal()

    uo.WaitTargetObject('Rune')

    wait(100)

    uo.Cast('Mark')

    if uo.InJournal('mana for this spell') then

    ManaUp('Bottle')

    wait(100)

    end if

    wait(3000)

    until not uo.InJournal('spell fizzles')

    if uo.Life<uo.STR then

    LifeUp('Bottle')

    wait(100)

    end if

    if CycleScript==1 then

    uo.Exec('exec DangerWait')

    end if

    if CycleScript==0 then

    uo.Exec('exec ExitUO')

    end if

    end sub

     

    sub DisturbingSound(amount)

    var i

    for i=1 to amount

    uo.PlayWav(DisturbingSound)

    wait(1500)

    next

    end sub

     

    sub DangerWait()

    wait(DangerousTime)

    ToRecall()

    uo.Exec('exec Lumberjacking')

    end sub

     

    sub ExitUO()

    wait(3000)

    uo.CloseUO()

    end sub

     

    sub LifeUp(Mode)

    if Mode=='Healing' then

    while uo.Life<uo.STR

    uo.Exec('bandageself')

    wait(4000)

    wend

    end if

    if Mode=='Bottle' then

    if uo.Life<uo.STR then

    uo.UseType('0x0F0E','0x09BB')

    wait(100)

    end if

    end if

    end sub

     

    sub ManaUp(Mode)

    if Mode=='Meditation' then

    while uo.Mana<uo.INT

    uo.Exec('useskill Meditation')

    wait(4000)

    wend

    end if

    if Mode=='Bottle' then

    if uo.Mana<uo.INT then

    uo.UseType('0x0F0E','0x09DF')

    wait(100)

    end if

    end if

    end sub

     

    sub Reconnect()

    var ReconnectTime,rflag

    ReconnectTime='0'

    rflag=1

    repeat

    while (uo.ObjAtLayer('Bpack')=='')

    if rflag then

    ReconnectTime=Time()

    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 Time()

    var Date,nTime,uTime,i

    uTime=str(uo.Time())

    nTime=''

    for i=0 to Len(uTime)

    nTime=uTime[Len(uTime)-i]+nTime

    if (i==2) or (i==4) then

    nTime=':'+nTime

    end if

    next

    uTime=str(uo.Date())

    Date=''

    for i=0 to Len(uTime)

    Date=uTime[Len(uTime)-i]+Date

    if (i==2) or (i==4) then

    Date='.'+Date

    end if

    next

    uTime=nTime+' @ '+Date

    return uTime

    end sub

     

    sub Terminate()

    uo.Exec('terminate Lumberjacking')

    uo.Exec('terminate ControlOfDanger')

    uo.Exec('terminate Reconnect')

    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


  2. Надо покушать. А вообще если какие вопросы - можешь положить денег в банк и писать в .f ( общий чат).

     

    ВО ! спасибо по поводу еды !

     

    а с деньгами проблема !

    И вообще нубу на сервере очень тяжело разобраться

    нормального FAQ по 1м шагам нету ! Только как профу взять

    дают 500 голды я взял и все потратил на стрелы и лук ! денег больше нет ! откуда взять - незнаю

     

    Для того что бы есть нужен кукинг ! опять же его нужно где-то купить !

    В начальном городе вендора с кукингом я не нашел ! + на это нужны деньги которых уже нету

    + никто еду не продает ,а так с тумбы юмбы во всем не разобраться !

     

    НПС который стоит вначале почти ничего дельного не говорит ,а когда нажимаеш на вопрос по поводу крафтов *майниг ламбер* вообще пустая страница

     

    Если б я 8 лет назад в УО не играл бы вообще ничего не понял бы ,а ведь все шарды разнообразны и у каждого свои правила. может кто поможет мне ? :) ник Dreamkast

     

     


  3. Народ извините что пишу сюда ,но !т.к новичок ,не могу сам создать тему ,а вопрос для меня очень важный ! т.к из-за него удалил уже 3х персонажен >.<

     

    на вашем сервере я новенький (1й день играю)

    После кача у меня пишет "Ваш персонаж ослаб" и начинает терять статы !!!

    + постоянно какой то зеленый дым !!

    подскажите ЧТО МНЕ ДЕЛАТЬ ?!?!?!

×
×
  • Создать...