Учусь писать скрипты .)

Anything and all.

Moderators: Murderator+, Murderator

Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Учусь писать скрипты .)

Post by Dron D. »

Прочел 3 урока скриптинга написаных Edred'ом, вот что-то похожее на скрипт, но почему то не работает, вижу что юзает скрипт... поправьте и желательно обьясните что не правильно... учусь всё-таки +))

Code: Select all

sub AL()
var liama
liama='0x00DC'
repeat
 UO.waittargetobject('liama')
 UO.Useskill('Animal Lore')   
wait(4000)
until UO.Dead()
end sub
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Ты приравниваешь переменную лиама к типу, а ловушку ставишь на обьект.
Либо укажи черийник этой самой диамы вместо типа, либо вместо ВеитТаргетОбжект юзай ВеитТаргетТайп.
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Понял. Исправляю. Проверяйте ,))
Целимся по таргет тайпу.

Code: Select all

sub AL() 
var liama
liama='0x00DC'
repeat
 UO.waittargettype(liama)  #Тут вот были ковычки, изза них не работало )
 UO.Useskill('Animal Lore')   
wait(4000)
until UO.Dead()
end sub



З.ы. Это не
диама, а лама.
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Code: Select all

var liama 
liama='0x00DC'

Code: Select all

var liama = '0x00DC'

Зачем писать лишние строки?
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Пока учусь.
Просто так расписываю чтобы понятней было что и где каждая строка значит...
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Вот извращяюсь дальше:

Code: Select all

sub eat()
var safe='0x40042B20' #Id safe, where must be eat 4 animal
var eat='0x09D1' #Type eat 4 animal
var animal='0x00055D00' #id of animal
UO.UseObject(safe)
UO.FindType(eat,'0x0000',safe)
If Uo.FindCount() > 0 Then
Uo.MoveItem('finditem', '1', 'animal') # тут трабла
else
repeat
End If
end sub


Почему не двигает 1 айтем из стопки на животное? Пробывал прописывать вместо анимал айди, но все равно не двигает.
Причем если я указываю место назначения бекпак, то он перекидывает спокойно, а вот на животное кинуть не хочет...
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

заделал такое дело...

Post by Dron D. »

пока на 3-х уроках по скриптингу сложно помогите, разьясните...
Открывает рунбуку, открывает сундук, при открытой рунбуке пытается тащить скролы, но таргет есессно сбивается и рунбука не речарджится... хотя в скрипте ( на мой взгляд ) порядок правильный:
(часть из скрипта на фишинг, должен речардижть рунбуку по которой только, что отрекалился)

Code: Select all

sub recharg(syndyk,kniga) 
uo.useobject(syndyk)
uo.findtype(recall,'-1',syndyk)
wait(3000)
uo.moveitem('finditem','9','backpack')
wait(3000)
uo.recall(kniga,'1')
endsub


А вот я просто расписал етот скрипт и у меня все работает:

Code: Select all

sub Recharg()
var syndyk='0x4006BD45' #Ид где рекалы
var rbook='0x4018BA23' #Ид рунбкуи для речарджа
var recall='0x1F4C' #Тайп рекалов
uo.useobject(syndyk)
uo.findtype(recall,'-1',syndyk)
wait(3000)
uo.moveitem('finditem','9','backpack')
wait(3000)
uo.recall(rbook,'1')
endsub


Но только не допираю, как сделать условие чтобы он речарджил последнюю рунбуку, как в оригинале скрипта, конечно можно сделать чтобы он речарджил все рунбуки, но всё же ?
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post by Dard »

По крайней мере по указанному ID рунбуки он перезарядит только ее.
Я думал попробовать по типу перезарядить, но у спел бука такой же тип.
Думаю лучше будет перезаряжать все рунбуки через массив.
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

Dard wrote:По крайней мере по указанному ID рунбуки он перезарядит только ее.
Я думал попробовать по типу перезарядить, но у спел бука такой же тип.
Думаю лучше будет перезаряжать все рунбуки через массив.

Цвет другой, да.
Сделал дело - флуди смело !!!
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post by Dard »

Askaneli wrote:Цвет другой, да.
Точно, забыл про цвет :)
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post by Dard »

