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

Lobber

Известный
178
57
как при вводе одной команды с указанным идом\числом добавлять его в список не перезаписывая?
Можно без .ini пример
Возможно использовать $temp = 228@. Я таким методом сохранял коорды из моего скрипта, затем просто чистил её, когда они более не были нужны
 

kin4stat

mq-team
Всефорумный модератор
2,730
4,712
как при вводе одной команды с указанным идом\числом добавлять его в список не перезаписывая?
Можно без .ini пример
 

MAHEKEH

Известный
1,992
495
Возможно использовать $temp = 228@. Я таким методом сохранял коорды из моего скрипта, затем просто чистил её, когда они более не были нужны

гоу пример парни, потому что у меня на каждый новый ид стоит минимум 5-6 проверок на то что бы ввести другой, очень дикий и стремный метод.
( примерно то что ты пишешь Lobber, но со своими замарочками. )
Нужно сделать достаточно простую вещь, записать и запомнить хотя бы 5-10 идов которые я введу через одну единственную смд, примерно как в некоторых чекерах админов, но можно без каких либо .txt или .ini списков.
 

Kristyan

Известный
165
16
0C0F: array 1@ element 2@ = 0@
гоу пример парни, потому что у меня на каждый новый ид стоит минимум 5-6 проверок на то что бы ввести другой, очень дикий и стремный метод.
( примерно то что ты пишешь Lobber, но со своими замарочками. )
Нужно сделать достаточно простую вещь, записать и запомнить хотя бы 5-10 идов которые я введу через одну единственную смд, примерно как в некоторых чекерах админов, но можно без каких либо .txt или .ini списков.
 

MAHEKEH

Известный
1,992
495
как правильно считать с опкода 0ADC: test_cheat ?

чет не то делаю

запись
0AF5: write_string "asd" to_ini_file "CLEO\Test.ini" section "Test" key "Cheat"
считывание
0AF4: 31@ = read_string_from_ini_file "CLEO\Test.ini" section "Test" key "Cheat"
if 0ADC: test_cheat 31@
then ...
 

ollydbg

Известный
163
113
как правильно считать с опкода 0ADC: test_cheat ?

чет не то делаю

запись
0AF5: write_string "asd" to_ini_file "CLEO\Test.ini" section "Test" key "Cheat"
считывание
0AF4: 31@ = read_string_from_ini_file "CLEO\Test.ini" section "Test" key "Cheat"
if 0ADC: test_cheat 31@
then ...
ты выделила память ?
CLEO:
alloc 0@ 30
0AF4: 0@ = read_string_from_ini_file "CLEO\Test.ini" section "Test" key "Cheat"
        while true
            wait 0
            if
            0ADC:   test_cheat 0@
            then
                //
        end
    end
 
  • Нравится
Реакции: MAHEKEH

Lobber

Известный
178
57
гоу пример парни, потому что у меня на каждый новый ид стоит минимум 5-6 проверок на то что бы ввести другой, очень дикий и стремный метод.
( примерно то что ты пишешь Lobber, но со своими замарочками. )
Нужно сделать достаточно простую вещь, записать и запомнить хотя бы 5-10 идов которые я введу через одну единственную смд, примерно как в некоторых чекерах админов, но можно без каких либо .txt или .ini списков.
Вот мой метод сохранения координат нужного мне 3д текста в глобальные переменные, там и храню пока не приходит момент чистки. Иды я полагаю тоже можно там хранить, только перезапись использовать не для float, а для int.

P.S. это call scm функция, типо call @get_info 0 $x1 $y1 $z1

CLEO:
:get_info
for 0@ = 0 to 2048
            if
            0B46:     samp 3d_text 0@ defined
            then
            00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@
            0C46: samp get_3d_text_info_by_id 0@ string_ptr 4@ color 10@ position 6@ 7@ 8@ view_distance 0 show_behind_walls 0 attached_to_player 0 attached_to_vehicle 0
            050A: 9@ = distance_between_XYZ 1@ 2@ 3@ and_XYZ 6@ 7@ 8@
                if
                9@ <= 10.0
                then
                0AC8: 13@ = 240
                0AD3: string 13@ format "%s" 4@
                if
                8C18: not 1@ = strstr string1 13@ string2 "228"
                then
                if
                0C18: 1@ = strstr string1 13@ string2 "1""
                then
                0088: $x1 = 6@ // (float)
                0088: $y1 = 7@ // (float)
                0088: $z1 = 8@ // (float)
            end
        end
    end                                    
