Yoko

All sides of Injection
It is currently 2025-11-12 09:16:26

All times are UTC+02:00




Post new topic  Reply to topic  [ 14 posts ] 
Author Message
PostPosted: 2006-04-26 07:18:05 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Было раньше так:

Code:
sub CheckingPlayers()
uo.setglobal('find', '0')
uo.ignore('self', 'on')
while uo.life > 0
while val(uo.getglobal('find')) == 1
wait(50)
wend
  uo.setglobal('find', '1')
  wait(200)
  uo.set('finddistance', '14')
  uo.findtype('0x0190', '-1', '1') #тип игрока мужского пола# 
  wait(200)
  uo.setglobal('find', '0')
  if uo.findcount() > 0 then
    uo.usetype('0x0F08')
    wait(100)
    uo.exec('terminate Obkopka')
    wait(500)
    uo.exec('exec Teleportation')
    wait(500)
    return
  else
    wait(1000)
  endif
while val(uo.getglobal('find')) == 1
wait(50)
wend
  uo.setglobal('find', '1')
  wait(200)
  uo.set('finddistance', '14')
  uo.findtype('0x0191', '-1', '1') #тип игрока женского пола# 
  wait(200)
  uo.setglobal('find', '0')
  if uo.findcount() > 0 then
    uo.usetype('0x0F08')
    wait(100)
    uo.exec('terminate Obkopka')
    wait(500)
    uo.exec('exec Teleportation')
    wait(500)
    return
  else
    wait(1000)
  endif
wend
end sub


И все работало, решил упростить и сделал так:

Code:
sub CheckingPlayers()
VAR a, b
uo.ignore('self', 'on')
DIM Chars[2]
Chars[0] = '0x0190' #тип игрока мужского пола#
Chars[1] = '0x0191' #тип игрока женского пола#
while not uo.dead()
  for a = 0 to 1
    if uo.injournal('GM|Admin|Seer|Counselor|Developer') then
      uo.usetype('0x0F08')
      wait(200)
      uo.closeuo()
    else
      wait(50)
    endif
    b = 0
    repeat
      wait(100)
      b = b + 1
    until val(uo.getglobal('find')) == 0 or b > 15
    uo.setglobal('find', '1')
    wait(200)
    uo.set('finddistance', '15')
    uo.findtype(Chars[a], '-1', '1') 
    if uo.findcount() > 0 then
      uo.setglobal('find', '0')
      uo.usetype('0x0F08')
      wait(200)
      uo.exec('terminate Obkopka')
      uo.exec('terminate ChengePlace')
      uo.exec('exec Teleportation')
      return
    else
      uo.setglobal('find', '0')
      wait(500)
    endif
  next
wend
end sub

Теперь он никого не находит, но поиск производит.

Есть еще проблема с синхронизацией поиска:

в первом скрипте
Code:
    ...
    b = 0
    repeat
      wait(100)
      b = b + 1
    until val(uo.getglobal('find')) == 0 or b > 15
    uo.setglobal('find', '1')
    wait(200)
    uo.set('finddistance', '15')
    uo.findtype(Chars[a], '-1', '1') 
    if uo.findcount() > 0 then
      uo.setglobal('find', '0')
      ...


во втором скрипте
Code:
        ...
        e = 0
        repeat
          wait(50)
          e = e + 1
        until val(uo.getglobal('find')) == 0 or e > 30       
        uo.setglobal('find', '1')
        wait(200)
        uo.set('finddistance', '5')
        uo.findtype('0x000E', '-1', '1') #тип элементаля#
        if uo.findcount() > 0 then
          uo.setglobal('find', '0')
          ...


Временами при одновременной работе скриптов, инжект выдает ошибку пассера, что вызвано одновременным заданием дистанции поиска в обоих скриптах, до того как я ввел синхронизацию поиск обьектов производился не всегда на предусмотренных скриптом дистанциях, зарание благодарю за хелп.


Last edited by Sanch on 2006-04-26 09:58:34, edited 1 time in total.

Top
   
PostPosted: 2006-04-26 09:40:37 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Sanch wrote:
Code:
    if uo.injournal('GM', 'Admin', 'Seer', 'Counselor', 'Developer') then



Это-то что за конструкция? Новое слово в синтаксисе команды UO.InJournal?

http://yoko.netroof.net/help/help.php?l ... =InJournal


Top
   
 Post subject:
PostPosted: 2006-04-26 09:45:18 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
хмммм :? , да нет, в каком то топике видел как проверку с тучей инжоурналов предложили заменить так, ну и подумал что так можно, значит нельзя?

Все нашел, постил ты, просто я обшибся:

Quote:
If UO.InJournal("Персонал|Персонал сервера!|EP:|...") Then


Last edited by Sanch on 2006-04-26 09:59:17, edited 1 time in total.

Top
   
 Post subject:
PostPosted: 2006-04-26 09:56:26 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Sanch wrote:
Quote:
If UO.InJournal("Персонал|Персонал сервера!|EP:|...") Then


Только учти, такое работает только на "новых" длл инжекта. Я свои скрипты, например, стараюсь привязывать к 312.19 - там подобная конструкция работать не будет.


