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

hnnssy

Известный
Друг
2,684
2,762
Как можно записать свои координаты потом телепортироваться на определённые координаты и обратно?
CLEO:
{$CLEO .cs}
0000: NOP
repeat
wait 100
until 0AFA:  is_samp_available
0B34: samp register_client_command "123" to_label @cmd_mycmd

repeat
wait 0
    if 0@ == true
    then
    00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@
    call @OnFootData 3 1281.68 -1834.37 13.38
    wait 10000
    call @OnFootData 3 1@ 2@ 3@
    end
until false

:OnFootData
0AC8: 4@ = allocate_memory_size 68
0B2B: samp 5@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0BBA: samp store_player 5@ onfoot_data 4@
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@
0AC9: free_allocated_memory 4@
0AB2: ret 0

:cmd_mycmd
0B12: 0@ = 0@ XOR 1
if 0@ == true
then
chatmsg "on" 0xFF0000 {red}
else
chatmsg "off" 0xFF0000
end
0B43: samp cmd_ret
Пробовал с этим кодом отправить синхру на спавн где зз, но я отправляю синхру и бью рукой по идее меня должо нагнуть но нет :(
синхра отправляется один раз, а не на 10 секунд как думаешь ты
 
  • Нравится
Реакции: клешь рояль

D[a]Ni

Участник
63
3
Как можно записать свои координаты потом телепортироваться на определённые координаты и обратно?
CLEO:
{$CLEO .cs}
0000: NOP
repeat
wait 100
until 0AFA:  is_samp_available
0B34: samp register_client_command "123" to_label @cmd_mycmd

repeat
wait 0
    if 0@ == true
    then
    00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@
    call @OnFootData 3 1281.68 -1834.37 13.38
    wait 10000
    call @OnFootData 3 1@ 2@ 3@
    end
until false

:OnFootData
0AC8: 4@ = allocate_memory_size 68
0B2B: samp 5@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0BBA: samp store_player 5@ onfoot_data 4@
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@
0AC9: free_allocated_memory 4@
0AB2: ret 0

:cmd_mycmd
0B12: 0@ = 0@ XOR 1
if 0@ == true
then
chatmsg "on" 0xFF0000 {red}
else
chatmsg "off" 0xFF0000
end
0B43: samp cmd_ret
Пробовал с этим кодом отправить синхру на спавн где зз, но я отправляю синхру и бью рукой по идее меня должо нагнуть но нет :(


ты имеешь ввиду опкод сохранение кординат? То за юзни это actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@)
CLEO:
0107: 4@ = create_object 0@ at 1@ 2@ 3@ // создаём чекпоинт. ИД модели 19945.

00EE:   actor $PLAYER_ACTOR sphere 0 near_point 1@ 2@ radius 10.0 10.0 in_car // Проверяем, наехали ли мы на чекпоинт.

01BC: put_object 4@ at 5@ 6@ 7@ // Если наехали, перемещаем чекпоинт в другое место.
Пасиба, но вопрос по этому опкоду
00EE: actor $PLAYER_ACTOR sphere 0 near_point 1@ 2@ radius 10.0 10.0 in_car // Проверяем, наехали ли мы на чекпоинт.

что за число после sphere и что за переменные 1@ 2@ и почему радиус в двух параметрах?
 

astap_

Известный
Всефорумный модератор
626
601
ты имеешь ввиду опкод сохранение кординат? То за юзни это actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@)

Пасиба, но вопрос по этому опкоду
00EE: actor $PLAYER_ACTOR sphere 0 near_point 1@ 2@ radius 10.0 10.0 in_car // Проверяем, наехали ли мы на чекпоинт.

что за число после sphere и что за переменные 1@ 2@ и почему радиус в двух параметрах?
1 - видимая сфера, 0 - невидимая. Радиус в двух параметрах, потому что высота не учитывается
 

D[a]Ni

Участник
63
3
1 - видимая сфера, 0 - невидимая. Радиус в двух параметрах, потому что высота не учитывается
маркер появился но он стоит на месте не переноситься в другую точку
CLEO:
{$CLEO}
0000:


//0B34: samp register_client_command "dhelp" to_label @dhelp
0B34: samp register_client_command "race1" to_label @race1
//0B34: samp register_client_command "race2" to_label @race2
//0B34: samp register_client_command "race3" to_label @race3
//0B34: samp register_client_command "race4" to_label @race4
//0B34: samp register_client_command "race5" to_label @race5
//0B34: samp register_client_command "race6" to_label @race6
//0B34: samp register_client_command "race7" to_label @race7
//0B34: samp register_client_command "race8" to_label @race8
//0B34: samp register_client_command "race9" to_label @race9
//0B34: samp register_client_command "race10" to_label @race10
//0B34: samp register_client_command "top" to_label @race10

:car
wait 0
0449: actor $PLAYER_ACTOR in_a_car
jf @car
03C0: 0@ = actor $PLAYER_ACTOR car
0ADB: 1@ = car_model 0@ name
0AF8: samp add_message_to_chat "{FF0000}[Drift-Race] {00FF7F} Âû ñåëè â ìàøèíó %d. Åñëè õîòèòå âûáðàòü äðèôò òðàññó ââåäèòå /dhelp" color 0 1@



