Если в бекпаке находит пустые бутылки, то достаёт из сундука кег и наливает из него все найденые в бекпаке пустые бутылки, после чего кидает кег назад в сундук.....
помогите с простеньким скриптом....
Moderators: Murderator+, Murderator
помогите с простеньким скриптом....
Кому не сложно - напишите такои простенький скрипт :
Если в бекпаке находит пустые бутылки, то достаёт из сундука кег и наливает из него все найденые в бекпаке пустые бутылки, после чего кидает кег назад в сундук.....
Если в бекпаке находит пустые бутылки, то достаёт из сундука кег и наливает из него все найденые в бекпаке пустые бутылки, после чего кидает кег назад в сундук.....
xzxzxz
Тип пустых бутылок :
0x0F0E
Тип кегов:
0x1940
Сообщения:
What potion would you like to fill the keg with?
You put the Invisibility in your pack.
*Это при удачном разливании*
What potion would you like to fill the keg with?
You can't use this yet!
*Это когда чтото мешает(например использующийся в этот же момент скилл медитации)*
П.С. Шард - Оском офри. Буду благодарен за помощь
0x0F0E
Тип кегов:
0x1940
Сообщения:
What potion would you like to fill the keg with?
You put the Invisibility in your pack.
*Это при удачном разливании*
What potion would you like to fill the keg with?
You can't use this yet!
*Это когда чтото мешает(например использующийся в этот же момент скилл медитации)*
П.С. Шард - Оском офри. Буду благодарен за помощь
xzxzxz
Ну вот, набросал. Тести:
Code: Select all
sub Keg()
VAR Sunduk = '' ; внести айди сундука с кегом
VAR Keg = '0x1940'
VAR Bottle = '0x0F0E'
VAR BottleSerial, k
UO.FindType( Bottle, -1, -1 )
If UO.FindCount() > 0 Then
UO.FindType( Keg, -1, Sunduk )
If UO.FindCount() = 0 Then
UO.Print('Potion Keg not found, script terminated!')
UO.Exec('terminate Keg')
EndIf
UO.Grab( '1', 'finditem' )
CheckLag()
While UO.Count( Bottle ) > 0
UO.DeleteJournal()
BottleSerial = UO.GetSerial( Bottle )
UO.WaitTargetObject( BottleSerial )
UO.UseType( Keg )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND NOT UO.InJournal('can't use this yet!') AND ( k < 30 )
k = k + 1
wait(500)
wend
Wend
UO.FindType( Keg, -1, -1 )
UO.Move('finditem', 0, Sunduk)
end subтак пробуйflake wrote:Ну вот, набросал. Тести:Code: Select all
sub Keg()
VAR Sunduk = '' ; внести айди сундука с кегом
VAR Keg = '0x1940'
VAR Bottle = '0x0F0E'
VAR BottleSerial, k
UO.FindType( Bottle, -1, -1 )
If UO.FindCount() > 0 Then
UO.FindType( Keg, -1, Sunduk )
If UO.FindCount() = 0 Then
UO.Print('Potion Keg not found, script terminated!')
UO.Exec('terminate Keg')
EndIf
UO.Grab( '1', 'finditem' )
CheckLag()
While UO.Count( Bottle ) > 0
UO.DeleteJournal()
BottleSerial = UO.GetSerial( Bottle )
UO.WaitTargetObject( BottleSerial )
UO.UseType( Keg )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND NOT UO.InJournal("can't use this yet!") AND ( k < 30 )
k = k + 1
wait(500)
wend
Wend
UO.FindType( Keg, -1, -1 )
UO.Move('finditem', 0, Sunduk)
end if
end sub
Ага, нашел ошибку.
Вот она:
Исправил, проверяйте.
Вот она:
Code: Select all
If UO.FindCount() = 0 ThenИсправил, проверяйте.
Code: Select all
sub Keg()
VAR Sunduk = '' ; внести айди сундука с кегом
VAR Keg = '0x1940'
VAR Bottle = '0x0F0E'
VAR BottleSerial, k
UO.FindType( Bottle, -1, -1 )
If UO.FindCount() > 0 Then
UO.FindType( Keg, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print('Potion Keg not found, script terminated!')
UO.Exec('terminate Keg')
EndIf
UO.Grab( '1', 'finditem' )
CheckLag()
While UO.Count( Bottle ) > 0
UO.DeleteJournal()
BottleSerial = UO.GetSerial( Bottle )
UO.WaitTargetObject( BottleSerial )
UO.UseType( Keg )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND NOT UO.InJournal("can't use this yet!") AND ( k < 30 )
k = k + 1
wait(500)
wend
Wend
UO.FindType( Keg, -1, -1 )
UO.Move('finditem', 0, Sunduk)
end if
end sub