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

Trawer2289

Известный
48
9
Помогите что у меня не так и исправьте пожалуйста
CLEO:
{$CLEO .cs}
0000: NOP
repeat
    wait 400
until samp.Available()
0B34: samp register_client_command "test" to_label [USER=63112]@Kek[/USER]
0BDE: pause_thread 0
repeat
wait 0
    if 0@ == 1
    then
    if 0449:   actor $PLAYER_ACTOR in_a_car
    then
    018C: play_sound 1058 at 0.0 0.0 0.0
    msg "{ff0000}[Ошибка] {ffffff}Нельзя находиться в транспорте!" -1
    else
    077E: get_active_interior_to 1@
    if
    1@ == 1
    then
    018C: play_sound 1058 at 0.0 0.0 0.0
    msg "{ff0000}[Ошибка] {ffffff}Нельзя находиться на улице!" -1
    else
    077E: get_active_interior_to 2@
    if
    2@ == 0
    then
    018C: play_sound 1058 at 0.0 0.0 0.0
    msg "{7FD76F}[Внимание] {ffffff}Покиньте интерьер!" -1
    else
    if
    2@ == 1
    Actor.PutAt($PLAYER_ACTOR, 137.331, 1881.63,17.8359)
    wait 1000
    0AF6: samp spawn_player
    end
   end
  end
 end
end
until false
:kek
0@ = 1
Samp.CmdRet()
 
Последнее редактирование модератором:
1,417
1,029
@Trawer2289
CLEO:
{$CLEO}
0000: NOP
repeat
    wait 400
until samp.Available()
0B34: samp register_client_command "test1" to_label @cmd

WHILE TRUE
wait 0
    IF 0@ == 1
    THEN
        IF 0449:   actor $PLAYER_ACTOR in_a_car
        then
            018C: play_sound 1058 at 0.0 0.0 0.0
            msg "{ff0000}[Ошибка] {ffffff}Нельзя находиться в транспорте!" -1
        else
            077E: get_active_interior_to 1@
            IF 1@ == 0
            THEN
                018C: play_sound 1058 at 0.0 0.0 0.0
                msg "{ff0000}[Ошибка] {ffffff}Нельзя находиться на улице!" -1
            ELSE
                018C: play_sound 1058 at 0.0 0.0 0.0
                msg "{7FD76F}[Внимание] {ffffff}Покиньте интерьер!" -1
              
                repeat
                    wait 0
                    077E: get_active_interior_to 1@
                until 8019: 1@ > 0
              
                Actor.PutAt($PLAYER_ACTOR, 137.331, 1881.63,17.8359)
                wait 1000
                0AF6: samp spawn_player
            END
        END      
        0@ = 0
    END
END

:cmd
0@ = 1
Samp.CmdRet()

@biovolk
Вопрос - Вопросы по CLEO-скриптингу(https://blast.hk/threads/13410/page-343#post-172500)
 

Lord

Новичок
236
42
Опкод пожалуйста, который создает метку (сферу) на карте и в самой игре.
 

biovolk

Новичок
6
0
@randazzo
CLEO:
{$CLEO}
0000:

IF AND
  0AB0:  key_pressed 90
  0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET
THEN
  0B2B: samp 1@ = get_player_id_by_actor_handle 0@
  say "/take weapons %d" 1@
  wait 1
  say "/ad %d" 1@
  wait 500
  say "/ac %d" 1@
  wait 500 
  say "/ea %d" 1@
  wait 500 
  say "/dd %d" 1@
  wait 500
END

Имеем допустим такой скрипт, который при наводке прицела на человека, будет срабатывание команд данных выше. Вопрос : работать будет только с sampfuncs? (есть ли возможность чтобы без него?)
Возможно что-то не правильное в коде, просьба сказать.
 
Последнее редактирование модератором:
1,417
1,029
@randazzo
CLEO:
{$CLEO}
0000:

IF AND
  0AB0:  key_pressed 90
  0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET
THEN
  0B2B: samp 1@ = get_player_id_by_actor_handle 0@
  say "/take weapons %d" 1@
  wait 1
  say "/ad %d" 1@
  wait 500
  say "/ac %d" 1@
  wait 500
  say "/ea %d" 1@
  wait 500
  say "/dd %d" 1@
  wait 500
END

Имеем допустим такой скрипт, который при наводке прицела на человека, будет срабатывание команд данных выше. Вопрос : работать будет только с sampfuncs? (есть ли возможность чтобы без него?)
Возможно что-то не правильное в коде, просьба сказать.
Только с сф, возможность есть, перепиши функции получения id по хендлу и вывода сообщения в чат.
CLEO:
{$CLEO}
0000:

WHILE TRUE
wait 0
IF AND
  0AB0:  key_pressed 90
  0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET
THEN
  0B2B: samp 1@ = get_player_id_by_actor_handle 0@
  say "/take weapons %d" 1@
  wait 1
  say "/ad %d" 1@
  wait 500
  say "/ac %d" 1@
  wait 500
  say "/ea %d" 1@
  wait 500
  say "/dd %d" 1@
  wait 500
END
END
если на сервере антифлуд есть, то задержку больше надо ставить.
 

biovolk

Новичок
6
0
Только с сф, возможность есть, перепиши функции получения id по хендлу и вывода сообщения в чат.
CLEO:
{$CLEO}
0000:

WHILE TRUE
wait 0
IF AND
  0AB0:  key_pressed 90
  0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET
THEN
  0B2B: samp 1@ = get_player_id_by_actor_handle 0@
  say "/take weapons %d" 1@
  wait 1
  say "/ad %d" 1@
  wait 500
  say "/ac %d" 1@
  wait 500
  say "/ea %d" 1@
  wait 500
  say "/dd %d" 1@
  wait 500
END
END
если на сервере антифлуд есть, то задержку больше надо ставить.
Можешь пожалуйста помочь с перепиской? Антифлуда на данные команды нет.
 
1,417
1,029
if 0AB6: store_target_marker_coords_to 0@ 1@ 2@ (проверка имеется ли метка), если да тогда Actor.PutAt($PLAYER_ACTOR, 0@, 1@, 2@) (нас телепортирует на нее)
который создает метку

@lordpower можно через emul rpc
CLEO:
:ch_on
0B3D: raknet 30@ = new_bit_stream
0B40: raknet bit_stream 30@ write 0@ type BS_TYPE_FLOAT size 4
0B40: raknet bit_stream 30@ write 1@ type BS_TYPE_FLOAT size 4
0B40: raknet bit_stream 30@ write 2@ type BS_TYPE_FLOAT size 4
0B40: raknet bit_stream 30@ write 8.0 type BS_TYPE_FLOAT size 4
0BF6: raknet emul_rpc_receive RPC_SCRSETCHECKPOINT bit_stream 30@
0B3E: raknet delete_bit_stream 30@
ret 0  

:ch_off
0B3D: raknet 1@ = new_bit_stream
0BF6: raknet emul_rpc_receive RPC_SCRDISABLECHECKPOINT bit_stream 1@
0B3E: raknet delete_bit_stream 1@
ret 0

или через
CLEO:
03BC: 149@ = create_sphere_at 2596.589 2758.158 22.862 radius 1.0
 

D3.Pheonix

🎹
Модератор
2,817
1,599
Тут такое дело, короче SB не сохраняет исходник в скрипте, nosource я не прописываю, ессно.
 

Lord

Новичок
236
42
if 0AB6: store_target_marker_coords_to 0@ 1@ 2@ (проверка имеется ли метка), если да тогда Actor.PutAt($PLAYER_ACTOR, 0@, 1@, 2@) (нас телепортирует на нее)
@lordpower можно через emul rpc
CLEO:
:ch_on
0B3D: raknet 30@ = new_bit_stream
0B40: raknet bit_stream 30@ write 0@ type BS_TYPE_FLOAT size 4
0B40: raknet bit_stream 30@ write 1@ type BS_TYPE_FLOAT size 4
0B40: raknet bit_stream 30@ write 2@ type BS_TYPE_FLOAT size 4
0B40: raknet bit_stream 30@ write 8.0 type BS_TYPE_FLOAT size 4
0BF6: raknet emul_rpc_receive RPC_SCRSETCHECKPOINT bit_stream 30@
0B3E: raknet delete_bit_stream 30@
ret 0 

:ch_off
0B3D: raknet 1@ = new_bit_stream
0BF6: raknet emul_rpc_receive RPC_SCRDISABLECHECKPOINT bit_stream 1@
0B3E: raknet delete_bit_stream 1@
ret 0

или через
CLEO:
03BC: 149@ = create_sphere_at 2596.589 2758.158 22.862 radius 1.0


Спасибо, но вы неправильно поняли. Сферу создал, ок. А как сделать чтоб в том же месте на карте красным высвечивалось?

x0uxlCntSKOgU9MVOEvglg.png
 

CLEONewBie

Новичок
20
0
Как понял, мод на квадратный радар изменяет какое-то значение в памяти игры.
Внимание, вопрос: можно-ли сделать такое же на cleo?
 

Trawer2289

Известный
48
9
Всем привет хотел написать телепорт через инту и написал ,а дальше скомпилировал но в игре сиджеи. Помогите пожалуйста, вот код:
CLEO:
{$CLEO .cs}
0000: NOP
repeat
    wait 400
until samp.Available()
0B34: samp register_client_command "itp" to_label [USER=63112]@Kek[/USER]
while true
wait 0
    if 0@ == 1
    then
        if 0449:   actor $PLAYER_ACTOR in_a_car
        then
            018C: play_sound 1058 at 0.0 0.0 0.0
            msg "{ff0000}[Ошибка] {ffffff}Нельзя находиться в транспорте" -1
        else
            077E: get_active_interior_to 1@
            if 1@ == 0
            then
                018C: play_sound 1058 at 0.0 0.0 0.0
                msg "{ff0000}[Ошибка] {ffffff}Нельзя находиться на улице!" -1
            else
                018C: play_sound 1058 at 0.0 0.0 0.0
                msg "{7FD76F}[Внимание] {ffffff}Покиньте интерьер для телепорта!" -1
            else
                0AB6: store_target_marker_coords_to $actor_x $actor_y $actor_z
                if
                0AB6: store_target_marker_coords_to $actor_x $actor_y $actor_z
                then
                    018C: play_sound 1058 at 0.0 0.0 0.0
                    msg "{ff0000}[Ошибка] {ffffff}Поставьте метку на карте!" -1
                //
                repeat
                    wait 0
                    077E: get_active_interior_to 1@
                until 8019: 1@ > 0
              
                Actor.PutAt($PLAYER_ACTOR, $actor_x $actor_y $actor_z)
                wait 1000
                018C: play_sound 1058 at 0.0 0.0 0.0
                msg "{ffffff}Вы были телепортированы на метку!" -1
            end
        end
        0@ = 0
    end
end
:kek
0@ = 1
Samp.CmdRet()
 
Последнее редактирование модератором:

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.