Вопросы по CLEO-скриптингу

alfazlo

Потрачен
128
36
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,468
Будет ли работать эта функция отправки фейковых координат в машине(проверьте :D):
PHP:
{$CLEO}
{$include includes\RakNetDefines.txt}
 
0000:
 
const
    sizeof_stInCarData = 63
end
 
// struct stInCarData  ( size = 63 )
//    uint16_t    sVehicleID;
//    uint16_t    sLeftRightKeys; + 2
//    uint16_t    sUpDownKeys; + 4
//    uint16_t    sKeys; + 6
//    float  fQuaternion[4]; + 8
//    float  fPosition[3]; + 24
//    float  fMoveSpeed[3]; + 36
//    float  fVehicleHealth; + 48
//    uint8_t  bytePlayerHealth; + 52
//    uint8_t  byteArmor; + 53
//    uint8_t  byteCurrentWeapon; + 54
//    uint8_t  byteSiren; + 55
//    uint8_t  byteLandingGearState; + 56
//    uint16_t    sTrailerID; + 57
//    float  fTrainSpeed; + 59
 
:SendInCarFakePosition
// 0@, 1@, 2@ = coords
// Example: 0AB1: call @SendInCarFakePosition 3 xyz 10@ 11@ 12@
03C0: 3@ = actor car $PLAYER_ACTOR
0A97: 3@ = car struct 3@
3@ += 681
0AC8: 4@ = allocate_memory_size sizeof_stInCarData
0AB1: call @memcpy 3 destination 4@ source 3@ size sizeof_stInCarData
0085: 5@ = 4@
 
5@ += 24
0A8C: write_memory 5@ size 4 value 0@ virtual_protect 0
5@ += 4
0A8C: write_memory 5@ size 4 value 1@ virtual_protect 0
5@ += 4
0A8C: write_memory 5@ size 4 value 2@ virtual_protect 0
 
0B3D: raknet 5@ = new_bit_stream
 
0B40: raknet bit_stream 5@ write PACKET_VEHICLE_SYNC type BS_TYPE_BYTE size 1
0B40: raknet bit_stream 5@ write 4@ type BS_TYPE_ARRAY size sizeof_stInCarData
0B42: raknet send bit_stream 5@ priority PRIORITY_HIGH reliability UNRELIABLE_SEQUENCED ordering_channel 0
 
0B3E: raknet delete_bit_stream 5@
0AC9: free_allocated_memory 4@
 
0AB2: ret 0
 
 
:memcpy
 
var
    0@ : integer
    1@ : integer
    2@ : integer
    3@ : integer
end
 
// 0@ - destination, 1@ - source, 2@ - size
// Example: 0AB1: call @memcpy 3 destination 0@ source 1@ size 2@
 
dec(2@)
for 3@ = 0 to 2@
    0A8D: 4@ = read_memory 1@ size 1 virtual_protect 0
    0A8C: write_memory 0@ size 1 value 4@ virtual_protect 0
    1@ += 1
    0@ += 1
end
 
0AB2: ret 0
 

fonarik

Известный
206
3
Ребят,может кто в skype дать,а лучше показать как сделать клео на отправку пакетов?
 

Dark_Knight

Me, me and me.
Друг
4,085
2,114
Решил переделать функцию получения ФПС с соба в клео. Столкнулся с такой проблемой. На монитор выводится фигня
http://s017.radikal.ru/i421/1305/75/275690d8c123.jpg (Отображение слева внизу) Помогите найти ошибку.
Код:
{$CLEO}
const
fpsDisplay = 0@
fps_time = 1@
fpsBuf1 = 1@
fpsBuf2 = 2@
fpsBuf3 = 3@
fpsBuf4 = 4@
 
GetTickCount = 0@
fpsFrameCounter = 8@
TEXT_SEC = 25@v
FPS = 0
end
 
var
fpsBuf1 : integer
fpsBuf2 : integer
fpsBuf3 : integer
fpsBuf4 : integer
fpsFrameCounter : integer
fps_time : integer
GetTickCount : integer
end
 
0AA2: 20@ = load_library "kernel32.dll"
0AA4: GetTickCount = get_proc_address "GetTickCount" library 20@
0AA7: call_function GetTickCount num_params 1 pop 0 "samp.dll" GetTickCount
 
