скрипт на прокачку вар-скилов на менекене

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Дисконнект™
Posts: 10
Joined: 2006-02-22 21:25:31

скрипт на прокачку вар-скилов на менекене

Post by Дисконнект™ »

в общем в инже я нуб.
наваял тут это

Code: Select all

sub kykla()
uo.Exec('exec say_guards')
UO.Exec('set finddistance 2')
repeat
UO.FindType("0x1074","-1","ground")
wait(100)
UO.UseObject('finditem')
wait(5000)
   until false
end sub

sub say_guards()
repeat
uo.say ('guards')
wait(10000)
until false
end sub

в общем тут чар ищет манекен для прокачки и долбит его оружеем которое в руке. (короче просто ласт обжект на луп стоит.)
у нас на шарде на манекенах максимум до 60 можно прокачать.
и вот тут нужна ваша помошь.
помогите мне замутить автосмену девайса по достижению скила 60.
тоесть допустим в бэкпаке лежит катана, крисс и молоточек для БС (у нас на них тоже маза качается). ну и как он достиг 60 допустим сворды, катану убирает берет крисс и качает фенсинг.
мне не лень посмотреть за чаром, но просто на ночь не оставишь, т.к. скилл растет быстрее и к утру он просто стоит и ничего не делает.
заранее благодарен и надеюсь на вашу помошь
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Посмотри в топике с моим наследством (прилеплен), файл SkillUp.sc, там есть то, что ты ищешь. Точнее, там скрипты сами берут оружие из пака, если оно разрушится - берут новое. А запустить скрипты можно из другого скрипта просто по очереди. Скрипты работают до скилла в 60 или силы в 150 - второе условие отмени и будет тебе счастье.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Дисконнект™
Posts: 10
Joined: 2006-02-22 21:25:31

Post by Дисконнект™ »

Edred wrote:Посмотри в топике с моим наследством (прилеплен), файл SkillUp.sc, там есть то, что ты ищешь. Точнее, там скрипты сами берут оружие из пака, если оно разрушится - берут новое. А запустить скрипты можно из другого скрипта просто по очереди. Скрипты работают до скилла в 60 или силы в 150 - второе условие отмени и будет тебе счастье.
спасибо... тока я вот не нашел как запускать процедуру из процедуры :oops: я через арм\дизарм сделал смену дивов.... щас вот ошибки выискиваю:(
Дисконнект™
Posts: 10
Joined: 2006-02-22 21:25:31

Post by Дисконнект™ »

Code: Select all

sub smena_sword()
uo.disarm()
wait(1000)
uo.arm('katana')
wait(500)
uo.Exec('exec kykla')
while UO.SkillVal('Swordsmanship') > 59
UO.Exec('exec smena_fens')
wend
end sub

sub smena_fens()
uo.disarm()
wait(1000)
uo.arm('dagger')
wait(500)
while UO.SkillVal('Fencing') > 59
UO.Exec('exec smena_mace')
wend
end sub

sub smena_mace()
uo.disarm()
wait(1000)
uo.arm('hammer')
wait(500)
while UO.SkillVal('Mace Fighting') > 59
UO.Exec('terminate all')
wait(1000)
UO.Print('all skills already high. End script')
wend
end sub


sub kykla()
uo.Exec('exec say_guards')
UO.Exec('set finddistance 2')
repeat
UO.FindType("0x1074","-1","ground")
wait(100)
UO.UseObject('finditem')
wait(5000)
until false
end sub

sub say_guards()
repeat
if uo.life < uo.str then
uo.say ("guards")
wait(1000)
until false
end sub

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

Post by Edred »

Сорри, просто лень сегодня в чужом скрипте ковыряться, проще написать свой:

Code: Select all

sub Kukla()
; Писано на коленке. Не тестировалось
; v.1.00b, (c) Edred, 2006
;
   DIM Weapon[3]
   Weapon[0] = '0x143A'      ; Оружие для мейсы
   Weapon[1] = '0x0F51'      ; Оружие для фенсы
   Weapon[2] = '0x13FE'      ; Оружие для сворды
   DIM Skills[3]
   Skills[0] = 'Mace Fighting'   ; Точные названия скиллов
   Skills[1] = 'Fencing'
   Skills[2] = 'Swordsmanship'
   VAR Kukla = '0x1074'      ; Тип куклы
   VAR MaxSkill = 600      ; До какого скилла прокачка (*10)
   VAR flag = 1, i
   ; Ищем куклу
   UO.Set( 'finddistance', '2' )
   UO.FindType( Kukla, '-1', 'ground' )
   If UO.Findcount() == 0 Then
      UO.Print( 'kukla ne naydena!' )
      return
   Else
      UO.AddObject( 'Kukla', 'finditem' )
   Endif
   ; Работаем в цикле
   for i = 0 To 2
      While UO.SkillVal( Skills[i] ) < MaxSkill
         flag = GetDagger( Weapon[i] )
         If flag == 0 Then
            UO.Print( 'weapon not found!' )
            return
         Endif
         UO.UseObject( 'Kukla' )
         wait(4000)
         If UO.Life < 100 Then
            UO.SayU( 'Guards!' )
         Endif
      Wend
   Next
endsub

Sub GetDagger( Dagger )
   If UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) ) <> Dagger Then
      UO.FindType( Dagger )
      If UO.FindCount() == 0 Then
         return 0
      Endif
      UO.Equipt( 'Rhand', Dagger )
      wait(1000)
   Endif
   return 1
