Page 15 of 30
Re: Injection 2014 !
Posted: 2014-03-11 11:06:58
by Juicy Fruit
Incorrect User wrote:Да, RandomRange не хватает все таки мне)
Дык, функцию же дали уже, которую можно использовать с тем же результатом.
У тебя во всех скриптах это используется? Зачем? С какой целью? И с какой целью используешь в данной ситуации?
Re: Injection 2014 !
Posted: 2014-03-11 11:22:33
by Just Newbie
Поломалось
uo.WaitTargetObjectНе работает при указании двух объектов, вместо uo.WaitTargetObject('объект1', 'объект2') приходится выворачиваться так:
Code: Select all
uo.WaitTargetObject('объект1')
действие
uo.WaitTargetObject('объект2')
Re: Injection 2014 !
Posted: 2014-03-11 13:53:07
by Incorrect User
А это так и надо чтобы при включенной Linked Logs создавался отдельный лог для каждого сеанса зашел-вышел? Может как раньше, просто будет один и тот же файл перезаписываться, только для каждого чара отдельный соответственно, а не пачка этого щастья, ищи в ней сиди какой тебе нужен) и место занимает.
Re: Injection 2014 !
Posted: 2014-03-11 14:07:55
by Juicy Fruit
Там по дате и времени можно отследить нужный лог, ну накрайняк можно сделать чтоб для каждого запущенного клиента сохранялся лог, так же с датой и временем первого входа в уо
Re: Injection 2014 !
Posted: 2014-03-11 14:33:57
by PrincepsWarlord
PrincepsWarlord wrote: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!
Re: Injection 2014 !
Posted: 2014-03-11 14:50:04
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
Re: Injection 2014 !
Posted: 2014-03-12 00:57:22
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
Re: Injection 2014 !
Posted: 2014-03-12 08:55:00
by VeL
- Убрано ограничение на кол-во символов в Original Text в диалоге Replaces
- Исправлено сохранение Replaces. Для корректной замены кастов необходимо в Original Text ставить пробел после текста каста
А есть команды для работы из скрипта, типа как в Filter Speech?
Re: Injection 2014 !
Posted: 2014-03-12 09:07:50
by Juicy Fruit
VeL wrote:- Убрано ограничение на кол-во символов в Original Text в диалоге Replaces
- Исправлено сохранение Replaces. Для корректной замены кастов необходимо в Original Text ставить пробел после текста каста
А есть команды для работы из скрипта, типа как в Filter Speech?
Пока что нет, но запланировано. Так же для звуков и строений.
Re: Injection 2014 !
Posted: 2014-03-12 23:22:07
by some
реализуема ли такая возможность - возможность выбора места появления мессаг ( сервера - инжекта ) по выбору пользователя ? сейчас слево внизу .
Re: Injection 2014 !
Posted: 2014-03-13 05:57:48
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 находит.
Баг остался.
Поправлю, забыл про это.
Re: Injection 2014 !
Posted: 2014-03-14 08:36:55
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 предметы находятся не предсказуемо...
Re: Injection 2014 !
Posted: 2014-03-14 09:06:47
by Juicy Fruit
Да, насчет этого уже писал Incorrect User, в сл. релизе изменю, он еще приоритет хотел, но это оставлю пока что без изменений, только упорядочу поиск.
Re: Injection 2014 !
Posted: 2014-03-14 13:21:46
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, он возвращает номер, а мне бы типа того же только чтобы полностью сохранял текст сообщения которое поймали. Иногда бывает нужно.
Re: Injection 2014 !
Posted: 2014-03-14 14:04:12
by Juicy Fruit
1 – нет, т.к. Now() возвращает такое же число, как и 2000, чем тебя дополнительно 5 символов не устраивают?))
2 – обычно 0 строка журнала это и есть искомое сообщение, но на всякий случай добавлю, малоли что.
Re: Injection 2014 !
Posted: 2014-03-14 14:49:42
by Incorrect User
Можно сделать чтобы запоминалось место в редакторое, на котором ты закрыл его когда последний раз редактировал?
Re: Injection 2014 !
Posted: 2014-03-14 16:40:10
by Juicy Fruit
Incorrect User wrote:Можно сделать чтобы запоминалось место в редакторое, на котором ты закрыл его когда последний раз редактировал?
Вроде делал уже, только может быть на "новый" инжект не перенеслось, я там не самую последнюю версию скрипт.длл брал.
Проверю.
Re: Injection 2014 !
Posted: 2014-03-15 09:04:42
by tyca7
создавал несколько тем о том что у меня не роет и не рубит не один скрипт где пытались что то сделать, вобщем у меня на древнем Селероне P4 рубит и капает нормально, а вот на двух ядерном core2duo не хочет капать даже с dualcoreLauncherom и прочими плясками с бубном не капает создовал вертуалку с использованием 1 ядра ставил разные системы не капает, приезжаю на дачу запускаю селерон все капает, в чем же проблема?
Re: Injection 2014 !
Posted: 2014-03-15 11:36:06
by tyca7
Incorrect User wrote:Инжект какой там.
1311,27
script parser 0.3.5
Re: Injection 2014 !
Posted: 2014-03-15 11:55:43
by Incorrect User
Поставь такой же и здесь, с теми же настройками и попробуй.