То, что ищут многие...

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Scripts Writer wrote:
Kynep wrote:
Scripts Writer wrote:
Одевалка для ПвП альфы вам в помощь, или скрипты на Анти макро


Привет брат! почисти топег, а то хлама многа, особенно последне посты


Как сам, играешь ? :)


Прет. С Новым Годом тебя!! Играю... на ДРВ, живу там же. думаю помнишь. А ты?
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Kynep wrote:
Scripts Writer wrote:
Kynep wrote:
Scripts Writer wrote:
Одевалка для ПвП альфы вам в помощь, или скрипты на Анти макро


Привет брат! почисти топег, а то хлама многа, особенно последне посты


Как сам, играешь ? :)


Прет. С Новым Годом тебя!! Играю... на ДРВ, живу там же. думаю помнишь. А ты?


И тебя =) Да я чёто наигрался уже,-так если только на новом шарде каком нибудь, или пвп аренке.
Dark Oligarh
Posts: 8
Joined: 2005-07-02 10:51:50
Contact:

Post by Dark Oligarh »

Scripts Writer wrote:

Code: Select all

##################
# Black Smithing #
##################
#
# Ignots on the ground. Smith hammer on the right hand.
# We're standing near a forge, which we'll target and
# near ingots. If you can't find ingots - ,set finddistance 10
# When a quantity of produced item more than 20 -smelthing
# for ingots.
# 21.12.06 .Tested on shard Dragon World
#
sub BlackSmithingYMD()
 var IngType=0x1BEF # Type of ignots to smith
 var IngColor=0x0000 # Color of ingots to smith
 var Item=0x1410 # Type of a produced item
 uo.AddObject('Forge')
 while uo.Targeting()
   wait(100)
 wend
  while uo.SkillVal('Blacksmithing','1') < 1000
    uo.DeleteJournal()
    uo.FindType(IngType,IngColor,'backpack')
    if not uo.FindCount() || uo.GetQuantity('finditem') < 50 then
      GetItem(IngType,IngColor,500,'ground','backpack')
    end if
    uo.WaitMenu('Black','Armor','Armor','Plate','Plate','arms') # Change
    uo.UseObject('finditem')
    repeat
      wait(100)
    until uo.InJournal('put') || uo.InJournal('fail')
    if uo.InJournal('put') then
      uo.FindType(Item,'-1','backpack')
      if uo.FindCount() > 20 then
        while uo.FindCount()
          uo.WaitTargetObject('finditem')
          uo.UseObject('Forge')
          wait(750)
          uo.FindType(Item,'-1','backpack')
        wend
      end if
      wait(50)
    end if
  wend
end sub

###########
# GetItem #
###########

sub GetItem(type, color, quantity, where , to)
  uo.FindType(type,'-1',where)
  if uo.FindCount() then
    uo.moveitem('finditem',quantity,to)
    wait(750)
  end if
end sub


Скрипт сбиивается после нескольких ковок дагера,открывает меню бс и дальше дагеры не куются :?
ADEPT_ABP
Posts: 223
Joined: 2006-05-12 08:03:45
Contact:

Post by ADEPT_ABP »

Сегодня утром написал скрипт для наколдовывания "Curse"-шмоток. Так как на ДРВ цитирую:
Как правило, все статы могут расти до 100 единиц. Чтобы прокачать ту или иную характеристику выше 100 единиц, необходимо надеть курсу (англ. — curse) — проклятые вещи, которые понижают статы. При снятии курсы статы вернутся к своим истинным значениям. Разумеется, чтобы снять проклятую вещь, нужно её блесануть (освятить магическим заклинанием bless).

... то "Curse"-шмотки оччень полезны. Всего скрипта 2.
Первый делает шмот и облегчает настройку второго. :)
Вам понадобятся Реагенты(они же реги) и 14 вещей:
  1. Leather tunic.
  2. Leather gloves.
  3. Leather gorget.
  4. Leather sleeves.
  5. Cloak.
  6. Robe.
  7. Short.
  8. Shirt.
  9. Kilt.
  10. Half apron.
  11. Body sash.
  12. Floppy hat.
  13. Thigh boots.
  14. Pickaxe.

Вещи положите в пустой мешок.
Запустите скрипт и появившимся прицелом укажите на мешок с вещами.
При запуске вся курса должна быть в мешке!!!
Собственно скрипт№1:

Code: Select all

