[Помогите зделать CLEO]ТП по координатам

  • Автор темы deleted-user-54924
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.
D

deleted-user-54924

Гость
Автор темы
Здарсвуйте скриптеры ,вас приветствует полный ноль в клео програмирование.Начнём...
Суть в том что мне нужно клео,точнее Исходник телепорта по координатам,через команду(Будет 4 команды для ТП,то есть 4 точки телепорта)-/svpt /vmfpt /vvspt /back ( При вводе команды /back телепортировало обратно на точку перед тем как я написал команду) и что-бы работало в т.с то есть когда ты в т.с тебя тпехало с тачкой.Заранее спасибо добрым людям.А еще чуть незабыл,координаты вставлю сам) напиши на их месте "СВОИ КООРДИНАТЫ"
 
Последнее редактирование модератором:

Ta4ir

Известный
50
17
Вот функция, должна работать
CLEO:
:PutAt
if 00DF:   actor $PLAYER_ACTOR driving //Проверка в транспорте игрок или нет
     then
     00D9: 3@ = actor $PLAYER_ACTOR car //Если в транспорте, то получаем HANDLE этого транспорта
     0A97: 3@ = car 3@ struct //Из HANDLE получаем структуру транспорта
     else
     0A96: 3@ = actor $PLAYER_ACTOR struct //Если игрок не в транспорте, то получаем его структуру игрока
     end
000A: 3@ += 20 //Оффсет на координаты
0A8D: 3@ = read_memory 3@ size 4 virtual_protect 0
000A: 3@ += 48 //Смещение для координаты X
0A8C: write_memory 3@ size 4 value 0@ virtual_protect 0
000A: 3@ += 4 //Смещение для координаты Y
0A8C: write_memory 3@ size 4 value 1@ virtual_protect 0
000A: 3@ += 4 //Смещение для координаты Z
0A8C: write_memory 3@ size 4 value 2@ virtual_protect 0
ret 0
 
D

deleted-user-54924

Гость
Автор темы
Вот функция, должна работать
CLEO:
:PutAt
if 00DF:   actor $PLAYER_ACTOR driving //Проверка в транспорте игрок или нет
     then
     00D9: 3@ = actor $PLAYER_ACTOR car //Если в транспорте, то получаем HANDLE этого транспорта
     0A97: 3@ = car 3@ struct //Из HANDLE получаем структуру транспорта
     else
     0A96: 3@ = actor $PLAYER_ACTOR struct //Если игрок не в транспорте, то получаем его структуру игрока
     end
000A: 3@ += 20 //Оффсет на координаты
0A8D: 3@ = read_memory 3@ size 4 virtual_protect 0
000A: 3@ += 48 //Смещение для координаты X
0A8C: write_memory 3@ size 4 value 0@ virtual_protect 0
000A: 3@ += 4 //Смещение для координаты Y
0A8C: write_memory 3@ size 4 value 1@ virtual_protect 0
000A: 3@ += 4 //Смещение для координаты Z
0A8C: write_memory 3@ size 4 value 2@ virtual_protect 0
ret 0
Я не понял( можешь зделать как у меня в описании? Пиши сюда.Заранее спасибо
 

Ta4ir

Известный
50
17
Примерно так как то
CLEO:
{$CLEO .cs}

0B34: samp register_client_command "svpt" to_label @odin
0B34: samp register_client_command "vmfpt" to_label @dva
0B34: samp register_client_command "vvspt" to_label @tri
0B34: samp register_client_command "back" to_label @chetire

0BDE: pause_thread 0

:odin
0AB1: call_scm_func @PutAt 3 0.0 0.0 0.0
0B43: samp cmd_ret

:PutAt
if 00DF:   actor $PLAYER_ACTOR driving //Ïðîâåðêà â òðàíñïîðòå èãðîê èëè íåò
     then
     00D9: 3@ = actor $PLAYER_ACTOR car //Åñëè â òðàíñïîðòå, òî ïîëó÷àåì HANDLE ýòîãî òðàíñïîðòà
     0A97: 3@ = car 3@ struct //Èç HANDLE ïîëó÷àåì ñòðóêòóðó òðàíñïîðòà
     else
     0A96: 3@ = actor $PLAYER_ACTOR struct //Åñëè èãðîê íå â òðàíñïîðòå, òî ïîëó÷àåì åãî ñòðóêòóðó èãðîêà
     end
000A: 3@ += 20 //Îôôñåò íà êîîðäèíàòû
0A8D: 3@ = read_memory 3@ size 4 virtual_protect 0
000A: 3@ += 48 //Ñìåùåíèå äëÿ êîîðäèíàòû X
0A8C: write_memory 3@ size 4 value 0@ virtual_protect 0
000A: 3@ += 4 //Ñìåùåíèå äëÿ êîîðäèíàòû Y
0A8C: write_memory 3@ size 4 value 1@ virtual_protect 0
000A: 3@ += 4 //Ñìåùåíèå äëÿ êîîðäèíàòû Z
0A8C: write_memory 3@ size 4 value 2@ virtual_protect 0
ret 0
 
D

deleted-user-54924

Гость
Автор темы
Примерно так как то
CLEO:
{$CLEO .cs}

0B34: samp register_client_command "svpt" to_label @odin
0B34: samp register_client_command "vmfpt" to_label @dva
0B34: samp register_client_command "vvspt" to_label @tri
0B34: samp register_client_command "back" to_label @chetire

0BDE: pause_thread 0

:odin
0AB1: call_scm_func @PutAt 3 0.0 0.0 0.0
0B43: samp cmd_ret

:PutAt
if 00DF:   actor $PLAYER_ACTOR driving //Ïðîâåðêà â òðàíñïîðòå èãðîê èëè íåò
     then
     00D9: 3@ = actor $PLAYER_ACTOR car //Åñëè â òðàíñïîðòå, òî ïîëó÷àåì HANDLE ýòîãî òðàíñïîðòà
     0A97: 3@ = car 3@ struct //Èç HANDLE ïîëó÷àåì ñòðóêòóðó òðàíñïîðòà
     else
     0A96: 3@ = actor $PLAYER_ACTOR struct //Åñëè èãðîê íå â òðàíñïîðòå, òî ïîëó÷àåì åãî ñòðóêòóðó èãðîêà
     end
000A: 3@ += 20 //Îôôñåò íà êîîðäèíàòû
0A8D: 3@ = read_memory 3@ size 4 virtual_protect 0
000A: 3@ += 48 //Ñìåùåíèå äëÿ êîîðäèíàòû X
0A8C: write_memory 3@ size 4 value 0@ virtual_protect 0
000A: 3@ += 4 //Ñìåùåíèå äëÿ êîîðäèíàòû Y
0A8C: write_memory 3@ size 4 value 1@ virtual_protect 0
000A: 3@ += 4 //Ñìåùåíèå äëÿ êîîðäèíàòû Z
0A8C: write_memory 3@ size 4 value 2@ virtual_protect 0
ret 0
У меня пишет знаки вопросов после // и тему отредачил точнее
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,957
Зачем ему усложненный вариант кидаешь? Он же не понимает ничего.

CLEO:
{$CLEO}
0B34: samp register_client_command "CMD_A" to_label @CMD_A
0B34: samp register_client_command "CMD_B" to_label @CMD_B
0B34: samp register_client_command "CMD_C" to_label @CMD_C
0B34: samp register_client_command "CMD_D" to_label @CMD_D
0B34: samp register_client_command "CMD_Back" to_label @CMD_Back
0BDE: pause_thread 0

:CMD_A
00A0: store_actor $PLAYER_ACTOR position_to {X}0@ {Y}1@ {Z}2@
00A1: put_actor $PLAYER_ACTOR at {X}0.0 {Y}0.0 {Z}0.0
0B43: samp cmd_ret

:CMD_B
00A0: store_actor $PLAYER_ACTOR position_to {X}0@ {Y}1@ {Z}2@
00A1: put_actor $PLAYER_ACTOR at {X}0.0 {Y}0.0 {Z}0.0
0B43: samp cmd_ret

:CMD_C
00A0: store_actor $PLAYER_ACTOR position_to {X}0@ {Y}1@ {Z}2@
00A1: put_actor $PLAYER_ACTOR at {X}0.0 {Y}0.0 {Z}0.0
0B43: samp cmd_ret

:CMD_D
00A0: store_actor $PLAYER_ACTOR position_to {X}0@ {Y}1@ {Z}2@
00A1: put_actor $PLAYER_ACTOR at {X}0.0 {Y}0.0 {Z}0.0
0B43: samp cmd_ret

:CMD_Back
00A1: put_actor $PLAYER_ACTOR at {X}0@ {Y}1@ {Z}2@
0B43: samp cmd_ret
 
D

deleted-user-54924

Гость
Автор темы
Зачем ему усложненный вариант кидаешь? Он же не понимает ничего.

CLEO:
{$CLEO}
0B34: samp register_client_command "CMD_A" to_label @CMD_A
0B34: samp register_client_command "CMD_B" to_label @CMD_B
0B34: samp register_client_command "CMD_C" to_label @CMD_C
0B34: samp register_client_command "CMD_D" to_label @CMD_D
0B34: samp register_client_command "CMD_Back" to_label @CMD_Back
0BDE: pause_thread 0

:CMD_A
00A0: store_actor $PLAYER_ACTOR position_to {X}0@ {Y}1@ {Z}2@
00A1: put_actor $PLAYER_ACTOR at {X}0.0 {Y}0.0 {Z}0.0
0B43: samp cmd_ret

:CMD_B
00A0: store_actor $PLAYER_ACTOR position_to {X}0@ {Y}1@ {Z}2@
00A1: put_actor $PLAYER_ACTOR at {X}0.0 {Y}0.0 {Z}0.0
0B43: samp cmd_ret

:CMD_C
00A0: store_actor $PLAYER_ACTOR position_to {X}0@ {Y}1@ {Z}2@
00A1: put_actor $PLAYER_ACTOR at {X}0.0 {Y}0.0 {Z}0.0
0B43: samp cmd_ret

:CMD_D
00A0: store_actor $PLAYER_ACTOR position_to {X}0@ {Y}1@ {Z}2@
00A1: put_actor $PLAYER_ACTOR at {X}0.0 {Y}0.0 {Z}0.0
0B43: samp cmd_ret

:CMD_Back
00A1: put_actor $PLAYER_ACTOR at {X}0@ {Y}1@ {Z}2@
0B43: samp cmd_ret
Спасибо,только где взять координаты? /save? И какие из цифр координаьы?
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,957
Спасибо,только где взять координаты? /save? И какие из цифр координаьы?
Где угодно. Можно и через /save .

CQyj5G2.png
 
Статус
В этой теме нельзя размещать новые ответы.