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

Избранный

Новичок
198
30
Пацаны, как заменить одно слово в строке?
например совершенно любая строка со словом "хуй" и мне надо заменить это слово на "пизда" как так сделать?
я вот знаю что можно этим опкодом слово найти, а дальше хз как
0C18: 1@ = strstr string1 2@ string2 "хуй"
 
Последнее редактирование:

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,462
  1. Скопировать всё, что до первого слова и вставить это в новый буфер;
  2. Вставить новое слово в буфер;
  3. Скопировать остальную часть и вставить в тот буфер, где находится почти вся замененная строка.
 
  • Нравится
Реакции: Избранный

woksonal

Известный
Проверенный
268
154
Например через hook (ptr)


CLEO:
PACKET_AIM_SYNC

CONST
byteCamMode = 1
vecAimf1 = 2
vecAimf2 = 6
vecAimf3 = 10
vecAimPos1 = 14
vecAimPos2 = 18
vecAimPos3 = 22
fAimZ = 26
byteCamExtZoom = 30
byteWeaponState = 31
bUnk = 32
END
задержка будет, но не суть

{$CLEO .cs}
{$INCLUDE SF}

0662: "by woksonal"
0662: "blasthack.net"

if not 0@ = SAMP.Base()
then 0A93: end_custom_thread
end

while not SAMP.Available()
wait 100
end

0B34: samp register_client_command "laser" to_label @cmd

while true
wait 0
if 15@ == 1
then
for 20@ = 0 to 999
if Samp.IsPlayerConnected(20@)
then
11@ = Samp.GetActorHandleByPlayerID(20@)
if 056D: actor 11@ defined
then
0AC8: 10@ = allocate_memory_size 31
0BBE: samp store_player 20@ aim_data 10@
0C0C: 1@ = struct 10@ offset 1 size 4 // target X
0C0C: 2@ = struct 10@ offset 5 size 4 // target Y
0C0C: 3@ = struct 10@ offset 9 size 4 // target Z
0C0C: 4@ = struct 10@ offset 13 size 4 // pos X
0C0C: 5@ = struct 10@ offset 17 size 4 // pos Y
0C0C: 6@ = struct 10@ offset 21 size 4 // pos Z
03F0: enable_text_draw 1
0B55: convert_3D_coords 1@ 2@ 3@ to_screen 28@ 29@
0B55: convert_3D_coords 4@ 5@ 6@ to_screen 26@ 27@
0B68: render draw_line_point1 26@ 27@ point2 28@ 29@ width 2 color 0xffff0000
0AC9: free_allocated_memory 10@
end
end
end
end
end


:cmd
0B12: 15@ = 15@ XOR 1
if
15@ == 1
then
0ACD: show_text_highpriority "lasers ON" time 1337
else
0ACD: show_text_highpriority "lasers OFF" time 1337
end
0B43: samp cmd_ret

вот, в общем, код пытаюсь сделать, что то на подобии лазеров.. проблема в том, что вектор рисуется не правильно, как на клео нарисовать настоящую 3д линию?
 
Последнее редактирование:

01EG

Известный
Проверенный
631
346
Как сделать одну кнопку в текстовых локальных диалогах(если, пытаюсь не писать button_2, то клео не компилится, так как запрашивает параметры.) ? Как начинать текст в диалоге с абзаца ?
CLEO:
0B3B: samp show_dialog id 15 caption "Команды:" text "Абзац: Текст, Абзац: Текст?" button_1 "Закрыть" button_2 "Закрыть" style DIALOG_STYLE_MSGBOX
 
Последнее редактирование модератором:

san0

Известный
Друг
411
267
задержка будет, но не суть

{$CLEO .cs}
{$INCLUDE SF}

0662: "by woksonal"
0662: "blasthack.net"

if not 0@ = SAMP.Base()
then 0A93: end_custom_thread
end

while not SAMP.Available()
wait 100
end

0B34: samp register_client_command "laser" to_label @cmd

while true
wait 0
if 15@ == 1
then
for 20@ = 0 to 999
if Samp.IsPlayerConnected(20@)
then
11@ = Samp.GetActorHandleByPlayerID(20@)
if 056D: actor 11@ defined
then
0AC8: 10@ = allocate_memory_size 31
0BBE: samp store_player 20@ aim_data 10@
0C0C: 1@ = struct 10@ offset 1 size 4 // target X
0C0C: 2@ = struct 10@ offset 5 size 4 // target Y
0C0C: 3@ = struct 10@ offset 9 size 4 // target Z
0C0C: 4@ = struct 10@ offset 13 size 4 // pos X
0C0C: 5@ = struct 10@ offset 17 size 4 // pos Y
0C0C: 6@ = struct 10@ offset 21 size 4 // pos Z
03F0: enable_text_draw 1
0B55: convert_3D_coords 1@ 2@ 3@ to_screen 28@ 29@
0B55: convert_3D_coords 4@ 5@ 6@ to_screen 26@ 27@
0B68: render draw_line_point1 26@ 27@ point2 28@ 29@ width 2 color 0xffff0000
0AC9: free_allocated_memory 10@
end
end
end
end
end


:cmd
0B12: 15@ = 15@ XOR 1
if
15@ == 1
then
0ACD: show_text_highpriority "lasers ON" time 1337
else
0ACD: show_text_highpriority "lasers OFF" time 1337
end
0B43: samp cmd_ret

вот, в общем, код пытаюсь сделать, что то на подобии лазеров.. проблема в том, что вектор рисуется не правильно, как на клео нарисовать настоящую 3д линию?
Стандартными средствами опкодов клео или сф - никак на данный момент, хотя в клео все возможно (с)могайка
https://sannybuilder.com/forums/viewtopic.php?id=4176 аналогичный вопрос.
 
Последнее редактирование:

next23012

Новичок
59
6
Собираюсь свой инфобар делать, можно ли в клео такую обводку сделать? Или рамку, смотря что это короче
09c01922f98455e369b8e8a414b24dc2.png
 

hnnssy

Известный
Друг
2,684
2,750
Собираюсь свой инфобар делать, можно ли в клео такую обводку сделать? Или рамку, смотря что это короче
09c01922f98455e369b8e8a414b24dc2.png
0B6A: render draw_box_with_border_pos 1@ 2@ size 3@ 4@ color 5@ border_size 6@ border_color 7@
а вообще не делай, их уже как грязи
 
  • Нравится
Реакции: next23012 и Vovich

next23012

Новичок
59
6
0B6A: render draw_box_with_border_pos 1@ 2@ size 3@ 4@ color 5@ border_size 6@ border_color 7@
а вообще не делай, их уже как грязи
Я пока думаю, но если и стану делать, то что-то отличающееся и для себя, врядли буду выкладывать
 
Последнее редактирование:

Lightkiller

Известный
Всефорумный модератор
557
397
Как сделать одну кнопку в текстовых локальных диалогах(если, пытаюсь не писать button_2, то клео не компилится, так как запрашивает параметры.) ? Как начинать текст в диалоге с абзаца ?
CLEO:
0B3B: samp show_dialog id 15 caption "Команды:" text "Абзац: Текст, Абзац: Текст?" button_1 "Закрыть" button_2 "Закрыть" style DIALOG_STYLE_MSGBOX
0B3B: samp show_dialog id 15 caption "Команды:" text "Абзац: Текст, Абзац: Текст?" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_MSGBOX
 
  • Нравится
Реакции: 01EG

01EG

Известный
Проверенный
631
346
0B3B: samp show_dialog id 15 caption "Команды:" text "Абзац: Текст, Абзац: Текст?" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_MSGBOX
Спасибо, кнопка стала одна, но как писать текст в диалоге с абзаца ?
Каким опкодом замораживать и размораживать игрока ?(Например, чтоб он не падал во время ТП.)
 

:notCoder:

Новичок
19
0
Как сделать так, чтобы в зоне стрима выводился йд только нужного мне пикапа?
 

Vovich

HOT
Проверенный
717
197
Как сделать так, чтобы в зоне стрима выводился йд только нужного мне пикапа?
Получай координаты пикапов, свои координаты, сравнивай их и если расстояние меньше допустим 100 метров, получай ид пикапа, сравнивай сходится ли он с твоим, если нет - повторяй.