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

Unknown13

Новичок
19
0
Советчики, так вы получите ИД игрока с найменьшим идом, который есть в стриме.
0AB5: store_actor $player_actor closest_vehicle_to 0 closest_ped_to 0@
Код:
{$CLEO .cs}
{$INCLUDE SF}
0000: NOP
wait 2000

while true
wait 0
if
key_down 114
then
  if
  call @NearPlayer 0 0@
   then
   0af8: "Id: %d" -1 0@
   call @key_unpress1 1 key 114

   else
   0af8: "No players" -1
   call @key_unpress1 1 key 114
end
end
end
:NearPlayer
for 0@ = 0 to 1000 step 1
    if 0AB5: store_actor $player_actor closest_vehicle_to 0 closest_ped_to 0@
    then
        if 0B20: samp 0 = actor_handle_by_samp_player_id 0@
        then ret 0@
        end
    end
end
ret 0

:key_unpress1
while key_down 1@
    wait 0
end
ret 0

Вот так должно быть?
 

hnnssy

Известный
Друг
2,684
2,748
Вообщем я решил в свой инфобар добавить перемещение бара, взял твой код, вставил в свой, но чёт теперь ничего не рабоатает :sad_frog:

CLEO:
{$CLEO}
{$INCLUDE SF}
0000:                              
0B6D: render 0@ = create_font "Arial" height 11 flags 5
wait 2000
0B78: log "[KYRLYK] sBar Loaded!"
0AF8: samp add_message_to_chat "[KYRLYK] sBar запущен!" color 0xFF0000
const
CPOS_X = 1@
CPOS_Y = 2@
end
0B34: samp register_client_command "spos" to_label @spos
:sBar
alloc 1@ 128
alloc 5@ 128
alloc 9@ 128
alloc 12@ 128
alloc 20@ 128
alloc 24@ 128
alloc 27@ 128

while true
wait 0
        actor.StorePos($PLAYER_ACTOR, 2@, 3@, 4@)
    0B2B: samp 6@ = get_player_id_by_actor_handle $PLAYER_ACTOR
    0B36: samp 7@ = get_player_nickname 6@
    0B2A: samp 8@ = get_player_ping 6@
    04DD: 15@ = actor $PLAYER_ACTOR armour
    0226: 14@ = actor $PLAYER_ACTOR health
    0B65: samp 22@ = player 6@ score
    0470: 23@ = actor $PLAYER_ACTOR current_weapon
    010B: 28@ = player $PLAYER_CHAR money
    051E: 26@ = get_current_radio_station
    0B57: samp 29@ = player 6@ animation_id
    format 1@ = "| X: %.2f | Y: %.2f | Z: %.2f |" 2@ 3@ 4@
    0B6F: render font 0@ draw_text 1@ pos CPOS_X CPOS_Y color 0xffff0000
    format 5@ = "| Nick: %s | ID: %d | HP: %d | AP: %d |" 7@ 6@ 14@ 15@
    0B6F: render font 0@ draw_text 5@ pos CPOS_X CPOS_Y color 0xffff0000
    format 27@ = "| WeaponID: %d | Money: %d | RadioID: %d |" 23@ 28@ 26@
    0B6F: render font 0@ draw_text 27@ pos CPOS_X CPOS_Y color 0xffff0000
    format 9@ = "| Ping: %d | LVL (Score): %d | AnimID: %d |" 8@ 22@ 29@
    0B6F: render font 0@ draw_text 9@ pos CPOS_X CPOS_Y color 0xffff0000
    if actor.Driving($PLAYER_ACTOR)
    then
    03C0: 11@ = actor $PLAYER_ACTOR car
    0227: 13@ = car 11@ health
    0B2C: samp 10@ = get_vehicle_id_by_car_handle 11@
    format 12@ = "| InCar | CarID: %d | CarHP: %d | " 10@ 13@
    0B6F: render font 0@ draw_text 12@ pos 0 430 color 0xffff0000
    if 30@ == 1
    then
        0B8D: samp set_cursor_mode 1
        0B5E: get_cursor_pos CPOS_X CPOS_Y
        if 0AB0: 1
        then 30@ = 0
            0B8D: samp set_cursor_mode 0
        end
    end
end

:spos
30@ = 1
Потому что ты рахло и перезаписываешь переменные с координатами.
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,962
Вообщем я решил в свой инфобар добавить перемещение бара, взял твой код, вставил в свой, но чёт теперь ничего не рабоатает :sad_frog:

