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

DubStep_

Известный
292
52
Каким опкодом можно проверить, находится ли курсор на координатах в радиусе от 100.0 до 200.0 по X и от 200.0 до 300.0 по Y?
Не знаете, почему не работает?
CLEO:
{$CLEO}
0000: 'AW_Rage'

repeat
wait 400
until SAMP.Available
0B34: samp register_client_command "phide" to_label @PlayerHide
0B34: samp register_client_command "pshow" to_label @PlayerShow
0B6D: render 10@ = create_font "Arial" height 10 flags 5

while true
if 25@ = true
then
  2@ = 500
  for 0@ = -1 to 999 step 1
    if and
    0B23: samp is_player_connected 0@
    0B64: samp is_player 0@ npc
    then
      0B20: samp 1@ = actor_handle_by_samp_player_id 0@
      if
      056D: actor 1@ defined
      then
        0B36: 1@ = get_player_nickname 0@
        0B6F: render font 10@ draw_text 1@ pos 50 2@ color 0xFFFFFFFF
        2@ += 10
      end
    end  
  end   
end
wait 0
end

:PlayerHide
25@ = false
cmdret

:PlayerShow
25@ = true
cmdret
У тебя скрипт выводит нпц ботов
 

AWRage

Активный
642
141
У тебя скрипт выводит нпц ботов
Исправил. Все равно не работает :(
CLEO:
{$CLEO}
0000: 'AW_Rage'

repeat
wait 400
until SAMP.Available
0B34: samp register_client_command "phide" to_label @PlayerHide
0B34: samp register_client_command "pshow" to_label @PlayerShow
0B6D: render 10@ = create_font "Arial" height 10 flags 5

while true
if 25@ = true
then
  2@ = 500
  for 0@ = -1 to 999 step 1
    if and
    0B23: samp is_player_connected 0@
    8B64: samp is_player 0@ npc
    then
      0B20: samp 1@ = actor_handle_by_samp_player_id 0@
      if
      056D: actor 1@ defined
      then
        0B36: 1@ = get_player_nickname 0@
        0B6F: render font 10@ draw_text 1@ pos 50 2@ color 0xFFFFFFFF
        2@ += 10
      end
    end   
  end    
end
wait 0
end

:PlayerHide
25@ = false
cmdret

:PlayerShow
25@ = true
cmdret
 

DubStep_

Известный
292
52
Исправил. Все равно не работает :(
CLEO:
{$CLEO}
0000: 'AW_Rage'

repeat
wait 400
until SAMP.Available
0B34: samp register_client_command "phide" to_label @PlayerHide
0B34: samp register_client_command "pshow" to_label @PlayerShow
0B6D: render 10@ = create_font "Arial" height 10 flags 5

while true
if 25@ = true
then
  2@ = 500
  for 0@ = -1 to 999 step 1
    if and
    0B23: samp is_player_connected 0@
    8B64: samp is_player 0@ npc
    then
      0B20: samp 1@ = actor_handle_by_samp_player_id 0@
      if
      056D: actor 1@ defined
      then
        0B36: 1@ = get_player_nickname 0@
        0B6F: render font 10@ draw_text 1@ pos 50 2@ color 0xFFFFFFFF
        2@ += 10
      end
    end  
  end   
end
wait 0
end

:PlayerHide
25@ = false
cmdret

:PlayerShow
25@ = true
cmdret
056D: actor 1@ defined вроде не рабочий опкод, лучше сделай так
if
0B20: samp 1@ = actor_handle_by_samp_player_id 0@
then
//code
end
 
  • Нравится
Реакции: AWRage

hnnssy

Известный
Друг
2,684
2,748
Код:
{$CLEO .cs}
0000: NOP                             

0662: printstring "kraft1k"  0x33FFCC

repeat
wait 0
until SAMP.Available()
0B34: samp register_client_command "drugsbot" to_label @Dialog

While True
wait 0
if 10@ == 1
then
say "/makedrugs"
wait 160
if
SAMP.IsDialogActive(3684)
then
alloc 0@ 1024
alloc 2@ 1024
alloc 3@ 1024
  memset 0@ 0x0 1024
  0BD7: samp get_dialog_text 0@
  0A9A: 1@ = openfile "CLEO\dialogtext.txt" mode "wt"
  0AD8: write_string_to_file 1@ from 0@
  0A9B: closefile 1@
if
SAMP.IsDialogActive(3684)
then
0A9A: 1@ = openfile "CLEO\dialogtext.txt" mode "rt"
repeat
0AD7: read_string_from_file 1@ to 2@ size 128
until 0AD6: end_of_file 1@ reached
repeat
0AD7: read_string_from_file 1@ to 2@ size 128
until 0AD4: 0@ = scan_string 2@ format "%d - {4BB85A}ïîäëåæèò îáðàáîòêå{ffffff}" 3@
SAMP.SetDialogInputBoxText(3@)
SAMP.CloseDialog(3684)
wait 30000
end
end
end
end


:Dialog
0B12: 10@ = 10@ XOR 1
if 10@ == 1
then
0acd: "[Kraft1k]DRUGS BOT ~r~ON" 1500
else
0acd: "[Kraft1k]DRUGS BOT ~r~OFF" 1500
end
SAMP.Cmdret()
Я тебе сказал сканировать внутри цикла repeat - until, а ты ещё один цикл зачем-то сделал, при чём который начинает считывать опять же только с последней строки.
 

AWRage

Активный
642
141
056D: actor 1@ defined вроде не рабочий опкод, лучше сделай так
if
0B20: samp 1@ = actor_handle_by_samp_player_id 0@
then
//code
end
Не, опкод работает, я его использовал в других скриптах..
Может, знает кто в чем проблема? Не отображается текст.
Код:
{$CLEO}
0000: 'AW_Rage'

repeat
wait 400
until SAMP.Available
0B34: samp register_client_command "phide" to_label @PlayerHide
0B34: samp register_client_command "pshow" to_label @PlayerShow
0B6D: render 10@ = create_font "Arial" height 10 flags 5

while true
if 25@ = true
then
  2@ = 500
  for 0@ = -1 to 999 step 1
    if and
    0B23: samp is_player_connected 0@
    8B64: samp is_player 0@ npc
    then
      0B20: samp 1@ = actor_handle_by_samp_player_id 0@
      if
      056D: actor 1@ defined
      then
        0B36: 1@ = get_player_nickname 0@
        0B6F: render font 10@ draw_text 1@ pos 50 2@ color 0xFFFFFFFF
        2@ += 10
      end
    end  
  end   
end
wait 0
end

:PlayerHide
25@ = false
cmdret

:PlayerShow
25@ = true
cmdret
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Не, опкод работает, я его использовал в других скриптах..
Может, знает кто в чем проблема? Не отображается текст.
Может потому что в условии нужно использовать сравнение, а не приравнивание?
 
  • Нравится
Реакции: AWRage

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Легенд! Выручай!
Есть опкод
0ADA: 8@ = scan_file 5@ format "X %f,Y %f,Z %f" 10@ 11@ 12@
Но он читает только 1 строку в файле.. мне нужно чтобы он переносил курсор выше, как это сделать?
Ты же адм чекер делал.. как то через memset делал.. Подскажи пожалуйста
Сканируй в цикле пока файл не завершится.
В чём проблема?
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Нормально всё работает. Нинад тут
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Потому что repeat until является обратным while
while 0@ == 1
...
repeat until 0@ <> 1
К тому же, он является ещё постусловным циклом => он выполнится 1 раз, если даже условие будет неверным.
 

nname

Новичок
66
5
Если допустим я сделал свой клео, то как сделать так, чтобы при заходе игры указывалось, кто сделал этот скрипт, пример: "Авто-цвет by SoniQ". Думаю вы поняли о чём я, если нет, то могу скинуть скрин, что мне именно нужно...
И ещё, как сделать чтобы скрипт включался автоматом при заходе в игру?
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,961
Если допустим я сделал свой клео, то как сделать так, чтобы при заходе игры указывалось, кто сделал этот скрипт, пример: "Авто-цвет by SoniQ". Думаю вы поняли о чём я, если нет, то могу скинуть скрин, что мне именно нужно...
CLEO:
{$CLEO}
0000:

:SAMPAv
wait 0
0AFA:  is_samp_available
jf @SAMPAv
0AF8: samp add_message_to_chat "by SoniQ" color 0xFFFFFF
// 0A93:


И ещё, как сделать чтобы скрипт включался автоматом при заходе в игру?
Убрать активацию при старте скрипта.