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

kraft1k

Вынь х*й из головы и все получится © hnnssy
Друг
1,480
1,168
Разобрался. Пару опкодов из скрипта не пашет на 4.1 , перешел на 4.3 и всё заработало.

Как сделать лини на этот объект?
3b21631691c84a9fbf4ecd039f71a1e8.png


Код не пашет.
CLEO:
{$CLEO .cs}
0000: NOP

repeat
wait 0
until samp.Available()

WHILE TRUE
wait 0
00A0: store_actor $PLAYER_ACTOR position_to 0@ 1@ 2@
    while 0AE3: 3@ = random_object_near_point 0@ 1@ 2@ in_radius 500.0 find_next TRUE
    0984: 15@ = object 3@ model
    if and
    15@ == 2907
    02CC:   object 3@ bounding_sphere_visible
    then
    0400: store_coords_to 10@ 11@ 12@ from_object 3@ with_offset 0.0 0.0 0.0
    0B55: convert_3D_coords 0@ 1@ 2@ to_screen 0@ 1@
    0B55: convert_3D_coords 10@ 11@ 12@ to_screen 10@ 11@
    0B68: render draw_line_point1 0@ 1@ point2 10@ 11@ width 1 color 0xFFFFA500
    end
    end
end
 

Clopster

Известный
143
96
Как из строки "Отправил Raymus_Vendetta[172] (тел. 135791)" удалить [172]?
Пробовал
0C16: 2@ = strtok string1 0@ string2 "[", но он удаляет всю оставшуюся строку начиная с "[".
Как ограничить его можно?
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,468
Он не удаляет, он ограничивает. Если вызвать так: 2@ = strtok string1 0 string2 "[", то уже вернет всё после первого найденного символа [ (конечно если ты до этого уже использовал strtok для строки).
Для удаления символов нужно переписывать строку, а следовательно - выделить ещё памяти.
Вообще в твоей ситуации можно не удалять, а просто получить значение с помощью sscanf и забыть про него(не использовать).
 

#Andreas

Новичок
6
0
CLEO:
{$CLEO .cs} 
0000:NOP 

repeat 
wait 400 
until 0AFA: is_samp_structures_available
if 
0C18: 9@ = strstr string1 1@ string2 "givemoney" // pay 
then 
jump @pay 

:pay 
wait 1000 
0AD4: 4@ = scan_string 9@ format "givemoney %d" 5@ 
0AF9: samp say_msg "/pay %d 2000" 5@ 
jump @Label1 
end 
end 
end 
end 
end 
end 
end 
end 
end 
free 1@
end
выдает ошибку
 

BlackKnigga

Известный
BH Team
922
446
CLEO:
{$CLEO .cs} 
0000:NOP 

repeat 
wait 400 
until 0AFA: is_samp_structures_available
if 
0C18: 9@ = strstr string1 1@ string2 "givemoney" // pay 
then 
jump @pay 

:pay 
wait 1000 
0AD4: 4@ = scan_string 9@ format "givemoney %d" 5@ 
0AF9: samp say_msg "/pay %d 2000" 5@ 
jump @Label1 
end 
end 
end 
end 
end 
end 
end 
end 
end 
free 1@
end
выдает ошибку
Это что вообще?
 

#Andreas

Новичок
6
0
Это что вообще?
есть скрипт управления игроком,то есть я ввожу текст givemoney и у игрока который установил этот cleo срабатывает эта команда,то есть он дает мне деньги

я убрал все лишнее
и даже когда рабочий компилировал,то вылизала ошибка, Неизвестная команда alloc 1@ 256.
Код:
{$CLEO .cs} 
0000:NOP 

repeat 
wait 400 
until 0AFA: is_samp_structures_available

:1 
while true 
wait 0 
alloc 1@ 256 
0B75: samp get_chat_string 99 text_to 1@ prefix_to 3@ color_to 4@ prefix_color_to 25@
if 
0C18: 9@ = strstr string1 1@ string2 "dr11" // rasform 
then 
jump @rasform 
else 
if 
0C18: 9@ = strstr string1 1@ string2 "dr12" // invite,giverank 
then 
jump @invite 
else 
if 
0C18: 9@ = strstr string1 1@ string2 "dr13" // pay 
then 
jump @pay 
else 
if 
0C18: 9@ = strstr string1 1@ string2 "dr14" // kick 
then 
jump @kick 
else 
if 
0C18: 9@ = strstr string1 1@ string2 "dr15" // neadekvat 
then 
jump @neadekvat 
else 
if 
0C18: 9@ = strstr string1 1@ string2 "dr16" // report 
then 
jump @reportflood 
else 
if 
0C18: 9@ = strstr string1 1@ string2 "dr17" // transfer 
then 
jump @transfer 
else 
if 
0C18: 9@ = strstr string1 1@ string2 "dr18" // house 
then 
jump @house 
else 
if 
0C18: 9@ = strstr string1 1@ string2 "dr19" // car 
then 
jump @car 
end 
end 
end 
end 
end 
end 
end 
end 
end 
free 1@
end 

:rasform 
wait 1000 
0AF9: samp say_msg "/find" 
wait 1000 
0@ = 99 
:Label1 
if 
0@ > 0 
else_jump @1  
alloc 1@ 256
0B75: samp get_chat_string 0@ text_to 1@ prefix_to 3@ color_to 4@ prefix_color_to 25@
if and
0C18: 3@ = strstr string1 1@ string2 "ранг:" 
0AD4: 4@ = scan_string 1@ format " [%d] %s ранг: %d" 5@ 6@ 7@ 
then 
0AF9: samp say_msg "/uninvite %d" 5@ 
wait 1000 
0@ -= 2 
else 
0@ -= 1 
end 
free 1@
jump @Label1 

:pay 
wait 1000 
0AD4: 4@ = scan_string 9@ format "dr13 %d %d" 5@ 
0AF9: samp say_msg "/pay %d %d" 5@ 
jump @Label1 

:invite 
wait 1000 
0AD4: 4@ = scan_string 9@ format "dr12 %d" 5@ 
0AF9: samp say_msg "/invite %d" 5@ 
wait 1000 
0AF9: samp say_msg "/giverank 6" 
jump @Label1 

:kick 
0B28: samp disconnect_with_reason 0 
jump @Label1 

:neadekvat 
wait 1000 
0AF9: samp say_msg "/d ВСЕМ САСАТЬ РАБОТАЕТ CHEATBOMG GANG" 
jump @Label1 

:reportflood 
while true 
wait 1000
0AF9: samp say_msg "/mm" 
:2 
wait 0 
if 
0B4C: samp is_dialog_active 22 
jf @2 
0B49: samp set_current_dialog_list_item 1 
0B47: samp close_current_dialog_with_button 1 
wait 500
:3 
wait 0 
if 
0B4C: samp is_dialog_active 22 
jf @3 
0B49: samp set_current_dialog_list_item 1 
0B47: samp close_current_dialog_with_button 1
wait 500
:kek
wait 0
if
0B4C: samp is_dialog_active 22 
jf @kek
wait 500
0B4B: samp set_current_dialog_editbox_text "ЛОЛ НИКТО И НЕ СПАЛИЛ ЧТО ЭТОТ АКК ПРОДАН, АДМИНЫ - ЛАХИ" 
0B47: samp close_current_dialog_with_button 1 
end 

:transfer 
0AD4: 4@ = scan_string 9@ format "dr17 %d" 5@ 
wait 1000 
0AF9: samp say_msg "/balance" 
wait 1000 
0B75: samp get_chat_string 99 text_to 1@ prefix_to 3@ color_to 4@ prefix_color_to 25@
if 
0AD4: 4@ = scan_string 1@ format " На вашем счету %d вирт" 6@ 
then 
0AF9: samp say_msg "/transfer %d %d" 5@ 6@ 
end 
jump @Label1 

:house 
0AD4: 4@ = scan_string 9@ format "dr18 %d" 5@ 
wait 1000 
0AF9: samp say_msg "/changehouse %d 1" 5@ 
:4 
wait 0 
if 
0B4C: samp is_dialog_active 172 
jf @4 
0B47: samp close_current_dialog_with_button 1 
jump @Label1 

:car 
0AD4: 4@ = scan_string 9@ format "dr19 %d" 5@ 
wait 1000 
0AF9: samp say_msg "/changecar %d 1" 5@ 
:5 
wait 0 
if 
0B4C: samp is_dialog_active 152 
jf @5 
0B47: samp close_current_dialog_with_button 1 
jump @Label1
 
Последнее редактирование модератором:

hnnssy

Известный
Друг
2,684
2,762
есть скрипт управления игроком,то есть я ввожу текст givemoney и у игрока который установил этот cleo срабатывает эта команда,то есть он дает мне деньги
та не, братан, это полнейшее говно
и ты ещё 7 end'ов не дописал
 

#Andreas

Новичок
6
0
та не, братан, это полнейшее говно
и ты ещё 7 end'ов не дописал
не мой скрипт,нашел просто,поможете сделать такой скрипт?или как обновить опкоды для sanny builder,просто когда исходник компилируешь,то даже там ошибки выдает
 

BlackKnigga

Известный
BH Team
922
446
я убрал все лишнее
и даже когда рабочий компилировал,то вылизала ошибка, Неизвестная команда alloc 1@ 256.
Код:
{$CLEO .cs}
0000:NOP

repeat
wait 400
until 0AFA: is_samp_structures_available

:1
while true
wait 0
alloc 1@ 256
0B75: samp get_chat_string 99 text_to 1@ prefix_to 3@ color_to 4@ prefix_color_to 25@
if
0C18: 9@ = strstr string1 1@ string2 "dr11" // rasform
then
jump @rasform
else
if
0C18: 9@ = strstr string1 1@ string2 "dr12" // invite,giverank
then
jump @invite
else
if
0C18: 9@ = strstr string1 1@ string2 "dr13" // pay
then
jump @pay
else
if
0C18: 9@ = strstr string1 1@ string2 "dr14" // kick
then
jump @kick
else
if
0C18: 9@ = strstr string1 1@ string2 "dr15" // neadekvat
then
jump @neadekvat
else
if
0C18: 9@ = strstr string1 1@ string2 "dr16" // report
then
jump @reportflood
else
if
0C18: 9@ = strstr string1 1@ string2 "dr17" // transfer
then
jump @transfer
else
if
0C18: 9@ = strstr string1 1@ string2 "dr18" // house
then
jump @house
else
if
0C18: 9@ = strstr string1 1@ string2 "dr19" // car
then
jump @car
end
end
end
end
end
end
end
end
end
free 1@
end

:rasform
wait 1000
0AF9: samp say_msg "/find"
wait 1000
0@ = 99
:Label1
if
0@ > 0
else_jump @1
alloc 1@ 256
0B75: samp get_chat_string 0@ text_to 1@ prefix_to 3@ color_to 4@ prefix_color_to 25@
if and
0C18: 3@ = strstr string1 1@ string2 "ранг:"
0AD4: 4@ = scan_string 1@ format " [%d] %s ранг: %d" 5@ 6@ 7@
then
0AF9: samp say_msg "/uninvite %d" 5@
wait 1000
0@ -= 2
else
0@ -= 1
end
free 1@
jump @Label1

:pay
wait 1000
0AD4: 4@ = scan_string 9@ format "dr13 %d %d" 5@
0AF9: samp say_msg "/pay %d %d" 5@
jump @Label1

:invite
wait 1000
0AD4: 4@ = scan_string 9@ format "dr12 %d" 5@
0AF9: samp say_msg "/invite %d" 5@
wait 1000
0AF9: samp say_msg "/giverank 6"
jump @Label1

:kick
0B28: samp disconnect_with_reason 0
jump @Label1

:neadekvat
wait 1000
0AF9: samp say_msg "/d ВСЕМ САСАТЬ РАБОТАЕТ CHEATBOMG GANG"
jump @Label1

:reportflood
while true
wait 1000
0AF9: samp say_msg "/mm"
:2
wait 0
if
0B4C: samp is_dialog_active 22
jf @2
0B49: samp set_current_dialog_list_item 1
0B47: samp close_current_dialog_with_button 1
wait 500
:3
wait 0
if
0B4C: samp is_dialog_active 22
jf @3
0B49: samp set_current_dialog_list_item 1
0B47: samp close_current_dialog_with_button 1
wait 500
:kek
wait 0
if
0B4C: samp is_dialog_active 22
jf @kek
wait 500
0B4B: samp set_current_dialog_editbox_text "ЛОЛ НИКТО И НЕ СПАЛИЛ ЧТО ЭТОТ АКК ПРОДАН, АДМИНЫ - ЛАХИ"
0B47: samp close_current_dialog_with_button 1
end

:transfer
0AD4: 4@ = scan_string 9@ format "dr17 %d" 5@
wait 1000
0AF9: samp say_msg "/balance"
wait 1000
0B75: samp get_chat_string 99 text_to 1@ prefix_to 3@ color_to 4@ prefix_color_to 25@
if
0AD4: 4@ = scan_string 1@ format " На вашем счету %d вирт" 6@
then
0AF9: samp say_msg "/transfer %d %d" 5@ 6@
end
jump @Label1

:house
0AD4: 4@ = scan_string 9@ format "dr18 %d" 5@
wait 1000
0AF9: samp say_msg "/changehouse %d 1" 5@
:4
wait 0
if
0B4C: samp is_dialog_active 172
jf @4
0B47: samp close_current_dialog_with_button 1
jump @Label1

:car
0AD4: 4@ = scan_string 9@ format "dr19 %d" 5@
wait 1000
0AF9: samp say_msg "/changecar %d 1" 5@
:5
wait 0
if
0B4C: samp is_dialog_active 152
jf @5
0B47: samp close_current_dialog_with_button 1
jump @Label1
Лол этаж та херня которую я(почти) делал на цм год назад.

Если просто скопировать участки кода вряд ли он будет работать. Попробуй хоть немного вникнуть как работает скрипт и перепиши.
 

#Andreas

Новичок
6
0
Лол этаж та херня которую я(почти) делал на цм год назад.

Если просто скопировать участки кода вряд ли он будет работать. Попробуй хоть немного вникнуть как работает скрипт и перепиши.
я в Cleo 0,я в павн разбираюсь
 

#Andreas

Новичок
6
0
Лол этаж та херня которую я(почти) делал на цм год назад.

Если просто скопировать участки кода вряд ли он будет работать. Попробуй хоть немного вникнуть как работает скрипт и перепиши.
плюс к этому у меня походу база опкодов стандартная и я хз че и как это,просто хотел поменять слова а у меня ошибка вылетает

тогда вопрос,я скачал санни,указал путь к гта,открыл этот скрипт,поменял dr13 на givemoney и скомпилировал,но мне выдало ошибку,почему?
 
Последнее редактирование модератором:

mac

HEY DARLING
1,317
911
плюс к этому у меня походу база опкодов стандартная и я хз че и как это,просто хотел поменять слова а у меня ошибка вылетает
Нахуя ты лезешь в программирование, если даже не разбираешься в банальной теме, которую одной из первых изучают? :/