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

itsOkke

Потрачен
86
38
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
0C18 принимает переменную первым аргументом блин
 

grandpafromghetto

НАСТАЯЩИЙ ДАГИСТАНИЦ
Проверенный
335
119
Всем привет, хочу написать скрипт который мониторит чат и при нахождении определённой строки достаёт из неё переменную и ищет её в ини файле, после нахождения берёт координаты и ставит чекпоинт, вот код который я написал, он просто не работает(
Код:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP

:READ_2
0001: wait 100 ms
0AFA:  is_samp_available
004D: jump_if_false @READ_2
0B34: samp register_client_command "/hs" to_label @READ_90
0B34: samp register_client_command "/hsoff" to_label @READ_42

:READ_42
0B43: samp cmd_ret
03A4: name_thread 'READ'
0001: wait 0 ms
00D6: if
0AAB:   file_exists "CLEO\Housess.ini"
004D: jump_if_false @READ_291

:READ_90
0001: wait 0 ms
0AC8: 0@ = allocate_memory_size 256
0AD3: 0@ = format "Внимание! В доме 228 сработала сигнализация!"
0AC8: 1@ = allocate_memory_size 24
0AA5: call 8528045 num_params 1 pop 1 "Внимание! В доме %d сработала сигнализация!!"
0AF0: 4@ = get_int_from_ini_file "CLEO\Housess.ini" section "Houses" key "%d"
018A: 4@ = create_checkpoint_at 14@ 15@ 16@
0AC9: free_allocated_memory 0@
0AC9: free_allocated_memory 1@
0A93: end_custom_thread

:READ_291
0001: wait 0 ms
0AF8: samp add_message_to_chat "{FFFFFF}Файл с домами не найден." color 16777215
0A93: end_custom_thread
CLEO:
{$CLEO}
0000:

alloc 1@ 256

int 3@
int 4@

repeat
wait 0
until samp.Available()

0b34: "cmd" @SCRIPT_ACTIVATION

while true
wait 0

if 0@ == 1
then

0B75: samp get_chat_string 99 text_to 1@ prefix_to 0 color_to 0 prefix_color_to 0
if 0AD4: 2@ = scan_string 1@ format "string wich you want to find %d" 3@
then

if 3@ == 4@
then

0AF0: 4@ = get_int_from_ini_file "CLEO\ini name.ini" section "sec" key "key"

018A: 5@ = create_checkpoint_at 14@ 15@ 16@

end

end

end

0@ = 0

end

:SCRIPT_ACTIVATION
0B12: 0@ = 0@ XOR 1
cmdret
откуда он берет координаты я так и не понял
 

Bond_Jems

Известный
18
0
CLEO:
{$CLEO}
0000:

alloc 1@ 256

int 3@
int 4@

repeat
wait 0
until samp.Available()

0b34: "cmd" @SCRIPT_ACTIVATION

while true
wait 0

if 0@ == 1
then

0B75: samp get_chat_string 99 text_to 1@ prefix_to 0 color_to 0 prefix_color_to 0
if 0AD4: 2@ = scan_string 1@ format "string wich you want to find %d" 3@
then

if 3@ == 4@
then

0AF0: 4@ = get_int_from_ini_file "CLEO\ini name.ini" section "sec" key "key"

018A: 5@ = create_checkpoint_at 14@ 15@ 16@

end

end

end

0@ = 0

end

:SCRIPT_ACTIVATION
0B12: 0@ = 0@ XOR 1
cmdret
откуда он берет координаты я так и не понял
Из ини файла
[Houses]
217 = 2659.1782,-2414.0164,13.6276
33
 
Последнее редактирование:

grandpafromghetto

НАСТАЯЩИЙ ДАГИСТАНИЦ
Проверенный
335
119
Из ини файла
[Houses]
217 = 2659.1782,-2414.0164,13.6276
CLEO:
{$CLEO}
0000:

alloc 1@ 256

int 3@
int 4@
alloc 5@ 256

repeat
wait 0
until samp.Available()

0b34: "cmd" @SCRIPT_ACTIVATION

while true
wait 0

if 0@ == 1
then

0B75: samp get_chat_string 99 text_to 1@ prefix_to 0 color_to 0 prefix_color_to 0
if 0AD4: 2@ = scan_string 1@ format "string wich you want to find %d" 3@
then

if 3@ == 4@
then

0AF4: 5@ = read_string_from_ini_file "cleo\config.ini" section "SectionName" key "stringKey"

0AD4: 10@ = scan_string 5@ format "%f,%f,%f" 14@ 15@ 16@

018A: 6@ = create_checkpoint_at 14@ 15@ 16@

end

end

end

0@ = 0

end

:SCRIPT_ACTIVATION
0B12: 0@ = 0@ XOR 1
cmdret
 

NookieONE

Участник
128
1
Привет. При использовании хука стало крашить после ввода команды:
CLEO:
:razz
Samp.IsCommandTyped(0@)
if
0AD4: 1@ = scan_string 0@ format "%d" 2@
then
    if
        Samp.IsPlayerConnected(2@)
    then
        3@ = Samp.GetPlayerScore(2@)
            if 3@ <= 4
            then
                say "/первое %d" 2@
            else
                say "/второе %d" 2@
            end
        else
            chatmsg "Игрок с ID: %d не найден" -1 2@
        end    
end
Samp.CmdRet()
CLEO:
:amm
28@ = Samp.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
0B36: samp 29@ = get_player_nickname 28@
0BE5: raknet 0@ = get_hook_param 1
00D6: if
0039:   0@ == 93
then
    0BE5: raknet 1@ = get_hook_param 0
    0BEB: raknet bit_stream 1@ ignore_bits 32
    0BE7: raknet 2@ = bit_stream_read 1@ type 3
    0BE8: raknet bit_stream 1@ read_array 3@ size 2@
    0C1E: array 3@ element 2@ el_size 1 = 0
    0AD3: 8@ = format "raz %s" 29@
    if
    0C18: 0 = strstr string1 3@ string2 8@
    then
//code
    end
  
    0AD3: 8@ = format "dva %s" 29@
    if
    0C18: 0 = strstr string1 3@ string2 8@
    then
//code
    end
  
    0AD3: 8@ = format "tri %s" 29@
    if
    0C18: 0 = strstr string1 3@ string2 8@
    then
//code
    end
  
    0AD3: 8@ = format "4 %s" 29@
    if
    0C18: 0 = strstr string1 3@ string2 8@
    then
//code
    end
  
    end
0BE0: raknet hook_ret 1
 

grandpafromghetto

НАСТАЯЩИЙ ДАГИСТАНИЦ
Проверенный
335
119
В общем в клео вообще не шарю.
Помогите сделать скрипт, который будет по нажатию клавиши активации (Допустим F1) последовательно нажимать Alt и Enter до того времени, как я снова не нажму клавишу деактивации.
слушайте, сударь, здесь люди по делу спрашивают, а не заказывают скрипты, для этого есть другая тема
 
  • Нравится
Реакции: jasd241

hnnssy

Известный
Друг
2,684
2,769
CLEO:
:amm
28@ = Samp.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
0B36: samp 29@ = get_player_nickname 28@
0BE5: raknet 0@ = get_hook_param 1
00D6: if
0039:   0@ == 93
then
    0BE5: raknet 1@ = get_hook_param 0
    0BEB: raknet bit_stream 1@ ignore_bits 32
    0BE7: raknet 2@ = bit_stream_read 1@ type 3
    0BE8: raknet bit_stream 1@ read_array 3@ size 2@
    0C1E: array 3@ element 2@ el_size 1 = 0
    0AD3: 8@ = format "raz %s" 29@
    if
    0C18: 0 = strstr string1 3@ string2 8@
    then
//code
    end
  
    0AD3: 8@ = format "dva %s" 29@
    if
    0C18: 0 = strstr string1 3@ string2 8@
    then
//code
    end
  
    0AD3: 8@ = format "tri %s" 29@
    if
    0C18: 0 = strstr string1 3@ string2 8@
    then
//code
    end
  
    0AD3: 8@ = format "4 %s" 29@
    if
    0C18: 0 = strstr string1 3@ string2 8@
    then
//code
    end
  
    end
0BE0: raknet hook_ret 1
под 8@ память выделена? и перед каждым 0AD3 заполняй её лучше нулями через 0C11
и да, не используй одни и те же переменные в хуке и команде
 

Musaigen

shitposter
Проверенный
1,656
1,472
Серьёзно? Покупать клео, в котором одна строка? Поэтому я и написал сюда
CLEO:
{$CLEO}
0000:

while true
wait 0
    if 0C89:  key_just_pressed 112
    then
        repeat
        wait 0
        0B56: set_game_key 21 state 255
        wait 25
        0C72: set_virtual_key 13 down true
        0C72: set_virtual_key 13 down false
        until 0C89:  key_just_pressed 112
    end   
end
В котором 16 строк, 15 без пробелов. И в первых - почему пишешь, чтобы типо мы тебе помогли сделать данный скрипт, если ты не шаришь в клео?
 
  • Нравится
Реакции: GooDL

Shindji

Известный
115
6
Подскажите опкод для того что бы в SF консоли активировать скрипт