Yoko

All sides of Injection
It is currently 2024-03-29 00:06:20

All times are UTC+02:00




Post new topic  Reply to topic  [ 28 posts ]  Go to page 1 2 Next
Author Message
 Post subject: Если рядом
PostPosted: 2015-03-25 16:45:52 
Offline

Joined: 2012-07-27 23:43:14
Posts: 249
Подскажите пожалуйста, как лучше организовать следующее. В общем надо перед реколом, если рядом элементал, то пьет инвиз и улетает. Если его рядом нету, то тогда не пьет!

Если у кого то есть такой кусочек, поделитесь пожалуйста! Для копки.


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-25 18:26:38 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Code:
if uo.findtype(elem_type, -1, 'ground', distance) then
   uo.usetpye(invis_type, invis_color)
   wait(200)
endif
Вставь тип элемента, дистанцию поиска, тип и цвет инвизки.
И ответь на это плиз)


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-25 19:33:43 
Offline

Joined: 2012-07-27 23:43:14
Posts: 249
отлиично!! то что надо даа. а вот вопрос: просто не все элементалы атакуют, только высоких руд. Как можно решить данную проблему?

узнал, по цвету.

Code:
sub checkcolor(obj)
   var n, c
   Dim color[14]
   color[1]='0x09DA'
   color[2]='0x0060'
   color[3]='0x0BA7'
   color[4]='0x09E6'
   color[5]='0x09B9'
   color[6]='0x09D3'
   color[7]='0x008F'
   color[8]='0x09EC'
   color[9]='0x09F0'
   color[10]='0x010F'
   color[11]='0x09A4'
   color[12]='0x0085'
   color[13]='0x08AF'
   color[14]='0x0028'
   c=uo.getcolor(obj)
   for n=1 to 14
      if c == color[n] then
         return 1
      endif
   next
endsub


только как вот привязать эти цвета к кусочку?


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-25 20:30:04 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
dubd wrote:
узнал, по цвету.

Code:
sub checkcolor(obj)
   var n, c
   Dim color[14]
   color[1]='0x09DA'
   color[2]='0x0060'
   color[3]='0x0BA7'
   color[4]='0x09E6'
   color[5]='0x09B9'
   color[6]='0x09D3'
   color[7]='0x008F'
   color[8]='0x09EC'
   color[9]='0x09F0'
   color[10]='0x010F'
   color[11]='0x09A4'
   color[12]='0x0085'
   color[13]='0x08AF'
   color[14]='0x0028'
   c=uo.getcolor(obj)
   for n=1 to 14
      if c == color[n] then
         return 1
      endif
   next
endsub



Елки палки, от куда это здесь? :shock: :shock: :shock:
Я писал эту функцию для себя и ни где ее не публиковал. Неужели кто-то написал тоже самое? :shock: :?: :?: :?:


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-25 22:24:22 
Offline

Joined: 2012-07-27 23:43:14
Posts: 249
я написал вчера этот скрипт с одного захода, добро пожаловать в наш клуб. Можете помочь пожалуйста.


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-26 08:16:52 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
dubd, могу помочь. Содержимое массива нумеруется с нуля, первый пункт будет:

Code:
Dim color[14]
   color[0]='0x09DA'


Последний соответственно под 13 номером.

Далее, цикл for должен выглядеть примерно так:

Code:
   for n = 0 to 13
      If c == color[n] then
         return 1
         n = 13
      end if
   next
   return 0


Далее, как соединить:
Пишешь проверку, если checkcolor = 1 то улетаем, ежели нет, то игнорим.

Как то так.

З.Ы. Я в этом клубе уже 9 лет, если что. :wink: :|


Last edited by Kynep on 2015-03-26 09:13:51, edited 1 time in total.

Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-26 08:34:15 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Else убери вообще
Return 0 перенеси за next и будет счастье)


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-26 09:13:09 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
Juicy Fruit wrote:
Else убери вообще
Return 0 перенеси за next и будет счастье)


Это я из старого скрипта скопировал. На работе свежих нет, но я стойко помню что там ретурн за некстом... а тут чета не стал редактировать. :lol:


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-26 10:04:24 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
На 15 инжекте все проще можно организовать. В папке инжекта создаешь файл autoload.cfg в него прописываешь следующий текст:

Code:
[Elem]
0x000E 0x09DA
0x000E 0x0060
0x000E 0x0BA7
0x000E 0x09E6
0x000E 0x09B9
0x000E 0x09D3

и тд. Тип и цвет без кавычек.

а в скрипте используется вот такой кусок без for
Code:
  if UO.FindList('Elem', 'ground', 18, -1, 1) then
   uo.usetpye(invis_type, invis_color)
   wait(200)
