Здравствуйте, гость ( Вход | Регистрация )

2 страниц V < 1 2  
Ответить в эту темуОткрыть новую тему
> sub ()
kklej
сообщение 9.2.2015, 16:59
Сообщение #21


******

Группа: Пользователи
Наличность: 14775
Пользователь №: 13.346



сейчас глюк поймал весомый с уокитом.

ну эт выводит на экран сообщение "Копаем..."

ещё наверное лучче в переменные кирку закинуть!

Код
uo.print('Select pickaxe')
uo.exec('addobject Shovel')
while uo.targeting()
wait(100)
wend
а не так!

Чтобы перс прилетал и не тыкал на инструмент опять! А было прост - uo.useobject(pickaxe)

Я покодил и сделал так:
var pickaxe='0x0E85'
uo.UseType(pickaxe)

Вынес кирку!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 9.2.2015, 22:30
Сообщение #22


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8846
Пользователь №: 15.607



Цитата(kklej @ 9.2.2015, 14:59) *

сейчас глюк поймал весомый с уокитом.

ну эт выводит на экран сообщение "Копаем..."

ещё наверное лучче в переменные кирку закинуть!

Код
uo.print('Select pickaxe')
uo.exec('addobject Shovel')
while uo.targeting()
wait(100)
wend
а не так!

Чтобы перс прилетал и не тыкал на инструмент опять! А было прост - uo.useobject(pickaxe)

Я покодил и сделал так:
var pickaxe='0x0E85'
uo.UseType(pickaxe)

Вынес кирку!


Так держать!!!!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kklej
сообщение 10.2.2015, 0:28
Сообщение #23


******

Группа: Пользователи
Наличность: 14775
Пользователь №: 13.346



Аймед!!! (IMG:style_emoticons/default/biggrin.gif) Ну ты поможешь пожалуйста? Прост я уже запутался.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 10.2.2015, 1:56
Сообщение #24


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8846
Пользователь №: 15.607



Цитата(kklej @ 8.2.2015, 14:39) *

вот!
Код
sub maning()
var mx, my, mz, i, j, jor, ser, noto
Uo.exec("set norbcheck 1"); для рекола
uo.exec("set norbcalc 1"); тоже

na4alo:
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
UO.DeleteJournal()
for i = mx-4 to mx+4
for j = my -4 to my+4
ToHide()
UO.Print("Копаем в координатах: "+str(mx-i)+" "+str(my-j))
while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock") and not UO.InJournal("Iron Ore") and not UO.InJournal("Copper") and not UO.InJournal("Rusty Ore")
UO.DeleteJournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Useobject("Shovel")
while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock")
wait (500)
if uo.injournal("heavy") or uo.dead() then

endif
for jor = 0 to 9  
ser = uo.journalserial(jor)
noto = uo.getnotoriety(ser)
if noto <> 1 and noto <> 0 and not uo.injournal("elemental") then
if uo.waiting() then
uo.canceltarget()
endif


вот, если не трудно!


Как я тебе должен помогать, если ты даже нормально код не можешь скинуть?
Вот тут 2 while лупа начинается и хз где они заканчиваются.
Ты сначало разберись вообще чего ты хочешь.
Советую тебе начать с 0 вообще и использовать нужные куски кода в процессе.
Напиши на бумаге действия какие нужны в коде. Вот тебе пример.
Начинаем скрипт:
-чар проверяет наличие кирки и регов в бекпаке,
-если чего-то нехватает - берём нужное из сундука.
-летим в шахту
-хайдимся

и так далее...

Когда сделаешь всё это, что-бы оно логически сходилось на бумаге, тогда садись за код.
Сначало делаешь главный саб для запуска.
Потом разбивай каждый пункт, что на бумаге описал, на сабы.
Вставляешь вызов этих сабов в правильной последовательности в главный саб, - последовательность готова. Вот тебе пример:
Цитата
sub kachaemMagiju()
sub castFlameStrikeSelf()
sub healSelf
sub meditate
end sub

Дальше расписываешь каждый саб по отдельности и используешь уже имеющийся код. Там где не справляешься - выкладываешь код своего саба сюда - мы тебе помогаем.
Понятно? А то так как ты сейчас, кусок тут, кусок там... тебе никто не поможет. Заметь, я единственный кто тебе вообще отвечает, наверное не спроста.

Мираж тебе тоже выше пример давал как может архитектура скрипта выглядеть, попробуй по такой-же логике построить.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Mirage
сообщение 10.2.2015, 9:13
Сообщение #25


