kill All

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
kostya.1991
Posts: 17
Joined: 2010-02-23 12:11:48
Location: Россия Тюмень
Contact:

kill All

Post by kostya.1991 »

Приветствую всех :lol: !
Хотел попросить подправить немного скрип .
После убийства лича или другого моба он автоматически лутает всё что в нём есть но мне нужно только гп , подскажите где и что нужно изменить?

Code: Select all

sub KillThemAll() 
Var Victim=0x03CA
var CuttingTool=0x143E #Чем рЭзать (в данном случае - алебардой)
var n=6
var x=uo.GetX()
var y=uo.GetY()
;uo.print('001')
uo.ignorereset()
;uo.print('002')
;uo.forget('far')
;uo.print('003')
;uo.forget('counters')
;uo.print('004')
uo.SetGlobal('KillCount', 0)
;uo.print('005')

uo.Set('finddistance',str(n))

Repeat
wait(500)
uo.FindType(victim, -1,'ground')
if uo.FindCount() then
wait(100)
if uo.IsNPC('finditem') then
; uo.info('finditem')
while uo.IsNPC('finditem')
if uo.GetDistance('finditem') > 1 then
MoveTo('finditem', 1)
uo.attack('finditem')
end if
wait(100)
wend
uo.SetGlobal('KillCount', val(uo.GetGlobal('KillCount'))+1)
uo.forget('finditem')
; uo.warmode(0)
uo.waittargetobject('lastcorpse')
wait(100)
uo.usetype(CuttingTool)
wait(100)
uo.useobject('lastcorpse')
wait(550)
uo.waittargetobject('lastcorpse')
uo.say(',emptycontainer 550')
while uo.waiting()
wait(100)
wend
; uo.disarm()
n=1
else
uo.Ignore('finditem')
end if
else
n=n+1
if n > 20 then
if (uo.GetX() <> x) or (uo.GetY() <> y) then
MoveToXY(x, y, 1)
end if
n=1
end if
end if
Until uo.Dead()
end sub

sub Stat()
uo.charprint(257, 'Х-ха! Уже '+uo.GetGlobal('KillCount')+' скелетов заготовлено!')
end sub

sub Abs(num)
if num < 0 then
return -num
end if
return num
end sub

sub Sig(num)
if num < 0 then
return -1
else
if num == 0 then
return 0
endif
endif
return 1
end sub

sub MoveToXY(x, y, prec)
var dx, dy
dim Key[9]
Key[0]=37
Key[1]=35
Key[2]=40
Key[3]=36
Key[4]=12
Key[5]=34
Key[6]=38
Key[7]=33
Key[8]=39
dx=x-uo.GetX()
dy=-y+uo.GetY()
while (Abs(dx) > prec) or (Abs(dy) > prec)
dx=x-uo.GetX()
dy=-y+uo.GetY()
uo.Press(Key[(sig(dy)+1)*3+1+sig(dx)])
wait(10)
wend
end sub

sub MoveTo(object, prec)
var dx, dy
dim Key[9]
Key[0]=37
Key[1]=35
Key[2]=40
Key[3]=36
Key[4]=12
Key[5]=34
Key[6]=38
Key[7]=33
Key[8]=39
while uo.GetDistance(object) > prec
dx=uo.GetX(object)-uo.GetX()
dy=-uo.GetY(object)+uo.GetY()
uo.Press(Key[(sig(dy)+1)*3+1+sig(dx)])
wait(10)
wend
end sub

sub ExtendedInfo()

var ObjectSerial
var ObjectGraphics
var ObjectIsNPC
var ObjectNotoriety

UO.Print('Select object to explore')
UO.AddObject('ObjectToExplore')
While UO.Targeting()==2
Wait(50)
WEnd

UO.Click('ObjectToExplore')
Wait(500)

UO.Print('Object name is: '+UO.GetName('ObjectToExplore'))

ObjectSerial = UO.GetSerial('ObjectToExplore')
UO.Print('Object serial is : '+ObjectSerial)
ObjectGraphics = UO.GetGraphic('ObjectToExplore')
UO.Print('Object type is : '+ObjectGraphics)
ObjectIsNPC = UO.IsNPC('ObjectToExplore')
UO.Print('Object IsNPC number is : '+str(ObjectIsNPC))
ObjectNotoriety = UO.GetNotoriety('ObjectToExplore')
UO.Print('Object notoriety is : '+str(ObjectNotoriety))

end sub

(честно говоря сам в скриптинге не чего не понимаю)
Image
kostjan
Posts: 89
Joined: 2009-03-06 21:52:25
Contact:

Re: kill All

Post by kostjan »

Держи!

Code: Select all

UO.UseObject( 'lastcorpse' )
wait(500)
  uo.FindType('тип денег','-1','lastcorpse')
  while uo.FindCount()
    uo.FindType('тип денег','-1','lastcorpse')   
    uo.moveitem('finditem','-1','backpack')
  wait(500)
  wend
kostya.1991
Posts: 17
Joined: 2010-02-23 12:11:48
Location: Россия Тюмень
Contact:

Re: kill All

Post by kostya.1991 »

СПАСИБО !!! :mrgreen:
Image
kostya.1991
Posts: 17
Joined: 2010-02-23 12:11:48
Location: Россия Тюмень
Contact:

Re: kill All

Post by kostya.1991 »

А как добавить ещё туда камни всех видов :?: ?
Image
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: kill All

Post by Mirage »

почитать уроки скриптинга (про for next сойдет), открыть в блокноте или редакторе скриптов и вписать. :D
kostjan
Posts: 89
Joined: 2009-03-06 21:52:25
Contact:

Re: kill All

Post by kostjan »

kostya.1991 wrote:А как добавить ещё туда камни всех видов :?: ?


Если что-то не понятно читаем 3тий урок!

Code: Select all

sub LootLastCorpse()
   DIM Nado[20]
   Nado[0]  = '0x0F7A'   ; pearls, black pearls
   Nado[1]  = '0x0F7B'   ; bood moss
   Nado[2]  = '0x0F84'   ; garlic
   Nado[3]  = '0x0F85'   ; ginseng
   Nado[4]  = '0x0F86'   ; mandrake root
   Nado[5]  = '0x0F88'   ; night shade
   Nado[6]  = '0x0F8C'   ; sulphorous ash
   Nado[7]  = '0x0F8D'   ; spiders silk
   Nado[8] = '0x0E34'   ; blank scrolls
   Nado[9]  = '0x0F78'   ; batwings   
   Nado[10] = '0x0F7E'   ; bones
   Nado[11] = '0x0F7D'   ; vials of blood
   Nado[12] = '0x0F80'   ; daemons bones
   Nado[13] = '0x0F81'   ; fertile dirt
   Nado[14] = '0x0F82'   ; dragons blood
   Nado[15] = '0x0F87'   ; eyes of newt
   Nado[16] = '0x0F8E'   ; serpents scales
   Nado[17] = '0x0F90'   ; dead woods
   Nado[18] = '0x0F91'   ; wyrms hearts
   Nado[19] = '0x0F8F'   ; volcanic ash
   ; я специально ограничился только регами и паган регами, вы сами можете расширять массив
   ; на те предметы, которые хотите лутить
   VAR i
   ; Для начала откроем последний труп на экране
   UO.UseObject( 'lastcorpse' )
   wait(1000)
   For i = 0 To 19
      ; Ищем по очереди весь лут в последнем трупе
      UO.FindType( Nado[i], '-1', 'lastcorpse' )
      ; Пока количество найденного больше 0
      While UO.FindCount() > 0
         ; Забираем найденное в пак
         UO.MoveItem( 'finditem' )
         wait( 1000 )
         ; Ищем снова - вдруг в трупе объектов с таким типом больше одного
         UO.FindType( Nado[i], '-1', Cont )
      Wend
   Next
   UO.Print( 'The loot was finished' )
endsub


Code: Select all

; я специально ограничился только регами и паган регами, вы сами можете расширять массив
; на те предметы, которые хотите лутить
Last edited by kostjan on 2010-03-10 11:58:37, edited 1 time in total.
kostjan
Posts: 89
Joined: 2009-03-06 21:52:25
Contact:

Re: kill All

Post by kostjan »

Mirage wrote:почитать уроки скриптинга (про for next сойдет), открыть в блокноте или редакторе скриптов и вписать. :D


Пока носом не ткнёш не поймут! :D И больше вопросов глупых будет!
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: kill All

Post by Mirage »

надо учить искать а не толстеть.
kostya.1991
Posts: 17
Joined: 2010-02-23 12:11:48
Location: Россия Тюмень
Contact:

Re: kill All

Post by kostya.1991 »

"Если бы я что то в этом понимал ... Толстеть ну да , именно по этому я и не могу написать сам этот скрипт так как у меня нету на это время что бы учить писать скрипты и для чего мне его учить что бы написать пару скриптов а потом забыть мне это принципиально не крайняя не жизненно важно, я играю то чеса 3 в неделю , Если было в лом написать так бы и сказали или промолчали а так думаю тогда обойдусь одним гп .... :| 8) *ладно спасибо за то что помогли*
Image
kostjan
Posts: 89
Joined: 2009-03-06 21:52:25
Contact:

