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

Kotovasya

Участник
85
13
Между каждой колонной либо дохуя пробелов, либо пару табуляций. Вытащи полностью текст каким нибудь раклоггером и убедись что именно. По этим разделителям и переходи от колонны к колонне.
Я понял что ты хотел донести до меня, спасибо) Вот только осталось понять что такое раклоггер и как им пользоваться. Если не сложно, можно пожалуйста примерчик?
 

BlackKnigga

Известный
BH Team
922
448
Я понял что ты хотел донести до меня, спасибо) Вот только осталось понять что такое раклоггер и как им пользоваться. Если не сложно, можно пожалуйста примерчик?
Можно и без раклоггера, примерно так:
CLEO:
alloc 0@ 1024
0BD7: samp get_dialog_text 0@
0B78: log 0@
free 0@
Открываешь диалог, выполняешь код выше и смотришь текст в логе сампфункса
 

fsdfho

Новичок
3
0
скрин скинь, либо через рендер опкоды, либо через 0AD1
CLEO:
//-------------MAIN---------------
0000: NOP
0662: printstring "WWW.VK.COM/HAWAIDYNASTY"
0662: printstring "COMPILED BY LUCIFER"
31@ = 0
:NONAME_61
wait 0
if
0AB0:   key_pressed 107
jf @NONAME_169
if
  31@ == 0
jf @NONAME_137
018C: play_sound 1056 at 0.0 0.0 0.0
31@ = 1
wait 200
jump @NONAME_169
:NONAME_137
018C: play_sound 1057 at 0.0 0.0 0.0
31@ = 0
wait 200
:NONAME_169
jump @NONAME_176
:NONAME_176
wait 0
if and
  31@ == 1
0AD2: 2@ = player $PLAYER_CHAR targeted_actor //IF and SET
jf @NONAME_61
:NONAME_206
wait 0
if and
056D:   actor 2@ defined
0AB0:   key_pressed 1
jf @NONAME_176
if and
   not Actor.Dead(2@)
02CB:   actor 2@ bounding_sphere_visible
jf @NONAME_176
0A96: 6@ = actor 2@ struct
6@ += 68
0A8D: 3@ = read_memory 6@ size 4 virtual_protect 0
6@ += 4
0A8D: 4@ = read_memory 6@ size 4 virtual_protect 0
6@ += 4
0A8D: 5@ = read_memory 6@ size 4 virtual_protect 0
Actor.StorePos(2@, 6@, 7@, 8@)
10@ = 35
0093: 10@ = integer 10@ to_float
12@ = 17.0
12@ /= 360.0
006B: 3@ *= 12@ // (float)
006B: 4@ *= 12@ // (float)
006B: 5@ *= 12@ // (float)
006B: 3@ *= 10@ // (float)
006B: 4@ *= 10@ // (float)
006B: 5@ *= 10@ // (float)
005B: 6@ += 3@ // (float)
005B: 7@ += 4@ // (float)
005B: 8@ += 5@ // (float)
Actor.StorePos($PLAYER_ACTOR, 3@, 4@, 5@)
if
06BD:   no_obstacles_between 3@ 4@ 5@ and 6@ 7@ 8@ solid 1 car 1 actor 0 object 1 particle 0
jf @NONAME_514
0AB1: call_scm_func @NONAME_521 4 2@ 6@ 7@ 8@
:NONAME_514
jump @NONAME_206
:NONAME_521
0087: 4@ = 1@ // (float)
0087: 5@ = 2@ // (float)
0087: 6@ = 3@ // (float)
068D: get_camera_position_to 1@ 2@ 3@
04C4: store_coords_to 7@ 8@ 9@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
0063: 1@ -= 4@ // (float)
0063: 2@ -= 5@ // (float)
0096: make 1@ absolute_float
0096: make 2@ absolute_float
0087: 10@ = 1@ // (float)
0087: 11@ = 2@ // (float)
006B: 10@ *= 10@ // (float)
006B: 11@ *= 11@ // (float)
005B: 10@ += 11@ // (float)
01FB: 10@ = square_root 10@
0087: 11@ = 1@ // (float)
0087: 12@ = 10@ // (float)
0073: 11@ /= 12@ // (float)
0AA5: call 4327328 num_params 1 pop 1 11@
0AE9: pop_float 12@
0AA5: call 4775488 num_params 1 pop 1 11@
0AE9: pop_float 13@
if
0AB1: call_scm_func @NONAME_1255 0 16@
jf @NONAME_816
if
0AB1: call_scm_func @NONAME_821 7 4@ 5@ 7@ 8@ 12@ 13@ 16@ 15@
jf @NONAME_816
15@ += 0.0389
0A8C: write_memory 11989592 size 4 value 15@ virtual_protect 0
:NONAME_816
0AB2: ret 0
:NONAME_821
if
  6@ == 5
