Page 1 of 1

Blacksmithing! Подскажите как переделать!

Posted: 2012-05-11 15:37:28
by robchik
Как переделать этот скрипт что бы ковал из купера, потом переделать под олд купер и т.д.
Где менять и что нужно? Подскажите пожалуйста!

Code: Select all

sub Blacksmithing() 
var Exit=0, LastTimer 
while Exit<>1 
uo.DeleteJournal() 
LastTimer=uo.Timer() 
uo.WaitMenu('Blacksmithing','Weapons','Weapons','Swords','Swords','dagger') 
uo.UseType('0x1BF2') 
  
while not uo.InJournal('You put') and not uo.InJournal('You have failed') 
wait(500) 
wend 

if uo.InJournal('You have failed') then 
repeat 
wait(100) 
until uo.Timer()>=LastTimer+100 
end if 
repeat
UO.FindType('0x0F51',-1,'backpack')
If UO.GetQuantity('finditem') then
UO.WaitTargetObject('finditem')
UO.UseObject(0x4001E8E2) ; Форжа
wait(1250)
Endif
uo.FindType('0x1BF2',-1,'backpack') 
if uo.GetQuantity('finditem')<10 then 
uo.FindType('0x1BF2','0x0000','0x40016EBF') ;Cундук с ингами 
wait(2000) 
uo.Grab('100','finditem')
wait(200)
Endif 
wait(1500) 
wend    
end sub

sub Reconnector() 
var ReconnectTime, RFlag 
ReconnectTime = '0' 
RFlag = 1 
Repeat 
While (UO.ObjAtLayer('Bpack') == '') 
if RFlag Then 
ReconnectTime = MakeTime() 
RFlag = 0 
endif 
Wait(20000) # WorldSave Protection 
UO.Say('') 
Wait(3000) 
UO.Say('') 
Wait(3000) 
UO.Say('') 
Wait(3000) 
UO.LDblClick(357,164) 
UO.LClick(616,459) 
Wait(3000) 
WEnd 
Wait(3000) 
if (RFlag == 0) and (ReconnectTime <> '0') Then 
;UO.Exec('terminate all') 
;UO.Exec('exec autoload') 
UO.TextOpen() 
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime) 
RFlag = 1 
ReconnectTime = '0' 
endif 
Until false 
end sub 

sub MakeTime() 
VAR D, T, Ret, i 
Ret = STR(UO.Time()) 
T = "" 
For i = 0 To Len(Ret) 
T = Ret[Len(Ret)-i] + T 
If (I == 2) OR (I == 4) Then 
T = ":" + T 
EndIf 
Next 
Ret = STR(UO.Date()) 
D = "" 
For i = 0 To Len(Ret) 
D = Ret[Len(Ret)-i] + D 
If (I == 2) OR (I == 4) Then 
D = "." + D 
EndIf 
Next 
Ret = T + " @ " + D 
RETURN Ret 
end sub 

Re: Blacksmithing! Подскажите как переделать!

Posted: 2012-05-12 12:26:24
by robchik
Мучаю мучаю этот скрипт, ничего не получается =(.

Re: Blacksmithing! Подскажите как переделать!

Posted: 2012-05-12 12:49:42
by Mirage
Мучиться не надо. Надо менять всего 2 строки.

uo.WaitMenu('Blacksmithing','Weapons','Weapons','Swords','Swords','dagger')
uo.FindType('0x1BF2','0x0000','0x40016EBF') ;Cундук с ингами


в первой - у изделий из цветной руды обычно меню другое.
во второй 0x0000 замени на цвет нужных слитков.

Re: Blacksmithing! Подскажите как переделать!

Posted: 2012-05-12 13:12:36
by robchik
Именно в этих строках и изменял.
Mirage wrote: uo.WaitMenu('Blacksmithing','Weapons','Weapons','Swords','Swords','dagger')
в первой - у изделий из цветной руды обычно меню другое.
Здесь добовлял Rusty. Получалось примерно так:

Code: Select all

uo.WaitMenu('Blacksmithing','Rusty Weapons','Rusty Weapons','Swords','Swords','Rusty dagger') 
Mirage wrote: uo.FindType('0x1BF2','0x0000','0x40016EBF') ;Cундук с ингами
во второй 0x0000 замени на цвет нужных слитков.
Тут тоже изменил цвет

Code: Select all

uo.FindType('0x1BF2','0x0750','0x40016EBF')
Но всё равно ничего не делается.

Первая строка получается "Что изготавливать"
Вторая "Что доберать"

Re: Blacksmithing! Подскажите как переделать!

Posted: 2012-05-12 13:19:59
by Mirage
как именно "ничего не делает"?

Если запускаешь скрипт и он просто зависает - значит ошибка в меню. Там важен регистр букв и не важна полнота слов.
Если руками из Rusty слитков делается только оружие то можно писать

uo.WaitMenu('Blacksmithing','Rusty','Rusty','Swords','Swords','Rusty dagger')

А лучше вообще использовать цифры. Правда тогда если руды будет меньше определенного значения и меню изменится будут глюки.

Re: Blacksmithing! Подскажите как переделать!

Posted: 2012-05-12 13:52:11
by robchik
Запускаю скрипт и он "ничего не делает", делаю в ручную - появляется даггер в паке и он его плавит и дальше стоит.
Пробывал уже как Вы написали просто "Rusty" без "Weapons" - не помогает. (и не поможет т.к. появляется не только меню оружее).

Как цифрами пользоваться я не знаю и что это вообще такое.

Re: Blacksmithing! Подскажите как переделать!

Posted: 2012-05-12 14:29:26
by ZeroDX
Можно увидеть по скриншоту на каждом шаге меню?

Re: Blacksmithing! Подскажите как переделать!

Posted: 2012-05-12 15:01:33
by Juicy Fruit
Если сервер ДРВ - те в помощь:

Code: Select all

uo.cancelmenu()
uo.automenu('Blacksmithing','Colored')
uo.automenu('Colored','Rusty Weapons')
uo.automenu('Rusty Weapons','Rusty Swords & Blades')
uo.automenu('Rusty Swords & Blades','Rusty Dagger')
Или, проще былоб в начале указать название в переменной

Code: Select all

var craft_name='Rusty'
И в меню сунуть:

Code: Select all

uo.cancelmenu()
uo.automenu('Blacksmithing','Colored')
uo.automenu('Colored',craft_name+' Weapons')
uo.automenu(craft_name+' Weapons',craft_name+' Swords & Blades')
uo.automenu(craft_name+' Swords & Blades',craft_name+' Dagger')
Для дулл куппера и вроди для бронзы меню другие на ДРВ, этот скрипт для них не прокатит.

Re: Blacksmithing! Подскажите как переделать!

Posted: 2012-05-12 15:05:34
by Mirage
Ну вот и ответ
Dagger
Регистр ВАЖЕН.

Re: Blacksmithing! Подскажите как переделать!

Posted: 2012-05-12 19:29:11
by robchik
Спасибо. Сервер не ДРВ уже.
Попробую.