Re: kill All

Post by kostjan »

Уделить и прочитать урок займёт минут 20... :idea:
kostya.1991
Posts: 17
Joined: 2010-02-23 12:11:48
Location: Россия Тюмень
Contact:

Re: kill All

Post by kostya.1991 »

чтобы это понять ещё час чтобы написать ещё час или больше и т.д. а вам было бы только написать минут 5 или меньше ... я ведь не настаиваю на помощь , если можете напишите нет так нет... 8)
Image
kostjan
Posts: 89
Joined: 2009-03-06 21:52:25
Contact:

Re: kill All

Post by kostjan »

kostya.1991 wrote:чтобы это понять ещё час чтобы написать ещё час или больше и т.д. а вам было бы только написать минут 5 или меньше ... я ведь не настаиваю на помощь , если можете напишите нет так нет... 8)


Верху написал скрипт на лут ставиш итемы какие надо и всё тебе он будет лутать ? В чём проблема ?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: kill All

Post by Mirage »

:P я про это и говорю. При наличии готового решения не можем ничего сделать. А прочитал бы урок сказал - "Гдето я уже видел такое! Ааа ептить мне же уже ответили!" :mrgreen:
kostya.1991
Posts: 17
Joined: 2010-02-23 12:11:48
Location: Россия Тюмень
Contact:

Re: kill All

Post by kostya.1991 »

Я не понимаю куда его вставить)
Image
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: kill All

Post by Mirage »

Code: Select all

sub KillThemAll()
Var Victim=0x03CA
var CuttingTool=0x143E #Чем рЭзать (в данном случае - алебардой)
var n=6
var x=uo.GetX()
var y=uo.GetY()
;uo.print('001')
uo.ignorereset()
;uo.print('002')
;uo.forget('far')
;uo.print('003')
;uo.forget('counters')
;uo.print('004')
uo.SetGlobal('KillCount', 0)
;uo.print('005')

uo.Set('finddistance',str(n))

Repeat
wait(500)
uo.FindType(victim, -1,'ground')
if uo.FindCount() then
wait(100)
if uo.IsNPC('finditem') then
; uo.info('finditem')
while uo.IsNPC('finditem')
if uo.GetDistance('finditem') > 1 then
MoveTo('finditem', 1)
uo.attack('finditem')
end if
wait(100)
wend
uo.SetGlobal('KillCount', val(uo.GetGlobal('KillCount'))+1)
uo.forget('finditem')
; uo.warmode(0)
uo.waittargetobject('lastcorpse')
wait(100)
uo.usetype(CuttingTool)
wait(100)
uo.useobject('lastcorpse')
wait(550)

# ЕСЛИ БЫ ТЫ ПРОЧИТАЛ УРОКИ ТО ПОНЯЛ БЫ ЧТО СЛЕДУЮЩИЕ 2 КОМАНДЫ И ЕСТЬ ЛУТ!!!
#uo.waittargetobject('lastcorpse')
#uo.say(',emptycontainer 550')
#А ТЕБЕ НАДО СДЕТАТЬ ВОТ ТАК

LootLastCorpse()

while uo.waiting()
wait(100)
wend
; uo.disarm()
n=1
else
uo.Ignore('finditem')
end if
else
n=n+1
if n > 20 then
if (uo.GetX() <> x) or (uo.GetY() <> y) then
MoveToXY(x, y, 1)
end if
n=1
end if
end if
Until uo.Dead()
end sub

sub Stat()
uo.charprint(257, 'Х-ха! Уже '+uo.GetGlobal('KillCount')+' скелетов заготовлено!')
end sub

sub Abs(num)
if num < 0 then
return -num
end if
return num
end sub

sub Sig(num)
if num < 0 then
return -1
else
if num == 0 then
return 0
endif
endif
return 1
end sub

sub MoveToXY(x, y, prec)
var dx, dy
dim Key[9]
Key[0]=37
Key[1]=35
Key[2]=40
Key[3]=36
Key[4]=12
Key[5]=34
Key[6]=38
Key[7]=33
Key[8]=39
dx=x-uo.GetX()
dy=-y+uo.GetY()
while (Abs(dx) > prec) or (Abs(dy) > prec)
dx=x-uo.GetX()
dy=-y+uo.GetY()
uo.Press(Key[(sig(dy)+1)*3+1+sig(dx)])
wait(10)
wend
end sub