jf @NONAME_886
7@ = 0.01
8@ = 0.01
9@ = 1.5607
10@ = 1.5807
jump @NONAME_991
:NONAME_886
if
  6@ == 6
jf @NONAME_951
7@ = 0.018
8@ = 0.02
9@ = 1.5507
10@ = 1.5907
jump @NONAME_991
:NONAME_951
7@ = 0.0
8@ = 0.0
9@ = 1.5707
10@ = 1.5707
:NONAME_991
if and
0025:   2@ > 0@ // (float)
0025:   3@ > 1@ // (float)
jf @NONAME_1034
0063: 5@ -= 8@ // (float)
0087: 15@ = 5@ // (float)
:NONAME_1034
if and
0025:   2@ > 0@ // (float)
8035:   not  3@ >= 1@ // (float)
jf @NONAME_1087
5@ *= -1.0
0063: 5@ -= 7@ // (float)
0087: 15@ = 5@ // (float)
:NONAME_1087
if and
8035:   not  2@ >= 0@ // (float)
0025:   3@ > 1@ // (float)
jf @NONAME_1130
005B: 4@ += 9@ // (float)
0087: 15@ = 4@ // (float)
:NONAME_1130
if and
8035:   not  2@ >= 0@ // (float)
8035:   not  3@ >= 1@ // (float)
jf @NONAME_1183
4@ *= -1.0
0063: 4@ -= 10@ // (float)
0087: 15@ = 4@ // (float)
:NONAME_1183
0A8D: 11@ = read_memory 11989592 size 4 virtual_protect 0
0063: 11@ -= 15@ // (float)
if and
   not 11@ >= 0.18
  11@ > -0.18
jf @NONAME_1245
0485:   return_true
jump @NONAME_1247
:NONAME_1245
059A:   return_false
:NONAME_1247
0AB2: ret 1 15@
:NONAME_1255
0A96: 0@ = actor $PLAYER_ACTOR struct
0@ += 1816
0A8D: 1@ = read_memory 0@ size 1 virtual_protect 0
if or
  1@ == 2
  1@ == 3
  1@ == 4
  1@ == 5
  1@ == 6
  1@ == 7
jf @NONAME_1345
0485:   return_true
jump @NONAME_1347
:NONAME_1345
059A:   return_false
:NONAME_1347
0AB2: ret 1 1@
 
Последнее редактирование модератором:

Kristyan

Известный
165
16
How can i make the chatmsg to show up one time? :-? after the car will have <400 health
PHP:
:uncuff_01
while true
wait 0
if
00DF: actor $PLAYER_ACTOR driving
then
03C0: 1@ = actor $PLAYER_ACTOR car
if and
  0227: 2@ = car 1@ health
  2@ < 400
then
 chatmsg "papa" -1
end
end
end
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
CLEO:
:uncuff_01
3@ = false
while true
wait 0
    if 00DF: actor $PLAYER_ACTOR driving
    then
    03C0: 1@ = actor $PLAYER_ACTOR car
    0227: 2@ = car 1@ health
        if and
        3@ == false
        2@ < 400
        then chatmsg "papa" -1
        3@ = true
        end
    end
end
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
CLEO:
while true
wait 0
    while 80DF: actor $PLAYER_ACTOR driving
        wait 0
        3@ = false
    end
    03C0: 1@ = actor $PLAYER_ACTOR car
    0227: 2@ = car 1@ health
    if and
        3@ == false
        2@ < 400
    then
        chatmsg "papa" -1
        3@ = true
    end
end
 
  • Нравится
Реакции: Kristyan

Kristyan

Известный
165
16
It activate the msg with one key down, if u push both keys then the msg activate 2 times or more then 2, how can i fix it? To activate it i need to press only ''Space+R''
PHP:
:ta_01
wait 0
if and
 key_down 32
 key_down 82