end
end
ret 3 $x1 $y1 $z1
 
  • Нравится
Реакции: MAHEKEH

dogestan

Новичок
4
0
Не могу понять почему не работает 0AF9: , при нажатии на клавишу, игра либо крашит, либо пишет непонятные символы в чат, пытался разыми способами сделать и при нажатии меня даже убивало и камера перемещалась на дефолтный экран загрузки сампа ( где пляж), мб надо память выделить или что-то использовать, у меня 0 понимания, хелпаните пж
CLEO:
{$CLEO .cs}

0000: NOP
0001: wait 2000 ms

:Noname_7
0001: wait 0 ms
00D6: if and
8B21: not
0AB0: key_pressed 69
004D: jump_if_false @Noname_33
0AF9: samp say_msg "/healme"
0001: wait 250 ms

:Noname_33
0002: jump @Noname_7
 

MAHEKEH

Известный
1,992
495
Не могу понять почему не работает 0AF9: , при нажатии на клавишу, игра либо крашит, либо пишет непонятные символы в чат, пытался разыми способами сделать и при нажатии меня даже убивало и камера перемещалась на дефолтный экран загрузки сампа ( где пляж), мб надо память выделить или что-то использовать, у меня 0 понимания, хелпаните пж
CLEO:
{$CLEO .cs}

0000: NOP
0001: wait 2000 ms

:Noname_7
0001: wait 0 ms
00D6: if and
8B21: not
0AB0: key_pressed 69
004D: jump_if_false @Noname_33
0AF9: samp say_msg "/healme"
0001: wait 250 ms

:Noname_33
0002: jump @Noname_7

c кодом всё норм
 

bottom_text

Известный
675
318
Не могу понять почему не работает 0AF9: , при нажатии на клавишу, игра либо крашит, либо пишет непонятные символы в чат, пытался разыми способами сделать и при нажатии меня даже убивало и камера перемещалась на дефолтный экран загрузки сампа ( где пляж), мб надо память выделить или что-то использовать, у меня 0 понимания, хелпаните пж
CLEO:
{$CLEO .cs}

0000: NOP
0001: wait 2000 ms

:Noname_7
0001: wait 0 ms
00D6: if and
8B21: not
0AB0: key_pressed 69
004D: jump_if_false @Noname_33
0AF9: samp say_msg "/healme"
0001: wait 250 ms

:Noname_33
0002: jump @Noname_7

CLEO:
{$CLEO}
0000:


repeat 
wait 0 
until samp.Available()


:Noname_7
0001: wait 0 ms
00D6: if and
8B21: not
0AB0: key_pressed 69
004D: jump_if_false @Noname_33
0AF9: samp say_msg "/healme"
0001: wait 250 ms

:Noname_33
0002: jump @Noname_7



С этим работает. Добавил проверку на загруженность сампа и вместо {$CLEO .cs} поставил {$CLEO}
 

dogestan

Новичок
4
0
CLEO:
{$CLEO}
0000:


repeat
wait 0
until samp.Available()


:Noname_7
0001: wait 0 ms
00D6: if and
8B21: not
0AB0: key_pressed 69
004D: jump_if_false @Noname_33
0AF9: samp say_msg "/healme"
0001: wait 250 ms

:Noname_33
0002: jump @Noname_7



С этим работает. Добавил проверку на загруженность сампа и вместо {$CLEO .cs} поставил {$CLEO}
Увы, вот видос, при нажатии клавиши вот что происходит.
Перед запуском дельнул все лишние клео, оставил только это, мб это с чем то внешним конфликтует или чет такое
А у тебя оно нормально работает?
 

bottom_text

Известный
675
318
Увы, вот видос, при нажатии клавиши вот что происходит.
Перед запуском дельнул все лишние клео, оставил только это, мб это с чем то внешним конфликтует или чет такое
А у тебя оно нормально работает?
Да, всё нормально работало. Сампфункс установлен?