памагите со скриптом ктонить

Ask for help

Moderators: Murderator+, Murderator

Post Reply
D
Posts: 18
Joined: 2004-11-12 22:33:06

памагите со скриптом ктонить

Post by D »

реконектор , когда изпитал у меня поевилос праблема такая што после дисконекта скрипт боукрафтинга заканчиваетса сам , я паставил в autostart() строики

Wait (10000)
bowcraft()

он типо после реконеткта должен заново начать скрипт на бовкрафт не так ли ? так вот скрипт наченаетса заново но всегда он сразу заканчиваетса патамушто типо не может наити логи в сундучке хатье ани там , если я пашевелюс и тогда скрипт запушу тогда он поидот нормально . может инэкт надо както абнавить после реконетка? памагите ктонить я сам не чиво в етом не сображаю и времини тоже много нету .

каму лень ити смотреть скрипт на боукрафт :

#####################################################################
; Bowcraft. v.1.03b (c) Edred
;
; Чар берет из сундука логи, крафтит из них шафты
; и складывает эти шафты в этот же сундук.
; Если логи закончились - выход.
; Если даггер (или что вы там используете) сломался -
; скрипт найдет аналогичный по типу в бэкпаке и возьмет
; в руки.
;
; 1.03b: Проверка, если Kolvo = 1, то берем три и кладем обратно два
; лога.
;
sub bowcraft()
VAR Sunduk = '0x4000F564' ; Сериал сундука
VAR Logi = '0x1BDD' ; Тип логов
VAR Shafts = '0x1BD4' ; Тип шафтов
VAR Kolvo = 10 ; Брать логов для одного крафта
VAR k = 0, j, dagger
dagger = UO.ObjAtLayer( 'Rhand' )
UO.SetGlobal( 'instrtype', UO.GetGraphic( dagger ) )
While TRUE
UO.FindType( Logi, -1, Sunduk ) ; Ищем логи в сундуке
If UO.FindCount() == 0 Then
UO.Print("Logs not found, script terminated")
return
else
j = UO.GetQuantity( 'finditem' )
If j > Kolvo Then
UO.Print( 'I can use ' + str( j ) + ' logs' )
else
UO.Print( "I can't use " + str( j ) + " logs" )
return
Endif
Endif
If Kolvo == 1 Then
; v. 1.03
UO.Grab( '3', 'finditem' )
wait(500)
UO.FindType( Logi )
UO.MoveItem( 'finditem', '2', Sunduk )
wait(500)
Else
UO.Grab( Str( Kolvo ), 'finditem' )
wait(500)
Endif
; А это - динамическая пауза на мув
while UO.Count( Logi ) < Kolvo
wait(100)
wend
; проверка на то, что в руках по-прежнему даггер
If CheckInstr() == 0 Then
UO.Print("You don't have daggers!" )
return
Endif
UO.DeleteJournal()
UO.CancelMenu()
UO.WaitMenu ('What do you want to carve', 'shaft' )
UO.WaitTargetType( Logi )
UO.UseObject( dagger )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 50 )
k = k + 1
wait(300)
wend
If UO.Count( Shafts ) > 0 then
UO.FindType( Shafts, -1, -1 )
UO.MoveItem( 'finditem', 0, Sunduk )
wait(500)
while UO.Count( Shafts ) > 0
wait(100)
wend
UO.Print( 'Shafts moved' )
Endif
Wend
end sub

Sub CheckInstr()
; проверим, есть ли в правой руке инструмент того же
; типа, что и в глобальной переменной instrtype
; если нет - найдем в бэкпаке такой инструмент и
; возьмем в правую руку.
VAR typ = UO.GetGlobal( 'instrtype' )
VAR cur = UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) )
If typ == cur Then
return 1
Endif
UO.FindType( typ )
If UO.FindCount() == 0 Then
return 0
Endif
UO.Equip( 'RHand' , 'finditem' )
wait(1000)
return 1
endsub


скрипт на реконект :

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


бутье дабри памагитье
и есть у каво скрипт штоби чар сам кушал от сундычка или проста с бекпака когда голодний ?
SpiritFC
Posts: 27
Joined: 2004-10-27 23:28:21

Post by SpiritFC »

Может я чтонить не так скажу так ака начинающий но ттрабла помоему это в сериале сундука так как он всегда помоему если я неичего не путаю разны после каждого захода в игру
мне кажется лучше если в обжектах пробьёшь его и будешь перекладывать в обжект а не в сериал

хотя может непомочь

а ещё есть безумная идея это добавить поиск сундука и в него уже складывать впринципе ничего сложного в теории =)) но на практике........... честно скажу непробовал
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Re: памагите со скриптом ктонить

Post by Edred »

D wrote:реконектор , когда изпитал у меня поевилос праблема такая што после дисконекта скрипт боукрафтинга заканчиваетса сам , я паставил в autostart() строики

Wait (10000)
bowcraft()

он типо после реконеткта должен заново начать скрипт на бовкрафт не так ли ? так вот скрипт наченаетса заново но всегда он сразу заканчиваетса патамушто типо не может наити логи в сундучке хатье ани там , если я пашевелюс и тогда скрипт запушу тогда он поидот нормально . может инэкт надо както абнавить после реконетка? памагите ктонить я сам не чиво в етом не сображаю и времини тоже много нету .


Честно говоря, ни слова не понял в твоем письме, поэтому и помочь не смогу. Попытайся написать все то же самое, но немного более грамотно.
NetAndrey
Posts: 20
Joined: 2004-09-12 08:36:11

Post by NetAndrey »

Если я правильно тебя понял, для того чтобы логи находилися, надо после входа в УО хоть раз открыть ентот сундук, как ты это сделаешь сам или в скрипте не важно. Можешь, например, прописать две строки в скрипте
Вставь:
VAR k = 0, j, dagger ; под этой строчкой вставь

uo.useobject(Sunduk) ;эти две строки ты должен прописать
wait(1000) ;эти две строки ты должен прописать

dagger = UO.ObjAtLayer( 'Rhand' )

Надеюсь поможет и выражайся набудущее яснее.
D
Posts: 18
Joined: 2004-11-12 22:33:06

Post by D »

спассибо агромное
D
Posts: 18
Joined: 2004-11-12 22:33:06

Post by D »

спасибо агромное , праститье за ашибки я через транслит пишу нету рускои клавиши
Post Reply