Yoko

All sides of Injection
It is currently 2024-03-29 00:52:48

All times are UTC+02:00




Post new topic  Reply to topic  [ 27 posts ]  Go to page Previous 1 2

Как вам идея?
Отлично - давно пора! 58%  58%  [ 7 ]
Данунах, и так неплохо.. 8%  8%  [ 1 ]
Эмм, а я и непонял, о чём тут речь.. 33%  33%  [ 4 ]
Total votes: 12
Author Message
 Post subject:
PostPosted: 2006-04-16 01:04:14 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Edred wrote:
Destruction wrote:
а реестр - очень важно, хранение результатов пока силой не убьют. Это будет многим полезно.


Как-нить сделай чистку реестра подходящей утилей (только не нортоном), потом дефрагментируй его - и, увидев насколько у тебя быстрее начнут работать винды, ты быстренько отучишься забивать реестр всякой дрянью...

Знаешь, у меня винды летают только так, тем более, я не себе ведь пишу :wink:


Top
   
 Post subject:
PostPosted: 2006-04-16 01:09:58 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
оно и видно что не для себя;)


Top
   
 Post subject:
PostPosted: 2006-04-16 01:15:02 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Grin wrote:
оно и видно что не для себя;)

И ваще, я написал где чистить :wink:

Кому не надо хранить результаты в реестре - тот переправит под себя, это же элементарно, не так ли?


Top
   
 Post subject:
PostPosted: 2006-04-16 07:29:08 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Destruction wrote:
Собственно то, что получилось:

Описание:
number FindType(string)
Передаётся один параметр - в нём всё указываем, кроме findtype (как при обычном uo.exec('findtype')).
Возвращает идентификатор произведённого поиска.

number FindCount(number)
Передаём один параметр - идентификатор нужного поиска.
Получаем количество найденных элементов.

string FindItem(number,number)
Передаём два параметра: 1 - номер найденного предмета, 2 - идентификатор поиска.
Получаем ID найденного предмета.

1. В начало скрипта пишем такое:
Code:
var first_mem = 100000 ; стартовое число, для хранения результатов поиска.


2. Выполняем такой скрипт:
Code:
Sub main()
uo.setEasyUO(first_mem,"0")
endsub

Если во время выполнения скрипта Injection сообщил об отсутствии директории EasyUO в реестре - создайте директорию и выполните скрипт еще раз.

3. Если Вы хотите, чтобы результаты поисков были доступны в дальнейшем - пропустите этот пункт.
Переименуйте функцию из п.2 в "autostart" и включите галочку "Autostart" в закладке Injection Main, в таком случае информация о поиске после перезапуска Injection будет перезаписываться.

Больше для использования скриптов ничего не надо, сами скрипты:
Code:
Sub FindCount(tar)
return strlen(uo.getEasyUO(tar))/10
endsub

Sub FindItem(num,tar)
return MID(uo.getEasyUO(tar),num*10,10)
endsub

Sub FindType(find)
var i, tmp=""
uo.exec("findtype "+find)
if uo.findcount() then
repeat
tmp = tmp + uo.getSerial("finditem")
uo.ignore("finditem")
uo.exec("findtype "+find)
until not uo.findcount()
for i=0 to strlen(tmp)/10-1
uo.ignore(MID(tmp,i*10,10),"off")
next
i = val(uo.getEasyUO(first_mem))+first_mem+1
uo.setEasyUO(i,tmp)
uo.setEasyUO(first_mem,str(val(uo.getEasyUO(first_mem))+1))
return i
else
return false
endif
endsub


Пример, с использованием этих скриптов:
Code:
sub main()
var i
var s = FindType("'-1' '-1' 'backpack'")
if FindCount(s) then
for i=0 to FindCount(s)-1
uo.textprint(FindItem(i,s))
next
endif
endsub

Скрипт найдёт все вещи в бекпеке и запишет информацию в текстовое окно.

PS: Для тех, кто любит чистить реестр, путь в реестре: HKEY_CURRENT_USER\Software\EasyUO




не для новичков. Пишите уроки 6-7... а то планка uo.FindType, uo.UseObject выше не поднимается .


Top
   
 Post subject:
PostPosted: 2006-04-16 13:16:06 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
Edred wrote:
Der wrote:
Кстати, вопрос у меня есть: а почему бы не сделать так чтобы массивы можно было до сабов определять а то неудобно как-то...


Я думаю, тебе может помочь вот такая "фича" (кстати, я в своих скриптах это использую активно):

Quote:
DIM массив[размер], массив[размер]...

- задание массива. Обращение к элементам: имя_массива[номер_элемента]. Нельзя писать имя_массива1 = имя_массива2 для присвоения содержимого одного массива другому.
Обращение к отдельным буквам в строке - так же, как к эл-там массива:
переменная[номер_буквы]. Номер - от 0, в случае выхода за конец строки - ошибка.

Замечания по поводу массивов
Массивы можно передавать в качестве параметров функциям. При этом передается САМ массив, а не его копия!!! Т.е. все действия внутри функции над элементами массива будут производиться над первоначальным массивом. Возвращать массивы из функций НЕЛЬЗЯ!!!


:) Ну и где же сдесь "фича" ? Это я и так знаю...


Top
   
 Post subject:
PostPosted: 2006-04-16 13:51:10 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Der wrote:
:) Ну и где же сдесь "фича" ? Это я и так знаю...


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


Top
   
 Post subject:
PostPosted: 2006-04-26 10:24:15 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Несколько модифицировал скрипт - он теперь поиск запускает поочереди, чтобы наложений не вышло.


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

All times are UTC+02:00


Who is online

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