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

user337567

Участник
91
10
Почему не списываются все координаты? Только X и Y, знаючто в коде есть ошибки, писал на несвежую голову.
Код:
:bhelp
0AF9: samp say_msg "/g Запрашиваю помощь вот координаты:"
04C4: store_coords_to 3@ 4@ 5@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
0AF9: samp say_msg "/g %f %f %f xyz" 3@ 4@ 5@ 
0B43:

while true
wait 0
0AC8: 1@ = allocate_memory_size 560
0B75: samp get_chat_string 99 text_to 1@ prefix_to 0 color_to 0 prefix_color_to 0
    if
    0C29: 28@ = stristr string1 1@ string2 "xyz"
    then
    0AD4: 29@ = scan_string 1@ format "%f %f %f"  5@ 6@ 7@
    018A: 30@ = create_checkpoint_at 5@ 6@ 7@
    0AF8: samp add_message_to_chat "Координаты отмечены на карте." color 8000000
    end
end
 

hnnssy

Известный
Друг
2,684
2,760
help, как превратить vecor3d в координаты
CLEO:
INCOMING_RPCS[RPC.SETRACECHECKPOINT]          = {'onSetRaceCheckpoint', {type = 'int8'}, {position = 'vector3d'}
просто по очереди читай данные
UINT8 type, float X, float Y, float Z, float nextposX, float nextposY, float nextposZ, float radius
 
  • Нравится
Реакции: loganhackerdff

loganhackerdff

Известный
868
519
@hnnssy помоги, как проверить находятся ли координаты в определённой зоне? (хочу сделать чтоб показывало в каком городе
чекпоинт). а то не хочется говнокодить и сощдавать актёра в позиции чекпоинта и проверять находится ли он в кубе
 
Последнее редактирование:

BlackBoomer

Известный
2
0
Как правильно работать с опкодом 083C: set_actor $PLAYER_ACTOR velocity_in_direction_XYZ ? Он работает относительно глобальных координат, либо по другому, но точно делает это не так, как мне нужно. Хочу, чтобы скорость задавалась относительно моего персонажа.
Пытался сделать так:
CLEO:
083D: get_actor $PLAYER_ACTOR velocity_in_direction_XYZ 1@ 2@ 3@
2@ += 5.5
083C: set_actor $PLAYER_ACTOR velocity_in_direction_XYZ 1@ 2@ 3@
Порывшись в интернете, так:
CLEO:
00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@
04C4: store_coords_to 4@ 5@ 6@ from_actor $PLAYER_ACTOR with_offset 0.0 7.0 5.0 // Отправляем немного в воздух и вперед
1@ = 4@ - 1@
2@ = 5@ - 2@
3@ = 6@ - 3@
1@ *= 1.5
2@ *= 1.5
3@ *= 5.0
083C: set_actor $PLAYER_ACTOR velocity_in_direction_XYZ 1@ 2@ 3@
В обоих случаях, он также, когда прохожу по глобальному Y, прыгает вперед, а как только отклоняюсь в сторону X то он прыгает наискосок к Y. Раздражает.
@hnnssy помоги, как проверить находятся ли координаты в определённой зоне? (хочу сделать чтоб показывало в каком городе
чекпоинт). а то не хочется говнокодить и сощдавать актёра в позиции чекпоинта и проверять находится ли он в кубе
Зайди в Sanny Builder. Нажми сочетание клавиш Ctrl + Alt + 2. Введи zone и тести опкоды от туда. Как я понял, там все привязано к территориям банд, большинство опкодов точно. Другой способ: по координатам в центре города создай сферу с радиусом всего города, проверяющую метку. Если такого опкода нет, то создай на месте метки что-то альтернативное, либо объект крошечный, либо что-то другое, но важно то, чтобы он был ориентиром для нахождения маркера, а ты искал бы не маркер, а этот ориентир.
 
Последнее редактирование:

hnnssy

Известный
Друг
2,684
2,760
@hnnssy помоги, как проверить находятся ли координаты в определённой зоне? (хочу сделать чтоб показывало в каком городе
чекпоинт). а то не хочется говнокодить и сощдавать актёра в позиции чекпоинта и проверять находится ли он в кубе
через банальное сравнение больше/меньше можно
карта от -3000.0 до 3000.0 по обеим осям, так и сравнивай
типа если Х нужных тебе координат < 0.0 (примерно), а Y < 1500.0, то это сан-фиерро
 
  • Нравится
Реакции: loganhackerdff

NoNameCoder

Известный
40
12
Как правильно юзать данный опкод: "0BC9: samp send_dialog_response dialog 12@ button 1 listitem 3 input "1337228""?. Проблема в том, если input "1337228" и любое другое число, то всё работает, а если будет input 5@ или же input "%d" 5@, то ничего не работает. Хелп.
 

chapo

чопа сребдс
Модератор
8,840
11,505
Как правильно юзать данный опкод: "0BC9: samp send_dialog_response dialog 12@ button 1 listitem 3 input "1337228""?. Проблема в том, если input "1337228" и любое другое число, то всё работает, а если будет input 5@ или же input "%d" 5@, то ничего не работает. Хелп.
https://blast.hk/wiki/opcodes:0bc9 может поможет :D
 

hnnssy

Известный
Друг
2,684
2,760
Как правильно юзать данный опкод: "0BC9: samp send_dialog_response dialog 12@ button 1 listitem 3 input "1337228""?. Проблема в том, если input "1337228" и любое другое число, то всё работает, а если будет input 5@ или же input "%d" 5@, то ничего не работает. Хелп.
он принимает только строку, если ты хочешь передавать туда число в переменной, то отформатируй через 0AD3, например:
CLEO:
0@ = 12345
// ..
0AC8: 1@ = allocate_memory_size 16 // выделение памяти под строку
0C11: memset destination 1@ value 0 size 16 // заполнение выделенной памяти нулями
0AD3: 1@ = format "%d" 0@ // форматирование строки
0BC9: samp send_dialog_response dialog 12@ button 1 listitem 3 input 1@
0AC9: free_allocated_memory 1@ // освобождение памяти
 

NoNameCoder

Известный
40
12
он принимает только строку, если ты хочешь передавать туда число в переменной, то отформатируй через 0AD3, например:
CLEO:
0@ = 12345
// ..
0AC8: 1@ = allocate_memory_size 16 // выделение памяти под строку
0C11: memset destination 1@ value 0 size 16 // заполнение выделенной памяти нулями
0AD3: 1@ = format "%d" 0@ // форматирование строки
0BC9: samp send_dialog_response dialog 12@ button 1 listitem 3 input 1@
0AC9: free_allocated_memory 1@ // освобождение памяти
Спасибо.
 

Hatiko

Известный
Проверенный
1,489
616
Имеется cleo скрипт, он весит 1 Кб, закинул в SB, скомпилировал, вес изменился на 16 Кб.(ничего не редактировал) При попытке зайти в игре, они крашится. В чём проблема? Почему вес скрипта так сильно изменяется?
 

hnnssy

Известный
Друг
2,684
2,760
Имеется cleo скрипт, он весит 1 Кб, закинул в SB, скомпилировал, вес изменился на 16 Кб.(ничего не редактировал) При попытке зайти в игре, они крашится. В чём проблема? Почему вес скрипта так сильно изменяется?
сервис - настройки - общие - снять галочку с "Добавлять доп. информацию в SCM"
 
  • Нравится
Реакции: Hatiko

Snoopcheg

Известный
151
82
Хай всем! Вот появилось желание написать один скрипт, но столкнулся с одной проблемкой. Регистрирую команду, но эта же команда есть на сервере и мне кажется из-за этого команда не работает для скрипта. Возможно ли сделать так чтобы команда работала и для скрипта и на сервере?
 

astap_

Известный
Всефорумный модератор
626
601
Хай всем! Вот появилось желание написать один скрипт, но столкнулся с одной проблемкой. Регистрирую команду, но эта же команда есть на сервере и мне кажется из-за этого команда не работает для скрипта.
Если команда зарегистрирована в скрипте, на сервер она не отправляется. Проблема в другом.
Возможно ли сделать так чтобы команда работала и для скрипта и на сервере?
Просто в теле команды отправляй команду на сервер.
CLEO:
say "/command"
 

Snoopcheg

Известный
151
82
Если команда зарегистрирована в скрипте, на сервер она не отправляется. Проблема в другом.

Просто в теле команды отправляй команду на сервер.
CLEO:
say "/command"
Ляя, может я туплю. Но допустим есть команда /pay и я ещё её регистрирую в скрипте, только вот на сервере команда работает, а в скрипте нет.