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

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,462
Никак не могу сделать функцию поиска чекпоинта, пожалуйста, помогите :( :
Код:
:SearchCP
// 0AB1: @SearchCP 1 0@ to 1@ 2@ 3@ 4@ // 0@ = 1
0085: 5@ = 0@
5@ *= 56
5@ += 0xC7F158
0A8E: 6@ = 5@ + 4
0A8D: 7@ = read_memory 6@ size 4 virtual_protect 0
0AF8: samp add_message_to_chat "0@ = %d, 5@ = %d, 7@ = %d, 6@ = %d" color 0xFF61BB 0@ 5@ 7@ 6@ // Debug
 
if
    7@ > 0
then
    0085: 5@ = 0@
    5@ *= 56
    5@ += 0xC7F158
         
    0A8E: 6@ = 5@ + 16
    0A8D: 1@ = read_memory 6@ size 4 virtual_protect 0 // X
     
    0A8E: 6@ = 5@ + 20
    0A8D: 2@ = read_memory 6@ size 4 virtual_protect 0 // Y
   
    0A8E: 6@ = 5@ + 24
    0A8D: 3@ = read_memory 6@ size 4 virtual_protect 0 // Z
 
    0A8D: 4@ = read_memory 5@ size 1 virtual_protect 0 // Type
 
    0AF8: samp add_message_to_chat "X: %.2f , Y: %.2f , Z: %.2f. Type: %d" color 0xFF61BB 1@ 2@ 3@ 4@ // Debug
end
0AB2: ret 4 1@ 2@ 3@ 4@

Получает только тип чекпоинта и то, не знаю... каким образом.
 
  • Нравится
Реакции: spiceman

spiceman

GOWNIK <3
104
35
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Никак не могу сделать функцию поиска чекпоинта, пожалуйста, помогите :( :
Код:
:SearchCP
// 0AB1: @SearchCP 1 0@ to 1@ 2@ 3@ 4@ // 0@ = 1
0085: 5@ = 0@
5@ *= 56
5@ += 0xC7F158
0A8E: 6@ = 5@ + 4
0A8D: 7@ = read_memory 6@ size 4 virtual_protect 0
0AF8: samp add_message_to_chat "0@ = %d, 5@ = %d, 7@ = %d, 6@ = %d" color 0xFF61BB 0@ 5@ 7@ 6@ // Debug
 
if
    7@ > 0
then
    0085: 5@ = 0@
    5@ *= 56
    5@ += 0xC7F158
       
    0A8E: 6@ = 5@ + 16
    0A8D: 1@ = read_memory 6@ size 4 virtual_protect 0 // X
   
    0A8E: 6@ = 5@ + 20
    0A8D: 2@ = read_memory 6@ size 4 virtual_protect 0 // Y
 
    0A8E: 6@ = 5@ + 24
    0A8D: 3@ = read_memory 6@ size 4 virtual_protect 0 // Z
 
    0A8D: 4@ = read_memory 5@ size 1 virtual_protect 0 // Type
 
    0AF8: samp add_message_to_chat "X: %.2f , Y: %.2f , Z: %.2f. Type: %d" color 0xFF61BB 1@ 2@ 3@ 4@ // Debug
end
0AB2: ret 4 1@ 2@ 3@ 4@

Получает только тип чекпоинта и то, не знаю... каким образом.

Попробуй не умножать на 56. Смотрел старый свой скрипт, там без умножения.
 
  • Нравится
Реакции: itsLegend

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,462
Попробуй не умножать на 56. Смотрел старый свой скрипт, там без умножения.
Да как не умножать то...
Если размер одного элемента равен как раз 56?

GtaModding написал(а):
Гоночные чекпоинты
0xC7F158 - Начало блока чекпоинтов. Количество элементов - 32. Размер одного элемента - 56 байт.
  • +0 = [byte] Тип
    • 0 - Цилиндр со стрелкой
    • 1 - Цилиндр с финальным флажком
    • 2 - Цилиндр
    • 3 - Кольцо
    • 4 - Кольцо
    • 5 - Кольцо
    • 6 - Кольцо
    • 7 - Кольцо
    • 8 - Кольцо
  • +4 = [dword] SCM-хендл
  • +8 = [byte] R
  • +9 = [byte] G
  • +10 = [byte] B
  • +11 = [byte] A
  • +16 = [float] Позиция X
  • +20 = [float] Позиция Y
  • +24 = [float] Позиция Z
  • +28 = [float] Направление X
  • +32 = [float] Направление Y
  • +36 = [float] Направление Z
  • +44 = [float] Размер

UPD: да и не получается :(

UPD2: Хотя нет, получилось... только в цикле. И без функции... хм...
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,462
Как получить цвет строки из чата?
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,462
Ну можно собейтом,нажимаешь F7 пока не будет собейтовский,а потом в чат логе собейта найди,я так делал
В чат логе? Хм... mod_sa_chatbox.log?
Если да, то цвет "не пишется" :(
P.S. Мне нужен цвет ВСЕЙ строки.
 

fonarik

Известный
206
3
Тогда так, первый вариант:
Код:
{$CLEO}
{$I /includes/RakNetDefines.txt}
 
0000:
 
if
    8AF7: get_samp_base_to 0@
then
    0A93: end_custom_thread
end
repeat
    wait 400
until 0AFA: is_samp_structures_available
 
:1
wait 0
if
    0AB0: 110
else_jump @1
wait 300
0AB1: @playersynccoord 3 1159.40 -1768.07 16.59
wait 300
jump @1
 
:playersynccoord
0B2B: samp 3@ = get_player_id_by_actor_handle $player_actor
0B24: samp 3@ = get_player_ptr 3@
3@ += 0x6D
0AC8: 4@ = allocate_memory_size 0x44
0C10: memcpy destination 4@ source 3@ size 0x44
0C0D: struct 4@ offset 0x6 size 4 = 0@
0C0D: struct 4@ offset 0xA size 4 = 1@
0C0D: struct 4@ offset 0xE size 4 = 2@
0B3D: raknet 5@ = new_bit_stream
0B40: raknet bit_stream 5@ write PACKET_PLAYER_SYNC type BS_TYPE_BYTE size 1
0B40: raknet bit_stream 5@ write 4@ type BS_TYPE_ARRAY size 0x44
0B42: raknet send bit_stream 5@ priority PRIORITY_HIGH reliability UNRELIABLE_SEQUENCED ordering_channel 0
0B3E: raknet delete_bit_stream 5@
0AC9: free_allocated_memory 4@
0AB2: 0

Второй вариант:
Код:
{$CLEO}
{$I /includes/RakNetDefines.txt}
 
0000:
 
if
    8AF7: get_samp_base_to 0@
then
    0A93: end_custom_thread
end
repeat
    wait 400
until 0AFA: is_samp_structures_available
 
while true
    wait 0
    if
        0AB0: 110
    then
        0AB1: @playersynccoord 3 1159.40 -1768.07 16.59
        wait 300
    end
end
 
:playersynccoord
0B2B: samp 3@ = get_player_id_by_actor_handle $player_actor
0B24: samp 3@ = get_player_ptr 3@
3@ += 0x6D
0AC8: 4@ = allocate_memory_size 0x44
0C10: memcpy destination 4@ source 3@ size 0x44
0C0D: struct 4@ offset 0x6 size 4 = 0@
0C0D: struct 4@ offset 0xA size 4 = 1@
0C0D: struct 4@ offset 0xE size 4 = 2@
0B3D: raknet 5@ = new_bit_stream
0B40: raknet bit_stream 5@ write PACKET_PLAYER_SYNC type BS_TYPE_BYTE size 1
0B40: raknet bit_stream 5@ write 4@ type BS_TYPE_ARRAY size 0x44
0B42: raknet send bit_stream 5@ priority PRIORITY_HIGH reliability UNRELIABLE_SEQUENCED ordering_channel 0
0B3E: raknet delete_bit_stream 5@
0AC9: free_allocated_memory 4@
0AB2: 0
все равно не робит проверь сначало,потом сюда;) plizzz
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,462
все равно не робит проверь сначало,потом сюда;) plizzz
Всё работает. Проверил только что.

Проверь:
  1. Открой Sanny Builder.
  2. Нажми F10
  3. Вкладка "Форматирование"
  4. Подпункт "Регистр букв" -> "Как есть"
  5. Скомпилируй скрипт снова.
 

fonarik

Известный
206
3
как получить координаты и ид игрока в которого я целюсь?
 

Dark_Knight

Me, me and me.
Друг
4,067
2,081
Да всё уж, не надо... С помощью фотошопа определяю цвет строки :D
Так же самое делаю) Не могу сделать логер на клео, который не флудит. У меня получилось так. Записывает все, но одну строку по дофига раз или записывает, но очень редко.