endsub
Last edited by Edred on 2006-06-16 13:01:52, edited 3 times in total.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Дисконнект™
Posts: 10
Joined: 2006-02-22 21:25:31

Post by Дисконнект™ »

сенк.... но там парсер эррор в 5 строчке.
в общем я понял где у меня ошибки были. надо максимальное значение *10 писать, а я просто написал+кое где терминаты добавил... щас вот тестю
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Code: Select all

   DIM Weapon[3] 
   Weapon[0] = '0x143A'      ; Оружие для мейсы
   Weapon[1] = '0x0F51'      ; Оружие для фенсы
   Weapon[2] = '0x13FE'      ; Оружие для сворды
   DIM Skills[3]
   Skills[1] = 'Mace Fighting'   ; Точные названия скиллов
   Skills[2] = 'Fencing'
   Skills[3] = 'Swordsmanship'
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Дисконнект™ wrote:сенк.... но там парсер эррор в 5 строчке.


Исправил.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Edred wrote:
Дисконнект™ wrote:сенк.... но там парсер эррор в 5 строчке.


Исправил.


Ничего ты не исправил :\
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

You Must Die wrote:Ничего ты не исправил :\


И что же, по твоему, я не исправил? Нумерацию элементов в массиве, которую забыл сразу, поправил. Причем правильно, в отличие от того, как предложил ты. Что еще? Я скрипт не тестил и не буду тестить (не играю уже год). Если кто-нить потестит и напишет еще о какой ошибке - посмотрю еще. Иначе - телепаты в отпуске.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Edred wrote:
You Must Die wrote:Ничего ты не исправил :\


И что же, по твоему, я не исправил? Нумерацию элементов в массиве, которую забыл сразу, поправил. Причем правильно, в отличие от того, как предложил ты. Что еще? Я скрипт не тестил и не буду тестить (не играю уже год). Если кто-нить потестит и напишет еще о какой ошибке - посмотрю еще. Иначе - телепаты в отпуске.


Не сомневаюсь что ты в инже больше меня знаешь, но разве массив значится через VAR? Или так тоже можно?

Code: Select all

   VAR Weapon[3] 
   Weapon[0] = '0x143A'      ; Оружие для мейсы
   Weapon[1] = '0x0F51'      ; Оружие для фенсы
   Weapon[2] = '0x13FE'      ; Оружие для сворды
   VAR Skills[3]
   Skills[0] = 'Mace Fighting'   ; Точные названия скиллов
   Skills[1] = 'Fencing'
   Skills[2] = 'Swordsmanship'
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

You Must Die wrote:Не сомневаюсь что ты в инже больше меня знаешь, но разве массив значится через VAR? Или так тоже можно?


Угу. На это внимание не обратил. Поправил.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Post Reply