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

Forus

Известный
54
12
Вопрос таков .
Хочу сделать такую хрень :
Прописываю команду /cmd и чел берёт пикап 603 ,ждёт 6100 и берёт пикап 602,дальше тпхается по заданным координатам с определёнными wait'ami и повторяет цикл заново если 0@ всё ещё равно true .
Подсказывали мне там что-то ранее.Мол нужно после отправки о взятии пикапа послать синхру на координаты пикапа,ибо возможно стоит проверка на дистанцию от педа до пикапа.
Поставил,всё сделал.В итоге ничего не работает.Более того,синхра делает такую вещь : тпхается в какую-то не понятную машину,нажимает alt(вылазит табличка которую можно открыть только альтом),нажимает Num6(вылазит текст который вылазит только в том случае,если нажал num6 в чужом авто),чинит авто и всё .
Это оочень странно и я прошу у вас помощи)
{$CLEO}
0000: NOP
repeat
wait 0
until SAMP.Available()

0B34: samp register_client_command "cmd" to_label @ON_OFF


repeat
wait 0
if
0@ == true
then
0BD1: samp send_picked_up_pickup 603
call @SendOnfootFakePosition 3 2797.10,-2427.05,13.63
wait 6100
0BD1: samp send_picked_up_pickup 602
call @SendOnfootFakePosition 3 2813.56,-2464.88,13.86
wait 6100
Actor.PutAt($Player_Actor,2794.9275,-2425.1653,13.6319) // ìåòêà 1
wait 170
Actor.PutAt($Player_Actor,2786.1528,-2424.9602,13.6341) // ìåòêà 2
wait 170
Actor.PutAt($Player_Actor,2786.2036,-2410.2434,13.6341) // ìåòêà 3
wait 170
Actor.PutAt($Player_Actor,2793.9121,-2410.2053,13.6322) // ìåòêà 4
wait 150
Actor.PutAt($Player_Actor,2805.6736,-2438.3528,13.6293) // Òï íà ñåðåäèíó
end
until false

:ON_OFF
if
0@ == false
then
0@ = true

else
0@ = false
end
SAMP.CmdRet()


:SendOnfootFakePosition
// call @SendOnfootFakePosition 3 XYZ 256.0 256.0 256.0
3@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
0BBA: samp store_player 3@ onfoot_data 4@
alloc 4@ 68
0C0D: struct 4@ offset 6 size 4 = 0@
0C0D: struct 4@ offset 10 size 4 = 1@
0C0D: struct 4@ offset 14 size 4 = 2@
0BC0: samp send_onfoot_data 4@
free 4@
0ab2: 0
 

SR_team

like pancake
BH Team
4,807
6,491
Бля чет не пойму где тут исправлять
почему ты не хочешь думать? Ты же сам написал эти опкоды, значит их предназначение тебе должно быть известно, в ином случае перечитай Wiki.
Вот он вообще не в тему там
 

Tray228

Новичок
218
27
почему ты не хочешь думать? Ты же сам написал эти опкоды, значит их предназначение тебе должно быть известно, в ином случае перечитай Wiki.

Вот он вообще не в тему там
Вроде сделал но теперь структура не срабатывает
CLEO:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP

:Noname_2
0001: wait 0 ms
0AFA:  is_samp_available
004D: jump_if_false @Noname_2

:Noname_15
0001: wait 0 ms
00D6: if and
056D: actor $PLAYER_ACTOR defined
00DF: actor $PLAYER_ACTOR driving
0AB0: key_pressed 70
0AB0: key_pressed 71
004D: jump_if_false @Noname_15
03C0: 0@ = actor $PLAYER_ACTOR car
0407: store_coords_to 1@ 2@ 3@ from_car 0@ with_offset -2.0 0.0 0.5
0657: car 0@ open_door 2
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 1@ 2@ 3@
01C3: remove_references_to_car 0@

0B2C: samp 20@ = get_vehicle_id_by_car_handle 0@
0AC8: 25@ = allocate_memory_size 67
0C0D: struct 25@ offset 0 size 2 = 20@
0C0D: struct 25@ offset 2 size 1 = 420
0C0D: struct 25@ offset 3 size 4 = 0.0
0C0D: struct 25@ offset 7 size 4 = 0.0
0C0D: struct 25@ offset 11 size 4 = 0.0
0C0D: struct 25@ offset 15 size 4 = 0.0
0C0D: struct 25@ offset 19 size 4 = 0.0
0C0D: struct 25@ offset 23 size 4 = 0.0
00AB: put_car 0@ at 1@ 2@ 3@
0C0D: struct 25@ offset 27 size 4 = 1@
0C0D: struct 25@ offset 31 size 4 = 2@
0C0D: struct 25@ offset 35 size 4 = 3@
0C0D: struct 25@ offset 39 size 4 = 0.0
0C0D: struct 25@ offset 43 size 4 = 0.0
0C0D: struct 25@ offset 47 size 4 = 0.0
0C0D: struct 25@ offset 51 size 4 = 0.0
0C0D: struct 25@ offset 55 size 4 = 0.0
0C0D: struct 25@ offset 59 size 4 = 0.0
0C0D: struct 25@ offset 63 size 4 = 1000.0
0BC6: samp send_unoccupied_data 25@
0AC9: free_allocated_memory 25@
0002: jump @Noname_15
 
Последнее редактирование модератором:

Art4D

Новичок
87
13
Пацаны, почему не робит? Циклы в команде запрещены или что?
CLEO:
{$CLEO .cs}

0B34: samp register_client_command "topl" to_label @Topl
WHILE true
wait 0
if and
Player.Defined($PLAYER_CHAR)
Actor.Driving($PLAYER_ACTOR)
10@=1
then
1@ = Actor.CurrentCar($PLAYER_ACTOR)
0918: set_car 1@ engine_operation 1
end
END

:Topl
if
10@=1
jf @Topl_1
0AF8: samp add_message_to_chat "[Toplivo] {FFFFFF}Бесконечное топливо выключено!" color 16579741
10@=0
samp.CmdRet()

:Topl_1
0AF8: samp add_message_to_chat "[Toplivo] {FFFFFF}Бесконечное топливо включено!" color 16579741
10@=1
samp.CmdRet()
 
Последнее редактирование:

hnnssy

Известный
Друг
2,684
2,768
Пацаны, почему не робит? Циклы в команде запрещены или что?
CLEO:
{$CLEO .cs}

0B34: samp register_client_command "topl" to_label @Topl
WHILE true
wait 0
if and
Player.Defined($PLAYER_CHAR)
Actor.Driving($PLAYER_ACTOR)
10@=1
then
1@ = Actor.CurrentCar($PLAYER_ACTOR)
0918: set_car 1@ engine_operation 1
end
END

:Topl
if
10@=1
jf @Topl_1
0AF8: samp add_message_to_chat "[Toplivo] {FFFFFF}Бесконечное топливо выключено!" color 16579741
10@=0
samp.CmdRet()

:Topl_1
0AF8: samp add_message_to_chat "[Toplivo] {FFFFFF}Бесконечное топливо включено!" color 16579741
10@=1
samp.CmdRet()
После {$CLEO} всунь wait 2000.
 

Forus

Известный
54
12
Пацаны, почему не робит? Циклы в команде запрещены или что?
CLEO:
0B34: samp register_client_command "topl" to_label @Topl
WHILE true
wait 0
if and
Player.Defined($PLAYER_CHAR)
Actor.Driving($PLAYER_ACTOR)
10@=1
then
1@ = Actor.CurrentCar($PLAYER_ACTOR)
0918: set_car 1@ engine_operation 1
end
END

:Topl
if
10@=1
jf @Topl_1
0AF8: samp add_message_to_chat "[Toplivo] {FFFFFF}Бесконечное топливо выключено!" color 16579741
10@=0
samp.CmdRet()

:Topl_1
0AF8: samp add_message_to_chat "[Toplivo] {FFFFFF}Бесконечное топливо включено!" color 16579741
10@=1
samp.CmdRet()

1 - где 0000: NOP ?
2 - не присвоил ты 10@ значение 1
3 - ну может не нужно,но как бэ не помешал бы Samp.Avaliable()
4 - на*уя 2 раза samp.cmdRet() ?
Вообщем на,подправил и протестил.Всё работает.Посмотри на свои ошибки .Трох переписал :Topl
CLEO:
{$CLEO .cs}
0000: NOP
:proverka
wait 0
SAMP.Available()
jf @proverka

0B34: samp register_client_command "topl" to_label @Topl
WHILE true
wait 0
if and
Player.Defined($PLAYER_CHAR)
Actor.Driving($PLAYER_ACTOR)
10@ == true
then
1@ = Actor.CurrentCar($PLAYER_ACTOR)
0918: set_car 1@ engine_operation 1
end
END


:Topl
if
10@ == false
then
10@ = true
0AF8: samp add_message_to_chat "[Toplivo] {FFFFFF}Áåñêîíå÷íîå òîïëèâî âêëþ÷åíî!" color 16579741
else
10@ = false
0AF8: samp add_message_to_chat "[Toplivo] {FFFFFF}Áåñêîíå÷íîå òîïëèâî âûêëþ÷åíî!" color 16579741
end
SAMP.CmdRet()
 
  • Нравится
Реакции: Art4D

Forus

Известный
54
12
up
Что с этим кодом не так?
CLEO:
{$CLEO}
0000: NOP
repeat
wait 0
until SAMP.Available()

0B34: samp register_client_command "cmd" to_label @ON_OFF


repeat
wait 0
    if
    0@ == true
    then
    0BD1: samp send_picked_up_pickup 603
    call @SendOnfootFakePosition 3 2797.10,-2427.05,13.63
    wait 6100
    0BD1: samp send_picked_up_pickup 602
    call @SendOnfootFakePosition 3 2813.56,-2464.88,13.86
    wait 6100
    Actor.PutAt($Player_Actor,2794.9275,-2425.1653,13.6319) // ìåòêà 1
    wait 170
    Actor.PutAt($Player_Actor,2786.1528,-2424.9602,13.6341) // ìåòêà 2
    wait 170
    Actor.PutAt($Player_Actor,2786.2036,-2410.2434,13.6341) // ìåòêà 3
    wait 170
    Actor.PutAt($Player_Actor,2793.9121,-2410.2053,13.6322) // ìåòêà 4
    wait 150
    Actor.PutAt($Player_Actor,2805.6736,-2438.3528,13.6293) // Òï íà ñåðåäèíó
    end
until false    

:ON_OFF
if
0@ == false
then
0@ = true

else
0@ = false
end
SAMP.CmdRet()      


:SendOnfootFakePosition
// call @SendOnfootFakePosition 3 XYZ 256.0 256.0 256.0
3@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
0BBA: samp store_player 3@ onfoot_data 4@
alloc 4@ 68
0C0D: struct 4@ offset 6 size 4 = 0@
0C0D: struct 4@ offset 10 size 4 = 1@
0C0D: struct 4@ offset 14 size 4 = 2@
0BC0: samp send_onfoot_data 4@
free 4@
0ab2: 0
 
Последнее редактирование модератором:

hnnssy

Известный
Друг
2,684
2,768
Неправильный вызов функции, точнее передача параметров.
CLEO:
call @SendOnfootFakePosition 3 2797.10 -2427.05 13.63
И сначала отправляешь синхру, потом рпц о поднятии пикапа.
 
Последнее редактирование модератором:

Forus

Известный
54
12
Неправильный вызов функции, точнее передача параметров.
CLEO:
call @SendOnfootFakePosition 3 2797.10 -2427.05 13.63
И сначала отправляешь синхру, потом рпц о поднятии пикапа.
Сор,но что-то я не понял.
И сначала отправляешь синхру, потом рпц о поднятии пикапа.
Сделал . А про неправильный вызов ф-ции так и не понял .
Можешь пж указать где и то не правильно?Ибо на словах я мало что пойму\:(.
Код:
call @SendOnfootFakePosition 3 2797.10,-2427.05,13.63
0BD1: samp send_picked_up_pickup 603
wait 6100
call @SendOnfootFakePosition 3 2813.56,-2464.88,13.86
0BD1: samp send_picked_up_pickup 602
wait 6100