var item, nameitem

#############################################
### Основная функция ############################
#############################################

sub main()
 UO.AddObject('pack')
  UO.Print('Укажите мешок с вещами?')
 while UO.Targeting()
  wait(10)
 wend
 uo.useobject('pack')
  wait(1000)
 repeat
  uo.findtype(-1,-1,'pack')
   item=uo.getserial('finditem')
   if not uo.getgraphic(item)=='0x0000' then
recast:
 if uo.mana==uo.int then
 uo.deletejournal()
 CheckLag()
  uo.cast('Curse',item)
   while not uo.injournal('darkling glow|fizzles')
      wait(200)
   wend
   if uo.injournal('fizzles') then
      goto recast
   endif
 else
 med()
 goto recast
 endif
wait(3000)
uo.useobject(item)
wait(3000)
recast2:
 if uo.mana==uo.int then
 uo.deletejournal()
  uo.cast('Bless',item)
   while not uo.injournal('brilliant glow|fizzles')
      wait(200)
   wend
   if uo.injournal('fizzles') then
      goto recast2
   endif
 else
 med()
 goto recast2
 endif
wait(1000)
 uo.undress()
 uo.disarm()
 CheckLag()
 endif
 until uo.findcount()==0
end sub

##############################################
### Медитация ###############################
##############################################

sub med()
while uo.mana < uo.int
   UO.UseSkill("Meditation")
UO.DeleteJournal()
   while not uo.injournal("You are at peace") and not UO.InJournal("You lose your concentration")
      wait(200)
      if uo.injournal("world is saving now...") then
            while not uo.injournal("world data saving")
               wait(100)
               if uo.injournal("You are starving") then
               main()
               endif
            wend
         endif
      if uo.injournal("You are starving") then
      main()
      endif
   wend
wend
end sub

##############################################
### CheckLag ################################
##############################################

Sub CheckLag()
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(50)
until uo.InJournal('backpack')
end sub

###############################################
###  Определение и вывод в текстовое окно типов шмота ###
###############################################

sub tc()
uo.ignorereset()
 uo.textclear()
  var num, pickaxe, itemtype
   num=0
 UO.AddObject('pack')
   UO.Print('Укажите мешок с вещами?')
  while UO.Targeting()
   wait(10)
  wend
 uo.useobject('pack')
  wait(1000)
uo.textopen()
 repeat
  uo.findtype(-1,-1,'pack')
   item=uo.getserial('finditem')
    itemtype=uo.getgraphic(item)
    uo.click('finditem')
    wait(500)
    nameitem=uo.getname(item)
    uo.print(nameitem)
   if itemtype=='0x0E85' or itemtype=='0x0E86' then
    pickaxe=itemtype
       num=num-1
   endif
    if not itemtype==pickaxe then
       if itemtype=='0x0000' then
         itemtype=pickaxe
       endif
       uo.textprint('curs['+str(num)+']="'+itemtype+'" #'+nameitem)
      endif
 uo.ignore(item)
 num=num+1
 until not uo.findcount()>0
uo.ignorereset()
end sub

После того как все шмотки прокляты и благославлены. Закиньте их опять в мешок и запустите функцию 'tc'. Появится текстовое окно с куском для второго скрипта.

Code: Select all

curs[0]="0x1713" #a +3 floppy hat of Curse
curs[1]="0x13C7" #a +3 leather gorget of Curse
curs[2]="0x13C6" #a +3 leather gloves of Curse
curs[3]="0x1515" #a +4 cloak of Curse
curs[4]="0x13C5" #a +5 leather sleeves of Curse
curs[5]="0x1517" #a +2 shirt of Curse
curs[6]="0x1541" #a +3 body sash of Curse
curs[7]="0x1711" #a +6 thigh boots of Curse
curs[8]="0x152E" #a +2 short pants of Curse
curs[9]="0x13CC" #a +5 leather tunic of Curse
curs[10]="0x1537" #a +4 kilt of Curse
curs[11]="0x1F03" #a +4 robe of Curse
curs[12]="0x153B" #a +5 half apron of Curse

...если вы хотите прокачать силу, то...
Второй скрипт. Не совсем обычный мининг.

Code: Select all

var kirka, a, cc
kirka = "0x0E85" ;Тип кирки.
cc=0

###########################################
###Массив с "курснутым" шмотьём ##############
###########################################