Top
   
 Post subject:
PostPosted: 2006-04-26 10:03:05 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Ясно, заменю на бональные инжорналы, Edred, сори что так напрямую спрашиваю, ты как то писал про свои синхронизации 5 одновременно работающих скриптов, мож подкинешь че нить дельное, тк толку от моей ровно столько сколько в ее отсутствии, даже хуже. Один скрипт крутится постоянно и ищет каждые пол секи чаров, другой при выкапывании руды проверяет элема, поиски идут на разных дистанциях, реально сделать чтобы при их одновременной работе, они не глючили? Еще был бы оч признателен, если бы ответил по первому посту что то, я просто 2 одинаковых поика разных типов обьектов заменил на массав из 2ух обьектов с поиском и скрипт перестал кого либо находить.


Top
   
 Post subject:
PostPosted: 2006-04-26 10:25:16 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Sanch wrote:
Ясно, заменю на бональные инжорналы, Edred, сори что так напрямую спрашиваю, ты как то писал про свои синхронизации 5 одновременно работающих скриптов, мож подкинешь че нить дельное, тк толку от моей ровно столько сколько в ее отсутствии, даже хуже. Один скрипт крутится постоянно и ищет каждые пол секи чаров, другой при выкапывании руды проверяет элема, поиски идут на разных дистанциях, реально сделать чтобы при их одновременной работе, они не глючили? Еще был бы оч признателен, если бы ответил по первому посту что то, я просто 2 одинаковых поика разных типов обьектов заменил на массав из 2ух обьектов с поиском и скрипт перестал кого либо находить.
http://forum.yoko.com.ua/viewtopic.php?p=40604#40604

Попробуй то, что тама.. Оно должно нормально это обрабатывать, специально для тебя модифицировал, хотя еще не тестил.


Top
   
 Post subject:
PostPosted: 2006-04-26 11:27:23 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Destruction, премного благодарен, но проблема в том что я не програмист, мой уровень скриптописания\понимая на уровне досканально изученных уроков + небольшое самостоятельное повышение квалификации методом тыка, из тех скриптов что в топике, не понял ровным счетом ничего, за исключением того, что там используется то что применил я, только в более извращенной(профессиональной) форме, ты не мог бы на примерчике 2ух небольших скриптиков на поиск работающих одновременно показать как сие работает и немного пояснить как это получается, был бы оч признателен, тк сам не догоняю.

Code:
sub start()
uo.exec('exec finding1')
uo.exec('exec finding2')
end sub

sub finding1()
while not uo.dead()
  uo.set('finddistance', '5')
  uo.findtype('0x0001', '-1', '1')
  if uo.findcount() > 0 then
    ...
  else
    ...
  endif
wend
end sub

sub finding2()
while not uo.dead()
  uo.set('finddistance', '10')
  uo.findtype('0x0002', '-1', '1')
  if uo.findcount() > 0 then
    ...
  else
    ...
  endif
wend
end sub


Желательно на примере вот этих скриптов :roll:, зарание благодарю за хелп назойливому чайнику.


Top
   
 Post subject:
PostPosted: 2006-04-26 12:16:04 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Да просто вместо uo.findtype() запускаешь FindType(), а параметры пишешь как в exec("findtype "+параметры), а примерчик там валяется.


Top
   
 Post subject:
PostPosted: 2006-04-27 10:20:27 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Синхронизацию сделал, свою, новую, вроде пашет, спасибо...

По поводу не работающего поиска, действительно, стоило убрать непрально использованый инжорнал, как все заработало.


Top
   
 Post subject:
PostPosted: 2006-04-27 14:30:19 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
У меня в моих скриптах поиск осуществляется на одной дистанции, максимальной, а потом при необходимости проверяется UO.GetDistance()


Top
   
 Post subject:
PostPosted: 2006-04-27 15:58:17 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
я об этом думал, но решил что это не избавит меня от проблем


Top
   
 Post subject:
PostPosted: 2006-04-28 00:02:53 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Sanch wrote:
я об этом думал, но решил что это не избавит меня от проблем


Логику такого решения в студию.


Top
   
 Post subject:
PostPosted: 2006-04-28 16:58:23 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Quote:
Логику такого решения в студию.


Так как синхронизацию поиска придется делавть всеравно, можно просто задавать нужную дистанцию, не проверяя ее каждый раз, а синхронизацию в свою очередь придется делать всеравно, тк мои скрипты устроены так что при одновременном появлении другого игрока и элема действия скрипта предугадать сложно, тк действия в отношении элема идут по finditem'у, когда скрипт находит элема, он его сиреал через finditem в глобалку запихивает, для работы скрипта на его убийство уже непосредственно с сиреалом элема, тк он вызывает себе подобных имеющих такой же type.


Top
   
 Post subject:
PostPosted: 2006-04-28 22:25:12 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Ничего не понял, но посмотри как в моем мининге это реализовано, там тоже одновременно поиск элема и ПК, идут параллельно и даже если один нашел что-то и отслеживает - второй все равно работает.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 14 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 0 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