then
    if 0B21: samp is_chat_opened
    then
    jump @ta_01
    else
        if 8@ == 0
        then
        8@ = 1
        0AF9: samp say_msg "/ta"
        end
    end
else
    if 8@ == 1
    then
    0000:
    else
    8@ = 0
    end
end
jump @ta_01
 

Kotovasya

Участник
85
13
Warning! Говнокод
CLEO:
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
00D6: if
8AF7:   not samp 29@ = get_base
004D: jump_if_false @Noname_20
0A93: end_custom_thread
:Noname_20
0001: wait 400 ms
0AFA:  is_samp_available
004D: jump_if_false @Noname_20
0001: wait 1250 ms
0BE3: raknet setup_incoming_rpc_hook @Noname_279
0B6D: render 30@ = create_font "Arial" height 9 flags 13
alloc 3@ 64
:Noname_69
0001: wait 0 ms
00D6: if
0039:   10@ == 1
004D: jump_if_false @Noname_69
0006: 5@ = 60
0006: 6@ = 10
0C74: 1@ = create_timer_interval 1000 on_label @Noname_238
0C74: 2@ = create_timer_interval 60000 on_label @Noname_229
:Noname_133
0001: wait 0 ms
0AD3: 3@ = format "Осталось: %d:%d " 6@ 5@
0B6F: render font 30@ draw_text 3@ pos 200 200 color -1
00D6: if and
0039:   10@ == 1
0019:   5@ > -1
0019:   6@ > -1
004D: jump_if_false @Noname_70
jump @Noname_133
:Noname_70
wait 0
10@ = 0
0002: jump @Noname_69
:Noname_229
000E: 6@ -= 1
0B43: samp cmd_ret
:Noname_238
000E: 5@ -= 1
00D6: if and
0039:   5@ == 0
0019:   6@ > -1
004D: jump_if_false @Noname_277
000A: 5@ += 60
:Noname_277
0B43: samp cmd_ret
:Noname_279
0BE5: raknet 0@ = get_hook_param 1
00D6: if
0039:   0@ == 93
004D: jump_if_false @Noname_505
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
00D6: if
0C18: 2@ = strstr string1 3@ string2 "Бла-бла"
004D: jump_if_false @Noname_505
0006: 10@ = 1
:Noname_401
00D6: if
0C18: 2@ = strstr string1 3@ string2 "гы-гы"
004D: jump_if_false @Noname_505
0006: 10@ = 0
:Noname_505
0BE0: raknet hook_ret 1
Вообщем скрипт работает то нормально. Но если во время работы таймера выйти в главное меню, вылетает вот такая шняга

