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

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Там дальше идёт работа с if actor.Driving(3@), далее получение хендла авто, затем след. операции. Тут тоже задержка не нужна?
В общем. Задержки не нужны там, где это необходимо SAMPFUNCS (он просто проигнорирует их, с циклами сложнее - краш или фриз игры). В других местах они нужны (естественно там где они необходимы).
После каждой проверки или вызова функции необязательно вставлять wait.
 
  • Нравится
Реакции: Wood_Goblin

Wood_Goblin

Новичок
22
0
В общем. Задержки не нужны там, где это необходимо SAMPFUNCS (он просто проигнорирует их, с циклами сложнее - краш или фриз игры). В других местах они нужны (естественно там где они необходимы).
После каждой проверки или вызова функции необязательно вставлять wait.

Чёт я фигню спорол. Я как раз имел ввиду wait в цикле. поэтому спросил у oolol - это весь код? Пойду глаза мыть с мылом :pardon:
 

ynhhoJ

Известный
102
6
Вообщем, нужно получить Rotation Angle объекта, но опкод:
CLEO:
05A6: get_object 82@ rotation_velocity_about_an_axis_X 49@ axis_Y 50@ axis_Z 51@ through_center_of_body
Почему-то не хочет работать, выдает лишь 0.0000
Есть альтернативы или другие способы узнать Rotation Angle?
P.S: При использование этого: https://www.blast.hk/threads/897/#post-17439
Крашит SA:MP
 
Последнее редактирование:

ynhhoJ

Известный
102
6
07C3: get_object 281@ axis_angle_relation_to 332@ 333@ 334@ 335@
Этот попробуй
07C3: get_object 281@ axis_angle_relation_to 332@ 333@ 334@ 335@ - крашил
попробовал: 07C4: set_object 281@ axis_angle_relation_to 332@ 333@ 334@ 335@
Результат такой:
 

Вложения

  • sa-mp-164.png
    sa-mp-164.png
    182.6 KB · Просмотры: 243

ynhhoJ

Известный
102
6
Не знаю что еще попробовать...
Если проблема в коде, то вот он:
CLEO:
{$CLEO}
{$NOSOURCE}
0000:

:1
wait 0
0AFA:  is_samp_available
0B34: samp register_client_command "mapsteal" to_label @mapstealer
jf @1
0AC8: 0@ = allocate_memory_size 256
0B6D: render 1@ = create_font "Arial" height 10 flags 12

:2
wait 0
0AB0:   key_pressed 49 // Key: 1
jf @2

:3
04C4: store_coords_to 2@ 3@ 4@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
0AE3: 5@ = random_object_near_point 2@ 3@ 4@ in_radius 150.0 find_next 1
jf @2
0400: store_coords_to 2@ 3@ 4@ from_object 5@ with_offset 0.0 0.0 0.0
0B55: convert_3D_coords 2@ 3@ 4@ to_screen 6@ 7@
0B52: samp 8@ = object_id_by_handle 5@ // Для скриптеров.
0984: 9@ = object 5@ model // Для мапперов.
//05A6: get_object 5@ rotation_velocity_about_an_axis_X 10@ axis_Y 11@ axis_Z 12@ through_center_of_body
07C4: get_object 5@ axis_angle_relation_to 10@ 11@ 12@ 13@
if and
    8@ >= 0
02CC: object 5@ bounding_sphere_visible
jf @3
0AD3: 0@ = format "CreateObject(%i,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f);" 9@ 2@ 3@ 4@ 10@ 11@ 12@ 13@
0B6F: render font 1@ draw_text 0@ pos 6@ 7@ color 0xFFFFFFFF
jump @3

:mapstealer
SAMP.CmdRet
 

BlackKnigga

Известный
BH Team
922
444
Не знаю что еще попробовать...
Если проблема в коде, то вот он:
CLEO:
{$CLEO}
{$NOSOURCE}
0000:

:1
wait 0
0AFA:  is_samp_available
0B34: samp register_client_command "mapsteal" to_label @mapstealer
jf @1
0AC8: 0@ = allocate_memory_size 256
0B6D: render 1@ = create_font "Arial" height 10 flags 12

:2
wait 0
0AB0:   key_pressed 49 // Key: 1
jf @2

:3
04C4: store_coords_to 2@ 3@ 4@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
0AE3: 5@ = random_object_near_point 2@ 3@ 4@ in_radius 150.0 find_next 1
jf @2
0400: store_coords_to 2@ 3@ 4@ from_object 5@ with_offset 0.0 0.0 0.0
0B55: convert_3D_coords 2@ 3@ 4@ to_screen 6@ 7@
0B52: samp 8@ = object_id_by_handle 5@ // Для скриптеров.
0984: 9@ = object 5@ model // Для мапперов.
//05A6: get_object 5@ rotation_velocity_about_an_axis_X 10@ axis_Y 11@ axis_Z 12@ through_center_of_body
07C4: get_object 5@ axis_angle_relation_to 10@ 11@ 12@ 13@
if and
    8@ >= 0
02CC: object 5@ bounding_sphere_visible
jf @3
0AD3: 0@ = format "CreateObject(%i,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f);" 9@ 2@ 3@ 4@ 10@ 11@ 12@ 13@
0B6F: render font 1@ draw_text 0@ pos 6@ 7@ color 0xFFFFFFFF
jump @3

:mapstealer
SAMP.CmdRet
07c4 устанавливает угол, а не получает
 

ynhhoJ

Известный
102
6
Последнее редактирование:

BlackKnigga

Известный
BH Team
922
444
Ничего нового не увидел, подходящие мне были лишь 05A6 и 0400 , но и они не работают...
//update
Нашел еще такой, но он определяет лишь RZ
CLEO:
0176: 12@ = object 5@ Z_angle
Попробуй тогда перед получением координат проверять объект на существование(03CA), мб рандом какую нибудь херню возвращает иногда.
 

ynhhoJ

Известный
102
6
Попробуй тогда перед получением координат проверять объект на существование(03CA), мб рандом какую нибудь херню возвращает иногда.
Вот, сделал так:
CLEO:
03CA: 13@ = object 5@ exists

log "Model: %i | Exists: %i" 9@ 13@
Результат:
PHP:
Model: 19483 | Exists: 0
Model: 2797 | Exists: 0
Model: 2008 | Exists: 0
Model: 1715 | Exists: 0
Model: 3881 | Exists: 0
Model: 1260 | Exists: 0
Model: 4729 | Exists: 0
Model: 4729 | Exists: 0
Либо я что-то не правильное сделал, либо и правда, что-то с рандомом
 

BlackKnigga

Известный
BH Team
922
444
Вот, сделал так:
CLEO:
03CA: 13@ = object 5@ exists

log "Model: %i | Exists: %i" 9@ 13@
Результат:
PHP:
Model: 19483 | Exists: 0
Model: 2797 | Exists: 0
Model: 2008 | Exists: 0
Model: 1715 | Exists: 0
Model: 3881 | Exists: 0
Model: 1260 | Exists: 0
Model: 4729 | Exists: 0
Model: 4729 | Exists: 0
Либо я что-то не правильное сделал, либо и правда, что-то с рандомом
CLEO:
if     03CA:   does_object_exist 0@
then
    log "Exists"
end