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

RedBoxWhite

Известный
337
27
CLEO:
{$CLEO}
0B34: "CMD" to_label @CMD
0BDE: pause_thread 0

:CMD
FOR 0@ = 0 TO 1000 [STEP = 1]
    IF 0B23: samp is_player_connected 0@
    THEN
    0B37: samp 1@ = get_player_color 0@
    0AF8: samp add_message_to_chat "ID: %d | Color:{%X} |||" color 0xFFFFFF {ID}0@ {Color}1@
    END
END
0B43: samp cmd_ret


Не ищу легких путей :prankster:
Крашит... Может это связанно с новым SF?
 

4el0ve4ik

Известный
Всефорумный модератор
1,548
1,338
Как сделать чтоб не флудило?
Код:
{$CLEO}
Thread"Lesson"
WhileTrue
wait0
1@ = Actor.Health($Player_Actor).
if1@ <= 90
then
0af9: "/usedrugs 15"
wait2000
end
end

решение нашел таким вот способом:
CLEO:
{$CLEO}
0000:
:lab2
While True
wait 0
0226: 1@ = actor $Player_Actor health
    if 1@ <= 90
    jf @lab2
    0af9: "/usedrugs 3"
    wait 2000
        while true
        wait 0
        0226: 1@ = actor $Player_Actor health
        if 1@ <= 90
        jf @lab2
        end
    end
но есть одно но, если не прошел таймер между употреблением нарко и хп стало <=90 то оно не будет прописывать команду
 

4el0ve4ik

Известный
Всефорумный модератор
1,548
1,338
У кого есть идеи как запилить скрипт что бы анимация нарко не воспроизводилась?
 

p1cador

cerf
Проверенный
220
359
У кого есть идеи как запилить скрипт что бы анимация нарко не воспроизводилась?
Занопить изменение анимки

решение нашел таким вот способом:
но есть одно но, если не прошел таймер между употреблением нарко и хп стало <=90 то оно не будет прописывать команду
Что это за ад со сложными конструкциями и метками?
Вот твой код без лишней херни:
CLEO:
{$CLEO}
0000:
while true
    wait 0
    0226: 1@ = actor $Player_Actor health
    if 1@ <= 90
        then
        0af9: "/usedrugs 3"
        wait 2000
    end
end
И конечно команда не будет повторно прописываться раньше, чем через 2000, потому что... бля да потому что тут стоит wait 2000.
 
Последнее редактирование модератором:

4el0ve4ik

Известный
Всефорумный модератор
1,548
1,338
В ютуб напиши: Cleo урок способы сбива анимации. Первое видео - там несколько способов
Уже занопил, кстати может кто подскажет как сделать перезагрузку скрипта не выходя ид игры, что бы находилась в этом же скрипте ну или через ini
 

p1cador

cerf
Проверенный
220
359
Уже занопил, кстати может кто подскажет как сделать перезагрузку скрипта не выходя ид игры, что бы находилась в этом же скрипте ну или через ini
CLEO:
0B34: samp register_client_command "reload" to_label @reload

:reload
0A92: create_custom_thread "название клео.cs"
0A93: end_custom_thread
0b43: samp cmd_ret
можно и не через команду
 
Последнее редактирование:

Bulava

Новичок
12
2
Код:
//-------------MAIN---------------
thread 'ROPE' 

:ROPE_11
wait 0 
if 
   Player.Defined($PLAYER_CHAR)
else_jump @ROPE_11 
wait 0 
00E1:   player 0 pressed_key 16 
00E1:   player 0 pressed_key 18 
else_jump @ROPE_11 
Model.Load(#NULL)

:ROPE_58
wait 0 
if 
   Model.Available(#NULL)
else_jump @ROPE_58 
04C4: store_coords_to 2@ 3@ 4@ from_actor $PLAYER_ACTOR with_offset 0.0 2.0 0.0 
04C4: store_coords_to 5@ 6@ 7@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 
04C4: store_coords_to 24@ 25@ 26@ from_actor $PLAYER_ACTOR with_offset 2.0 3.0 1.0 
04C4: store_coords_to 27@ 28@ 29@ from_actor $PLAYER_ACTOR with_offset 0.0 2.0 -10.0 
02CE: 8@ = ground_z_at 2@ 3@ 4@ 
050A: 31@ = distance_between_XYZ 2@ 3@ 4@ and_XYZ 2@ 3@ 8@ 
if 
0818:   actor $PLAYER_ACTOR in_air 
else_jump @ROPE_253 
jump @ROPE_11 

:ROPE_253
wait 0 
if 
  31@ >= 5.0 
else_jump @ROPE_11 
0087: 23@ = 7@ // (float) 
23@ += 50.0 
Actor.PutAt($PLAYER_ACTOR, 5@, 6@, 23@)
Actor.LockInCurrentPosition($PLAYER_ACTOR) = True
0503: create_actor_on_rope_with_pedtype 8 model #NULL at 2@ 3@ 4@ handle_as 9@ 
Camera.SetPosition(24@, 25@, 26@, 0.0, 0.0, 0.0)
Camera.PointAt(27@, 28@, 29@, 2)

:ROPE_374
wait 0 
04C4: store_coords_to 14@ 15@ 16@ from_actor 9@ with_offset 0.0 0.0 0.0 
02CE: 17@ = ground_z_at 14@ 15@ 16@ 
050A: 18@ = distance_between_XYZ 14@ 15@ 16@ and_XYZ 14@ 15@ 17@ 
if or
   not 18@ >= 2.0 
00E1:   player 0 pressed_key 16 
04AD:   actor 9@ in_water 
else_jump @ROPE_374 
04C4: store_coords_to 20@ 21@ 22@ from_actor 9@ with_offset 0.0 0.0 0.0 
Actor.DestroyInstantly(9@)
Actor.RemoveReferences(9@)
Actor.LockInCurrentPosition($PLAYER_ACTOR) = False
Actor.PutAt($PLAYER_ACTOR, 20@, 21@, 22@)
Camera.Restore_WithJumpCut
wait 1000 
Model.Destroy(#NULL)
jump @ROPE_11
Crash in samp
 

VADE

Новичок
36
1
Если прицелиться (ПКМ) в игрока, то у него над головой появится зеленый треугольник, так вот... Есть ли опкод, который записывает в переменную ID игрока, в которого я прицелился (у которого над головой зеленый треугольник).
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,961
Если прицелиться (ПКМ) в игрока, то у него над головой появится зеленый треугольник, так вот... Есть ли опкод, который записывает в переменную ID игрока, в которого я прицелился (у которого над головой зеленый треугольник).
CLEO:
0AD2: 0@ = player $PLAYER_CHAR targeted_actor
0B2B: samp 0@ = get_player_id_by_actor_handle 0@
 

4el0ve4ik

Известный
Всефорумный модератор
1,548
1,338
Как можно узнать попал я в человека или нет? как в скрипте колокольчик типо, там колокольчек а мне нужно немного другое действие
 

Gabriel__

Известный
Проверенный
411
182
Как можно узнать попал я в человека или нет? как в скрипте колокольчик типо, там колокольчек а мне нужно немного другое действие
Исходящий GiveTakeDamage хукай или BulletSync (в нем только от пуль будет срабатывать).
 
  • Нравится
Реакции: iAmerican

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,961
Через hook лучше всего это делать.

Почитай: https://www.blast.hk/wiki/tutorials:sf_raknet