[drw] fast ^^ loot

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
=god=
Posts: 43
Joined: 2005-03-14 13:52:02

[drw] fast ^^ loot

Post by =god= »

Давно уже не играю, а вот скрипт на "фаст" лут для dragon world'a
На самом деле это конечно никакой не fast-loot, а просто ... ээм ... ускоренное лутанье ^_^ в свое время когда еще Z не прикрыли на drw и были актуальны бомбы он был очень полезен.

Скрипт позволяет за 1-4 секунд полутать основные вещи с трупа.
В первые секунды лут фула, во последующие всякой мелочи.Скрипт не лутает все вещи из трупа плеера.

Скорость достигаеца за счет того, что в UNSP на drw задержка лута 500мс., однако как фаст лут действия игрока распознаются, если полутано больше чем 2-3 вещи за 500мс.

В данном случае скрипт "порциями" по 3 вещи лутает с задержкой 500мс, т.е в идеале за 1с. лутается фул.

Скрипт еще когда на модеме был писал так что возможно таймауты поправлены. Да и сделан кое - как, без массивов ^_^. И вообще.

Code: Select all

sub loot_last()
uo.useobject('lastcorpse')
wait(100)
uo.waittargetobject('lastcorpse')
while loot() < 1
wait(500)
wend
wait(500)
uo.exec('canceltarget')
uo.waittargetobject('lastcorpse')
while loot_full() < 1
wait(500)
wend
end sub

sub loot_full()
var isset
var retr=1
uo.exec('addobject corpse')
while uo.targeting()
wait(100)
wend