03F0: enable_text_draw 1
 
 
while true
wait 0
call @getFPS 1 id GetTickCount to fpsDisplay
call @getGXTParams 1 FPS to 1@ 2@ 3@ 4@ 5@ 6@ 7@ 8@ 9@ 10@ 11@ 12@ 13@
call @setGXTParams 11 3@ 4@ 5@ 6@ 7@ 8@ 9@ 10@ 11@ 12@ 13@
045A: draw_text_1number 1@ 2@ GXT 'NUMBER' number fpsDisplay
end
:getFPS
{
Example: call @getFPS 1 id GetTickCount to fpsDisplay
}
fps_time = GetTickCount
fpsFrameCounter += fpsFrameCounter
GetTickCount -= 250
if
GetTickCount > fps_time
then
fpsBuf4 = fpsBuf3
fpsBuf3 = fpsBuf4
fpsBuf2 = fpsBuf1
//set new FPS
//fpsBuf1 = ( fpsFrameCounter * 4 )
fpsFrameCounter *= 4
fpsBuf1 = fpsFrameCounter
//fpsDisplay = ( fpsBuf1 + fpsBuf2 + fpsBuf3 + fpsBuf4 ) / 4.0
fpsBuf1 += fpsBuf2
fpsBuf1 += fpsBuf3
fpsBuf1 += fpsBuf4
fpsDisplay = fpsBuf1
//
fpsFrameCounter = 0
fps_time = GetTickCount
end
ret 1 fpsDisplay
 
:setGXTParams
0343: set_text_draw_linewidth 640.0
0340: set_text_draw_RGBA 2@ 3@ 4@ 5@
033F: set_text_draw_letter_size 0@ 1@
081C: draw_text_outline 10@ RGBA 6@ 7@ 8@ 9@
ret 0
 
:getGXTParams
if 0@ == 0
then 0AD3: string TEXT_SEC format "FPS" //14@v = "Nickname"
else
if 0@ == 1
then 0AD3: string TEXT_SEC format "Gun_Ammo" //14@v = "Time_Local"
else
if 0@ == 2
then 0AD3: string TEXT_SEC format "Gun_Name" //14@v = "Ping"
else
if 0@ == 3
then 0AD3: string TEXT_SEC format "Armor" //14@v = "Ping"
else
if 0@ == 4
then 0AD3: string TEXT_SEC format "Money" //14@v = "Ping"
else
if 0@ == 5
then 0AD3: string TEXT_SEC format "Health" //14@v = "Ping"
end
end
end
end
end
end
0AF2: 1@ = get_float_from_ini_file "cleo\player informator\setting\setting.ini" section TEXT_SEC key "PositionX"
0AF2: 2@ = get_float_from_ini_file "cleo\player informator\setting\setting.ini" section TEXT_SEC key "PositionY"
0AF2: 3@ = get_float_from_ini_file "cleo\player informator\setting\setting.ini" section TEXT_SEC key "SizeX"
0AF2: 4@ = get_float_from_ini_file "cleo\player informator\setting\setting.ini" section TEXT_SEC key "SizeY"
0AF0: 5@ = get_int_from_ini_file "cleo\player informator\setting\setting.ini" section TEXT_SEC key "ColorRed"
0AF0: 6@ = get_int_from_ini_file "cleo\player informator\setting\setting.ini" section TEXT_SEC key "ColorGreen"
0AF0: 7@ = get_int_from_ini_file "cleo\player informator\setting\setting.ini" section TEXT_SEC key "ColorBlue"
0AF0: 8@ = get_int_from_ini_file "cleo\player informator\setting\setting.ini" section TEXT_SEC key "ColorAlpha"
0AF0: 9@ = get_int_from_ini_file "cleo\player informator\setting\setting.ini" section TEXT_SEC key "ShadowColorRed"
0AF0: 10@ = get_int_from_ini_file "cleo\player informator\setting\setting.ini" section TEXT_SEC key "ShadowColorGreen"
0AF0: 11@ = get_int_from_ini_file "cleo\player informator\setting\setting.ini" section TEXT_SEC key "ShadowColorBlue"
0AF0: 12@ = get_int_from_ini_file "cleo\player informator\setting\setting.ini" section TEXT_SEC key "ShadowColorAlpha"
0AF0: 13@ = get_int_from_ini_file "cleo\player informator\setting\setting.ini" section TEXT_SEC key "FontStyle"
ret 13 1@ 2@ 3@ 4@ 5@ 6@ 7@ 8@ 9@ 10@ 11@ 12@ 13@
[06.04.13 20:57] Отредактировал MogAika: поправил ссылку
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,468
Dark_Knight, а fpsDisplay, fpsBuf1, fpsBuf2, fpsBuf3, fpsBuf4 случаем не должны быть типа float?
Посмотрел функцию:
PHP:
float fpsDisplay, fpsBuf1, fpsBuf2, fpsBuf3, fpsBuf4;
uint32_t fps_time = GetTickCount();
int fpsFrameCounter;
float getFPS ( void )
{
// increment frame counter
fpsFrameCounter++;
 
// get fps
if ( (GetTickCount() - 250) > fps_time )
{
// for averaging
fpsBuf4 = fpsBuf3;
fpsBuf3 = fpsBuf2;
fpsBuf2 = fpsBuf1;
 
// set new FPS
fpsBuf1 = ( fpsFrameCounter * 4 );
fpsDisplay = ( fpsBuf1 + fpsBuf2 + fpsBuf3 + fpsBuf4 ) / 4.0;
 
// reset counter
fpsFrameCounter = 0;
 
// reset tick
fps_time = GetTickCount();
}
 
return fpsDisplay;
}
Может из-за этого? :)
 

Избранный

Новичок
198
30
Код:
{$CLEO}
{$Include includes\RakNetDefines.txt}
0000:
// GetSampBase
if not 0@ = SAMP.Base()
then 0A93: end_custom_thread
end
 
while not SAMP.Available()
    wait 100
end
 
wait 3000
0B2E: 4@ = read_module_memory "samp.dll" offset 0x14E20 size 2
 
while true
wait 0
    if 0ab0: 54
    then
    0AD1: show_formatted_text_highpriority "MOD ~g~ON" 4000
        repeat
        0B2D: write_module_memory "samp.dll" offset 0x14E20  value 0xC390 size 2 
        0B3D: raknet 1@ = new_bit_stream
        0B40: raknet bit_stream 1@ write 10 type BS_TYPE_INT size 4
        0B41: raknet send_rpc RPC_PICKEDUPPICKUP bit_stream 1@ priority PRIORITY_HIGH reliability RELIABLE_SEQUENCED ordering_channel 0 shift_timestamp false
        wait 1
        until 0ab0: 55
    0B2D: write_module_memory "samp.dll" offset 0x14E20  value 4@ size 2
    0AD1: show_formatted_text_highpriority "MOD ~r~OFF" 4000
    end
end
В чем ошибка? Крашит при активации
в опкодах 0b2e и 0b2d ставь 4 байта (последний параметр короч)
 

01EG

Известный
Проверенный
638
363
Здравствуйте, ребята. Клео-скриптеры и прочие программисты, думаю здесь найдется человек который сможет мне ответить на мой вопрос и думаю многие ним задаются. Собственно что нужно чтоб получить формат .asi, насколько я знаю в .asi скриптах написаны некоторые клео, к примеру скриптер 0x688 пишет свои скрипты в формате .asi. Какой программой их штампуют ;) ?
 

gwplayer

Известный
Друг
188
35
Здравствуйте, ребята. Клео-скриптеры и прочие программисты, думаю здесь найдется человек который сможет мне ответить на мой вопрос и думаю многие ним задаются. Собственно что нужно чтоб получить формат .asi, насколько я знаю в .asi скриптах написаны некоторые клео, к примеру скриптер 0x688 пишет свои скрипты в формате .asi. Какой программой их штампуют ;) ?
C++ Вроде, а не CLEO
 

Scheitaan

Известный
125
18
Здравствуйте, ребята. Клео-скриптеры и прочие программисты, думаю здесь найдется человек который сможет мне ответить на мой вопрос и думаю многие ним задаются. Собственно что нужно чтоб получить формат .asi, насколько я знаю в .asi скриптах написаны некоторые клео, к примеру скриптер 0x688 пишет свои скрипты в формате .asi. Какой программой их штампуют ;) ?
Все проще простого в санни билдере вместо {$CLEO .cs} пишешь {$CLEO .asi}
 

MogAika

Известный
Автор темы
Друг
237
444
Все проще простого в санни билдере вместо {$CLEO .cs} пишешь {$CLEO .asi}
Ты упорот?
.asi - это dll библиотека, которую игра автоматически подгружает. Её рокстаровцы использовали для обновлений.
 
  • Нравится
Реакции: 01EG