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

Rom_Black

Новичок
44
0
Не понимаю в чём проблема, при заходе в игру крашит.
Помогите пожалуйста!
Код:
0B2B: samp 1@ = get_player_id_by_actor_handle $player_actor
0B6F: render font 0@ draw_text "Твой ID: %d" pos 500 0 color 0xFFFFFF00 1@
 

Dark_Knight

Me, me and me.
Друг
4,062
2,078
Не очень понял тему, можешь сам исправить мой код?
Заранее спасибо)
Между получение и рендером строки нужно форматировать строку саму, а в рендер передавать уже переменную с отформатированной строкой. 0ад3 юзай
 

Rom_Black

Новичок
44
0
Между получение и рендером строки нужно форматировать строку саму, а в рендер передавать уже переменную с отформатированной строкой. 0ад3 юзай
Что не так? Вроде же всё правильно сделал.
Код:
 0B2B: samp 1@ = get_player_id_by_actor_handle $player_actor
 alloc 3 2@
 0AD3: 2@ = format "%d" 1@
 0B6F: render font 0@ draw_text "Òâîé ID: %d" pos 500 0 color 0xFFFFFF00 2@
 free 2@
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Код:
0B2B: samp 1@ = get_player_id_by_actor_handle $player_actor
alloc 2@ 32
0AD3: 2@ = format "Твой ID: %d" 1@
0B6F: render font 0@ draw_text 2@ pos 500 0 color 0xFFFFFF00
free 2@
 

Rom_Black

Новичок
44
0
Можно как нибудь сделать побольше переменных @ просто у меня большой клео, а переменные все заняты, что делать ?
 

Dark_Knight

Me, me and me.
Друг
4,062
2,078
Используй call функции.
И что оно эму даст?
Можно как нибудь сделать побольше переменных @ просто у меня большой клео, а переменные все заняты, что делать ?
Нельзя. Разрешено юзать только 34 переменных, которые 2 с 34 - счетчики. Но ты можешь обьявить переменную, как массив.
 

Rom_Black

Новичок
44
0
Объясните пожалуйста, как вывести номер жёсткого диска на 0af8:
Пробывал так:
Код:
0af8: "%s" 0@
Но выводит в чат "(null)"

Код:
:get_serial/*
Спасибо Даниилу за функцию
Параметры:
 Выход: 0@ - Возвращает серийный номер жёсткого диска, который операционная система присваивает при форматировании.
Использование:
if
 0AB1: call @get_serial 0 store_to 0@
then
 wait 0
end
*/if0AA2: 1@ = load_library "kernel32.dll"then
 0485: return_trueif0AA4: 2@ = get_proc_address "GetVolumeInformationA" library 1@then
 0AC7: 0@ = var 0@ offset
 0AA5: call 2@ num_params 8 pop 0 0 0 0 0 0@ 0 0 0
 endelse059A: return_false 
end
0AA3: free_library 1@0AB2: ret 1 0@
 

Dark_Knight

Me, me and me.
Друг
4,062
2,078
Возращает не строку, а число функция. Второе - ты не правильно опкод используешь.
 

Dark_Knight

Me, me and me.
Друг
4,062
2,078
Код:
call @get_serial 0 0@
0af8: "%d" -1 0@
:get_serial
if
      0AA2: 1@ = load_library "kernel32.dll"
then
    0485:  return_true
    if
        0AA4: 2@ = get_proc_address "GetVolumeInformationA" library 1@
    then
        0AC7: 0@ = var 0@ offset
        0AA5: call 2@ num_params 8 pop 0 0 0 0 0 0@ 0 0 0
    end
else
    059A:  return_false  
end
0AA3: free_library 1@
0AB2: ret 1 0@
 

PoccoJI

Новичок
135
10
Можно ли как-то получить ип игрока? код желательно.ц
22.png