uo.findtype('0x141A','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(100)
isset=1
else
uo.findtype('0x1411','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(100)
isset=1
endif
endif

uo.findtype('0x1416','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(100)
isset=1
else
uo.findtype('0x1415','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(100)
isset=1
endif
endif

uo.findtype('0x1410','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(100)
isset=1
endif

if isset==1 then
wait(1200)
isset=false
end if

uo.findtype('0x1418','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(100)
isset=1
else
uo.findtype('0x1414','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(100)
isset=1
endif
endif

uo.findtype('0x1413','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(100)
isset=1
endif

uo.findtype('0x1412','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(100)
isset=1
endif

RETURN retr
uo.print('Full ok!')
end sub

sub loot()
var retr=1
uo.exec('addobject corpse')
while uo.targeting()
wait(100)
wend
uo.findtype('0x13B9','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(600)
endif
uo.findtype('0x13BA','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(600)
endif
uo.findtype('0x143E','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(600)
endif
uo.findtype('0x1406','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(600)
endif
uo.findtype('0x1B7A','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(600)
endif
uo.findtype('0x1086','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(600)
endif
uo.findtype('0x1B76','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(600)
endif
uo.findtype('0x1B77','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(600)
endif
uo.findtype('0x1F5F','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(600)
endif
uo.findtype('0x13FE','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(600)
endif
uo.findtype('0x13B1','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(600)
endif
uo.findtype('0x13FC','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(600)
endif
uo.findtype('0x0E76','-1',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(600)
endif
uo.findtype('0x0F0E','0x09DF',uo.GetSerial('corpse'))
if uo.GetQuantity('finditem') then
uo.grab('0','finditem')
wait(600)
endif
UO.Print('Loot ok!')
RETURN retr
end sub


Забиваем на клавишу, например F1, "exec loot_last()" и давим рядом с трупом плеера ^_^[/b]
=god=
Posts: 43
Joined: 2005-03-14 13:52:02

Post by =god= »

вот еще откапал: лутает все трупы в радиусе по очереди. иногда полезна.

Code: Select all

#Ultima Online (Sphere 0.55i) Fast (2x) loot speed

sub floot_next()
Var last=uo.getSerial('lastcorpse')
Var new
uo.findType('0x2006','-1','ground')
if uo.FindCount() and uo.GetSerial('finditem')<>last then
uo.print('find and fixes!')
uo.useobject('finditem')
wait(100)
uo.waittargetobject('finditem')
while loot() < 1
wait(100)
wend
wait(100)
uo.exec('canceltarget')
uo.waittargetobject('finditem')
while loot_full() < 1
wait(100)
wend
end if
uo.print('fnext ok!')
end sub
=god=
Posts: 43
Joined: 2005-03-14 13:52:02

Post by =god= »

Трекер бомб. Просто в тему, мало ли.

Code: Select all

sub tracker()
UO.FindType('0x0F0D','0x0B99','ground')
If UO.FindCount()>0 Then
uo.exec('concolor 0x0026')
uo.print('#BOMBS ('+STR(uo.FindCount())+') tracked')
uo.exec('concolor 0x0060')
uo.exec('track 1 '+STR(uo.getX('finditem'))+' '+STR(uo.getY('finditem')))
Endif
end sub


Детектор

Code: Select all

sub detector()
While 1<2
UO.FindType('0x0F0D','0x0B99','ground')
If UO.FindCount()>0 Then
uo.exec('concolor 0x0026')
uo.print('#BOMBS ('+STR(uo.FindCount())+')')
uo.exec('concolor 0x0060')
Endif
Wait(2000)
Wend
end sub
=god=
Posts: 43
Joined: 2005-03-14 13:52:02

Post by =god= »

Таргетинг. вместо uo.press(220) свою кнопку с TargetNExt

Code: Select all

sub tnext()
#start:
uo.press(220)
wait(500)
uo.set('lasttarget','laststatus')
#if uo.isNPC('laststatus') then
#uo.print('skip NPC...')
#goto start
#else
uo.print('targeting ok')
#end if
end sub
=god=
Posts: 43
Joined: 2005-03-14 13:52:02

Post by =god= »

AntiFS для drw (как раз укладываеца в задержку каста).
В ласттаргете должен быть враг , которого пасем.

Code: Select all

sub t()
var i, enemy_uid, name, target_uid
enemy_uid=uo.getserial('lasttarget')
if enemy_uid=="" or enemy_uid==uo.getserial('self') then
enemy_uid=uo.getserial('laststatus')
endif
uo.print('#Anti Flamestrike Shield activated!')
uo.print('#enemyuid: '+enemy_uid)
start:
i=0
uo.deletejournal()
repeat
enemy_uid=uo.getserial('lasttarget')
if enemy_uid=="" or enemy_uid==uo.getserial('self') then
enemy_uid=uo.getserial('laststatus')
endif
wait(300)
until uo.inJournal(": Kal Vas Flam")
name=uo.GetName(uo.JournalSerial(uo.InJournal(": Kal Vas Flam")-1))
target_uid=uo.JournalSerial(uo.InJournal(": Kal Vas Flam")-1)
if name <> "god" and target_uid==enemy_uid then
uo.print('#uid: '+target_uid+' cast FS')
uo.print('#fs detected and will be mirrored')
if uo.poisoned() then
uo.findtype('0x0F0E','0x09A6','my')
if uo.getquantity('finditem') then
uo.useobject('finditem')
end if
end if
uo.waittargetself()
uo.usetype('0x1f50')
i=1
uo.deletejournal()
else
uo.print('ignore self or other fs')
uo.print('e_uid: '+enemy_uid+' % t_uid: '+target_uid)
goto start
end if
goto start
uo.print('#restarted')
end sub
=god=
Posts: 43
Joined: 2005-03-14 13:52:02

Post by =god= »

/\
=god=
Posts: 43
Joined: 2005-03-14 13:52:02

Post by =god= »

/\
=god=
Posts: 43
Joined: 2005-03-14 13:52:02

Post by =god= »

/\
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

Тебе апать самому ненадоело?
_ALF_
Posts: 24
Joined: 2005-04-16 17:40:14

Post by _ALF_ »

Объясните нюбу плиз в чем заключается скрипт анти фс ? что он делает когда в тебя летит фс ?
=god=
Posts: 43
Joined: 2005-03-14 13:52:02

Post by =god= »

когда на тебя кастуют фс он кастует рефлект и фс отражаеца на того человека что кастовал
_ALF_
Posts: 24
Joined: 2005-04-16 17:40:14

Post by _ALF_ »

=god= wrote:когда на тебя кастуют фс он кастует рефлект и фс отражаеца на того человека что кастовал

а еще его нада постоянно держать включенным ? то есть как заходишь в уо та запускаешь его и все ?
=god=
Posts: 43
Joined: 2005-03-14 13:52:02

Post by =god= »

он форсит одну цель. начинаеь драца ив рубаешь.
Post Reply