sub MoveTo(object, prec)
var dx, dy
dim Key[9]
Key[0]=37
Key[1]=35
Key[2]=40
Key[3]=36
Key[4]=12
Key[5]=34
Key[6]=38
Key[7]=33
Key[8]=39
while uo.GetDistance(object) > prec
dx=uo.GetX(object)-uo.GetX()
dy=-uo.GetY(object)+uo.GetY()
uo.Press(Key[(sig(dy)+1)*3+1+sig(dx)])
wait(10)
wend
end sub

sub ExtendedInfo()

var ObjectSerial
var ObjectGraphics
var ObjectIsNPC
var ObjectNotoriety

UO.Print('Select object to explore')
UO.AddObject('ObjectToExplore')
While UO.Targeting()==2
Wait(50)
WEnd

UO.Click('ObjectToExplore')
Wait(500)

UO.Print('Object name is: '+UO.GetName('ObjectToExplore'))

ObjectSerial = UO.GetSerial('ObjectToExplore')
UO.Print('Object serial is : '+ObjectSerial)
ObjectGraphics = UO.GetGraphic('ObjectToExplore')
UO.Print('Object type is : '+ObjectGraphics)
ObjectIsNPC = UO.IsNPC('ObjectToExplore')
UO.Print('Object IsNPC number is : '+str(ObjectIsNPC))
ObjectNotoriety = UO.GetNotoriety('ObjectToExplore')
UO.Print('Object notoriety is : '+str(ObjectNotoriety))

end sub

# А НИЖЕ ВПИСАТЬ ТИПЫ ТРЕБУЕМЫХ ПРЕДМЕТОВ

sub LootLastCorpse()
   DIM Nado[20]
   Nado[0]  = '0x0F7A'   ; pearls, black pearls
   Nado[1]  = '0x0F7B'   ; bood moss
   Nado[2]  = '0x0F84'   ; garlic
   Nado[3]  = '0x0F85'   ; ginseng
   Nado[4]  = '0x0F86'   ; mandrake root
   Nado[5]  = '0x0F88'   ; night shade
   Nado[6]  = '0x0F8C'   ; sulphorous ash
   Nado[7]  = '0x0F8D'   ; spiders silk
   Nado[8] = '0x0E34'   ; blank scrolls
   Nado[9]  = '0x0F78'   ; batwings   
   Nado[10] = '0x0F7E'   ; bones
   Nado[11] = '0x0F7D'   ; vials of blood
   Nado[12] = '0x0F80'   ; daemons bones
   Nado[13] = '0x0F81'   ; fertile dirt
   Nado[14] = '0x0F82'   ; dragons blood
   Nado[15] = '0x0F87'   ; eyes of newt
   Nado[16] = '0x0F8E'   ; serpents scales
   Nado[17] = '0x0F90'   ; dead woods
   Nado[18] = '0x0F91'   ; wyrms hearts
   Nado[19] = '0x0F8F'   ; volcanic ash
   ; я специально ограничился только регами и паган регами, вы сами можете расширять массив
   ; на те предметы, которые хотите лутить
   VAR i
   ; Для начала откроем последний труп на экране
   UO.UseObject( 'lastcorpse' )
   wait(1000)
   For i = 0 To 19
      ; Ищем по очереди весь лут в последнем трупе
      UO.FindType( Nado[i], '-1', 'lastcorpse' )
      ; Пока количество найденного больше 0
      While UO.FindCount() > 0
         ; Забираем найденное в пак
         UO.MoveItem( 'finditem' )
         wait( 1000 )
         ; Ищем снова - вдруг в трупе объектов с таким типом больше одного
         UO.FindType( Nado[i], '-1', Cont )
      Wend
   Next
   UO.Print( 'The loot was finished' )
endsub

Уж если и так не получится то начни с простых скриптов. Всетаки боты на убийство это на любом языке программирования практически высший пилотаж.
rus_lan
Posts: 24
Joined: 2010-06-07 07:54:20

Re: kill All

Post by rus_lan »

народ а у меня этот скрипт вообще не работает... пишет нот фаунд и все( не важно есть кто рядом или нет.
как его запустить?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: kill All

Post by Mirage »

окно инжекта, закладка "main"(Главная) должна быть включена галка TWI (Следить за мировыми чтототам)
тварюшка видится на дистанции 6 клеток. ХЗ скрипт странный если честно :)
rus_lan
Posts: 24
Joined: 2010-06-07 07:54:20

Re: kill All

Post by rus_lan »

DRW (2009) by Dark Enemy там есть нормальный скрипт на эту тему.... хотя тоже относительно)))
Post Reply