:oncar
wait 0
8449: actor $PLAYER_ACTOR in_a_car
jf @oncar
0AF8: samp add_message_to_chat "{FF0000}[Drift-Race] {00FF7F} Âû ïîêèíóëè ìàøèíó" color 0
jump @car

:race1
0AF8: samp add_message_to_chat "{FF0000}[Drift-Race] {00FF7F} Äëÿ ñòàðòà âñòàíüòå íà ìàðêåð" color 0
0C6A: 20@ = create_custom_thread_at_label @1dr1
0107: 7@ = create_object 19945 at -303.088 1513.12 75.3594 // ñîçäà¸ì ÷åêïîèíò. ÈÄ ìîäåëè 19945.
0B43: samp cmd_ret


:1dr1
wait 0
if
00EE:   actor $PLAYER_ACTOR sphere 0 near_point -303.088 1513.12 radius 10.0 10.0 in_car // Ïðîâåðÿåì, íàåõàëè ëè ìû íà ÷åêïîèíò.
jf @1dr1
01BC: put_object 7@ at 305.013 1396.81 71.9662 // Åñëè íàåõàëè, ïåðåìåùàåì ÷åêïîèíò â äðóãîå ìåñòî.


:1dr2
wait 0
if
00EE:   actor $PLAYER_ACTOR sphere 0 near_point 305.013 1396.81 radius 5.0 5.0 in_car // Ïðîâåðÿåì, íàåõàëè ëè ìû íà ÷åêïîèíò.
jf @1dr2
01BC: put_object 7@ at -303.088 1513.12 75.3594  // Åñëè íàåõàëè, ïåðåìåùàåì ÷åêïîèíò â äðóãîå ìåñòî.
jump @1dr1
 

Skelerll

Известный
154
8
Как можно записать свои координаты потом телепортироваться на определённые координаты и обратно?
CLEO:
{$CLEO .cs}
0000: NOP
repeat
wait 100
until 0AFA:  is_samp_available
0B34: samp register_client_command "123" to_label @cmd_mycmd

repeat
wait 0
    if 0@ == true
    then
    00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@
    call @OnFootData 3 1281.68 -1834.37 13.38
    wait 10000
    call @OnFootData 3 1@ 2@ 3@
    end
until false

:OnFootData
0AC8: 4@ = allocate_memory_size 68
0B2B: samp 5@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0BBA: samp store_player 5@ onfoot_data 4@
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@
0AC9: free_allocated_memory 4@
0AB2: ret 0

:cmd_mycmd
0B12: 0@ = 0@ XOR 1
if 0@ == true
then
chatmsg "on" 0xFF0000 {red}
else
chatmsg "off" 0xFF0000
end
0B43: samp cmd_ret
Пробовал с этим кодом отправить синхру на спавн где зз, но я отправляю синхру и бью рукой по идее меня должо нагнуть но нет :(
Код:
Actor.StorePos($Player_Actor, 1@ 2@ 3@) // Копируешь свою позицию

Actor.PutAt($Player_Actor, 1@ 2@ 3@) // ТП обратно (я думаю с киком)
 

Skelerll

Известный
154
8
Внимательней смотри, я ему уже отвечал :sneaky:
Слууушай, а ты не знаешь, как сделать так: Как изменить скорость анимки, чтобы она только у меня была, допустим Х5, а у других нормально? Проще говроря, как сделать ВИЗУАЛЬНОЕ ускорение анимации.
 

astap_

Известный
Всефорумный модератор
626
601
маркер появился но он стоит на месте не переноситься в другую точку
CLEO:
{$CLEO}
0000:


//0B34: samp register_client_command "dhelp" to_label @dhelp
0B34: samp register_client_command "race1" to_label @race1
//0B34: samp register_client_command "race2" to_label @race2
//0B34: samp register_client_command "race3" to_label @race3
//0B34: samp register_client_command "race4" to_label @race4
//0B34: samp register_client_command "race5" to_label @race5
//0B34: samp register_client_command "race6" to_label @race6
//0B34: samp register_client_command "race7" to_label @race7
//0B34: samp register_client_command "race8" to_label @race8
//0B34: samp register_client_command "race9" to_label @race9
//0B34: samp register_client_command "race10" to_label @race10
//0B34: samp register_client_command "top" to_label @race10

:car
wait 0
0449: actor $PLAYER_ACTOR in_a_car
jf @car
03C0: 0@ = actor $PLAYER_ACTOR car
0ADB: 1@ = car_model 0@ name
0AF8: samp add_message_to_chat "{FF0000}[Drift-Race] {00FF7F} Âû ñåëè â ìàøèíó %d. Åñëè õîòèòå âûáðàòü äðèôò òðàññó ââåäèòå /dhelp" color 0 1@



:oncar
wait 0
8449: actor $PLAYER_ACTOR in_a_car
jf @oncar
0AF8: samp add_message_to_chat "{FF0000}[Drift-Race] {00FF7F} Âû ïîêèíóëè ìàøèíó" color 0
jump @car

:race1
0AF8: samp add_message_to_chat "{FF0000}[Drift-Race] {00FF7F} Äëÿ ñòàðòà âñòàíüòå íà ìàðêåð" color 0
0C6A: 20@ = create_custom_thread_at_label @1dr1
0107: 7@ = create_object 19945 at -303.088 1513.12 75.3594 // ñîçäà¸ì ÷åêïîèíò. ÈÄ ìîäåëè 19945.
0B43: samp cmd_ret


:1dr1
wait 0
if
00EE:   actor $PLAYER_ACTOR sphere 0 near_point -303.088 1513.12 radius 10.0 10.0 in_car // Ïðîâåðÿåì, íàåõàëè ëè ìû íà ÷åêïîèíò.
jf @1dr1
01BC: put_object 7@ at 305.013 1396.81 71.9662 // Åñëè íàåõàëè, ïåðåìåùàåì ÷åêïîèíò â äðóãîå ìåñòî.


:1dr2
wait 0
if
00EE:   actor $PLAYER_ACTOR sphere 0 near_point 305.013 1396.81 radius 5.0 5.0 in_car // Ïðîâåðÿåì, íàåõàëè ëè ìû íà ÷åêïîèíò.
jf @1dr2
01BC: put_object 7@ at -303.088 1513.12 75.3594  // Åñëè íàåõàëè, ïåðåìåùàåì ÷åêïîèíò â äðóãîå ìåñòî.
jump @1dr1
Проверь, срабатывает ли условие. Если да, значит ищи замену опкоду 01BC
 

клешь рояль

Известный
1,255
550
Я тупенький, опять помогите пожалуйста. При чит коде "test" координаты записываются, но когда пишу команду "mycmd" то меня крашит help me
CLEO:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0B34: samp register_client_command "mycmd" to_label @Noname_103

:Noname_16
wait 0
   SAMP.Available
jf @Noname_16
if and
0ADC:   test_cheat "test"
   SAMP.IsLocalPlayerSpawned
jf @Noname_16
alloc 1@ 68
alloc 2@ 68
alloc 3@ 68
Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
chatmsg "take" -1
goto @Noname_16

:Noname_103
Actor.PutAt($PLAYER_ACTOR, 1@, 2@, 3@)
free 1@
free 2@
free 3@
goto @Noname_16
 

Skelerll

Известный
154
8
Я тупенький, опять помогите пожалуйста. При чит коде "test" координаты записываются, но когда пишу команду "mycmd" то меня крашит help me
CLEO:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0B34: samp register_client_command "mycmd" to_label @Noname_103

:Noname_16
wait 0
   SAMP.Available
jf @Noname_16
if and
0ADC:   test_cheat "test"
   SAMP.IsLocalPlayerSpawned
jf @Noname_16
alloc 1@ 68
alloc 2@ 68
alloc 3@ 68
Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
chatmsg "take" -1
goto @Noname_16

:Noname_103
Actor.PutAt($PLAYER_ACTOR, 1@, 2@, 3@)
free 1@
free 2@
free 3@
goto @Noname_16
Не пиши на метках, будет понятнее.
Ответ на твой вопрос: возможно, ты не указал цмд рет
0B43: samp cmd_ret
в конце напиши
и убери goto @Noname_16 в конце
 

D[a]Ni

Участник
63
3
Проверь, срабатывает ли условие. Если да, значит ищи замену опкоду 01BC
Я решил проблему я заменил опкод проверки на 0100: actor $PLAYER_ACTOR in_sphere -305.013 1396.81 71.9662 radius 5.0 5.0 5.0 sphere 1 in_car // Проверяем, наехали ли мы на чекпоинт.
 

Skelerll

Известный
154
8
Крашит всё равно
CLEO:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0B34: samp register_client_command "mycmd" to_label @Noname_103

:Noname_16
wait 0
   SAMP.Available
jf @Noname_16
if and
0ADC:   test_cheat "test"
   SAMP.IsLocalPlayerSpawned
jf @Noname_16
alloc 1@ 68
alloc 2@ 68
alloc 3@ 68
Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
chatmsg "take" -1
Попробуй, у меня не крашит
goto @Noname_16

:Noname_103
Actor.PutAt($PLAYER_ACTOR, 1@, 2@, 3@)
free 1@
free 2@
free 3@
0B43: samp cmd_ret
 
  • Нравится
Реакции: клешь рояль

клешь рояль

Известный
1,255
550
CLEO:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0B34: samp register_client_command "mycmd" to_label @Noname_103

:Noname_16
wait 0
   SAMP.Available
jf @Noname_16
if and
0ADC:   test_cheat "test"
   SAMP.IsLocalPlayerSpawned
jf @Noname_16
alloc 1@ 68
alloc 2@ 68
alloc 3@ 68
Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
chatmsg "take" -1
Попробуй, у меня не крашит
goto @Noname_16

:Noname_103
Actor.PutAt($PLAYER_ACTOR, 1@, 2@, 3@)
free 1@
free 2@
free 3@
0B43: samp cmd_ret
Да ты `баный волшебник, спасибо.