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

DANIIL XPC

Известный
81
5
[QUOTE = "Ded_Fedot, post: 151831, member: 871"] 0665: get_actor 88 @ model_to 94 @ [/ QUOTE]
Hi, I need a gen / getid mode when I / getid gets in the chat ids of those who are a certain distance from me, what are the command lines?
 

Moonlight_Ru

Известный
66
21
[QUOTE = "Ded_Fedot, post: 151831, member: 871"] 0665: get_actor 88 @ model_to 94 @
Hi, I need a gen / getid mode when I / getid gets in the chat ids of those who are a certain distance from me, what are the command lines?

If I understand you correctly.

Код:
{$CLEO}

0000:

0B34: samp register_client_command "getid" to_label @getid
0BDE: pause_thread 0

:getid
0B35: samp 0@ = get_last_command_params
0AD4: 0@ = scan_string 0@ format "%d" 1@
0006: 2@ = 0

:getid_m
0B23:  samp is_player_connected 2@
jf @getid_c
0B20: samp 3@ = actor_handle_by_samp_player_id 2@
056D: actor 3@ defined
jf @getid_c
00A0: store_actor 3@ position_to 5@ 6@ 7@
00A0: store_actor $PLAYER_ACTOR position_to 8@ 9@ 10@
050A: 11@ = distance_between_XYZ 5@ 6@ 7@ and_XYZ 8@ 9@ 10@
0092: 11@ = float 11@ to_integer
801D: not 11@ > 1@  // (int)
jf @getid_c
0B36: samp 4@ = get_player_nickname 2@
0665: get_actor 3@ model_to 12@
0AF8: samp add_message_to_chat "%s[%d] Distance: %d Model: %d" color -1 4@ 2@ 11@ 12@

:getid_c
000A: 2@ += 1
0019: 2@ > 999
jf @getid_m

0B43: samp cmd_ret
 
Последнее редактирование:

Moonlight_Ru

Известный
66
21
0665: get_actor 88@ model_to 94@
Спасибо за помощь, а то искал в опкодах по слову skin, разумеется ничего не нашел :D

Вот решил ВХ написать и привязать ID скинов к определённым фракциям сервера, на котором я играю, чтобы писать над игроком в какой он фракции состоит. Вот только код мой почему-то работает не нормально, а точнее ФПС опускается до 1-2 кадров в 5 секунд, что я не так сделал, помогите разобраться :)

Код:
{$CLEO}

0000:

:start
wait 0
0ADC: test_cheat "123"
jf @start
0AC8: 11@ = allocate_memory_size 128
0B6D: render 10@ = create_font "Comic Sans MS" height 8 flags 5

:wall_start
wait 0
0006: 0@ = 0

:wall_main
0B23: samp is_player_connected 0@
jf @wall_c
0B20: samp 1@ = actor_handle_by_samp_player_id 0@
056D: actor 1@ defined
jf @wall_c
02CB: actor 1@ bounding_sphere_visible
jf @wall_c
0665: get_actor 1@ model_to 2@
0AD3: 11@ = format "%d" 2@
04C4: store_coords_to 3@ 4@ 5@ from_actor 1@ with_offset 0.0 0.0 0.0
0B55: convert_3D_coords 3@ 4@ 5@ to_screen 3@ 4@
0B6F: render font 10@ draw_text 11@ pos 3@ 4@ color -1
// Ошибка, видимо, где-то в этих трёх строках, т.к. если просто выводить
// информацию о скине игрока в чат, то никаких лагов не возникает.

:wall_c
000A: 0@ += 1
0019: 0@ > 999
jf @wall_main
0ADC: test_cheat "123"
jf @wall_start
jump @start
 

vadimka0216

Известный
38
63
Вот допустим у меня есть такой диалог стиля msgbox:
https://sampwiki.blast.hk/wroot/images2/a/a1/Dialog_style_msgbox.png
Как извлечь текст из него я знаю, а вот как мне получить из этого текста слово например display?
Кто может написать оппкод для извлечения текста в переменную? Только для типа диалога "DIALOG_STYLE_LIST". Пользовался оппкодами: 0B5B, 0BD7, 0BC9 - они выводят в текстовый документ(ini file) какие-то циферки, но не текст
 
  • Нравится
Реакции: executor_lzt

vadimka0216

Известный
38
63
Правильный это опкод, слушай знающих
Хорошо, если этот оппкод правильный, то оппкод "0B5B: samp get_listbox_item 1@ text_to 0@" в таком типе диалогового окна должен выводить информацию построчно, ведь так? Я сделал вот такой немудреный код
// 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

:Noname_2
0001: wait 0 ms
00D6: if
0B4C: samp is_dialog_active 401
004D: jump_if_false @Noname_2
0AC8: 0@ = allocate_memory_size 256
0006: 1@ = 0
0002: jump @Noname_44

:Noname_44
0001: wait 0 ms
00D6: if and
0B4C: samp is_dialog_active 401
8006: not 1@ = 50
004D: jump_if_false @Noname_44
000A: 1@ += 1
0B5B: samp get_listbox_item 1@ text_to 0@
0AF1: write_int 0@ to_ini_file "CLEO\TK.ini" section "DIALOGID" key 1@
0002: jump @Noname_125

:Noname_125
0001: wait 0 ms
00D6: if
0006: 1@ = 50
004D: jump_if_false @Noname_44
0AC9: free_allocated_memory 0@
0002: jump @Noname_2
В File ini все же пишет мне циферки
upload_2017-7-16_23-57-19.png


Эти циферки - это адрес указателя вообще-то.
И что мне с ними делать?
 
Последнее редактирование модератором:
  • Нравится
Реакции: executor_lzt

DANIIL XPC

Известный
81
5
[QUOTE = "Moonlight_Ru, post: 151879, member: 103775"] If I understand you correctly.

Код:
{$ CLEO}

0000:

0B34: samp register_client_command "getid" to_label @getid
0BDE: pause_thread 0

: getid
0B35: samp 0 @ = get_last_command_params
0AD4: 0 @ = scan_string 0 @ format "% d" 1 @
0006: 2 @ 0 =

: getid_m
0B23: samp is_player_connected 2 @
jf @getid_c
0B20: samp 3 @ = actor_handle_by_samp_player_id 2 @
056D: actor 3 @ defined
jf @getid_c
00A0: store_actor 3 @ position_to 5 @ 6 @ 7 @
00A0: store_actor $ PLAYER_ACTOR position_to 8 @ 9 @ 10 @
050A: 11 @ = distance_between_XYZ 5 @ 6 @ 7 @ 8 @ and_XYZ 9 @ 10 @
0092: 11 @ = float 11 @ to_integer
801D: not @ 11> 1 @ // (int)
jf @getid_c
0B36: samp 4 @ = get_player_nickname 2 @
0665: get_actor 3 @ model_to 12 @
0AF8: samp add_message_to_chat "% s [% d] Distance:% d Model:% d" color -1 4 @ 2 @ 11 @ 12 @

: getid_c
000A: 2 @ + = 1
0019: 2 @> 999
jf @getid_m

0B43: samp cmd_ret
[/ Code]
[/ Spoiler] [/ QUOTE]
Hm, thx for reply, dont work man.
 
Последнее редактирование:

vadimka0216

Известный
38
63
С вводом текста в переменную я разобрался, спасибо всем тем, кто отвечал. Теперь остался еще один вопросик. Допустим, есть вот такой текст в некой переменной "{4271FF}1.{FFFFFF} Статистика игрока" - как из этого текста можно извлечть 2 слова "Статистика игрока"? Я пользовался вот таким условием
00D6: if
0AD4: 18@ = scan_string 0@ format "{%c}%d. {%c}%s" 16@ 17@ 15@ 19@
004D: jump_if_false @Noname_97
, но в переменную "19@" записывается что-то крашешающие игру. Главная проблема такого текста - коды цветов, наверное, нужно от них в первую очередь избавиться, прежде чем приступать к сканированию строчной переменной.
 
  • Нравится
Реакции: executor_lzt