# ну и что там еще требуется совершить
  end if

в тип элементалей так же можно вписать тип человеков чтобы от них тоже сваливало.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-26 10:37:42 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Подгрузку файлика где потерял?))
У него при запуске автостарта это читается вроде бы. Хотя были предложения добавить нечто подобное автоматом, но пока что не реализовывал.


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-26 19:59:04 
Offline

Joined: 2012-07-27 23:43:14
Posts: 249
Спасибо за ответы!!

Можете пожалуйста подсказать проверку на checkcolor = 1 ? Мне именно надо - что если цвет совпадает - то пьет инвиз, если не совпадает то не пьет и просто улетает.if


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-26 20:03:25 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
dubd, checkcolor = 1 это же твоя функция. ты же сам ее написал... Если смог написать такое, то простую проверку if then напишешь еще быстрей.
Тебе же уже все разъяснили...

Ищем элема
Если нашел, то берем его ИД.
Далее по ИД проверяем цвет(color = checkcolor(elem))
Если color = 1 то реколимся, если нет, то ignore(elem).


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-26 20:23:04 
Offline

Joined: 2012-07-27 23:43:14
Posts: 249
я был в плохом состоянии, ничего не помню.

ну вот кусочек:

Code:
if uo.findtype(elem_type, -1, 'ground', distance) then
   uo.usetpye(invis_type, invis_color)
   wait(200)
endif


как правелно будет прикрепить?

я имею ввиду для старого инжекта. а не для нового с внесением в autoload elem'a.


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-26 21:38:00 
Offline

Joined: 2012-07-27 23:43:14
Posts: 249
спасибо есть контакт. только там двумя строчками не обойтись было.


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-27 09:28:46 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
вообщето именно двумя :) + 2 дополнительные для игнора.

вар 1:
в выносной функции надо дописать одну строку
Code:
   for n=1 to 14
      if c == color[n] then
         return 1
      endif
   next
   return 0

а в поиске сделать вот так
Code:
if uo.findtype(elem_type, -1, 'ground', distance) then
   if checkcolor('finditem') then
      uo.usetpye(invis_type, invis_color)
      wait(200)
   else
      UO.Ignore('finditem')
   endif
endif

вар2 даже короче. Не нужно выносных функций и игнорами баловаться не нужно. В шапке объявляешь массив цветов а в скрипте делаешь так:
Code:
for n=1 to 14
   if uo.findtype(elem_type, color[n], 'ground', distance) then
      uo.usetpye(invis_type, invis_color)
      wait(200)
      return ; выбьет из цикла
   endif
next

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-27 13:02:05 
Offline

Joined: 2012-07-27 23:43:14
Posts: 249
спасибо большое, очень пригодитца.


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-27 18:28:14 
Offline

Joined: 2012-07-27 23:43:14
Posts: 249
пле! с вариантом номер2 немного ошибку выдает - Variable undefined - N

Code:
for n=1 to 14
   if uo.findtype('elem_type', 'color[n]', 'ground', 'distance') then
      uo.usetype('invis_type', 'invis_color')
      wait(200)
      return ; выбьет из цикла
   endif
next


ошибка при улете на выгрузку возникает.


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-27 22:00:49 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Variable значит у тебя var переменная не объявдена.
Code:
 var n, c
   Dim color[14]
   color[1]='0x09DA'
   color[2]='0x0060'
   color[3]='0x0BA7'
   color[4]='0x09E6'
   color[5]='0x09B9'
   color[6]='0x09D3'
   color[7]='0x008F'
   color[8]='0x09EC'
   color[9]='0x09F0'
   color[10]='0x010F'
   color[11]='0x09A4'
   color[12]='0x0085'
   color[13]='0x08AF'
   color[14]='0x0028'
   c=uo.getcolor(obj)
   for n=1 to 14
вот это надо в скрипт прописывать в шапку

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-27 22:52:27 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
И вписать необходимые типы, цвета и дистанцию.


Top
   
 Post subject: Re: Если рядом
PostPosted: 2015-03-27 23:28:51 
Offline

Joined: 2012-07-27 23:43:14
Posts: 249
шапка, шапка это наверху где то :)

только как я
Code:
sub checkcolor(obj)
var n, c   
Dim color[14]
   color[1]='0x09DA'
   color[2]='0x0060'
   color[3]='0x0BA7'


наверх запихну, там же sub main.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 28 posts ]  Go to page 1 2 Next

All times are UTC+02:00


Who is online

Users browsing this forum: Bing [Bot] and 18 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited