Page 1 of 1

Качаем боевые на ДРВ часть 2

Posted: 2006-12-08 17:11:44
by GimFlex
извеняюсь за боян, если что, но вот решил прокачать боевые и пришлось написать скриптец, в готовых не люблю разбираться, написал свой, очень хороший, щас идет тест, вроде все ничего, работает на ура, пока, скрипт прост в настройках и каждый, кто захочет, легко разберется сам в структуре скрипта, в общем, если будут замечания, пишите, прилагаю подробную инструкцию

чар моет бинты проверяет сломанность оружия и все такое в общем все пожелания одного человека постарался исполнить на 100% :)


Image

Code: Select all

var x='1064' ; координата Х куда кастуем 
var y='2007' ; координата Y куда кастуем 
var fighter='0x0008B204' ; ИД того, кто качает боевые
var spirit='0x023E' ; тип блейд спирита
var bints='0x0E21' ; тип бинтов
var bloodbints='0x0E20' ; тип кровавых бинтов
var washbasin='1008' ; тип ванночки
var Svord='0x0EC2' ; тип оружия
var Shield='0x1B76' ; тип щита
var gh='0x0F0E' ; тип ГХ
var cgh='0x09BB' ; цвет ГХ
var i=3

####################### Настройки #########################
#
;Кастер
#в пак положить необходимые реги, одеть браслет маны,
#включить TWI, перетащить статус файтера
#
;Файтер
#в пак положить ванночку, бинты, ГХ, одеть браслет жизни,
#положить побольше оружия, включить TWI, одеть щит и оружие
#
#Question_GimFlex
#
#################### Caster Spirits #######################

sub caster() 
uo.set('finddistance','14') 
while not uo.dead() 
 if i==3 then 
  i=0 
  castparaliz() 
 endif 
 i=i+1 
 castbladespirit() 
 meditation() 
 waitdiespirit() 
 waithealfighter() 
wend 
endsub 

Sub castbladespirit() 
uo.findtype(spirit,'-1','ground') 
if uo.findcount() then 
 while uo.findcount() 
  wait(1000) 
  uo.findtype(spirit,'-1','ground') 
 wend 
endif 
repeat 
 meditation() 
 uo.deletejournal() 
 uo.waittargettile('0',x,y,0) 
 uo.cast ('Blade Spirits') 
 wait(8000) 
until not uo.InJournal("The spell fizzles.") 
end sub 

Sub castparaliz() 
uo.findtype(spirit,'-1','ground') 
if uo.findcount() then 
 while uo.findcount() 
  wait(1000) 
  uo.findtype(spirit,'-1','ground') 
 wend 
endif 
repeat 
 if uo.mana-24<=24 then 
  uo.exec('warmode 0') 
  repeat  
   uo.useskill('Meditation') 
   wait(4000) 
  until uo.mana == uo.int 
 endif 
 meditation() 
 uo.deletejournal() 
 uo.waittargettile('0',x,y,0) 
 uo.cast ('Paralyze Field') 
 wait(8000) 
until not uo.InJournal("The spell fizzles.") 
end sub 

Sub meditation() 
if UO.Mana<24 then 
 uo.exec('warmode 0') 
 repeat  
  uo.useskill('Meditation') 
  wait(4000) 
 until uo.mana == uo.int 
endif 
endsub 

Sub waithealfighter() 
repeat 
  wait(100) 
until uo.GetHp(fighter) == uo.GetMaxHp(fighter) 
endsub 

Sub waitdiespirit() 
uo.findtype(spirit,'-1','ground') 
if uo.findcount() then 
 while uo.gethp('finditem')>0 
  wait(1000) 
  uo.findtype(spirit,'-1','ground') 
 wend 
endif 
endsub 

################### Fighter Spirits ####################### 

sub fighter() 
uo.set('finddistance','14') 
while not uo.dead() 
 healing() 
 sword() 
 killspirits() 
wend 
endsub 

