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

AWRage

Активный
642
141
Проблема с текстдравами. Сначала текст отображается где надо, с нужным размером и цветом, потом когда "обновляются" деньги, счетчик куда-то пропадает в левый нижний угол и становится белым
Код:
{$CLEO}
0000:

repeat
wait 0
until 0AFA:  is_samp_available
0AC8: 1@ = allocate_memory_size 64
0C48: samp textdraw 0 create 1@ pos 600.0 43.0 
0C4C: samp textdraw 0 set_style 3
0C52: samp textdraw 0 set_letter_size 0.4 1.5 color 0xFF348C34
0C4E: samp textdraw 0 set_outline 1 color 0x96000000
0C4A: samp textdraw 0 set_align 3
while true
wait 0
if                                            
0ADC: test_cheat "HUD"
then
repeat
wait 0
until 0ADC: test_cheat "HUD"
else
010B: 0@ = player $PLAYER_CHAR money
0AD3: 1@ = format "$%i" 0@
0C50: samp textdraw 0 set_string 1@ 
end
end
.
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,953
Как получить handle машины в которой сидит игрок, потом записать в переменную, и использовать с
CVehicle, 0A8C: write_memory 0x4C0 size 4 value 1000 virtual_protect 1
(Просто хочу что-то типа Car Repair сделать)
PHP:
03C0: 0@ = actor $PLAYER_ACTOR car
0A97: 1@ = car 0@ struct
1@ += 0x4C0
0A8C: write_memory 1@ size 4 value 1000.0 virtual_protect 1
 

Goldfish

Известный
106
22
Как получить handle машины в которой сидит игрок, потом записать в переменную, и использовать с
CVehicle, 0A8C: write_memory 0x4C0 size 4 value 1000 virtual_protect 1
(Просто хочу что-то типа Car Repair сделать)
ппц..
так не проще
0227: 4@ = car 22@ health ? :mda:
 

Vadim.dll

Известный
168
80
Мне с write memory понятнее прост
Кому как,но если ты думаешь, что если писать в память, то оно будет как-то надежней, вообщем лучше чем опкодом, то нет... Т.к опкод это и есть написание в память значение то есть что так, что так ничего не изменится так что используй написание в память только в случае если нет подходящего опкода, ну и для отправления синхры
 

AWRage

Активный
642
141
Проблема та же самая. Когда у меня оружие "Fist", скрипт работает нормально, но как только я выбираю другое оружие, камера мгновенно перемещается в то место, когда запускается самп и начинает все мерцать, экран темнеет и появляются разные надписи. Что я сделал не так?
Код:
while true
wait 0
if                                            
0ADC: test_cheat "HUD"                       
then
  repeat
  wait 0
  until 0ADC: test_cheat "HUD"
else
010B: 0@ = player $PLAYER_CHAR money
0AD3: 1@ = format "$%i" 0@
0C50: samp textdraw 0 set_string 1@
0470: 2@ = actor $PLAYER_ACTOR current_weapon
  if
  not 2@ == 0
  then
  call @AMMO 1 2@ 2 3@ 4@ // проблема начинается с этого места
  0C50: samp textdraw 1 set_string 4@
  0C50: samp textdraw 2 set_string 3@
  end
0A8D: 20@ = read_memory 0x58DB60 size 1 virtual_protect 1
  for 21@ = 0 to 20@ step 1
  22@ = 1670
  000E: 22@ -= 50
  0B73: render draw_texture 20@ pos 22@ 1 35 size 25 25 rotation 0.0 color 0xFFFFFFFF
  end
end
end

:AMMO
0A96: 1@ = actor $PLAYER_ACTOR struct
0A8E: 2@ = 1@ + 0x0718
0A8D: 2@ = read_memory 2@ size 1 virtual_protect 1
2@ *= 0x1C
0A8E: 3@ = 1@ + 0x5A0
005a: 3@ += 2@
3@ += 0x8
0A8D: 3@ = read_memory 3@ size 4 virtual_protect 1
041A: 4@ = actor $PLAYER_ACTOR weapon 0@ ammo
0062: 4@ -= 3@
0AD3: 5@ = format "%i" 4@ 
0AD3: 6@ = format "%i" 3@
ret 2 5@ 6@
 

spiceman

GOWNIK <3
104
35
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Проблема та же самая. Когда у меня оружие "Fist", скрипт работает нормально, но как только я выбираю другое оружие, камера мгновенно перемещается в то место, когда запускается самп и начинает все мерцать, экран темнеет и появляются разные надписи. Что я сделал не так?
Код:
while true
wait 0
if                                           
0ADC: test_cheat "HUD"                      
then
  repeat
  wait 0
  until 0ADC: test_cheat "HUD"
else
010B: 0@ = player $PLAYER_CHAR money
0AD3: 1@ = format "$%i" 0@
0C50: samp textdraw 0 set_string 1@
0470: 2@ = actor $PLAYER_ACTOR current_weapon
  if
  not 2@ == 0
  then
  call @AMMO 1 2@ 2 3@ 4@ // проблема начинается с этого места
  0C50: samp textdraw 1 set_string 4@
  0C50: samp textdraw 2 set_string 3@
  end
0A8D: 20@ = read_memory 0x58DB60 size 1 virtual_protect 1
  for 21@ = 0 to 20@ step 1
  22@ = 1670
  000E: 22@ -= 50
  0B73: render draw_texture 20@ pos 22@ 1 35 size 25 25 rotation 0.0 color 0xFFFFFFFF
  end
end
end

:AMMO
0A96: 1@ = actor $PLAYER_ACTOR struct
0A8E: 2@ = 1@ + 0x0718
0A8D: 2@ = read_memory 2@ size 1 virtual_protect 1
2@ *= 0x1C
0A8E: 3@ = 1@ + 0x5A0
005a: 3@ += 2@
3@ += 0x8
0A8D: 3@ = read_memory 3@ size 4 virtual_protect 1
041A: 4@ = actor $PLAYER_ACTOR weapon 0@ ammo
0062: 4@ -= 3@
0AD3: 5@ = format "%i" 4@
0AD3: 6@ = format "%i" 3@
ret 2 5@ 6@
вызов неверный, циферка 2 там лишняя, опкод требует метку, кол-во параметров, параметры, и переменные, в которые будет возвращены значения
 
  • Нравится
Реакции: AWRage

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,447
В 0AD3 передается либо строковая переменная(@s, @v), либо буфер. Строковую переменную из функции 0AB1 вернуть нельзя, увы. Решение только с буфером.
 
  • Нравится
Реакции: AWRage

AWRage

Активный
642
141
Снова что-то не так. Снова при активации данной части кода, камера мгновенно перемещается в то место, когда запускается самп и начинает все мерцать, экран темнеет и появляются разные надписи. Что я снова сделал не так.
PHP:
0470: 5@ = actor $PLAYER_ACTOR current_weapon
if
not 5@ == 0
then
call @AMMO 1 5@ 6@ 7@
0C50: samp textdraw 1 set_string 6@
0C50: samp textdraw 2 set_string 7@
end

:AMMO
0A96: 1@ = actor $PLAYER_ACTOR struct
0A8E: 2@ = 1@ + 0x0718
0A8D: 2@ = read_memory 2@ size 1 virtual_protect 1
2@ *= 0x1C
0A8E: 3@ = 1@ + 0x5A0
005a: 3@ += 2@
3@ += 0x8
0A8D: 3@ = read_memory 3@ size 4 virtual_protect 1
041A: 4@ = actor $PLAYER_ACTOR weapon 0@ ammo
0062: 4@ -= 3@
0AD3: 5@ = format "%i" 4@
0AD3: 6@ = format "%i" 3@
ret 2 5@ 6@
 

fiendshadow

3LFhocV726q7pKWWky2vv3W38Dm9sGJV86
Проверенный
455
121
Снова что-то не так. Снова при активации данной части кода, камера мгновенно перемещается в то место, когда запускается самп и начинает все мерцать, экран темнеет и появляются разные надписи. Что я снова сделал не так.
PHP:
0470: 5@ = actor $PLAYER_ACTOR current_weapon
if
not 5@ == 0
then
call @AMMO 1 5@ 6@ 7@
0C50: samp textdraw 1 set_string 6@
0C50: samp textdraw 2 set_string 7@
end

:AMMO
0A96: 1@ = actor $PLAYER_ACTOR struct
0A8E: 2@ = 1@ + 0x0718
0A8D: 2@ = read_memory 2@ size 1 virtual_protect 1
2@ *= 0x1C
0A8E: 3@ = 1@ + 0x5A0
005a: 3@ += 2@
3@ += 0x8
0A8D: 3@ = read_memory 3@ size 4 virtual_protect 1
041A: 4@ = actor $PLAYER_ACTOR weapon 0@ ammo
0062: 4@ -= 3@
0AD3: 5@ = format "%i" 4@
0AD3: 6@ = format "%i" 3@
ret 2 5@ 6@
end syka
 

Art4D

Новичок
87
13
Как изменить разрешение экрана в оконном режиме? У меня вкл. антипауза из сф, и мне нужно точное разрешение, а с в ключенной антипаузой нельзя так сделать.
 

Goldfish

Известный
106
22
а, дык если смореть как код написан щаз, то крах стопудов буит, после конструкции IF..THEN..END код опять идет к лебелу :AMMO и на пути ему встречается ret, надо после end'а джумпить куданить или
0A93: end_custom_thread
 

AWRage

Активный
642
141
а, дык если смореть как код написан щаз, то крах стопудов буит, после конструкции IF..THEN..END код опять идет к лебелу :AMMO и на пути ему встречается ret, надо после end'а джумпить куданить или
0A93: end_custom_thread
У меня бесконечный цикл.

while true
wait 0
end