Injection 2014 !

General Injection issues

Moderators: Murderator+, Murderator

Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

Incorrect User wrote:Да, RandomRange не хватает все таки мне)
Дык, функцию же дали уже, которую можно использовать с тем же результатом.
У тебя во всех скриптах это используется? Зачем? С какой целью? И с какой целью используешь в данной ситуации?
Just Newbie
Posts: 3
Joined: 2013-11-01 05:20:07

Re: Injection 2014 !

Post by Just Newbie »

Поломалось uo.WaitTargetObject
Не работает при указании двух объектов, вместо uo.WaitTargetObject('объект1', 'объект2') приходится выворачиваться так:

Code: Select all

uo.WaitTargetObject('объект1')
действие
uo.WaitTargetObject('объект2')
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

А это так и надо чтобы при включенной Linked Logs создавался отдельный лог для каждого сеанса зашел-вышел? Может как раньше, просто будет один и тот же файл перезаписываться, только для каждого чара отдельный соответственно, а не пачка этого щастья, ищи в ней сиди какой тебе нужен) и место занимает.
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

Там по дате и времени можно отследить нужный лог, ну накрайняк можно сделать чтоб для каждого запущенного клиента сохранялся лог, так же с датой и временем первого входа в уо
PrincepsWarlord
Posts: 11
Joined: 2011-09-12 13:46:57

Re: Injection 2014 !

Post by PrincepsWarlord »

PrincepsWarlord wrote:
Incorrect User wrote:Try

Code: Select all

uo.target(-1,"lastattack")


don't work, warning: error in command

the complete sub is

Code: Select all

sub targetSelf()
   uo.target("lasttargetkey","self",0,0,0,0,0)
   uo.say(chr(27))
endsub


and

Code: Select all

sub targetLast()
   if uo.Targeting() then
      if uo.getDistance("lastattack") > 10 then
         uo.print("Last target troppo lontano")
      else
         uo.target("lasttargetkey","lastattack",0,0,0,0,0)
         uo.say(chr(27))
      endif
   else
      uo.waittargetobject('lastattack')
      uo.print("Target queued")
   endif
endsub


help! don't work!
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

PrincepsWarlord wrote:

Code: Select all

sub targetLast()
   if uo.Targeting() then
      if uo.getDistance("lastattack") > 10 then
         uo.print("Last target troppo lontano")
      else
         uo.target("lasttargetkey","lastattack",0,0,0,0,0)
         uo.say(chr(27))
      endif
   else
      uo.waittargetobject('lastattack')
      uo.print("Target queued")
   endif
endsub
uo.Targeting() return 1 if server send target to client, 2 if injection set target trap
VeL
Posts: 44
Joined: 2013-08-09 00:13:57

Re: Injection 2014 !

Post by VeL »

Incorrect User wrote:И как это будет выглядеть? Например есть

Code: Select all

            repeat
               uo.deletejournal(msg)
               uo.waittargettile(-1, uo.getx() + x, uo.gety() + y, uo.getz())
               uo.usetype("0x0E85")
               waittime = uo.timer() + 100
                  wait(100)
               until uo.dead() or uo.injournal(msg) or uo.timer() > waittime
            until uo.injournal("too far away|no ore here|have no line|mining in rock")

А будет так что ли? В любом случае шило на мыло.

Code: Select all

            repeat
               uo.deletejournal(msg)
               uo.waittargettile(-1, uo.getx() + x, uo.gety() + y, uo.getz())
               uo.usetype("0x0E85")
               waittime = uo.timer() + 100
                  wait(100)
               until uo.dead() or uo.injournal(msg) or uo.timer() > waittime
            until FoundedParamId == 2 or FoundedParamId == 6 or FoundedParamId == 10

FoundedParamID пригодится, если надо обрабатывать сообщения отдельно, например:

Сейчас:

Code: Select all

  UO.DeleteJournal('Text1|Text2|Text3')
  UO.WaitingForJournalText(1000, 'Text1|Text2|Text3')
  if UO.InJournal('Text1') then
    . . .
  end if
  if UO.InJournal('Text2') then
    . . .
  end if
  if UO.InJournal('Text3') then
    . . .
  end if

приходится чистить журнал от сообщений, а так же каждый раз делать поиск по журналу UO.InJournal()

С FoundedParamID:

Code: Select all

  UO.WaitingForJournalText(1000, 'Text1|Text2|Text3')
  if UO.FoundedParamID() == 0 then
    . . .
  end if
  if UO.FoundedParamID() == 1 then
    . . .
  end if
  if UO.FoundedParamID() == 2 then
    . . .
  end if

поиск в журнале происходит 1 раз

Если прикрутить еще и case, то:

Code: Select all

  UO.WaitingForJournalText(1000, 'Text1|Text2|Text3')
  switch UO.FoundedParamID()
    case 0:
      . . .
    case 1:
      . . .
    case 2:
      . . .
  end
VeL
Posts: 44
Joined: 2013-08-09 00:13:57

Re: Injection 2014 !

Post by VeL »