Sub healing() 
UO.FindType(bints,'-1','backpack') 
if UO.FindCount() then 
  while uo.life<>uo.str 
   uo.bandageself() 
   wait(3500) 
  wend 
 else 
  UO.FindType(bloodbints,'-1','backpack') 
  if UO.FindCount() then 
   uo.waittargettype(washbasin) 
   uo.UseType(bloodbints) 
  endif    
endif 
endsub 

Sub killspirits() 
uo.findtype(spirit,'-1','ground') 
uo.warmode(1) 
while not uo.findcount() 
 wait(1000) 
 uo.findtype(spirit,'-1','ground') 
wend 
wait(2000)
uo.attack('finditem') 
while uo.findcount() 
 checksword() 
 checkhp() 
 uo.findtype(spirit,'-1','ground') 
 wait(1000) 
wend 
wait(500) 
uo.findtype(spirit,'-1','ground') 
if uo.findcount() then 
 wait(2000)
 uo.attack('finditem') 
 while uo.findcount() 
  checksword() 
  checkhp() 
  uo.findtype(spirit,'-1','ground') 
  wait(1000) 
 wend 
 wait(500) 
endif 
endsub 

Sub sword()
var s
UO.Equipt('Lhand',shield) 
wait(2000) 
uo.findtype(Svord,'-1','backpack')
if uo.findcount() then
  s=uo.getserial('finditem')
  uo.ignore('finditem')
 else
  uo.ignorereset()
  uo.findtype(Svord,'-1','backpack')
  s=uo.getserial('finditem')
endif  
uo.useobject(s) 
wait(2000) 
end sub 

Sub checksword() 
if UO.GetGraphic(UO.ObjAtLayer('Rhand')) <> svord then 
 uo.findtype(svord,'-1','backpack') 
 if uo.findcount() then 
  uo.usetype('finditem') 
 endif 
endif 
endsub 

Sub checkhp() 
if uo.life<17 then 
 uo.usetype(gh,cgh) 
endif 
endsub 

Posted: 2006-12-08 17:19:31
by kexwer
Вау.. Очень полезный скриптец!!! Спасибо Question!

Posted: 2006-12-08 17:24:27
by GimFlex
kexwer wrote:Вау.. Очень полезный скриптец!!! Спасибо Question!
потести сначала :wink:

Posted: 2006-12-08 18:41:55
by GimFlex
добавил доп проверки чтоб не тупил

Posted: 2006-12-08 19:12:50
by GimFlex
добавил проверку теперь если хватает маны на каст стенки а на спирита нет то прежде он будет медетировать потом кастовать :)

Posted: 2006-12-08 19:54:43
by GimFlex
добавил функцию перебора оружия чтоб ломалось очень долго
теперь убив спирита чар в след раз возьмет другой ножик или клевер потом убив еще спирита возьмет опять другой ножик или клевер и так перебор идет всего оружия чтоб не ломалось :)

Posted: 2006-12-09 18:00:49
by GimFlex
исправил глюк с шагом

Posted: 2006-12-09 19:14:24
by DerMeister =)
Может всё таки объединишь все ответы один? а то это флуд... можно темку то и в TRASH ;) А можно и в "High Quality", если приведешь всё в порядок.

Posted: 2006-12-09 21:40:34
by GimFlex
DerMeister =) wrote:Может всё таки объединишь все ответы один? а то это флуд... можно темку то и в TRASH ;) А можно и в "High Quality", если приведешь всё в порядок.
ну я не флужу просто пишу что исправил :) в хай куалити еще далековато хотя уже 2 день качаюсь врорде нормусь :)

Posted: 2006-12-26 19:03:37
by 666||TORCHKI
не чёта он у меня так тупит ( ппц
бывает пускает когда я ешё не полдечился бывает не ставит паралайз филду ( или 2 раза подряд пускает блайду

Posted: 2007-02-22 13:09:48
by No***Name
Чар сам попадает в стену скажите как исправить?

Posted: 2007-02-23 10:58:32
by No***Name
No***Name wrote:Чар сам попадает в стену скажите как исправить?
)))нужно было всего лиш в один угол коробки сено поставить