P.S. А нет, не нормально. Как я хотел сделать- это что бы после слов "гы-гы" таймер исчезал с экрана, но рендер походу нужно заканчивать опкодами (а я не шарю просто :( Слепил говна кусок вместе и что-то да получилось)
 

Вложения

  • Безымянный.png
    Безымянный.png
    5.6 KB · Просмотры: 321
Последнее редактирование:

LaRossa

Потрачен
429
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Warning! Говнокод
CLEO:
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
00D6: if
8AF7:   not samp 29@ = get_base
004D: jump_if_false @Noname_20
0A93: end_custom_thread
:Noname_20
0001: wait 400 ms
0AFA:  is_samp_available
004D: jump_if_false @Noname_20
0001: wait 1250 ms
0BE3: raknet setup_incoming_rpc_hook @Noname_279
0B6D: render 30@ = create_font "Arial" height 9 flags 13
alloc 3@ 64
:Noname_69
0001: wait 0 ms
00D6: if
0039:   10@ == 1
004D: jump_if_false @Noname_69
0006: 5@ = 60
0006: 6@ = 10
0C74: 1@ = create_timer_interval 1000 on_label @Noname_238
0C74: 2@ = create_timer_interval 60000 on_label @Noname_229
:Noname_133
0001: wait 0 ms
0AD3: 3@ = format "Осталось: %d:%d " 6@ 5@
0B6F: render font 30@ draw_text 3@ pos 200 200 color -1
00D6: if and
0039:   10@ == 1
0019:   5@ > -1
0019:   6@ > -1
004D: jump_if_false @Noname_70
jump @Noname_133
:Noname_70
wait 0
10@ = 0
0002: jump @Noname_69
:Noname_229
000E: 6@ -= 1
0B43: samp cmd_ret
:Noname_238
000E: 5@ -= 1
00D6: if and
0039:   5@ == 0
0019:   6@ > -1
004D: jump_if_false @Noname_277
000A: 5@ += 60
:Noname_277
0B43: samp cmd_ret
:Noname_279
0BE5: raknet 0@ = get_hook_param 1
00D6: if
0039:   0@ == 93
004D: jump_if_false @Noname_505
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
00D6: if
0C18: 2@ = strstr string1 3@ string2 "Бла-бла"
004D: jump_if_false @Noname_505
0006: 10@ = 1
:Noname_401
00D6: if
0C18: 2@ = strstr string1 3@ string2 "гы-гы"
004D: jump_if_false @Noname_505
0006: 10@ = 0
:Noname_505
0BE0: raknet hook_ret 1
Вообщем скрипт работает то нормально. Но если во время работы таймера выйти в главное меню, вылетает вот такая шняга

P.S. А нет, не нормально. Как я хотел сделать- это что бы после слов "гы-гы" таймер исчезал с экрана, но рендер походу нужно заканчивать опкодами (а я не шарю просто :( Слепил говна кусок вместе и что-то да получилось)
Сделай лучше так...
CLEO:
 gosub @Timer
:Timer
13@ = 60
0C74: 12@ = create_timer_interval 1000 on_label @CreateTimer
repeat
wait 0
    0C7C: 11@ = get_timer 12@ time_left
    0016: 11@ /= 100
    format 17@ "Осталось %d.%dсек." 13@ 11@
    0B6F: render font 27@ draw_text 17@ pos 9@ 8@ color 0xFFFFFFFF
until 8019: not 13@ > -1
return

:CreateTimer
000E: 13@ -= 1
Samp.CmdRet()
 

Kotovasya

Участник
85
13
Сделай лучше так...
CLEO:
 gosub @Timer
:Timer
13@ = 60
0C74: 12@ = create_timer_interval 1000 on_label @CreateTimer
repeat
wait 0
    0C7C: 11@ = get_timer 12@ time_left
    0016: 11@ /= 100
    format 17@ "Осталось %d.%dсек." 13@ 11@
    0B6F: render font 27@ draw_text 17@ pos 9@ 8@ color 0xFFFFFFFF
until 8019: not 13@ > -1
return

:CreateTimer
000E: 13@ -= 1
Samp.CmdRet()
У меня минуты и секунды. А идею я так и не допер- по сути тот же самый код, или я настолько тугой...
 
1,417
1,037

p1cador

cerf
Проверенный
221
359
хук инк. RPC ShowDialog

Вот сам диалог:
GHp-T7ITjrU.jpg


Вот тело хука:
CLEO:
0BE5: raknet 31@ = get_hook_param PARAM_PACKETID
if 0039: 31@ == 61 //rpc_showdialog
    then
    0BE5: raknet 31@ = get_hook_param PARAM_BITSTREAM
    0BE7: raknet 10@ = bit_stream_read 31@ type BS_TYPE_SHORT   //DialogId
    0BE7: raknet 11@ = bit_stream_read 31@ type BS_TYPE_BYTE    //ButtonID;
    0BE7: raknet 12@ = bit_stream_read 31@ type BS_TYPE_SHORT
    0BE7: raknet 13@ = bit_stream_read 31@ type BS_TYPE_BYTE    //size
    0BE8: raknet bit_stream 31@ read_array 14@ size 13@
    0C1E: array 14@ element 13@ el_size 1 = 0   //resize
    0af8: "id: %d | buttonId: %d | listItem: %d | size: %d" -1  10@ 11@ 12@ 13@
    0af8: "%s" 0x00ff00  14@
    //0af8: "%d %d %d" -1 10@ 11@ 12@
end

Вот то, что выводит в чат:
Szu75IWaIHA.jpg


Вопрос: как в 14@ получить текст listItem'ов, а не эту хуету?
пс мне это в первый и в последний раз понадобилось, разбираться смысла нет, так что, желательно, сразу готовый код, не валите намеками
 
Последнее редактирование: