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

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
https://www.blast.hk/wiki/tutorials:client_commands#Встречаемые_ошибки
 

hnnssy

Известный
Друг
2,684
2,768
В чем косяк? Почему игра виснет?
CLEO:
:boom
0B35: samp 17@ = get_last_command_params
if 0AD4: 18@ = scan_string 17@ format "%d" 19@
        then
           0B20: samp 20@ = actor_handle_by_samp_player_id 19@
           if 0B23: samp is_player_connected 19@
           if 056D:  actor 20@ defined
           then
           0AE2: 3@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 300.0 find_next 1 pass_wrecked 1
           0B2C: samp 0@ = get_vehicle_id_by_car_handle 3@
           00A0: store_actor 20@ position_to 21@ 22@ 23@
           23@ += 5
           actor.StorePos($PLAYER_ACTOR, 10@, 11@, 12@)
           0B30: samp send_enter_vehicle 0@ as_passenger false
           036A: put_actor $PLAYER_ACTOR in car 3@
           30@ = car.Health(3@)
           30@ -= 1000
           car.PutAt(3@, 21@, 22@, 23@)
           0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 10@ 11@ 12@
           0B31: samp send_exit_vehicle 0@
           0AF8: samp add_message_to_chat "[Boom by KYRLYK] ID ñëó÷àéíîãî òðàíñïîðòà: %d | ID èãðîêà: %d" color 0xFF0000 0@ 19@
          else 0AF8: samp add_message_to_chat "[Boom by KYRLYK] Èãðîê íå ïîäêëþ÷åí." color 0xFF0000
        end
        else 0AF8: samp add_message_to_chat "[Boom by KYRLYK] Èãðîê íå â çîíå ïðîðèñîâêè." color 0xFF0000
    end 
Samp.CmdRet()
end_thread
jump @Def
Условия 3, а end'а только 2.
 

AWRage

Активный
642
141
Так что, никто не знает опкод отвечающий за положение радара по X? Или где искать опкоды? Может через CheatEngine?
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
Так что, никто не знает опкод отвечающий за положение радара по X? Или где искать опкоды? Может через CheatEngine?
Го мы будем кидать тебя в разные адреса, а ты так и будешь игнорить инфу о том, что адрес позиции радара X совмещен с размером шрифта? Тебе мало инфы на забугорском форуме?
 

AWRage

Активный
642
141
Го мы будем кидать тебя в разные адреса, а ты так и будешь игнорить инфу о том, что адрес позиции радара X совмещен с размером шрифта? Тебе мало инфы на забугорском форуме?
Я думал, может можно было бы как-то заставить его отвечать только за радар.
 

AWRage

Активный
642
141
Есть опкод, альтернативный опкоду 0AB0: key_pressed [key], но который работает один раз? То есть, пока клавиша не будет отжата, действие/условие не будет исполняться.
 

DubStep_

Известный
292
52
Есть опкод, альтернативный опкоду 0AB0: key_pressed [key], но который работает один раз? То есть, пока клавиша не будет отжата, действие/условие не будет исполняться.
Если я правильно понял тебя, то ты ищешь это:

CLEO:
{$CLEO}
0000:

while true
    if
    key 112
    then
        call @pKey 1 112
        msg "Отжал" -1
    end
wait 0
end

:pKey
while key 0@
    wait 0
end
ret 0
 
  • Нравится
Реакции: AWRage

AWRage

Активный
642
141
Каким образом можно полностью "перезагрузить" скрипт, не выходя из игры?
 

Woofing Giraffe

Активный
402
49
Хотя нашёл код, но хз, сработает он или нет:
Код:
{$CLEO .cs}   
thread "REBOOT "   

:REBOOT   
wait 0      
if and   
0AB0:   key_pressed 17
0AB0:   key_pressed 49      
         Player.Defined(0)   
jf @REBOOT
0ABA: end_custom_thread_named 'TCLEO'   
wait 50   
0A92: create_custom_thread "TEST_CLEO.cs"   
wait 1000   
jump @REBOOT
 
  • Нравится
Реакции: Forus и AWRage

Forus

Известный
54
12
Как вызвать метку в скрипте единожды?
Мне нужно что бы при прописывании команды вызывалась метка noname_11 и после окончания этой метки что бы скрипт шёл дальше.
1 раз он так и сделает,но т.к это цикл то по окончании скрипта он снова вызовет метку noname_11 .


Код:
0B34: samp register_client_command "gbot" to_label @Noname_151

:Noname_11
код код код

:Noname_151
call @Noname_11
call @Noname_561 1 96
wait 2000
Actor.PutAt($PLAYER_ACTOR, 515.0471,885.3860,-68.7881) // âûõîä èç øàõòû
wait 8000
Actor.PutAt($PLAYER_ACTOR, 562.8932,870.6295,-43.4632) // ñåðåäèíà ìåæäó øàõòîé è ñäà÷åé
wait 2100
call @Noname_645 0 5@ 6@ 7@
call @Noname_352 3 5@ 6@ 7@
wait 1500
Actor.PutAt($PLAYER_ACTOR, 546.3371,880.2791,-41.1471) // âõîä â øàõòó
wait 4000
Actor.PutAt($PLAYER_ACTOR, 500.9056, 884.7898, -69.3568) // ðóäà
 

Vadim.dll

Известный
168
81
Берешь переменную например 1@ и делаешь такую штуку

Код:
1@ +=1
if 1@ == 1
jf другой лбл
метка твоя
 
  • Нравится
Реакции: Forus