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

Griha99

Новичок
2
0
есть ли где-нибудь собрание ВСЕХ опкодов (и которые из SF, и которые итак есть) с описанием?
 

Roman2724

Новичок
33
2
Мне нужно вот такое, что я например вводил команду, и мне чат писало: Скрипт активирован.
Вот как не делаю уже, ничего не выходит.
Кому не сложно, попрошу помочь.
Там как знаю, надо опкоды с sampfuncs.
Кто поможет, + дам ;)
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Код:
{$CLEO}
 
0000:
 
if 8AF7: get_samp_base_to 33@
then 0A93: end_custom_thread
end
repeat
    wait 400
until 0AFA: is_samp_structures_available
 
0B34: samp register_client_command "hi" to_label @cmd
 
while true
    wait 0
    if 0@ == 1 // Скрипт активирован
    then
        0AF8: chat "[Я] включен!" 0xFF0000
        wait 100
    end
end
 
:cmd
if 0@ == 0
then
    0AF8: chat "Скрипт активирован" 0x0FF00F
    0@ = 1
else
    0AF8: chat "Скрипт деактивирован" 0x0FF00F
    0@ = 0
end
SAMP.CmdRet()
 

TheMonstercat

Известный
75
11
Hey i want to protect a .cs with the HWID but what i have dont work...

Код:
0AA2: 1@ = load_library "kernel32.dll"
0AA4: 2@ = get_proc_address "GetVolumeInformationA" library 1@
0AC7: 0@ = var 0@ offset
0AA5: call 2@ num_params 8 pop 0 0 0 0 0 0@ 0 0 0
0AF1: write_int 0@ to_ini_file "cleo\config.ini" section "SectionName" key "intKey" 
if
0@ == 1102332465 // DIE HWID VON DENEN
then
    0AA2: 31@ = load_library "kernel32.dll" // IF and SET
    0AA4: 30@ = get_proc_address "GetModuleHandleA" library 31@ // IF and SET
    0AA7: call_function 30@ num_params 1 pop 0 "samp.dll" 0@
    0A8E: 1@ = 0@ + 0x212A24
    0A8D: 2@ = read_memory 1@ size 4 virtual_protect 1
    0A8E: 1@ = 0@ + 0x79680
    0AA5: call 1@ num_params 4 pop 4 params "Du hast die richtige Serial!" 2@ 
else
0A93: end_custom_thread
end
 

Dark_Knight

Me, me and me.
Друг
4,062
2,077
Hey i want to protect a .cs with the HWID but what i have dont work...

Код:
0AA2: 1@ = load_library "kernel32.dll"
0AA4: 2@ = get_proc_address "GetVolumeInformationA" library 1@
0AC7: 0@ = var 0@ offset
0AA5: call 2@ num_params 8 pop 0 0 0 0 0 0@ 0 0 0
0AF1: write_int 0@ to_ini_file "cleo\config.ini" section "SectionName" key "intKey"
if
0@ == 1102332465 // DIE HWID VON DENEN
then
    0AA2: 31@ = load_library "kernel32.dll" // IF and SET
    0AA4: 30@ = get_proc_address "GetModuleHandleA" library 31@ // IF and SET
    0AA7: call_function 30@ num_params 1 pop 0 "samp.dll" 0@
    0A8E: 1@ = 0@ + 0x212A24
    0A8D: 2@ = read_memory 1@ size 4 virtual_protect 1
    0A8E: 1@ = 0@ + 0x79680
    0AA5: call 1@ num_params 4 pop 4 params "Du hast die richtige Serial!" 2@
else
0A93: end_custom_thread
end
Код:
:get_serial
/*
Спасибо Даниилу за функцию
Параметры:
  Выход: 0@ - Возвращает серийный номер жёсткого диска, который операционная система присваивает при форматировании.
Использование:
if
  0AB1: call @get_serial 0 store_to 0@
then
  wait 0
end
*/
if 
       0AA2: 1@ = load_library "kernel32.dll" 
then
    0485:  return_true
    if 
        0AA4: 2@ = get_proc_address "GetVolumeInformationA" library 1@ 
    then
        0AC7: 0@ = var 0@ offset
        0AA5: call 2@ num_params 8 pop 0 0 0 0 0 0@ 0 0 0
    end
else
    059A:  return_false    
end
0AA3: free_library 1@
0AB2: ret 0@
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Hey i want to protect a .cs with the HWID but what i have dont work...