Хмм... не пойму, он вторую перезаряжает, а первую не хочет

Code: Select all

sub Recharg() 
   var syndyk='0x40262699' 
   var recall='0x1F4C'
   var a
   DIM rbook[2]
   rbook[1]='0x40221AB2'
   rbook[2]='0x40210F47'
   for a=1 to 2
      uo.useobject(syndyk)
      uo.findtype(recall,'-1',syndyk)
      wait(3000)
      uo.moveitem('finditem','20','backpack')
      wait(3000)
      uo.recall(rbook[a],'1')
   next
endsub
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

Dard wrote:Хмм... не пойму, он вторую перезаряжает, а первую не хочет

Code: Select all

sub Recharg() 
   var syndyk='0x40262699' 
   var recall='0x1F4C'
   var a
   DIM rbook[2]
   rbook[1]='0x40221AB2' ; проверь а точно он
   rbook[2]='0x40210F47'
   for a=1 to 2
      uo.useobject(syndyk)
      wait(3000) ; wait тут нужен
      uo.findtype(recall,'-1',syndyk)
      ; wait(3000) ; wait тут не нужен     
      uo.moveitem('finditem','20','backpack')
      wait(3000)
      uo.recall(rbook[a],'1')
      wait(3000) ; wait тут нужен
   next
endsub
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post by Dard »

omi4 wrote:

Code: Select all

rbook[1]='0x40221AB2' ; проверь а точно он

Этот 100%, он почемуто не нажимает на перезарядку, а вторую все нормально.
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post by Dard »

omi4 wrote:

Code: Select all

sub Recharg() 
   var syndyk='0x40262699' 
   var recall='0x1F4C'
   var a
   DIM rbook[2]
   rbook[1]='0x40221AB2' ; проверь а точно он
   rbook[2]='0x40210F47'
   for a=1 to 2
      uo.useobject(syndyk)
      wait(3000) ; wait тут нужен
      uo.findtype(recall,'-1',syndyk)
      ; wait(3000) ; wait тут не нужен     
      uo.moveitem('finditem','20','backpack')
      wait(3000)
      uo.recall(rbook[a],'1')
      wait(3000) ; wait тут нужен
   next
endsub

Работает, задержка была нужна после перезарядки
*на ошибках учатся, хоть и на своих :roll: *
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

И это все?

Теперь оптимизируй задержки.
Убери открытие сундука при каждой книге
Сделай зарядку любого количества книг и
Взятие реколов за раз для них + обратно в сундук лишних
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post by Dard »

omi4 wrote:Теперь оптимизируй задержки.
Убери открытие сундука при каждой книге
Сделай зарядку любого количества книг и
Взятие реколов за раз для них + обратно в сундук лишних

Угу, напильником пройтись и лаком покрыть. :)
Тогда конфетка будит :D
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Вот о5 я, такой гадёныш решил скритиком себе помочь.

Т.К. с дрв на фантэзи перешл, статы качаю, хочу автоматом чтоб скилы лочись.
на шарде The Fantazy есть команда прекрасная, которой можно фиксить любой стат, по отдельности. ".stats" - вызывается менюшка с 3 замками, типа лок стр, декс, инт... Вот хочу сделать чтобы при докачивании дексы они лочилась:

Но вместо этого скрипт просто не чего не делает ))

Code: Select all

sub fixmystat()
If Uo.DEX = 80 Then
   uo.msg('.stats') #вот почему то если через скрипт, то не открывается меню, а если бинд через хоткей, то откроется...
   wait(1000)
   uo.Lclick(322,334)
end sub

Leo
Expert!
Posts: 791
Joined: 2005-01-15 19:15:05
Location: Dragon World
Contact:

Post by Leo »

Code: Select all

sub fixmystat() 
If Uo.DEX = 80 Then
   uo.msg('.stats') #вот почему то если через скрипт, то не открывается меню, а если бинд через хоткей, то откроется...
   wait(1000)
   uo.Lclick(322,334)
endif
end sub
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Не как не пойму что ему не нравится в строке If Uo.Dex=80
Leo
Expert!
Posts: 791
Joined: 2005-01-15 19:15:05
Location: Dragon World
Contact:

Post by Leo »

UO.Dex() не определяет стамину.
Post Reply