хуесос)
Известный
- 263
- 64
как бежать по определенным координатам? без скольжения и тд.
(короче для бегающего бота типо)
как бежать по определенным координатам? без скольжения и тд.
(короче для бегающего бота типо)
В клео нет нескользящих опкодов. Фиксится это OpcodeFixer'ом. Но для этого должен быть установлен этот самый опкод фиксер, что не очень удобно.как бежать по определенным координатам? без скольжения и тд.
(короче для бегающего бота типо)
:CharGoto
repeat
wait 0
00A0: store_actor $PLAYER_ACTOR position_to 4@ 5@ 2@
0063: 0@ -= 4@
0063: 1@ -= 5@
0604: get_Z_angle_for_point 0@ 1@ store_to 2@
005B: 0@ += 4@
005B: 1@ += 5@
2@ *= 0.01745
0A96: 4@ = actor $PLAYER_ACTOR struct
4@ += 0x558
0A8C: write_memory 4@ size 4 value 2@ virtual_protect 0
0373: set_camera_directly_behind_player
if
3@ == false
then
4@ = 0xB73458
4@ += 0x20
0A8C: write_memory 4@ size 1 value 0 virtual_protect 0
4@ = 0xB73458
4@ += 0x3
0A8C: write_memory 4@ size 1 value 255 virtual_protect 0
else
4@ = 0xB73458
4@ += 0x20
0A8C: write_memory 4@ size 1 value 255 virtual_protect 0
4@ = 0xB73458
4@ += 0x3
0A8C: write_memory 4@ size 1 value 255 virtual_protect 0
end
until 00ED: actor $PLAYER_ACTOR 0 near_point 0@ 1@ radius 0.4 0.4 on_foot
0AB2: ret 0
спасибо конечно, но еще хотел спросить: как правильно использовать его? пробовал много вариантов, так как я недавно в клео,В клео нет нескользящих опкодов. Фиксится это OpcodeFixer'ом. Но для этого должен быть установлен этот самый опкод фиксер, что не очень удобно.
Удобный вариант предложил gcode.
CLEO::CharGoto repeat wait 0 00A0: store_actor $PLAYER_ACTOR position_to 4@ 5@ 2@ 0063: 0@ -= 4@ 0063: 1@ -= 5@ 0604: get_Z_angle_for_point 0@ 1@ store_to 2@ 005B: 0@ += 4@ 005B: 1@ += 5@ 2@ *= 0.01745 0A96: 4@ = actor $PLAYER_ACTOR struct 4@ += 0x558 0A8C: write_memory 4@ size 4 value 2@ virtual_protect 0 0373: set_camera_directly_behind_player if 3@ == false then 4@ = 0xB73458 4@ += 0x20 0A8C: write_memory 4@ size 1 value 0 virtual_protect 0 4@ = 0xB73458 4@ += 0x3 0A8C: write_memory 4@ size 1 value 255 virtual_protect 0 else 4@ = 0xB73458 4@ += 0x20 0A8C: write_memory 4@ size 1 value 255 virtual_protect 0 4@ = 0xB73458 4@ += 0x3 0A8C: write_memory 4@ size 1 value 255 virtual_protect 0 end until 00ED: actor $PLAYER_ACTOR 0 near_point 0@ 1@ radius 0.4 0.4 on_foot 0AB2: ret 0
{$CLEO .cs}
0000:
repeat
wait 111
until samp.Available()
0B34: samp register_client_command "mycmd" to_label @1
repeat
wait 0
if 13@ == true
then
// вот сюда
until false
:1
0B12: 13@ = 13@ XOR 1
if 13@ == true
then
0AF8: samp add_message_to_chat "1" color -1
else
0AF8: samp add_message_to_chat "0" color -1
end
samp.CmdRet()
:CharGoto
repeat
wait 0
00A0: store_actor $PLAYER_ACTOR position_to 4@ 5@ 2@
0063: 0@ -= 4@
0063: 1@ -= 5@
0604: get_Z_angle_for_point 0@ 1@ store_to 2@
005B: 0@ += 4@
005B: 1@ += 5@
2@ *= 0.01745
0A96: 4@ = actor $PLAYER_ACTOR struct
4@ += 0x558
0A8C: write_memory 4@ size 4 value 2@ virtual_protect 0
0373: set_camera_directly_behind_player
if
3@ == false
then
4@ = 0xB73458
4@ += 0x20
0A8C: write_memory 4@ size 1 value 0 virtual_protect 0
4@ = 0xB73458
4@ += 0x3
0A8C: write_memory 4@ size 1 value 255 virtual_protect 0
else
4@ = 0xB73458
4@ += 0x20
0A8C: write_memory 4@ size 1 value 255 virtual_protect 0
4@ = 0xB73458
4@ += 0x3
0A8C: write_memory 4@ size 1 value 255 virtual_protect 0
end
until 00ED: actor $PLAYER_ACTOR 0 near_point 0@ 1@ radius 0.4 0.4 on_foot
0AB2: ret 0
спасибо конечно, но еще хотел спросить: как правильно использовать его? пробовал много вариантов, так как я недавно в клео,
то логично что у меня ничего не получилось. т.е получилось, но его нельзя было остановить, и он бегал туда сюда.
вообщем, нужно чтобы он бежал на одни координаты, как прибежит , то на другие, тд. и как переменная 13 будет false, то он должен будет остановиться.
заранее спасибо.
CLEO:{$CLEO .cs} 0000: repeat wait 111 until samp.Available() 0B34: samp register_client_command "mycmd" to_label @1 repeat wait 0 if 13@ == true then // вот сюда until false :1 0B12: 13@ = 13@ XOR 1 if 13@ == true then 0AF8: samp add_message_to_chat "1" color -1 else 0AF8: samp add_message_to_chat "0" color -1 end samp.CmdRet() :CharGoto repeat wait 0 00A0: store_actor $PLAYER_ACTOR position_to 4@ 5@ 2@ 0063: 0@ -= 4@ 0063: 1@ -= 5@ 0604: get_Z_angle_for_point 0@ 1@ store_to 2@ 005B: 0@ += 4@ 005B: 1@ += 5@ 2@ *= 0.01745 0A96: 4@ = actor $PLAYER_ACTOR struct 4@ += 0x558 0A8C: write_memory 4@ size 4 value 2@ virtual_protect 0 0373: set_camera_directly_behind_player if 3@ == false then 4@ = 0xB73458 4@ += 0x20 0A8C: write_memory 4@ size 1 value 0 virtual_protect 0 4@ = 0xB73458 4@ += 0x3 0A8C: write_memory 4@ size 1 value 255 virtual_protect 0 else 4@ = 0xB73458 4@ += 0x20 0A8C: write_memory 4@ size 1 value 255 virtual_protect 0 4@ = 0xB73458 4@ += 0x3 0A8C: write_memory 4@ size 1 value 255 virtual_protect 0 end until 00ED: actor $PLAYER_ACTOR 0 near_point 0@ 1@ radius 0.4 0.4 on_foot 0AB2: ret 0
CALL @CharGoto x y z true/false // тру - спринтует, фалс - пешком.
{$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
Нужна помощь не могу предумать как зделать такую херню:
Создался маркер и когда он наехал на него появился следущий маркер, Создать типо трассу по маркерам(Гоночные чекпоинты)
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@ // Если наехали, перемещаем чекпоинт в другое место.
А почему бы сразу в синхре не отправить о том, что ты нажал ЛКМ?Как можно записать свои координаты потом телепортироваться на определённые координаты и обратно?
Пробовал с этим кодом отправить синхру на спавн где зз, но я отправляю синхру и бью рукой по идее меня должо нагнуть но нет :(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
зачем ты делаешь отправку синхры на свою же позицию?call @OnFootData 3 1@ 2@ 3@
Не мой код код пацана вышезачем ты делаешь отправку синхры на свою же позицию?
Там я просто проверяю есть ЗЗ или нет, там просто скрипт для нубо рп который нагинает весь сервер если ты в зз активируешь скриптА почему бы сразу в синхре не отправить о том, что ты нажал ЛКМ?
ну так проще будет сделать, как и сказал @Musaigen.Там я просто проверяю есть ЗЗ или нет, там просто скрипт для нубо рп который нагинает весь сервер если ты в зз активируешь скрипт
0C0D: struct 4@ offset 4 size 2 = 4 // отправляем серверу пакет о том, что нажата ЛКМ
Пля, суть не в том что бы я нажал ЛКМ, а суть в том что бы я был в зз находясь не в зз, xD it is logic,ну так проще будет сделать, как и сказал @Musaigen.
CLEO:0C0D: struct 4@ offset 4 size 2 = 4 // отправляем серверу пакет о том, что нажата ЛКМ
там просто скрипт для нубо рп который нагинает весь сервер если ты в зз активируешь скрипт
Так ты определись, ты хочешь чтобы перс бил рукой, и по твоим словам весь сервак нагинался раком, или просто хочешь синхру на спавн?Пля, суть не в том что бы я нажал ЛКМ, а суть в том что бы я был в зз находясь не в зз, xD it is logic,
Cинхру на спавн, ( сори что заговорил про руку просто сбил с толку )Так ты определись, ты хочешь чтобы перс бил рукой, и по твоим словам весь сервак нагинался раком, или просто хочешь синхру на спавн?