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

Karbun

Участник
112
3
В чём ошибка? Код должен рендерить ближайший игроков и писать их id и никнеймы на экран
CLEO:
{$CLEO}
0000:

while not Samp.Available()
wait 100
end


0B34: samp register_client_command "players" to_label @players

0B6D: render 10@ = create_font "Arial" height 11 flags 5

while true
wait 0
if 22@ == 1
then
00A0: store_actor $PLAYER_ACTOR position_to 7@ 8@ 9@
for 0@ = 0 to 999
  if 0B23:  samp is_player_connected 0@
  then
  if
  0B20: samp 1@ = actor_handle_by_samp_player_id 0@
  then
  00A0: store_actor 1@ position_to 2@ 3@ 4@
  050A: 5@ = distance_between_XYZ 7@ 8@ 9@ and_XYZ 2@ 3@ 4@
  if
  5@ <= 200.0
  then
  0B36: samp 6@ = get_player_nickname 0@
  0B37: samp 1@ = get_player_color 0@
  0B5A: get_screen_resolution 20@ 21@
20@ /= 2
21@ /= 2
20@ -= 50
21@ -= 30
  0B6F: render font 10@ draw_text "%s[%d]" pos 20@ 21@ color 1@ 6@ 0@
  end
  end
  end
end
end
end

:players
0B12: 22@ = 22@ XOR 1
Samp.CmdRet()
 

hnnssy

Известный
Друг
2,684
2,750
координаты-то меняй для каждого игрока хоть, у тебя всё в одном месте рендерится
 

hnnssy

Известный
Друг
2,684
2,750
код блять при чём тут
в настройках компилятора регистр смени и перекомпилируй свой скрипт
 

romanblinov2013

RB_PRO
Проверенный
212
196
Товарищи модеры, прошу помочь..
Начал делать 1 бота(Очередного).
Но тут вышла проблемка..
В локальном диалоге DIALOG_STYLE_LIST мне нужно ВЫБРАТЬ И НАЖАТЬ кнопку "Второй пункт".
1. Как выбрать я нашёл. Опкод 0B49: samp set_current_dialog_list_item 3
2. А какой опкод отвечает за нажатие батона(кнопки) или мне просто эмулировать нажатие клавиши?
Заранее спасибо, ваш RB_PRO.
 
  • Нравится
Реакции: SYXA

MrYurkoo

Известный
102
9
В общем, моя проблема такова: я скачал один cleo plugin, и хотел бы его немного подредактировать. Он активируется только на кнопку, но можно ли сделать так, чтобы он активировался автоматически? (как будто кнопка была бы зажата).
Код предоставлен ниже.
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0AF0: 10@ = get_int_from_ini_file "cleo\RadarZoomSet.ini" section "Settings" key "Main_Key"

0A8D: 3@ = read_memory 5794971 size 4 virtual_protect 0
if
3@ == 180.0
else_jump @NONAME_49
9@ = 1
jump @NONAME_56

:NONAME_49
9@ = 0

:NONAME_56
if
9@ == 1
else_jump @NONAME_151
0A8D: 4@ = read_memory 5810889 size 4 virtual_protect 0
0A8D: 5@ = read_memory 5810877 size 4 virtual_protect 0
0A8D: 6@ = read_memory 5810871 size 4 virtual_protect 0
0A8D: 7@ = read_memory 5811888 size 4 virtual_protect 0
0A8D: 8@ = read_memory 5811894 size 4 virtual_protect 0
jump @NONAME_221

:NONAME_151
0A8D: 4@ = read_memory 5812889 size 4 virtual_protect 0
0A8D: 5@ = read_memory 5812877 size 4 virtual_protect 0
0A8D: 6@ = read_memory 5812871 size 4 virtual_protect 0
0A8D: 7@ = read_memory 5813888 size 4 virtual_protect 0
0A8D: 8@ = read_memory 5813894 size 4 virtual_protect 0

:NONAME_221
0A9F: 3@ = current_thread_pointer
3@ += 60
if
9@ == 1
else_jump @NONAME_293
0A8C: write_memory 5794918 size 4 value 3@ virtual_protect 1
3@ += 4
0A8C: write_memory 5794912 size 4 value 3@ virtual_protect 1
jump @NONAME_328

:NONAME_293
0A8C: write_memory 5796918 size 4 value 3@ virtual_protect 1
3@ += 4
0A8C: write_memory 5796912 size 4 value 3@ virtual_protect 1

:NONAME_328
0@ = 180.0
1@ = 283.3333
2@ = 180

:NONAME_356
wait 0
if
0AB0: key_pressed 10@
else_jump @NONAME_483
32@ = 0
0@ = 350.0
1@ = 0
2@ = 350
0A8D: 3@ = read_memory 4@ size 4 virtual_protect 0
if
not 3@ == 0
else_jump @NONAME_460
0A8C: write_memory 6@ size 4 value 1 virtual_protect 0
0A8C: write_memory 5@ size 4 value 1500 virtual_protect 0

:NONAME_460
0A8C: write_memory 7@ size 4 value 1 virtual_protect 0
0A8C: write_memory 8@ size 4 value 1500 virtual_protect 0

:NONAME_483
if
0@ > 180.0
else_jump @NONAME_599
if
32@ > 1000
else_jump @NONAME_599
0@ -= 10.0
1@ += 10.0
0@ -= 10
if
180.0 > 0@
else_jump @NONAME_599
0@ = 180.0
1@ = 283.3333
2@ = 180

:NONAME_599
if
9@ == 1
else_jump @NONAME_652
0A8C: write_memory 5794971 size 4 value 0@ virtual_protect 1
0A8C: write_memory 5794943 size 4 value 2@ virtual_protect 1
jump @NONAME_680

:NONAME_652
0A8C: write_memory 5796971 size 4 value 0@ virtual_protect 1
0A8C: write_memory 5796943 size 4 value 2@ virtual_protect 1

:NONAME_680
jump @NONAME_356
 

Karbun

Участник
112
3
В чём ошибка? (помимо той, что рендерится все в одном месте) Код должен рендерить ближайший игроков и писать их id и никнеймы на экран
CLEO:
{$CLEO}
0000:

while not Samp.Available()
wait 100
end


0B34: samp register_client_command "players" to_label @players

0B6D: render 10@ = create_font "Arial" height 11 flags 5

while true
wait 0
if 22@ == 1
then
00A0: store_actor $PLAYER_ACTOR position_to 7@ 8@ 9@
for 0@ = 0 to 999
  if 0B23:  samp is_player_connected 0@
  then
  if
  0B20: samp 1@ = actor_handle_by_samp_player_id 0@
  then
  00A0: store_actor 1@ position_to 2@ 3@ 4@
  050A: 5@ = distance_between_XYZ 7@ 8@ 9@ and_XYZ 2@ 3@ 4@
  if
  5@ <= 200.0
  then
  0B36: samp 6@ = get_player_nickname 0@
  0B37: samp 1@ = get_player_color 0@
  0B5A: get_screen_resolution 20@ 21@
20@ /= 2
21@ /= 2
20@ -= 50
21@ -= 30
  0B6F: render font 10@ draw_text "%s[%d]" pos 20@ 21@ color 1@ 6@ 0@
  end
  end
  end
end
end
end

:players
0B12: 22@ = 22@ XOR 1
Samp.CmdRet()
 

p1cador

cerf
Проверенный
220
359
по моему, в том, что 0b6f не поддерживает форматирование, нужно выделить память под строку
alloc 1@ 32
потом отформатировать ее
format 1@ "%s[%d]" 6@ 0@
и передать в 0b6f в качестве параметра
 
  • Нравится
Реакции: Karbun

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,964
Лучше создать уже готовый буфер и держать его в скрипте.
 
  • Нравится
Реакции: SpawnPro

romanblinov2013

RB_PRO
Проверенный
212
196
Товарищи модеры, прошу помочь..
Как называется данная строчка, которая висит в воздухе? И как можно достать значение её в переменную? (Цифры в []) Фото
Заранее спасибо, ваш RB_PRO.
 

SpawnPro

Новичок
16
0
Помогите пожалуйста, спасибо автору мода
DarkP1xel
за данный cleo скрипт, поиск тыкв на Diamond RP.
Дело в том что ищет скрипт модель по пикапу, а я хочу что бы искала по объекту, помогите пожалуйста, я не представляю как это сделать.

b14bd3bba90c4153a0590c99715da86c.png


Код:
{$CLEO}
0000:

REPEAT
0001: 0
UNTIL 0AFA:
0BB9: samp 0@ = get_pickup_pool_ptr

WHILE TRUE
0001: 0

    FOR 1@ = 0 TO {MAX_PICKUPS}4096 [STEP = 1]   
        IF 0B51: samp 2@ = pickup_handle_by_id 1@
        THEN
        0A90: 2@ = 1@ * 20
        000A: 2@ += 61444
        000A: 2@ += 0@ // stPickup
        0A8D: 3@ = read_memory 2@ size 4 virtual_protect TRUE // iModelID
            IF 0039:   3@ == 19320
            THEN
            0C0C: 3@ = struct 2@ offset 8 size 4 // X
            0C0C: 4@ = struct 2@ offset 12 size 4 // Y
            0C0C: 5@ = struct 2@ offset 16 size 4 // Z
                IF 00C2:   sphere_onscreen 3@ 4@ 5@ radius 5.0
                THEN
                0B55: convert_3D_coords 3@ 4@ 5@ to_screen 3@ 4@
                00A0: store_actor $PLAYER_ACTOR position_to 5@ 6@ 7@
                0B55: convert_3D_coords 5@ 6@ 7@ to_screen 5@ 6@
                0B68: render draw_line_point1 5@ 6@ point2 3@ 4@ width 1 color 0xFFFFA500
                END
            END
        END
    END
   
END