- Убрано ограничение на кол-во символов в Original Text в диалоге Replaces
- Исправлено сохранение Replaces. Для корректной замены кастов необходимо в Original Text ставить пробел после текста каста

А есть команды для работы из скрипта, типа как в Filter Speech?
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

VeL wrote:
- Убрано ограничение на кол-во символов в Original Text в диалоге Replaces
- Исправлено сохранение Replaces. Для корректной замены кастов необходимо в Original Text ставить пробел после текста каста

А есть команды для работы из скрипта, типа как в Filter Speech?
Пока что нет, но запланировано. Так же для звуков и строений.
some
Posts: 197
Joined: 2007-05-23 19:51:18

Re: Injection 2014 !

Post by some »

реализуема ли такая возможность - возможность выбора места появления мессаг ( сервера - инжекта ) по выбору пользователя ? сейчас слево внизу .
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

some wrote:реализуема ли такая возможность - возможность выбора места появления мессаг ( сервера - инжекта ) по выбору пользователя ? сейчас слево внизу .
Нет.

VeL wrote:
VeL wrote:

Code: Select all

uo.FindType(Graphic,[Color],[Container],[Distance],[Notoriety],[Nearest])

Для правильного поиска Distance приходится ставить на 1 больше чем надо, например при Distance=1 не находит итем на соседнем тайле, при Distance=2 находит.

Баг остался.
Поправлю, забыл про это.
VeL
Posts: 44
Joined: 2013-08-09 00:13:57

Re: Injection 2014 !

Post by VeL »

Есть например:

Code: Select all

  UO.AddFindList('LootItems', 0x1869)
  UO.AddFindList('LootItems', 0x09A9)
  UO.AddFindList('LootItems', 0x100E)

мне надо что бы UO.FindList() находил предметы в том порядке в котором они добавлялись в 'LootItems', менял значения Nearest, но нужного результата не добился.
Nearest - 1 - остановит поиск на первом найденном объекте, 0 - произведет поиск по всему списку предметов в памяти инжекта (стандартно 0)

Я так понимаю, при Nearest=0 каждый предмет в памяти инжекта сравнивается со всем списком 'LootItems', может сделать наоборот, каждый элемент списка 'LootItems' по очереди сравнивается со всеми предметами в памяти инжекта, тогда результат будет правильный, а то сейчас получается, что при Nearest=0, что при Nearest=1 предметы находятся не предсказуемо...
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

Да, насчет этого уже писал Incorrect User, в сл. релизе изменю, он еще приоритет хотел, но это оставлю пока что без изменений, только упорядочу поиск.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

А можно чтобы в uo.WaitingForJournalText(MaxDelay,Text,[Equals],[IgnoreCase],[SkillName/ObjectID]) когда добавится StartTime, если нужно начать ждать сообщение после того как попали на эту строку например не с текущего времени а через две секунды или 200мс неважно, чтобы не конструировать типа Now() + 2000 а просто если нужно начинать с текущего времени пишем Now uo.WaitingForJournalText(Now,MaxDelay,Text,[Equals],[IgnoreCase],[SkillName/ObjectID]), если нужно немного позднее время просто пишем нужную задержку uo.WaitingForJournalText(2000, MaxDelay,Text,[Equals],[IgnoreCase],[SkillName/ObjectID])

И еще хотелось бы иметь параметр который ловит текст сообщения в этих функциях, вы хотите FoundedParamID, он возвращает номер, а мне бы типа того же только чтобы полностью сохранял текст сообщения которое поймали. Иногда бывает нужно.
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

1 – нет, т.к. Now() возвращает такое же число, как и 2000, чем тебя дополнительно 5 символов не устраивают?))
2 – обычно 0 строка журнала это и есть искомое сообщение, но на всякий случай добавлю, малоли что.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

Можно сделать чтобы запоминалось место в редакторое, на котором ты закрыл его когда последний раз редактировал?
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

Incorrect User wrote:Можно сделать чтобы запоминалось место в редакторое, на котором ты закрыл его когда последний раз редактировал?
Вроде делал уже, только может быть на "новый" инжект не перенеслось, я там не самую последнюю версию скрипт.длл брал.
Проверю.
tyca7
Posts: 125
Joined: 2012-12-22 19:14:29
Contact:

Re: Injection 2014 !

Post by tyca7 »

создавал несколько тем о том что у меня не роет и не рубит не один скрипт где пытались что то сделать, вобщем у меня на древнем Селероне P4 рубит и капает нормально, а вот на двух ядерном core2duo не хочет капать даже с dualcoreLauncherom и прочими плясками с бубном не капает создовал вертуалку с использованием 1 ядра ставил разные системы не капает, приезжаю на дачу запускаю селерон все капает, в чем же проблема?
tyca7
Posts: 125
Joined: 2012-12-22 19:14:29
Contact:

Re: Injection 2014 !

Post by tyca7 »

Incorrect User wrote:Инжект какой там.

1311,27
script parser 0.3.5
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

Поставь такой же и здесь, с теми же настройками и попробуй.
Post Reply