*******

Группа: Пользователи
Наличность: 0
Из: Иваново
Пользователь №: 13.089
Возраст: 35



На этом форуме очень много (а на yoko еще больше) скриптов на копание и на добычу в принцие. От тяжелых строк за тыщу до простых процедур - взял инструмент-долблю в ласттаргет.
Aimed прав, если у тебя нет четкого представления что ты хочешь чтобы скрипт делал + ты еще и такими канделябрами пишешь как человеки вообще могут тебе помочь?
Это же базовое программирование. Описывай по пунктам алгоритм:
Мне надо чтобы чар добрал инструменты взял тото и тото, перелетел в пещеру таким то образом (рунка, книга, откуда брать как кастовать), проверил тото и тото, начал копать там то и там то... Скрипт сам по волшебству сложится.
Начинай с простых процедур которые проверяются по отдельности.
Запустил процедуру - чар открыл сундук, взял кирку, взял ДВА реагента на перелет. Поправил чтобы брал три реагента. Все работает как надо. Запускаешь процедуру перелета. Перелетел - запускаешь копание. Выкопал, запускаешь возврат...
А потом будешь дописывать всякие свистелки перделки в виде проверок на перелет по GetX и GetY, решение антимакрос задач и прочее.


--------------------
Изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kklej
сообщение 19.2.2015, 1:16
Сообщение #26


******

Группа: Пользователи
Наличность: 14775
Пользователь №: 13.346



спс что помогаете. скажите ешо - зачем нужен трек мировых вещей? вы знали, что инжект чем то на яву-скрипт похожь? (IMG:style_emoticons/default/biggrin.gif) и ешр - все же как через меточку вернутца к субу, в котором идет начало копки?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Mirage
сообщение 19.2.2015, 8:53
Сообщение #27


*******

Группа: Пользователи
Наличность: 0
Из: Иваново
Пользователь №: 13.089
Возраст: 35



трек мировых вещей делает то за что его так обозвали - следит за вещами окружающими чара.
Без галки нельзя открывать контейнеры на земле, брать на прицел НПС или других игроков. Если предметов очень большое количество - как любят засирать себе дома некоторые личности - может привести к крашу. Ждя добычи она не нужна. Для убийства или обхода препятствий - нужна.
Как "врубатца к субу" я уже показал. Какой скрипт ты хочешь сделать опиши - покажут как это сделать.


--------------------
Изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kklej
сообщение 21.2.2015, 16:27
Сообщение #28


******

Группа: Пользователи
Наличность: 14775
Пользователь №: 13.346



спс. мне над следующее:

как ток перс воскресился, летит на метле к сундуку за инструментом, а потом обратно в пещеру и - начинаем копать! вот, гляньте пожалуйста!

мне надо правильно вставить реколл в шахту и чтобы опять начал копать!

что лучче сделать - суб новый для реколла в шахту и начало копки, или как то по другому?

вот, я сказал чего мне надо! подскажите пожалуйста.

хелп!

тут есть метка - na4alo:

Код
var Runebook2='0x403ADD4B' # Для рекола домой.
var Runenr='46' # Номер руны.
var Chest='0x404E5DF9' # Сундук с инструментами.
var helpX=1868 # Переменные без кавычек!
var helpY=50 # Переменные без кавычек!  

sub maning()
   var mx, my, mz, i, j, jor, ser, noto
   Uo.exec("set norbcheck 1"); для рекола
   uo.exec("set norbcalc 1"); тоже
   uo.print('Select pickaxe! ')
   uo.exec('addobject Shovel')
   while uo.targeting()
      wait(100)
   wend
   uo.print('Select Runebook! ')
   uo.exec('addobject Runebook')
   while uo.targeting()
      wait(100)
   wend

if not uo.getglobal('flagRes')=='1' then
      uo.exec('exec Resurrector')
      uo.setglobal('flagRes','1')
   endif

   na4alo:
   mx = UO.GetX("self")
   my = UO.GetY("self")
   mz = UO.GetZ("self")
   UO.DeleteJournal()
   for i = mx-4 to mx+4
      for j = my -4 to my+4
         while not UO.Hidden()
            UO.Warmode("0")
            uo.print("Hiding...")
            UO.UseSkill("Hiding")
            wait(4000)
         wend
         UO.Print("Dig in coordinates: "+str(mx-i)+" "+str(my-j))
         while not UO.InJournal("no ore here|location|far away|in rock|Iron Ore|Copper|Rusty Ore")
            UO.DeleteJournal()
            if uo.waiting() then
               uo.canceltarget()
            endif
            UO.Waittargettile("1341", str(i), str(j), str(mz))
            UO.Useobject("Shovel")
            while not UO.InJournal("You put|heavy|location|no ore|but fail|far away|in rock")
               wait (500)

               for jor = 0 to 9
                  ser = uo.journalserial(jor)
                  noto = uo.getnotoriety(ser)
                  if noto <> 1 and noto <> 0 and not uo.injournal("elemental") then
                     if uo.waiting() then
                        uo.canceltarget()
                     endif

                     loot()
                     wait(3000)
                     goto reccal
                  endif
               next
            wend
            if uo.weight > 650 then; Максимальный вес при котором домой с рудой
               goto end
            endif
         wend
         UO.DeleteJournal()
      next
   next
   goto na4alo
   end:
   if uo.waiting() then
      uo.canceltarget()
   endif
   uo.exec("recall Runebook 21"); home
   wait(10000)
   loot()
   wait(3000)
   reccal:
   uo.deletejournal()
   if uo.waiting() then
      uo.canceltarget()
   endif
   uo.exec("recall Runebook 94"); cave
   mx = UO.GetX("self")
   my = UO.GetY("self")
   wait(10000)
   if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
      goto reccal
   endif
   goto na4alo
end sub

sub loot()
   if uo.waiting() then
      uo.canceltarget()
   endif
   VAR a,Exit
   VAR UnloadCont='0x403B3732'
   DIM Ore[10]
Ore[0]=0x19B9; 4 and more ore
Ore[1]=0x19B7; 1 ore
Ore[2]=0x19BA; 2 ore
Ore[3]=0x19B8; 3 ore
Ore[4]=0x0F15; citrine
Ore[5]=0x0F26; a diamond
Ore[6]=0x0F18; turmalin
Ore[7]=0x0F10; emerald
Ore[8]=0x0F11; saphire
Ore[9]=0x0F0F; star saphire
Ore[10]=0x0F16; ametist
   UO.SetReceivingContainer(UnloadCont)
   wait(500)
   For a=0 to 10
      Exit=0
      repeat
         UO.FindType(Ore[a])
CheckLag()
         if UO.GetQuantity('finditem')>0 then
            UO.Grab('0','finditem')
            wait(1500)
         Else
            Exit=1
         endif
      until Exit==1
   Next
   UO.UnSetReceivingContainer()
end sub

sub checklag()
   repeat
      UO.DeleteJournal()
      UO.Click('backpack')
   until backpack()==1
endsub
sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('a backpack') then
         return 1
      endif
      wait(200)
   next
endsub

sub GetPickaxe()
   var n
   dim instrument[4]
   instrument[1]='0x0F39'
   instrument[2]='0x0F3A'
   instrument[3]='0x0E86'
   instrument[4]='0x0E85'
   if uo.count('0x0F39')==0 and uo.count('0x0F3A')==0 and uo.count('0x0E86')==0 and uo.count('0x0E85')==0 then
      for n=1 to 4
         uo.findtype(instrument[n],-1,Chest)
         if uo.findcount() then
            pickaxe=uo.getserial('finditem')
            uo.moveitem('finditem',0,'backpack')
            checklag()
            wait(700)
            return
         endif
      next
   else
      for n=1 to 4
         uo.findtype(instrument[n],-1,'my')
         if uo.findcount() then
            pickaxe=uo.getserial('finditem')
            return
         endif
      next  
   endif
   while 1
      uo.print(' pickaxe not found ')
      wait(3000)
   wend
endsub

sub Open(what)
   uo.useobject(what)
   checklag()
   wait(700)
endsub



Код
sub Rekolka() 
var mx, my
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
mx = UO.GetX("self")
my = UO.GetY("self")
UO.DeleteJournal()
uo.exec("recall Runebook 46")
wait(6500)

if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal
else
goto na4alo
endif
end sub
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kklej
сообщение 27.2.2015, 22:51
Сообщение #29


******

Группа: Пользователи
Наличность: 14775
Пользователь №: 13.346



спасиииб Мираж и Аимед!!! Вы попали (IMG:style_emoticons/default/biggrin.gif) в блокнотик добрых людей даа. Оказываетца всё было просто, надо было addobject выкинуть и через uo.recall делать штучки. Сейчас как ошпаренный всё делает (IMG:style_emoticons/default/biggrin.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V < 1 2
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 28.3.2024, 11:34
Designed by Nickostyle