Script.dll with INCLUDE feature

ASM, Perl, IRW, other injections and script modules

Moderators: Murderator+, Murderator

Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Script.dll with INCLUDE feature

Post by Beyonder »

<<EN
Ok, my 2 days work is over. The result is modifyed original version of script.dll (i hope yoko didnt add any new features there in his release :) ) with include feature.
The way it works can be seen from examples.

<<RUS
Наконец-то я закончил свою 2-ух дневную работу. В результате получился модифицированный скриптовый модуль с поддержкой инклудов. Смотрите примеры использование и все поймете :).

C:\UO\Inject\Scripts\mainfunct.sc

Code: Select all

<<include <funct1.sc>
<<include <\reserv\funct2.sc>
<<include <\reserv\out\funct3.sc>

sub main()
UO.Print("Hello from main function!")
FunctionInFunct1()
FunctionInFunct2()
FunctionInFunct3()
end sub


C:\UO\Inject\Scripts\funct1.sc

Code: Select all

sub FunctionInFunct1()
UO.Print("Hello from funct1!")
end sub


C:\UO\Inject\Scripts\reserv\funct2.sc

Code: Select all

sub FunctionInFunct2()
UO.Print("Hello from funct2!")
end sub


C:\UO\Inject\Scripts\reserv\out\funct3.sc

Code: Select all

sub FunctionInFunct3()
UO.Print("Hello from funct3!")
end sub


<<EN

Ok, the examples are over and now some docs.
1) Syntax is

Code: Select all

<<include <FILENAME>

2) FILENAME is a path to the included file FROM THE MAIN FILE.
That means that all includes are done looking on the dirs from the main script file.
Like if you open C:\main.sc and there is include "\funct\load.sc" then it will load the C:\funct\load.sc. AND if load.sc includes some "\dir\other.sc" then IT WILL NOT LOAD C:\funct\dir\other.sc . The file that will be loaded is C:\dir\other.sc because the main file is main.sc and it is on C:\ so that is the beginning of the search.
3) includes are fully recursive with the only limiting that is told about in N2.
4) Include includes files to the end of current script, so dunt try putting parts of functions in different files and then including them togather.

<<RU

Примеры закончились, теперь документация
1) Синтакс:

Code: Select all

<<include <FILENAME>

2) FILENAME это полный относительный (от запускаемого файла) путь и имя файла.
Тоесть если INCLUDE сделать в друго заинклуженом файле, то путь указанный там будет относительно самого основного открытого в инжекте файле.
3) Инклуды полностью рекурсивные с единственным ограничением описанным в пункте 2.
4) Все заинклуженные файлы помещаються в конец текущего файла где-бы они не находились. Тоесть не пытайтесь разбить одну функцию по частям на файлы, а потом пробовать заинклудить вместе.

LINK: http://beyonder.nm.ru/script.dll
ALTERNATIVE LINK OR DL Link.

PS. There is also Search and Replace feature included. Search for it by Ctrl+F.
ПС. Также встроенная функция поиска и замены в тексте скрипта. Вызываеться по Ctrl+F.
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Да и кстати, версия тестовая и поэтому пишет в файл C:\OutF.sc то что получилось после инклудов.
Так что если будут глюки, в первую очередь шлите свой скрипт и этот файл.

Жду критики.
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

Звучит круто :D
Бум смотреть :)
О результатах доложу... если незабуду :roll:
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Ну как, кто-то еще пробовал?
Да и заодно напоминаю I'm-у сообщить о полученных результатах.
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

Походу я тут первоиспытатель :lol:
Ну чтож поздравляю вас инклуд работает :lol:
Удобно и уневерсально :wink:
Сперва были праблеммы с парсером в первой строке, потом их нестало :lol: (ошибка с пунктом 2 :oops: )
Вобщем он роет он роет минут 15 :lol:
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

Вот еще бы можно было бы "спуститься" вниз типо из Injection\Scripts\Bots в Injection\Scripts :roll:
Если уже можно то как у меня чето плохо думается по утрам :evil:
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Надо подумать над этой фичей. Может и сделаю когда лень пройдет :).
На данный момент ее помоему нет :).
В начале я думал сделать инклуды относительно файла инжекта, но потом оказалось что он себя приаттачивает к процессу УО и фиг ты его местонахождение вытянешь.
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Оказываеться эта фича уже есть :D. Просто винды позволяют это сделать без проблем.

Code: Select all

<<include <\..\included.sc>

Этот код заинклудит included.sc файл лежащий в верхней на 1 папке.
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

Как надоест ленится пойду проверю :lol:
J17
Posts: 69
Joined: 2005-01-16 13:44:08
Location: Moscow
Contact:

Post by J17 »

Круто!!!! Вот именно инклуда мне всегда и нехватало! Постоянно повторяющийся код в моих скриптах... Теперь всё будет поновому. %)
Респект.

PS Нет желания заделаться официальным девелопером скриптового модуля? :)
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Никакого желания =).
Просто у меня энтузиазм приходит раз в месяц.
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

И этого достаточно :wink:
Arthur
Posts: 11
Joined: 2004-08-20 11:02:35

Post by Arthur »

like your script.dll but dont have autoload can add pls thanks ;)
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Может проще отправить кусок кода, отвечающий за реализацию include к Йоко, чтобы он включил его в скриптовый модуль?
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Edred wrote:Может проще отправить кусок кода, отвечающий за реализацию include к Йоко, чтобы он включил его в скриптовый модуль?

По-моему, он взял сорцы скриптового модуля дописал их и скомпилил, возможно проще отослать к Yoko, но зачем же его отвелкать от важных дел :?:
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Destruction wrote:
Edred wrote:Может проще отправить кусок кода, отвечающий за реализацию include к Йоко, чтобы он включил его в скриптовый модуль?

По-моему, он взял сорцы скриптового модуля дописал их и скомпилил, возможно проще отослать к Yoko, но зачем же его отвелкать от важных дел :?:


Мдя, ты совсем в вопросе не разбираешься... Он взял старую версию исходников скриптового модуля, последняя версия есть только у Йоко. А в этой последней версии - команда terminate, возможность использовать autoload и autostart.
Krysa
Posts: 9
Joined: 2005-08-06 18:06:05
Contact:

Post by Krysa »

Hmm, why ",temirnate all" not working in this super thing? :cry:
rooney
Posts: 2
Joined: 2006-05-06 20:00:29

Post by rooney »

link is broken, can u upload it to another one plz?
rooney
Posts: 2
Joined: 2006-05-06 20:00:29

Post by rooney »

terminate isnt working...
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

Таки перенес тему куда следовало :)
The End.
Post Reply