Sub Course(curs)
curs[0]="0x1713" #a +3 floppy hat of Curse
curs[1]="0x13C7" #a +3 leather gorget of Curse
curs[2]="0x13C6" #a +3 leather gloves of Curse
curs[3]="0x1515" #a +4 cloak of Curse
curs[4]="0x13C5" #a +5 leather sleeves of Curse
curs[5]="0x1517" #a +2 shirt of Curse
curs[6]="0x1541" #a +3 body sash of Curse
curs[7]="0x1711" #a +6 thigh boots of Curse
curs[8]="0x152E" #a +2 short pants of Curse
curs[9]="0x13CC" #a +5 leather tunic of Curse
curs[10]="0x1537" #a +4 kilt of Curse
curs[11]="0x1F03" #a +4 robe of Curse
curs[12]="0x153B" #a +5 half apron of Curse
return curs
end sub

#############################################
### Запускает автохайд и копалку #################
#############################################

sub main()
uo.exec("exec mine")
uo.exec("exec autohide")
end sub


#############################################
### Копалка ###############################
#############################################

sub mine() ; Копание
dim curs[13]
curs=Course(curs)
var PX, PY, PZ, IX, IY
PX=UO.GetX()
PY=UO.GetY()
PZ=UO.GetZ()
 while cc<13
  For Iy=-4 to 4
   For Ix=-4 to 4
    if uo.str>74 then
       uo.usetype(curs[cc])
       cc=cc+1
       wait(1000)
    else
     while not UO.InJournal("There is no ore|You have no line|That is to far away|You can't think|You have no line of|too far away|mining in rock.")
        UO.DeleteJournal()
       if not uo.hidden() then
         while not uo.injournal("You have hidden")
           wait(200)
         wend
       endif
         UO.WaitTargetTile(-1,Str(PX+Ix),Str(PY+Iy),Str(PZ))
        uo.usetype(kirka)
         while not UO.InJournal("You put the|You loosen some|You can't think|That is to far away|There is no ore|You have no line of|too far away|mining in rock.")
          Wait(200)
            wend
        UO.DeleteJournal()
     wend
    endif
      next
     next
 wend
end sub


#############################################
### Автохайд ##############################
#############################################

sub autohide()
 while not uo.dead()
  if not uo.hidden() then
   uo.exec("warmode 0")
   uo.useskill("Hiding")
  endif
      while not uo.injournal("You have been revealed|You can't seem")
         wait(100)
      wend
  uo.deletejournal()
 wend
uo.exec("terminate all")
end sub


#############################################
### CheckLag ##############################
#############################################

sub CheckLag()
   UO.DeleteJournal() ; вытрем все сообщения в журнале (Inj, но не клиента)
   UO.Click('backpack') ; одиночный клик по вашему backpack
;       ждем сообщения в журнале
   repeat
      wait(100)
   until UO.InJournal("backpack")
;       этот цикл завершится, если это сообщение появится.... замечу "Backpack" и "backpack"
;       регистр важен Пишите точно что ждете
end sub


Надеюсь кому-нибудь понадобится. :)
P.S. Помните Тип кирки в текстовом окне будет последним. Его вставлять в массив ненадо. Хотя можно и вставить, но надо будет скрипт править... :)

Code: Select all

dim curs[13]  -> заменить на -> dim curs[14]
uo.usetype(kirka) -> заменить на -> uo.usetype(curs[14])


P.P.S. Заманался править скрипт и пост...
P.P.P.S. Добавил в первый скрипт отображение имени "типа".
Играю на drw.ru
Использую инжект 505.18 VeNd0r
Начинающий скриптер.
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Скоро соточку разменяем ^.^
ADEPT_ABP
Posts: 223
Joined: 2006-05-12 08:03:45
Contact:

Post by ADEPT_ABP »

Scripts Writer wrote:Скоро соточку разменяем ^.^

Что за "соточка" :?:
Играю на drw.ru
Использую инжект 505.18 VeNd0r
Начинающий скриптер.
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

ADEPT_ABP wrote:
Scripts Writer wrote:Скоро соточку разменяем ^.^

Что за "соточка" :?:

100000 просмотров.
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Скрипт проверяет каждые 'wt' секунд значение скилла 'skill_name', если меняется то издает звук 'sound', по достижении ГМ отключает все скрипты. Скрипт можно остановить написав в игре stop_check.

Code: Select all

sub check_skill()
   VAR wt = 5                   #Время ожидания(!!в секундах!!!)
   VAR skill_name = 'Archery'   #Скилл для проверки
   VAR sound = 'alarm.wav'      #Путь к файлу со звуком
   VAR temp, cur
   wt = wt * 1000
   repeat
      cur = UO.SkillVal(skill_name, 1)
      wait(wt)
      temp = UO.SkillVal(skill_name, 1)
      If (temp <> 1000) then
         If (temp <> cur) then
            UO.PlayWav(sound)
            UO.Print('***Скилл повышен***')
         end if
      else
         UO.Print('***Скилл ГМ***')
         UO.Print('***ВЫХОДИМ***')
         UO.Exec('terminate all')
      end if
   until UO.Dead() OR UO.InJournal('stop_check')
end sub


Кстати, написание заняло у меня ровно 10 минут. :roll: :wink:
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Dragon World

Перекидываем вещи из пака на вендора и устанавливаем им цену.
Писал бегло- на 60 браслетах маны работало хорошо. Чтобы узнать ID контейнера вендора пишем 'stock', затем ',info lastcontainer'.

Code: Select all

sub make_price()
  uo.AddObject('From')
  while uo.Targeting()
    wait(100)
  wend
 
  uo.AddObject('What')
  while uo.Targeting()
    wait(100)
  wend
 
  var VendorBankID = '0x40488E9A'
  var price = 260000
  var tItem
 
  tItem = uo.GetGraphic('What')
 
  uo.FindType(tItem,'-1','From')
  repeat
    uo.MoveItem('finditem','all',VendorBankID)
    wait(500)
    uo.WaitTargetObject('finditem')
    uo.Say('price ' + STR(price))
    wait(500)
    uo.FindType(tItem,'-1','From')
  until uo.FindCount() == 0
end sub
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Dragon World

Крафтим браслеты маны в большом кол-ве. Реагенты при себе- инги и кости в сундуке.

Code: Select all

sub bras_mana()
  var Sunduk = '0x4006B0CE' # Где лежат инги и кости
  var tIng = '0x1BE9'
  var cIng = '0x0000'
  var tBone = '0x0F7E'
  var tInst = '0x1EBC' # Тип инструмента
  var k, Exit
 
  Exit = 0
  repeat
    uo.FindType(tIng,cIng,'backpack')
    if uo.FindCount() < 0 OR uo.GetQuantity('finditem') < 15 then
      uo.FindType(tIng,cIng,Sunduk)
      if uo.FindCount() > 0 and uo.GetQuantity('finditem') > 15 then
        uo.MoveItem('finditem','150')
        wait(1000)
      else
        Exit = 1
      end if
    endif
    uo.FindType(tBone,'-1','backpack')
    if uo.FindCount() < 0 OR uo.GetQuantity('finditem') < 100 then
      uo.FindType(tBone,'-1',Sunduk)
      if uo.FindCount() > 0 and uo.GetQuantity('finditem') > 100 then
        uo.MoveItem('finditem','200')
        wait(1000)
      else
        Exit = 1
      end if
    endif   
    uo.DeleteJournal()
    k = 0
    uo.WaitMenu('Tink','Magic','Magic','Brace')
    uo.UseType(tInst)
    repeat
      k = k + 1
      wait(100)
    until uo.InJournal('put') || uo.InJournal('fail') || (k>50)
  until Exit == 1
end sub
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Dragon World

Раскладываем части армора из мешка по мешкам в виде готовых фулов.

Code: Select all

sub MoveArmorItems()
  var SundukWithBag = '0x402D3FDC' #Сундук с пустыми сумками
  var SundukWithBRBag = '0x401E9F68' #Сундук куда складывать сумки с фулами
  var BagWithBR = '0x400E0DCD' #Сумка с частями фулов
  var tBag = '0x0E76' #Тип сумок в которые складывать
 
  DIM item[6]
 
  item[0]='0x1410'
  item[1]='0x1411'
  item[2]='0x1412'
  item[3]='0x1413'
  item[4]='0x1414'
  item[5]='0x1415'

  var i, Exit, bagSerial

  uo.UseObject(BagWithBR)
  wait(1000)
  uo.UseObject(SundukWithBag)
  wait(1000)
  uo.UseObject(SundukWithBRBag)
  wait(1000) 
  Exit = 0
  repeat
    uo.FindType(tBag,'-1',SundukWithBag)
    if uo.FindCount() then
      uo.MoveItem('finditem')
      wait(1000)
      bagSerial = uo.GetSerial('finditem')
      uo.UseObject(bagSerial)
      wait(1000)
    end if
    for i = 0 to 5
      uo.FindType(item[i],'-1',BagWithBR)
      if uo.FindCount() then
        uo.MoveItem('finditem','1',bagSerial)
        wait(1000)
      else
        uo.Print('There is not one of full part. Exit')
        Exit = 1
      endif
    next
    uo.MoveItem(bagSerial,'all',SundukWithBRBag)
    wait(1000)
  until Exit == 1
end sub
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Dragon World

Лечим дракона, указав его предварительно таргетом.

Code: Select all

Sub heal_drag()
  uo.AddObject('drag')
  while uo.Targeting()
    wait(100)
  wend
 
  repeat
    uo.DeleteJournal()
    uo.WaitTargetObject('drag')
    uo.UseType(0x0E21)
    repeat
      wait(100)
    until uo.InJournal('does not need') || uo.InJournal('put') || uo.InJournal('apply')
  until uo.InJournal('does not need')
end sub
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Re: То, что ищут многие...

Post by Scripts Writer »

Цикл скриптов для шарда PvP Alfa.
(Насколько хватит сил там играть)

Одевалка для человека/human.

Code: Select all

sub humka()
  # 0x0008 - Лама
  # 0x000B - 200 бинтов
  # 0x0012 - 3 сумки с бутылками
  # 0x000D - 2 сумки с регами
  # 0x0006 - 100 стрел

  # 0x0001 - Агапит фул

  DIM stone1[5]
 
  stone1[0]='0x0008'
  stone1[1]='0x000B'
  stone1[2]='0x0012'
  stone1[3]='0x000D'
  stone1[4]='0x0006'
 
  DIM stone2[1]
 
  stone2[0]='0x0001'
 
  var idStone1 = '0x4000b553'
  var idStone2 = '0x4000b44e'
  var Weight
  var i
 
  for i = 0 to 4
    Weight = uo.Weight
    uo.Recall(idStone1,stone1[i])
    repeat
      wait(100)
    until uo.Weight > Weight || uo.ObjAtLayer('Horse') <> '0x000000'
  next
  for i = 0 to 0
    Weight = uo.Weight
    uo.Recall(idStone2,stone2[i])
    repeat
      wait(100)
    until uo.Weight > Weight || uo.ObjAtLayer('Torso') <> '0x000000'
  next
  uo.Sayu('Scripts Writer (c)')
end sub
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Re: То, что ищут многие...

Post by Scripts Writer »

Code: Select all

sub TestScript()
 var nick='Dont Talk' # Ваш ник
 var i = 0
 repeat
  uo.fontcolor(i)
  uo.DeleteJournal()
  repeat
    wait(100)
  until uo.InJournal(nick)
  i = i + 1
 until uo.Dead()
end sub


Пишем каждое новое сообщение новым цветом.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: То, что ищут многие...

Post by Mirage »

так плохо - некоторые цвета не отображаются игрой - лучше задать массив с набором и брать из него.
5`p3n
Posts: 4
Joined: 2010-02-03 01:01:39

Re: То, что ищут многие...

Post by 5`p3n »

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

Re: То, что ищут многие...

Post by Mirage »

там никто не играет :twisted:

шутка.

Разве там чтото поменялось? Последний раз когда я там был там была стандартная сфера 55i со стандартным 2.0.3 клиентом и к ней подходили обычные скрипты.
5`p3n
Posts: 4
Joined: 2010-02-03 01:01:39

Re: То, что ищут многие...

Post by 5`p3n »

Mirage wrote:там никто не играет :twisted:

шутка.

Разве там чтото поменялось? Последний раз когда я там был там была стандартная сфера 55i со стандартным 2.0.3 клиентом и к ней подходили обычные скрипты.


как было так и осталось :) , насчет скриптов про них не знаю, так как их нету :oops:
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: То, что ищут многие...

Post by Mirage »

тут весь форум в скриптах для сферовых клиентов :)
5`p3n
Posts: 4
Joined: 2010-02-03 01:01:39

Re: То, что ищут многие...

Post by 5`p3n »

Mirage wrote:тут весь форум в скриптах для сферовых клиентов :)


но не факт что они еще подойдут :wink:
Post Reply