Page 1 of 1

первый раз пишу скрипт, подскажите

Posted: 2007-12-11 15:14:58
by Cat
sub alhim()
UO.usetype(0x0E9B) \ тыкаем на пестик появляется прицел
UO.Exec("waittargetobject 0x4ACA18FD") \ выбираем реагент NightShade, не знаю как зделать по типу
UO.WaitMenu('Deadly_Poison') \ и нифига не выбирается говорит 4то надо promt, указываю( Select a potion to make) выдает ошибку
end sub

Posted: 2007-12-11 15:17:19
by Cat
может можно как-нибудь не указывать prompt ?

Re: первый раз пишу скрипт, подскажите

Posted: 2007-12-11 21:22:39
by Destruction
Cat wrote:sub alhim()
UO.usetype(0x0E9B) \ тыкаем на пестик появляется прицел
UO.Exec("waittargetobject 0x4ACA18FD") \ выбираем реагент NightShade, не знаю как зделать по типу
UO.WaitMenu('Deadly_Poison') \ и нифига не выбирается говорит 4то надо promt, указываю( Select a potion to make) выдает ошибку
end sub

Тоже самое, но без грамматических ошибок:

Code: Select all

sub alhim()
   uo.WaitTargetObject( "0x4ACA18FD" )
   uo.WaitMenu( 'Select a potion to make', 'Deadly_Poison' )
   uo.UseType( "0x0E9B" )
endsub


Попробуйте сделать выводы.

Re: первый раз пишу скрипт, подскажите

Posted: 2007-12-12 08:51:10
by Cat
Destruction wrote:
Cat wrote:sub alhim()
UO.usetype(0x0E9B) \ тыкаем на пестик появляется прицел
UO.Exec("waittargetobject 0x4ACA18FD") \ выбираем реагент NightShade, не знаю как зделать по типу
UO.WaitMenu('Deadly_Poison') \ и нифига не выбирается говорит 4то надо promt, указываю( Select a potion to make) выдает ошибку
end sub

Тоже самое, но без грамматических ошибок:

Code: Select all

sub alhim()
   uo.WaitTargetObject( "0x4ACA18FD" )
   uo.WaitMenu( 'Select a potion to make', 'Deadly_Poison' )
   uo.UseType( "0x0E9B" )
endsub


Попробуйте сделать выводы.


Спасибо дело пошло :)
Но не могу не где найти 4то нужно прописать 4тоб он дедлал тотлы пока не закончаться реагенты?

Posted: 2007-12-12 09:06:33
by Cat
И вот такой вот вопрос еще, на моем шарде нельзя слишком много предметов иметь у себя в бек паке ограничение 100
как сделать 4тоб выкидывать готовые бутылки в сундук? 4его то он не хо4ет с такой вставкой это делать :(

VAR FullBottle = '0x0F0C' \\ Тип дедла
VAR Sunduk = '0x4016E8B3' \\ Сериал сундука

if UO.Count( FullBottle ) > 0 then \\ Сгружаем полные бутылки
UO.FindType( FullBottle, -1, -1 )
UO.MoveItem( 'finditem', 0, Sunduk )
wait( 1000 )
end if

Posted: 2007-12-12 10:18:08
by Destruction
1. Обратите внимание на третий аргумент FindType и попробуйте явно указать, где нужно вести поиск.

2. Посмотрите мой первый ответ ещё раз и попробуйте сделать вывод насчёт кавычек. Если вкратце - все функции которые возможно использовать из "командной строки" - корректно понимают только строковые аргументы.

3. Смотрите в сторону циклов. Например while <условие> крафтим wend, т.е. конкретно:

Code: Select all

while uo.count( "0x0000" )
 ; some code
wend


4. Что будет с вашей мувилкой, если сервак лаганёт секунды на три? - Незнаете? - Я тоже. Что делать? - checklag.

Posted: 2007-12-12 14:51:28
by Cat
Ну все тотлы варит и пустой выкидывает
С циклом так полу4ается или нет? а то он мне 4е то сразу же УО крашит.

Sub alhim()
VAR FullBottle = '0x0F0A'
VAR Sunduk = '0x4AC45FF7'
#While
uo.WaitTargetObject( "0x4ACA18FD" )
uo.WaitMenu( 'Select a potion to make', 'Deadly_Poison' )
uo.UseType( "0x0E9B" )
if UO.Count( FullBottle ) > 0 then
UO.FindType( FullBottle, -1, -1 )
UO.MoveItem( 'finditem', 0, Sunduk )
wait( 1000 )
end if
#Wend
endsub

Posted: 2007-12-12 15:17:31
by Destruction
1. Нужна пауза после крафта.
2. while true например.

Posted: 2007-12-15 01:29:42
by ZeroDX
Где-то так надо =)

Code: Select all

sub alhim()
 Var FullBottle = '0x0F0A'
 Var Sunduk = '0x4AC45FF7'
 Var Message1 = 'You put'
 Var Message2 = 'fail'
  While true
    UO.WaitTargetObject( "0x4ACA18FD" )
    UO.WaitMenu( 'Select a potion to make', 'Deadly_Poison' )
    UO.UseType('0x0E9B')
    UO.DeleteJournal()
    Repeat
       Wait(100)
    Until UO.InJournal(Message1) or UO.InJournal(Message2)
    If UO.Count(FullBottle) > 0 then
      UO.FindType(FullBottle,' -1', 'backpack')
      UO.MoveItem('finditem', '0', Sunduk)
      Wait(1000)
    EndIf
  Wend
EndSub

Posted: 2007-12-15 13:20:04
by Scripts Writer
ZeroDX wrote:Где-то так надо =)

Code: Select all

sub alhim()
 Var FullBottle = '0x0F0A'
 Var Sunduk = '0x4AC45FF7'
 Var Message1 = 'You put'
 Var Message2 = 'fail'
  While true
    UO.WaitTargetObject( "0x4ACA18FD" )
    UO.WaitMenu( 'Select a potion to make', 'Deadly_Poison' )
    UO.UseType('0x0E9B')
    UO.DeleteJournal()
    Repeat
       Wait(100)
    Until UO.InJournal(Message1) or UO.InJournal(Message2)
    If UO.Count(FullBottle) > 0 then
      UO.FindType(FullBottle,' -1', 'backpack')
      UO.MoveItem('finditem', '0', Sunduk)
      Wait(1000)
    EndIf
  Wend
EndSub


Динамическую в цикл until и лучше еще таймер добавить надо, + добор регов, бутылок, еду