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

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,468
Да ну, я и так пробовал. Он вообще не реагировал на объекты.
CLEO:
if 0AE3: 3@ = random_object_near_point 0@ 1@ 2@ in_radius 10.0 find_next 0
then
    gosub @operation
    while 0AE3: 3@ = random_object_near_point 0@ 1@ 2@ in_radius 10.0 find_next 1
        wait 0
        gosub @operation
    end
end

...

:operation
// ...
return
 

hnnssy

Известный
Друг
2,684
2,762
Попытался сделать что-то вроде спидхака

CLEO:
wait 10
    if
    0AB0: key_pressed 0x12  
    Actor.Driving($Player_Actor)
    then
        03C0: 317@ = actor $PLAYER_ACTOR car
        02E3: 318@ = car 317@ speed
        0093: 318@ = integer 318@ to_float
        chatmsg "Speed %f" 318@
        var
        319@ : Float
        318@ : Float
        end
        if and
        318@ > 0.000000
        318@ < 1115000000.000000
        then
        319@ = 318@
        318@ /= 1000
        318@ += 319@
        04BA: set_car 317@ speed_to 318@
        chatmsg "Speed after %f" 318@
        end
        jump @check  
    end

В итоге при нажатой клавиши ALT - на экран выводится сообщение "ЗАГРУЗКА"... HELP!
318@ /= 1000
раз уж скорость во флоат, то и делать на флоат нужно
 

Kp0Nk

Известный
58
5
Подскажите как сделать чтобы оба условия в одном скрипте работали? И что после выполнения условия переходило на определенный код
if
12@ >= 0
jump @NONAME_6
if
Actor.Driving($PLAYER_ACTOR)
jump @NONAME_26
 

SR_team

like pancake
BH Team
4,798
6,470
Подскажите как сделать чтобы оба условия в одном скрипте работали? И что после выполнения условия переходило на определенный код
if
12@ >= 0
jump @NONAME_6
if
Actor.Driving($PLAYER_ACTOR)
jump @NONAME_26
CLEO:
:000
wait 0
if and
12@ >= 0
Actor.Driving($PLAYER_ACTOR)
jf @000
jump @code

....

:code
....
 

Mikha Mikhin

Новичок
131
4
318@ /= 1000
раз уж скорость во флоат, то и делать на флоат нужно
CLEO:
wait 10
    if
    0AB0: key_pressed 0x12 
    Actor.Driving($Player_Actor)
    then
        03C0: 317@ = actor $PLAYER_ACTOR car
        02E3: 318@ = car 317@ speed
        0093: 318@ = integer 318@ to_float
        chatmsg "Speed %f" 318@
        var
        319@ : Float
        318@ : Float
        end
        if and
        318@ > 0.000000
        318@ < 1115000000.000000
        then
        319@ = 318@
        318@ /= 1000.000000
        318@ += 319@
        04BA: set_car 317@ speed_to 318@
        chatmsg "Speed after %f" 318@
        end
        jump @check 
    end
Всё равно.
 

Kp0Nk

Известный
58
5
CLEO:
:000
wait 0
if and
12@ >= 0
Actor.Driving($PLAYER_ACTOR)
jf @000
jump @code

....

:code
....

Изменяюсь конечно ,но мне надо чтобы если выполнялось первое условие то он переходил на @NONAME_6 ,а если второе условие то @NONAME_26.if or тоже не работает,да и лагает сам клиент.Или это не возможно сделать в одном скрипте? Ну что я пробую сделать: у персонажа показывается НР в числах,когда появляеться броня,он показывает броню в числах,а когда садиться в машину показывается НР машины.
 

01EG

Известный
Проверенный
629
354
CLEO:
if 0AE3: 3@ = random_object_near_point 0@ 1@ 2@ in_radius 10.0 find_next 0
then
    gosub @operation
    while 0AE3: 3@ = random_object_near_point 0@ 1@ 2@ in_radius 10.0 find_next 1
        wait 0
        gosub @operation
    end
end

...

:operation
// ...
return
пиздец, не получается никак структизировать этот скрипт.

Изменяюсь конечно ,но мне надо чтобы если выполнялось первое условие то он переходил на @NONAME_6 ,а если второе условие то @NONAME_26.if or тоже не работает,да и лагает сам клиент.Или это не возможно сделать в одном скрипте? Ну что я пробую сделать: у персонажа показывается НР в числах,когда появляеться броня,он показывает броню в числах,а когда садиться в машину показывается НР машины.
Вся суть в установке прыжков и меток. Обратись по новой и скинь код полностью.Скажи, что ты хочешь и на какие метки сделать переходы. Я не понимаю просто вопроса, ты хочешь, чтоб прыгало на метку 6 с какого условия. Короч, скинь код.
 
Последнее редактирование модератором:

byebye

Участник
45
6
Вообщем только изучаю клео скриптинг, кое что понимаю, но недостаточно.. А необходимость написания своего скрипта появилась(потом выложу сюда :))
Такой вопрос:
С помощью такого опкода ввожу в чат сообщение, пример:
0AF9: samp say_msg "/tie "id""
Где "id" мне нужно вписать id ручками в игре, поэтому нужно чтобы чат остался открытым с уже введенной командой, а я лишь дописал ид.
Так вот, как сделать так, чтобы чат был открыт с этой командой, а не отправлялось сразу?
 

Zoxan_Twist

Новичок
126
29
Почему может не работать:
Код:
0C1D: 3@ = array 0@ element 0 el_size 1
0AD3: 1@v = format "%c" 3@
0C20: string_array 2@ element 0 size 1 = 1@v
В свою очередь как данный способ работает:
Код:
0C1D: 3@ = array 0@ element 0 el_size 1
0AD3: 1@v = format "G"
0C20: string_array 2@ element 0 size 1 = 1@v
Просто не записывает ничего и все.
Ставил вывод после считывания данных, считываются но не записываются
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,468
Сначала проверь, что хранится в 3@.
 

byebye

Участник
45
6
Такой код намутил почему не работает, подскажите? Т.е. навожу на игрока и даже текст не выводится..
Хотя в этом же скрипте сделал при нажатие alt+2 выводится тоже сообщение, потом в чате остается "/ceject " - работает, а команды связанные с выделением игрока в таргет + клавиша, далее выведение сообщ. в чат и команда - не работает.
CLEO:
{$CLEO .cs}

if not 0@ = SAMP.Base()
then 0A93: end_custom_thread
end

while not SAMP.Available()
    wait 100
end

while true
    wait 0
//tazer
if and
        0AD2: 1@ = player $PLAYER_CHAR targeted_actor
        0AB0:   key_pressed 90 // Z
    then
        0AF9: samp say_msg "/me достал шокер Vertigo2000"
        wait 1100
        0B2B: samp 0@ = get_player_id_by_actor_handle 1@
        0AF9: samp say_msg "/tazer %d" 0@
        wait 300
    end
Всего таких кусков кода вроде 4, ну с разными командами и выводом текста
И пара кусков с просто нажиманием 2-ух клавиш(без выделения в таргет и тд) и выводом текста, что как раз работает, а те 4 куска не хотят :)
 
Последнее редактирование: