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

AWRage

Активный
642
141
Конвертировать игровые экранные координаты(640x480) в мониторные.
0B60: convert_game_screen_coords 1@ 2@ to_window_screen_coords 3@ 4@
Я не совсем понял как мне это поможет. Если не сложно объясни на таком примере.
Код:
{$CLEO}
0000:

while true
wait 0
0B69: render draw_box_pos 10 1000 size 100 100 color 0xFFFFFFFF
end
На моем экране (1680x1050), такая коробка будет отображаться в нижнем левом углу экрана (прям на краю), если я в игре поставлю разрешение меньше, то она будет отображаться уже "за экраном". Как мне использовать опкод 0B60: convert_game_screen_coords 1@ 2@ to_window_screen_coords 3@ 4@, чтобы и на меньшем разрешении коробка отображалась в нижнем левом углу экрана.
 

DubStep_

Известный
292
52
Я не совсем понял как мне это поможет. Если не сложно объясни на таком примере.
Код:
{$CLEO}
0000:

while true
wait 0
0B69: render draw_box_pos 10 1000 size 100 100 color 0xFFFFFFFF
end
На моем экране (1680x1050), такая коробка будет отображаться в нижнем левом углу экрана (прям на краю), если я в игре поставлю разрешение меньше, то она будет отображаться уже "за экраном". Как мне использовать опкод 0B60: convert_game_screen_coords 1@ 2@ to_window_screen_coords 3@ 4@, чтобы и на меньшем разрешении коробка отображалась в нижнем левом углу экрана.
CLEO:
{$CLEO}
0000:
while true
    0B60: convert_game_screen_coords 680 480 to_window_screen_coords 0@ 1@
    0B69: render draw_box_pos 0@ 1@ size 100 100 color 0xFFFFFFFF      
wait 0
end
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
CLEO:
{$CLEO}

0001: wait 0 ms

while not SAMP.Available()
    wait 400
end

while true
    wait 0
    0B60: convert_game_screen_coords 10.0 420.0 to_window_screen_coords 0@ 1@
    0B69: render draw_box_pos 0@ 1@ size 100 100 color 0xFFFFFFFF
end
 
  • Нравится
Реакции: AWRage

AWRage

Активный
642
141
CLEO:
{$CLEO}

0001: wait 0 ms

while not SAMP.Available()
    wait 400
end

while true
    wait 0
    0B60: convert_game_screen_coords 10.0 420.0 to_window_screen_coords 0@ 1@
    0B69: render draw_box_pos 0@ 1@ size 100 100 color 0xFFFFFFFF
end
Все работает, благодарю! :)
А есть сайт или программа которая делает процедуру наоборот? То есть, я ей укажу координаты в пикселях, а она мне конвертирует их в экранные (которые float).
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
0B5F: convert_window_screen_coords 1@ 2@ to_game_screen_coords 3@ 4@
 
  • Нравится
Реакции: AWRage

hnnssy

Известный
Друг
2,684
2,768
Слышь ты, голова у меня не рабочая.
На сам попробуй, я посмотрю как у тебя оно будет работать.
Код:
{$CLEO .cs}
0000:
repeat
wait 150
until 0afa:
alloc 2@ 128

while true
wait 0
if 0B61:  samp is_local_player_spawned
then
  for 1@ = 0 to 999 step 1
  if 0B23:  samp is_player_connected 1@
  then
  0B36: samp 2@ = get_player_nickname 1@
  if
  0C18: 0 = strstr string1 2@ string2 "_prokhorov"
  then
  msg "ПАПКА НА СЕРВЕРЕ" 0xFF0000
  end
  end
end
end
end
А потом пизди на разные стороны, нашелся умник сука.
Ты уточняй чьи ники тебе нужно сравнивать. Если определить, есть ли игрок на сервере с таким ником, то мой код используй и он работает. Если же нужно сделать что-то а-ля привязки скрипта к нику, то:
Код:
0B2B: samp 1@ = get_player_id_by_actor_handle $player_actor
0B36: samp 2@ = get_player_nickname 1@
if 
8C18: 0 = strstr string1 2@ string2 "_prokhorov"
then end_thread
end
 
  • Нравится
Реакции: Forus

Vovich

HOT
Проверенный
717
197
Ты уточняй чьи ники тебе нужно сравнивать. Если определить, есть ли игрок на сервере с таким ником, то мой код используй и он работает. Если же нужно сделать что-то а-ля привязки скрипта к нику, то:
Код:
0B2B: samp 1@ = get_player_id_by_actor_handle $player_actor
0B36: samp 2@ = get_player_nickname 1@
if
8C18: 0 = strstr string1 2@ string2 "_prokhorov"
then end_thread
end
Я ж кинул его выше, твой же код.
Я заебался вам уже говорить что нихуя не работает,
Код:
{$CLEO .cs}
0000:
repeat
wait 150
until 0afa:
chatmsg "скрипт запущен" color -1

while true
wait 0
if 0B61:  samp is_local_player_spawned
then
  for 1@ = 0 to 999 step 1
  if 0B23:  samp is_player_connected 1@
  then
  0B36: samp 2@ = get_player_nickname 1@
  if
  0C18: 0 = strstr string1 2@ string2 "_prokhorov"
  then
  chatmsg "ПАПКА НА СЕРВЕРЕ" color 0xFF0000
  end
  end
end
end
end