Код:
0AA2: 1@ = load_library "kernel32.dll"
0AA4: 2@ = get_proc_address "GetVolumeInformationA" library 1@
0AC7: 0@ = var 0@ offset
0AA5: call 2@ num_params 8 pop 0 0 0 0 0 0@ 0 0 0
0AF1: write_int 0@ to_ini_file "cleo\config.ini" section "SectionName" key "intKey"
if
0@ == 1102332465 // DIE HWID VON DENEN
then
    0AA2: 31@ = load_library "kernel32.dll" // IF and SET
    0AA4: 30@ = get_proc_address "GetModuleHandleA" library 31@ // IF and SET
    0AA7: call_function 30@ num_params 1 pop 0 "samp.dll" 0@
    0A8E: 1@ = 0@ + 0x212A24
    0A8D: 2@ = read_memory 1@ size 4 virtual_protect 1
    0A8E: 1@ = 0@ + 0x79680
    0AA5: call 1@ num_params 4 pop 4 params "Du hast die richtige Serial!" 2@
else
0A93: end_custom_thread
end


Код:
{$CLEO}
 
wait 0
wait 0
wait 0
wait 1500
 
0ab1: @get_serial 0 0@
0AF1: write_int 0@ to_ini_file "cleo\config.ini" section "SectionName" key "intKey"
 
0ab1: call @GetSampBase 0 1@
0A8E: 2@ = 1@ + 0x212A24
0A8D: 3@ = read_memory 2@ size 4 virtual_protect 1
0A8E: 2@ = 1@ + 0x79680
 
if 0@ == 1102332465 // DIE HWID VON DENEN
then 0AA5: call 2@ num_params 3 pop 3 params 0@ "Success! Welcome, %d" 3@ // 0AA5: call 2@ num_params 3 pop 3 params 0@ "{00FF00}Success! Welcome, %d" 3@
else 0AA5: call 2@ num_params 2 pop 2 params "Error! Denied!" 3@ // 0AA5: call 2@ num_params 2 pop 2 params "{FF0000}Error! Denied!" 3@
end
0A93: end_custom_thread
 
:get_serial
0AA2: 1@ = load_library "kernel32.dll"
0AA4: 2@ = get_proc_address "GetVolumeInformationA" library 1@
0AC7: 3@ = var 0@ offset
0AA5: call 2@ num_params 8 pop 0 0 0 0 0 3@ 0 0 0
0AB2: ret 1 3@
 
:GetSampBase
0AA2: 0@ = load_library "kernel32.dll"
0AA4: 1@ = get_proc_address "GetModuleHandleA" library 0@
0AA7: call_function 1@ num_params 1 pop 0 "samp.dll" 2@
0ab2: ret 1 2@
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Thanks legend2360 can you say me why the int int the .ini changes every time i connect to a server?

My mistake.
Код:
{$CLEO}
 
wait 0
wait 0
wait 0
wait 1500
 
0ab1: @get_serial 0 0@
0AF1: write_int 0@ to_ini_file "cleo\config.ini" section "SectionName" key "intKey"
 
0ab1: call @GetSampBase 0 1@
0A8E: 2@ = 1@ + 0x212A24
0A8D: 3@ = read_memory 2@ size 4 virtual_protect 1
0A8E: 2@ = 1@ + 0x79680
 
if 0@ == 1102332465 // DIE HWID VON DENEN
then 0AA5: call 2@ num_params 3 pop 3 params 0@ "Success! Welcome, %d" 3@ // 0AA5: call 2@ num_params 3 pop 3 params 0@ "{00FF00}Success! Welcome, %d" 3@
else 0AA5: call 2@ num_params 2 pop 2 params "Error! Denied!" 3@ // 0AA5: call 2@ num_params 2 pop 2 params "{FF0000}Error! Denied!" 3@
end
0A93: end_custom_thread
 
:get_serial
0AA2: 1@ = load_library "kernel32.dll"
0AA4: 2@ = get_proc_address "GetVolumeInformationA" library 1@
0AC7: 3@ = var 0@ offset
0AA5: call 2@ num_params 8 pop 0 0 0 0 0 3@ 0 0 0
0AB2: ret 1 0@
 
:GetSampBase
0AA2: 0@ = load_library "kernel32.dll"
0AA4: 1@ = get_proc_address "GetModuleHandleA" library 0@
0AA7: call_function 1@ num_params 1 pop 0 "samp.dll" 2@
0ab2: ret 1 2@
 

Vadik220v

Новичок
20
0
У меня игра вылетает, при активации скрипта или выходе из игры после активациии скрипта. В чём проблема?


Код:
{$CLEO .cs}
0000: NOP
00D6: if
8AF7:  not get_samp_base_to 0@
004D: jump_if_false @GangBot_49
004E: end_thread
 
:GangBot_49
0001: wait 400 ms
0AFA:    is_samp_structures_available
004D: jump_if_false @GangBot_49
0AC8: 25@ = allocate_memory_size 16
 
:1
wait 0
if
0adc: "1"
jf @1
actor.StorePos($PLAYER_ACTOR 4@ 5@ 6@)
6@ += 1.0
0B44: samp 8@ = create_3d_text "Метка №1"  color 0xFFFF00FF position 4@ 5@ 6@ view_distance 50.0 show_behind_walls 1 attached_to_player -1 attached_to_vehicle -1
jump @1