CLEO:
{$CLEO}
{$INCLUDE SF}
0000:                              
0B6D: render 0@ = create_font "Arial" height 11 flags 5
wait 2000
0B78: log "[KYRLYK] sBar Loaded!"
0AF8: samp add_message_to_chat "[KYRLYK] sBar запущен!" color 0xFF0000
const
CPOS_X = 1@
CPOS_Y = 2@
end
0B34: samp register_client_command "spos" to_label @spos
:sBar
alloc 1@ 128
alloc 5@ 128
alloc 9@ 128
alloc 12@ 128
alloc 20@ 128
alloc 24@ 128
alloc 27@ 128

while true
wait 0
        actor.StorePos($PLAYER_ACTOR, 2@, 3@, 4@)
    0B2B: samp 6@ = get_player_id_by_actor_handle $PLAYER_ACTOR
    0B36: samp 7@ = get_player_nickname 6@
    0B2A: samp 8@ = get_player_ping 6@
    04DD: 15@ = actor $PLAYER_ACTOR armour
    0226: 14@ = actor $PLAYER_ACTOR health
    0B65: samp 22@ = player 6@ score
    0470: 23@ = actor $PLAYER_ACTOR current_weapon
    010B: 28@ = player $PLAYER_CHAR money
    051E: 26@ = get_current_radio_station
    0B57: samp 29@ = player 6@ animation_id
    format 1@ = "| X: %.2f | Y: %.2f | Z: %.2f |" 2@ 3@ 4@
    0B6F: render font 0@ draw_text 1@ pos CPOS_X CPOS_Y color 0xffff0000
    format 5@ = "| Nick: %s | ID: %d | HP: %d | AP: %d |" 7@ 6@ 14@ 15@
    0B6F: render font 0@ draw_text 5@ pos CPOS_X CPOS_Y color 0xffff0000
    format 27@ = "| WeaponID: %d | Money: %d | RadioID: %d |" 23@ 28@ 26@
    0B6F: render font 0@ draw_text 27@ pos CPOS_X CPOS_Y color 0xffff0000
    format 9@ = "| Ping: %d | LVL (Score): %d | AnimID: %d |" 8@ 22@ 29@
    0B6F: render font 0@ draw_text 9@ pos CPOS_X CPOS_Y color 0xffff0000
    if actor.Driving($PLAYER_ACTOR)
    then
    03C0: 11@ = actor $PLAYER_ACTOR car
    0227: 13@ = car 11@ health
    0B2C: samp 10@ = get_vehicle_id_by_car_handle 11@
    format 12@ = "| InCar | CarID: %d | CarHP: %d | " 10@ 13@
    0B6F: render font 0@ draw_text 12@ pos 0 430 color 0xffff0000
    if 30@ == 1
    then
        0B8D: samp set_cursor_mode 1
        0B5E: get_cursor_pos CPOS_X CPOS_Y
        if 0AB0: 1
        then 30@ = 0
            0B8D: samp set_cursor_mode 0
        end
    end
end

:spos
30@ = 1
Нельзя использовать опкоды SF, до полной загрузки SA:MP.
 

LFK_Morgan

Новичок
21
1
Можно как нить в определённом радиусе, например 50 метров вокруг игрока найти объект и получить его координаты(или тпшунться к этому объекту)? Если можно, скажите какие опкоды для этого нужны?
 

Woofing Giraffe

Активный
402
49
Можно как нить в определённом радиусе, например 50 метров вокруг игрока найти объект и получить его координаты(или тпшунться к этому объекту)? Если можно, скажите какие опкоды для этого нужны?
Тебе нужно найти объект по ID?
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,962
Можно как нить в определённом радиусе, например 50 метров вокруг игрока найти объект и получить его координаты(или тпшунться к этому объекту)? Если можно, скажите какие опкоды для этого нужны?
Можно.


0AE3: $object = random_object_near_point 0@ 1@ 2@ in_radius 10.0 find_next 1 //IF and SET
 

LFK_Morgan

Новичок
21
1
Тебе нужно найти объект по ID?
Ну я хз как, вот что мне выдал собейт про объект: Object: 174. ModelID: 20101

Можно.


0AE3: $object = random_object_near_point 0@ 1@ 2@ in_radius 10.0 find_next 1 //IF and SET
получить его координаты(или тпшунться к этому объекту)?
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,962
получить его координаты(или тпшунться к этому объекту)?
Этот опкод получает handle рандомного объекта в радиусе. Лучше ставь его как условие, а когда получишь handle позицию так можешь получить:


01BB: store_object 0@ position_to 5@ 6@ 7@
 

C&J

Известный
41
22
Здравствуйте,какой опокд похож на функцию SetPlayerChatBubble ? (Выводит над игроком текст)