Yoko

All sides of Injection
It is currently 2024-10-05 21:33:00

All times are UTC+02:00




Post new topic  Reply to topic  [ 29 posts ]  Go to page 1 2 Next
Author Message
PostPosted: 2006-04-24 20:48:07 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Меню.

В этом уроке речь пойдёт о работе с меню(крафта),переодически появляющимися в повседневном мире уо.Разберу на конкретных примерах команды для работы ,а так же различные способы обрабатывания. Но сначала объясню "чайникам" на пальцах.

Меню - графический объект,содержащий в себе информацию, о возможном действии(превращении) над предметом. Другими словами:
1.Nightshade-предмет
2.Двойным кликом по реагенту, обрабатываем его и получаем долгожданное меню.
3.На большенстве шардов появится "рамочка с выбором" в верхнем левом углу(Меню крафта алхимии),теперь попродробнее как воплотить это в скриптах.



uo.WaitMenu('Заголовок','Выбор'['Заголовок2','Выбор2'])

Команда uo.WaitMenu содержит в себе информацию, по которой Injection будет посылать ответы при появлении того или иного меню.Сервер выдал меню- а инжект уже сам распорядился куда ему надо зайти и что скрафтить.

Заголовок -название самого меню,обычно пишется в верхней части меню.

Выбор -то что крафтим,или в какое следующее меню переходим из предыдущего.

Приведу несколько примеров:

Алхимия.
Code:
sub Alchemy()
var garlick=' type '
  uo.WaitMenu('What sort of potion do you want to','Cure')
  uo.UseType(garlick)
end sub


В скрипте на алхимию,в уо при х2 клике на гарлик, появится меню которое обработает команда uo.WaitMenu -заглавием меню будет What sort of potion do you want to а выбором Cure

Инскрипт.
Code:
sub Inscription()
var blanc=' type '
  uo.WaitMenu('Spell Circle','First Circle','Spell Circle 1','Magic')
  uo.UseType(blanc)
end sub



Заглавие Spell Circle Выбор First Circle Заглавие второго меню Spell Circle 1 Выбор во втором меню Magic Arrow

Тинкер.
Code:
sub Tinkering()
var tools=' type '
  uo.WaitMenu('Tinkering','Tools','Tools','empty bottle')
  uo.UseType(tools)
end sub


Заглавие Tinkering выбор Tools заглавие Tools выбор empty bottle

Думаю хватит об этом, уже должно было зарубиться на носу,-приступим к следующей команде, которая разобьёт uo.WaitMenu на uo.AutoMenu ...

uo.AutoMenu (' Заголовок ',' Выбор ')
uo.AutoMenu (' Заголовок2 ',' Выбор2 ')

Принцип этой команды остаётся тем же, как и uo.WaitMenu , только она разбита на несколько пунктов.Приведу несколько примеров с теми же скриптами:

Code:
sub Tinkering()
var tools=' type '
  uo.CancelMenu()
  uo.AutoMenu('Tinkering','Tools')
  wait(500)
  uo.AutoMenu('Tools','empty bottle')
  wait(500)
  uo.UseType(tools)
end sub

Code:
sub Alchemy() 
var garlick=' type '
  uo.CancelMenu()
  uo.AutoMenu('What sort of potion do you want to','Cure')
  uo.UseType(garlick)
end sub

Code:
sub Inscription() 
var blanc=' type '
  uo.CancelMenu()
  uo.AutoMenu('Spell Circle','First Circle')
  wait(500)
  uo.AutoMenu('Spell Circle 1','Magic')
  uo.UseType(blanc)
end sub


Между AutoMenu разумно будет использовать паузу, дабы уменьшить вероятность сбивания скрипта.
А чтобы свести вероятность сбивания скрипта к нулю, перед меню ставим uo.CancelMenu -команда,которая уберёт все лишние меню, которые могут появиться в результате игрового процесса(ворлд сейвов и лаг).

Ну вобщемто и всё,напоследок лишь скажу что оформлять Выбор можно как:

а)
Code:
(1),(2),(3)
... Цифрой, в порядке которой стоит нужный вам выбор, допустим:

Алхимия. Вам нужен Potion, который получается при двойном клике на 2ую менюшку, в порядке слева-направо:

Code:
uo.WaitMenu('What sort',(2))


Если у вас в меню будут стоять: Lesser Poison , Poison , Deadly Poison , то поставив (3) -вы сварите Deadly Poison. Думаю понятно.

б)
Code:
(first),(second)
...

Аналогично, только не цифрами а английскими числительными (первое,второе)

в)
Code:
(last) 


Повторяем выбор предыдущего Potion'a

г)
Code:
(random) 


Injection сам выберет за вас,что ему сварить.

-----------------------------------------------------------------
Если что то забыл-добавьте. Сори за ошипки.


Top
   
 Post subject:
PostPosted: 2006-04-25 06:42:30 
Offline
Expert!
User avatar

Joined: 2005-01-07 13:22:19
Posts: 766
мясуешь


Top
   
 Post subject:
PostPosted: 2006-04-26 14:00:08 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Маздаю респект :arrow: ...


Last edited by Sanch on 2006-04-26 14:56:56, edited 1 time in total.

Top
   
 Post subject:
PostPosted: 2006-04-26 14:05:26 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Sanch wrote:
Маздаю респект, узнал кое что новое для себя, но имхо инфа оч поверхностная, описаны самые простые действия с гампами, неплохо было бы если работа с тем же самым рунбуком через инж была описана от и до, зарание благодарю.


дело в том что гампы это 7 урок =)


Top
   
 Post subject:
PostPosted: 2006-04-26 14:55:04 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Сори ступил, мне почему то показалась что это как то имеет отношение к гампам, а когда 7ой бут готов? :wink:


Top
   
 Post subject:
PostPosted: 2006-04-26 19:22:01 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Sanch wrote:
Сори ступил, мне почему то показалась что это как то имеет отношение к гампам, а когда 7ой бут готов? :wink:


Вот этот вопрос уже к настоящим экспертам =) на этом уроке увы мой потенциал иссяк )

п.с. дестр,едред,флейк , ждём продолжения совместного дела =)


Top
   
 Post subject:
PostPosted: 2006-05-09 09:23:22 
Offline
User avatar

Joined: 2005-08-18 09:09:18
Posts: 104
Location: RUSSIA
А с трекингом как это провернуть?

You Must Die:
Code:
sub Track()
  uo.WaitMenu('Tracking','Players')
  uo.UseSkill('Tracking')
end sub



Спасибо.

_________________
-=^NOVA RunUO 2 Server^=-
www.nova-uo.com
сферовское ПВП
IRC Server: irc.netbynet.ru; канал: #nova


Top
   
 Post subject:
PostPosted: 2006-06-09 01:37:07 
Offline
User avatar

Joined: 2005-07-10 21:53:05
Posts: 457
Небольшая поправка к уроку, вот пример правильного использования UO.AutoMenu()

Code:
sub Tinkering()
; чистим ловушки
   UO.CancelMenu()
; ставим ловушку.
   UO.AutoMenu('Tinkering','Tools')
   UO.AutoMenu('Tools','empty bottle')

   repeat
    UO.DeleteJournal()
      UO.UseType(tools)
      repeat
         wait(500)
      until UO.InJournal("false|true")
   until UO.Dead()
; чистим ловушки, иначе проблемы с менюхами обеспеченны
   UO.CancelMenu()
end sub


Top
   
 Post subject:
PostPosted: 2007-03-28 13:54:05 
Offline
User avatar

Joined: 2005-04-05 04:13:24
Posts: 139
Location: DRW
вот такой вопросик.. решил все-таки научиться писать скрипты... для себя, да и чтоб просто знать, вас не достовать особо.. да и другим по возможности помочь. так вот: где уроки с 7 по 10? и если не сложно подскажите где еще можно инфы найти?! :) спасибо за внимание


Top
   
 Post subject:
PostPosted: 2007-03-28 14:38:13 
Offline
User avatar

Joined: 2007-03-24 08:12:51
Posts: 188
stickman wrote:
вот такой вопросик.. решил все-таки научиться писать скрипты... для себя, да и чтоб просто знать, вас не достовать особо.. да и другим по возможности помочь. так вот: где уроки с 7 по 10? и если не сложно подскажите где еще можно инфы найти?! :) спасибо за внимание

лучшая инфа это: взять какойнить адский скрипт с инструкцией взять карандаш и посторчно напротив каждой строчки писать что каждая строка делает если ты так сделаешь ты будешь уже среднячок я так и освоил инжект с первого раза это лучший урок а все остальное потом придет уж поверь :wink:


Top
   
 Post subject:
PostPosted: 2007-03-28 15:10:59 
Offline
User avatar

Joined: 2005-04-05 04:13:24
Posts: 139
Location: DRW
адский скрипт эт чтот вроде мининга или ламбера?))
но все ж хорошо было бы найти эти уроки, пригодятся
а так ща могу койче подправить в скрипте для себя, в несложных исправить чтото если не работает..чтото легкое написать. но хочу идти дальше!


Top
   
 Post subject:
PostPosted: 2007-03-28 15:12:15 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
? wrote:
stickman wrote:
вот такой вопросик.. решил все-таки научиться писать скрипты... для себя, да и чтоб просто знать, вас не достовать особо.. да и другим по возможности помочь. так вот: где уроки с 7 по 10? и если не сложно подскажите где еще можно инфы найти?! :) спасибо за внимание

лучшая инфа это: взять какойнить адский скрипт с инструкцией взять карандаш и посторчно напротив каждой строчки писать что каждая строка делает если ты так сделаешь ты будешь уже среднячок я так и освоил инжект с первого раза это лучший урок а все остальное потом придет уж поверь :wink:

Адский способ! Проще выучить паскаль на уровне школьника (с пониманием дела). Тогда каждый следующий язык будет освоить все проще и проще!

_________________
DerMeister сейчас на нейрале!


Top
   
 Post subject:
PostPosted: 2007-03-28 15:45:54 
Offline
User avatar

Joined: 2005-04-05 04:13:24
Posts: 139
Location: DRW
ок. возмемся за паскаль) я раньше программил на VB


Top
   
 Post subject:
PostPosted: 2007-03-28 16:07:40 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
stickman wrote:
ок. возмемся за паскаль) я раньше программил на VB

А, ну фигле, в инжекте вродеб простейший бейсик. А паскаль тебе поможет стелсом овладеть - классная штука ;)

_________________
DerMeister сейчас на нейрале!


Top
   
 Post subject:
PostPosted: 2007-03-28 17:11:03 
Offline
User avatar

Joined: 2007-03-24 08:12:51
Posts: 188
ну в общем суть одна а толкований много а уроки полезно потом прочитать чтобы красиво програмировать :) точнее улучшить стиль :wink:


Top
   
 Post subject:
PostPosted: 2007-07-07 10:16:03 
Offline
User avatar

Joined: 2006-05-12 08:03:45
Posts: 223
Паскаль - который поможет... гхмм... овладеть классной штукой - стелсом, VB, простейший бейсик...
Вы конечно всё знаете-понимаете, а мне это ни о чём не говорит.
Что такое:
* VB - VisualBasic что-ли?. Так по-моему это, как кто-то, когда-то мне сказал, - язык "высшего" программирования(есть простейшие, а есть сложные т.е. - "высшие" :wink: ).
* стелс - стелс-клиент?
* простейший бейсик - это который, как на ZX-Spectrum или как на... этих... как их... типа "Электроника" - вобщем русская ЭВМ?
Ни Чего Не Понимаю.
Туплю наверное... :(
Старею... :mrgreen:


Top
   
 Post subject:
PostPosted: 2008-11-01 10:56:07 
Offline
User avatar

Joined: 2006-05-12 08:03:45
Posts: 223
Недавно осознал истинный смысл AutoMenu. :)
Суть такова - при помощи этой функции Вы "вбиваете поумолчанию" последовательность определённых действий. Иными словами достаточно "одноразового применения".
Пример:
Code:
sub main()
uo.automenu('Tools','empty bottle') ;"Превым вошёл - последним вышел."
uo.automenu('Tinkering','Tools')
bs() ; Собственно дальше он и будет "работать", а main() прекратит использоваться
end sub

sub bs()
while uo.count(ingot) > 2 ; Пока Иготов больше двух
 ws()
   UO.DeleteJournal()
    UO.usetype(tint) ;Используем TinkerTools
while not uo.injournal("You put the") and not uo.injournal("Tinkering failed.")
wait(100)
wend
CheckLag()
wend
uo.cancelmenu() ; Перед завершением работы скрипта, "почистим".
end sub

Sub ws() ; Проверка на World save
 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
CheckLag()
end sub

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


Возник вопрос для чего main() и bs()? Для наглядности. :)

_________________
Играю на drw.ru
Использую инжект 505.18 VeNd0r
Начинающий скриптер.


Top
   
 Post subject:
PostPosted: 2008-12-24 12:59:43 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Истинный смысл автоменю не только в его автоматности, но и ещё в глубине вложения. Вайтменю может совершить только три вложения, то есть три последовательных меню обработать. Автоменю может больше трёх. Пример, если ещё не поменяли, на дрв крафт цветных арморов.


Top
   
 Post subject:
PostPosted: 2009-10-21 23:52:13 
Offline

Joined: 2009-09-01 20:01:00
Posts: 15
люди, обьясните пожалуйста, где я тут ошибку делаю:
Code:
sub Blacksmithing()
   UO.WaitMenu('Blacksmithing','Colored Armors & Weapons','Dull Copper Ringmail','Dull Copper Ringmail Gloves')
   uo.UseType(0x1BEF)
end sub

это блаксмити из дул купера. пишет meny choise not found
помогите, а то голова уже начинает болеть... вроде всё правильно пишу...


Top
   
 Post subject:
PostPosted: 2009-10-22 11:45:13 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Разве после выбора
Code:
Colored Armors & Weapons
в следующем меню заголовок
Code:
Dull Copper Ringmail
а не заголовок
Code:
Colored Armors & Weapons
и выбор в меню
Code:
Dull Copper Ringmail
?


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 29 posts ]  Go to page 1 2 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited