Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
простейший вариант запуска dll, код которой находится в теле скрипта. писал давным давно лишь для проверки, использовать ни разу не пришлось.
Код:
{$CLEO}
wait 0
while true
wait 0
if key_down 0x31
then
call @makefile 0
0a93:
end
end
var
3@ : int
4@ : int
end
:makefile
0A9A: 0@ = openfile "cleo\test.bin" mode "wb+" // IF and SET
call @getfilesize 2 @file @endoffile 1@
0AC6: 2@ = label @file offset
for 3@ = 0 to 1@
0A8E: 4@ = 2@ + 3@ // int
0A8D: 4@ = read_memory 4@ size 1 virtual_protect 0
0A9E: writefile 0@ size 1 from 4@
end
0A9B: closefile 0@
0AA2: 0@ = load_library "cleo\test.bin" // IF and SET
0AA5: call 6@ num_params 0 pop 0
//wait 1000
//0AA3: free_library 0@
//0B00: delete_file "cleo\test.bin" //IF and SET
ret 0
:getfilesize
// 0@ - label, 1@ - end of file
0AC6: 0@ = label 0@ offset
0AC6: 1@ = label 1@ offset
0062: 1@ -= 0@
dec(1@)
ret 1 1@
:file
hex
// здесь должен быть hex-код всего исполняемого файла
end
:endoffile
0000:
простейший вариант запуска dll, код которой находится в теле скрипта. писал давным давно лишь для проверки, использовать ни разу не пришлось.
Код:
{$CLEO}
wait 0
while true
wait 0
if key_down 0x31
then
call @makefile 0
0a93:
end
end
var
3@ : int
4@ : int
end
:makefile
0A9A: 0@ = openfile "cleo\test.bin" mode "wb+" // IF and SET
call @getfilesize 2 @file @endoffile 1@
0AC6: 2@ = label @file offset
for 3@ = 0 to 1@
0A8E: 4@ = 2@ + 3@ // int
0A8D: 4@ = read_memory 4@ size 1 virtual_protect 0
0A9E: writefile 0@ size 1 from 4@
end
0A9B: closefile 0@
0AA2: 0@ = load_library "cleo\test.bin" // IF and SET
0AA5: call 6@ num_params 0 pop 0
//wait 1000
//0AA3: free_library 0@
//0B00: delete_file "cleo\test.bin" //IF and SET
ret 0
:getfilesize
// 0@ - label, 1@ - end of file
0AC6: 0@ = label 0@ offset
0AC6: 1@ = label 1@ offset
0062: 1@ -= 0@
dec(1@)
ret 1 1@
:file
hex
// здесь должен быть hex-код всего исполняемого файла
end
:endoffile
0000:
так можно было делать и без занесения кода библиотеки в скрипт, нужно лишь загрузить dll и вызывать требуемые функции. чтоб удобнее было их использовать сделай экспорты функций и получай их адреса по именам с помощью опкода 0AA4: $hPROC = get_proc_address "GetVersion" library $hLIB // IF and SET
возможно обнова выйдет скоро, попробую запилить опкод для вызова опкодов, так-же попробую создание нового потока с некоторой метки скрипта и еще увеличу ограничение длины текста на рендер
возможно обнова выйдет скоро, попробую запилить опкод для вызова опкодов, так-же попробую создание нового потока с некоторой метки скрипта и еще увеличу ограничение длины текста на рендер
обнова для 0.3z, также увеличены буфферы для рисования текста. Теперь по 512 символов за раз.
Так-же вернул опкоды для маркеров
Версию можно назвать Beta, поэтому при багах желательно отписываться в этой теме.