Yoko

All sides of Injection
It is currently 2024-03-29 11:47:24

All times are UTC+02:00




Post new topic  Reply to topic  [ 293 posts ]  Go to page Previous 14 5 6 7 815 Next
Author Message
 Post subject: Re: Injection 2015
PostPosted: 2015-07-01 14:49:32 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
у меня такая фигня возникала после полутора часов активного фарма. После оптимизации скриптов - убрал почти все игноры, оптимизировал циклы на динамических паузах, встроил проверки на запуски - стала херня вылезать раз часов в 4-5 хардкора. Если просто бегать по лесу и городу постреливая то можно чара не выключать по нескколько суток.

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


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-07-02 20:09:51 
Offline

Joined: 2015-01-15 17:53:51
Posts: 17
Juicy Fruit wrote:
genri wrote:
Если указан my или 2 то ищется в бекпаке и всех подсумках.
Не ищет в бекпаке сумка в которой придмет лежит пока сумку не откроешь а должен(((
версия 1505/29
Не должен, т.к. пока не открыли контейнер – сервер не присылает его содержимое.



а как сделать если после смерти нужно резко юзнуть бутылку хила которая в сумке в бекпаке


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-07-02 23:16:39 
Offline

Joined: 2015-03-17 04:02:00
Posts: 20
Mirage wrote:
у меня такая фигня возникала после полутора часов активного фарма. После оптимизации скриптов - убрал почти все игноры, оптимизировал циклы на динамических паузах, встроил проверки на запуски - стала херня вылезать раз часов в 4-5 хардкора. Если просто бегать по лесу и городу постреливая то можно чара не выключать по нескколько суток.

Динамичские паузы? что это, покажи.
И проверки на запуски, это что?)


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-07-03 11:43:45 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Динамическая пауза, зависящая от какого либо события:

задаем константу времени
использует труп
гоняем паузу пока серийник трупа не будет равен серийнику последнего открытого контейнера, последний открытый контейнер будет не нулевым, или дистанция до трупа не будет превышать дистанцию доступную для открытия трупа, или не пройдет несколько секунды времени.
Code:
      timemove=UO.Timer()
      uo.useobject(corpse)
      repeat
         wait(lootwait)
      until (UO.GetSerial(corpse)<>uo.GetSerial('lastcontainer') && uo.GetSerial('lastcontainer')<>'0xFFFFFFFF') || Uo.GetDistance(corpse) <= LootDist || timemove+10>UO.Timer()

Если сравнить с простыми wait(100) или wait(500) то в первом случае моя пауза независима от лага а 100 может и не сработать, а во втором случае моя пауза сработает быстрее чем 500 мсек.



Защита от повторного запуска:
Code:
sub Rez_Cleaver()
   UO.Set('quiet','1')
   if val(uo.getGlobal('running'))==1 then   ; эти
      uo.setGlobal('running',2)              ; три
      REZall('0x0EC2','0x0000')
      uo.setGlobal('running',1)              ; строчки
   endif
   UO.Set('quiet','0')
end sub

где то там выше задается глобальная переменная равная 1. Скрипт запустится только если она равна 1 и сразу переключит её на 2. Повторный запуск проверит переменную и выключит повторно запущенный скрипт. Когда скрипт успешно завершит свою работу переменная опять станет равной 1 и скрипт будет доступен для запуска.
Это нужно например в ситуации когда лежит 2 тела и ты случайно нажимаешь 2 раза на лут. 2 скрипта начнут одновременно пытаться облутить оба тела, один скрипт ищет в первом теле, в этот момент второй скрипт пытается переместить предмет из второго тела, ID найденных предметов разные но переместить то нужно.... Инжект крашит клиент от таких оборотов. Защита от повторного запуска исключит подобные ситуации.

ЗЫ это просто примеры, реализовать подобные штуки можно несколькими способами. Какие то изящнее какие то функциональнее. Важно то что включая подобное в свои скрипты человек уменьшает вероятность вылетания клиента.

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


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-07-03 14:42:04 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Мираж, в той версии, которую в личку относительно недавно скидывал есть встроенная проверка на запущенный скрипт.
exec __runonce#Rez_Cleaver
Не допустит запуск 2 экземпляра скрипта, если запущен первый.


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-07-03 15:37:05 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
это я в курсе. Просто придется под неё несколько скриптов переписывать а глобалка пока справляется.
А так я пользовался вот такой штукой
Code:
sub main1()
   startexec('test')
endsub
sub main2()
   stopexec('test')
endsub
Sub test()
   repeat
      uo.print('Прювед!')
      wait(1000)
   until uo.dead()
endsub
Sub startexec(index)
   while not UO.FunRunning(index)
      uo.exec('exec ' +index)
   wend
endsub
Sub stopexec(index)
   while UO.FunRunning(index)
      uo.exec('terminate ' +index)
   wend
endsub

Вполне себе работало. main1 запустит процедуру test только 1 раз сколько бы не тыкали в main1. main2 100% грохнет ВСЕ даже случайно запущенные процедуры test.

2 Juicy Fruit у тебя как с учебой? Релизить свою глобальную задумку пока не готов?

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


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-07-03 23:42:23 
Offline

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


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-07-04 19:54:21 
Offline

Joined: 2015-03-17 04:02:00
Posts: 20
Code:
      timemove=UO.Timer()
      uo.useobject(corpse)
      repeat
         wait(lootwait)
      until (UO.GetSerial(corpse)<>uo.GetSerial('lastcontainer') && uo.GetSerial('lastcontainer')<>'0xFFFFFFFF') || Uo.GetDistance(corpse) <= LootDist || timemove+10>UO.Timer()

Мне кажется тяжелый скрипт, не лучше ли обычный чек лаг вместо этого? и кстати в таком цикле какой lootwait реккомендуешь?


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-07-04 20:14:21 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Машу каслом не испортишь :)
Я не люблю работать с журналом. :roll:

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


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-07-04 23:48:38 
Offline

Joined: 2015-03-17 04:02:00
Posts: 20
Mirage wrote:
Машу каслом не испортишь :)
Я не люблю работать с журналом. :roll:

Ну а так смотри за один круг цикла ты используешь 4 раза getserial и getdistance один раз, мне кажется это опасно) может ошибаюсь, все в зависимости от задержки внутри цикла.


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-07-05 10:39:30 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
по сути это простое сравнение цифр такое же как
Code:
выполнять действие
пока 1<>0 или 2<>3

Чеклаг нужен несколько для другого. Если использовать чеклаг то в игре будет совершаться какое то действие - клик по бэкпаку, флуд в окне клиента, и чеклаг только от лага защитит. На сервере где я играю админ искусственно увеличивает паузу между перемещением предмета например. То есть предмет двигается не сферовые 300-350 мсек а около 600 мсек. Моя проверка учтет условия и подстроится даже под произвольную паузу потому что она проверяет именно присутствие предмета в паке персонажа.

ЗЫ пауза то ли 100 то ли 150. Не меньше 100 в общем.
ЗЗЫ Скрипт это просто пример для наглядности что из цикла можно выйти при выполнении определенного условия. И пауза будет минимальная. У меня проверка чуть чуть другая. Там даже больше условий прописано.

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


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-07-06 01:13:35 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Самый скучный в мире разговор :lol:

По делу:
Всякие гетсериал и гетдистанс выполняются локально и никаких запросов на сервер не посылают - всё это барахло должно хранится локально и обновляться по мере изменения или какого-нибудь ресинка. Чеклаг это для серверных запросов (перемещение шмотки, туда-сюда, банк открой), НО только для действий, при которых могут потеряться или испортиться внутриигровое барахло (передача вещей от чара к чару перед банком, разгрузка с мининга там).

PS А что за секретная глобальная задумка у Джуси Фрута? :roll:


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-08-09 23:03:51 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Версия 1508.09

Список изменений:
    - Исправлено зависание скриптов в окошке скриптов.
    - Исправлена ошибка с появлением предупреждения "Creation thread error".
    - Добавлена проверка на нахождение функции в теле скрипта UO.SubExists(SubName).
    - Реализована возможность вызова функции через UO.CallSub(SubName, Params...)
    Может принимать различное количество параметров (минимум 1 - название функции), сканирует тело скрипта на предмет нахождения указанной функции в нем с указанным количеством параметров и выполняет ее в стандартном режиме.
    - Исправлена работа функции UO.FunRunning(SubName), теперь работает правильно и без сбоев.
    - Некоторые корректировки в Script.dll.
    - Исправления в поисковых функциях.
    - Исправлена работа UO.mfgi.
    - Реализован доступ к списку найденного с помощью поисковых фукнций (FindType/FindList) через UO.FindItem(index). Индексы от 0 до UO.FindCount() - 1.
    - Добавлен спецификатор вызова __runonce#ScriptName. При вызове скрипта с таким спецификатором через хоткеи или через uo.exec('exec __runonce#MyScript') - скриптовый движок проверит, запущена ли функция MyScript в данный момент, если запущена - ничего не произойдет, иначе - запустит скрипт в штатном режиме.
    - Улучшена стабильность инжекта.


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-08-19 01:49:29 
Offline

Joined: 2013-05-17 10:38:53
Posts: 62
А в старой инже была закладка Layers как-то так, теперь ее нету? Как посмотреть, что надето на чаре?


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-08-19 09:07:10 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Это окошко покинуло инжект еще 1,5 года назад, ввиду неиспользуемости.
Что бы в нем корректно отображались названия предметов в слоях – необходимо получить их имя (клик на предмет), это нужно делать вручную.
Та и раз впервые за такой промежуток времени об этом поинтересовался только 1 человек – то оно и впрямь было лишним.
Если очень нужно – могу вернуть.

У кого–то наблюдаются какие–либо проблеммы с последним релизом?


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-08-21 18:52:45 
Offline

Joined: 2013-08-09 00:13:57
Posts: 44
UO.FindList находит предметы не в том порядке в котором они прописаны через UO.AddFindList

ПС: если искать на земле то все норм., если искать в контейнере то находит не по списку


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-08-23 03:45:10 
Offline

Joined: 2013-05-17 10:38:53
Posts: 62
в пвп, почти, не крашит! точнее функции в хоткеях не залипают. но теперь такое иногда.... примерно 4-5 часов не выключая инжект и играя по полной: картинки идут в порядку появления.


Attachments:
2015_08_23_04_38_19_997.jpg
2015_08_23_04_38_19_997.jpg [ 63.47 KiB | Viewed 3378 times ]
2015_08_23_04_38_37_804.jpg
2015_08_23_04_38_37_804.jpg [ 54.88 KiB | Viewed 3378 times ]
2015_08_23_04_38_45_789.jpg
2015_08_23_04_38_45_789.jpg [ 17.9 KiB | Viewed 3378 times ]
Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-08-31 16:26:20 
Offline

Joined: 2015-08-31 16:18:55
Posts: 1
тут есть еще люди кто играет на ХП винде?
у меня на всех компах 1 проблема при команде массмув крашит. все вариации пробовал и с задержками и с настройками.
может есть секрет какой-то?
на старой и на 14 инже все ок.
спасибо.


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-08-31 21:02:21 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
beluga wrote:
тут есть еще люди кто играет на ХП винде?
у меня на всех компах 1 проблема при команде массмув крашит. все вариации пробовал и с задержками и с настройками.
может есть секрет какой-то?
на старой и на 14 инже все ок.
спасибо.
Только на ХР такое?
Проверял на 7 - все в порядке.
Включи галочку Verbose Logging, добейся краша и injection_log.txt в личку скинь ссылкой (при этом должен быть запущен только 1 клиент с инжектом, чтоб в логе не было лишнего мусора).


Top
   
 Post subject: Re: Injection 2015
PostPosted: 2015-09-10 11:07:17 
Offline
User avatar

Joined: 2015-07-20 15:00:23
Posts: 10
Не показывало изображения регов и т.д. в заголовке окна при первом запуске, при следующих запусках просто крашится.
тоже самое на Injection_08_03_2015

при этих же настройках Injection_22_10_2014 работает

пысы: после перезагрузки компа все заработало, возможно это у меня проблема какая то)


Attachments:
injection_log.txt [16.94 KiB]
Downloaded 205 times
Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 293 posts ]  Go to page Previous 14 5 6 7 815 Next

All times are UTC+02:00


Who is online

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