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

Vovich

HOT
Проверенный
717
196
При выводе сообщения в чат, начинает все лагать, а и да , выводит ток первые 2 строки, остальные 2 не выводит. Что не так в коде?

Код:
{$CLEO .cs}
{$INCLUDE SF}
0000: 

const
EVENT_BUTTON_CLICKED  = 257  
EVENT_EDITBOX_CHANGE  = 1538
end

repeat
wait 150
until 0afa:
0B34: samp register_client_command "fstats" to_label @fake
alloc 12@ 128
alloc 13@ 128
alloc 14@ 128
alloc 15@ 128
alloc 16@ 128
alloc 17@ 128
alloc 18@ 128
alloc 19@ 128
alloc 20@ 128
alloc 21@ 128
alloc 22@ 128
alloc 23@ 128
alloc 24@ 128
alloc 25@ 128
alloc 26@ 128
alloc 27@ 128
alloc 28@ 128
alloc 29@ 128
alloc 30@ 128
alloc 31@ 128
alloc 32@ 128
alloc 11@ 1200
while true
wait 0
if 22@ == 1
then
0ab1: call @DialogMove 2 dialogID 0@ keyMoveID 2
0B8D: samp set_cursor_mode 2
if 0B81: dialog 0@ pop_event_to 1@ control_id_to 2@
then
  //0
  if 1@ == EVENT_BUTTON_CLICKED
  then
  if 2@ == 1
  then
  chatmsg "Ник: %s | Уровень: %s | Exp: %s | Деньги: %s | Варнов: %s" color 0xFF0000 12@ 13@ 14@ 15@ 16@
  chatmsg "Закон: %s | Преступ: %s | Арест: %s | Смертей: %s | Розыск: %s" color 0xFF0000 17@ 18@ 19@ 20@ 21@
  chatmsg "Дата регистр: %s | Завис: %s | Наркот: %s | Маты: %s | Рыба: %s" color 0xFF0000 22@ 23@ 24@ 25@ 26@
  chatmsg "Орг: %s | Ранг: %s | Работа: %s | Статус: %s | Жена муж: %s | Пол: %s" color 0xFF0000 27@ 28@ 29@ 30@ 31@ 32@
  0B86: dialog 0@ set_visible 0
  0B8D: samp set_cursor_mode 0
  end
  end
  
  // 1
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 25
  then
  0B89: dialog 0@ get_control 25 text_to 12@
  end
  end
  
  //2  
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 2
  then
  0B89: dialog 0@ get_control 2 text_to 13@
  end
  end
  
  //3  
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 3
  then
  0B89: dialog 0@ get_control 3 text_to 14@
  end
  end
  
  //4  
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 26
  then
  0B89: dialog 0@ get_control 26 text_to 15@
  end
  end
  
  //5
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 27
  then
  0B89: dialog 0@ get_control 27 text_to 16@
  end
  end
  
  //6
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 28
  then
  0B89: dialog 0@ get_control 28 text_to 17@
  end
  end
  //7
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 29
  then
  0B89: dialog 0@ get_control 29 text_to 18@
  end
  end
  
  //8
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 30
  then
  0B89: dialog 0@ get_control 30 text_to 19@
  end
  end
  
  //9
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 31
  then
  0B89: dialog 0@ get_control 31 text_to 20@
  end
  end
  
  // 10
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 32
  then
  0B89: dialog 0@ get_control 32 text_to 21@
  end
  end
  
  //11
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 33
  then
  0B89: dialog 0@ get_control 33 text_to 22@
  end
  end
  
  //12
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 34
  then
  0B89: dialog 0@ get_control 34 text_to 23@
  end
  end
  
  //13
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 35
  then
  0B89: dialog 0@ get_control 35 text_to 24@
  end
  end 
  
  //14
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 5
  then
  0B89: dialog 0@ get_control 5 text_to 25@
  end
  end 
  
  //15
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 6
  then
  0B89: dialog 0@ get_control 6 text_to 26@
  end
  end
  
  //16
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 7
  then
  0B89: dialog 0@ get_control 7 text_to 27@
  end
  end
  
  //17
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 8
  then
  0B89: dialog 0@ get_control 8 text_to 28@
  end
  end
  
  //18
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 9
  then
  0B89: dialog 0@ get_control 9 text_to 29@
  end
  end
  
  //19
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 10
  then
  0B89: dialog 0@ get_control 10 text_to 30@
  end
  end
  
  //20
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 11
  then
  0B89: dialog 0@ get_control 11 text_to 31@
  end
  end
  
  //21
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 12
  then
  0B89: dialog 0@ get_control 12 text_to 32@
  end
  end

end
end
end

:fake
0B80: dialog 0@ = create "Настройки"
0B84: dialog 0@ set_pos_XY 300 50 size 400 700
0B91: dialog 0@ add_static id 4 text "Ник" pos_XY 2 10 size 100 20
0B91: dialog 0@ add_static id 4 text "Уровень" pos_XY 2 40 size 100 20
0B91: dialog 0@ add_static id 4 text "Exp" pos_XY 2 70 size 100 20
0B91: dialog 0@ add_static id 4 text "Деньги" pos_XY 2 100 size 100 20
0B91: dialog 0@ add_static id 4 text "Варнов" pos_XY 2 130 size 100 20
0B91: dialog 0@ add_static id 4 text "Законопослушность" pos_XY 2 160 size 150 20
0B91: dialog 0@ add_static id 4 text "Преступлений" pos_XY 2 190 size 150 20
0B91: dialog 0@ add_static id 4 text "Арестов" pos_XY 2 220 size 150 20
0B91: dialog 0@ add_static id 4 text "Смертей в розыске" pos_XY 2 250 size 150 20
0B91: dialog 0@ add_static id 4 text "Уровень розыска" pos_XY 2 280 size 150 20
0B91: dialog 0@ add_static id 4 text "Дата регистрации" pos_XY 2 310 size 150 20
0B91: dialog 0@ add_static id 4 text "Зависимость" pos_XY 2 340 size 150 20
0B91: dialog 0@ add_static id 4 text "Наркотики" pos_XY 2 370 size 150 20
0B91: dialog 0@ add_static id 4 text "Материалы" pos_XY 2 400 size 150 20
0B91: dialog 0@ add_static id 4 text "Рыб поймано" pos_XY 2 430 size 150 20
0B91: dialog 0@ add_static id 4 text "Организация" pos_XY 2 460 size 150 20
0B91: dialog 0@ add_static id 4 text "Ранг" pos_XY 2 490 size 150 20
0B91: dialog 0@ add_static id 4 text "Работа" pos_XY 2 520 size 150 20
0B91: dialog 0@ add_static id 4 text "Статус" pos_XY 2 550 size 150 20
0B91: dialog 0@ add_static id 4 text "Жена/Муж" pos_XY 2 580 size 150 20
0B91: dialog 0@ add_static id 4 text "Пол" pos_XY 2 610 size 150 20
0B88: dialog 0@ add_editbox id 25 text "" pos_XY 50 0 size 200 35
0B82: dialog 0@ add_button id 1 text "Далее" pos_XY 150 650 size 100 30
0B88: dialog 0@ add_editbox id 2 text "" pos_XY 70 35 size 50 33
0B88: dialog 0@ add_editbox id 3 text "" pos_XY 70 65 size 100 33
0B88: dialog 0@ add_editbox id 26 text "" pos_XY 70 95 size 100 33
0B88: dialog 0@ add_editbox id 27 text "" pos_XY 70 125 size 50 33
0B88: dialog 0@ add_editbox id 28 text "" pos_XY 160 155 size 50 33
0B88: dialog 0@ add_editbox id 29 text "" pos_XY 160 185 size 50 33
0B88: dialog 0@ add_editbox id 30 text "" pos_XY 160 215 size 50 33
0B88: dialog 0@ add_editbox id 31 text "" pos_XY 160 245 size 50 33
0B88: dialog 0@ add_editbox id 32 text "" pos_XY 160 275 size 50 33
0B88: dialog 0@ add_editbox id 33 text "" pos_XY 160 305 size 150 33
0B88: dialog 0@ add_editbox id 34 text "" pos_XY 160 335 size 150 33
0B88: dialog 0@ add_editbox id 35 text "" pos_XY 160 365 size 150 33
0B88: dialog 0@ add_editbox id 5 text "" pos_XY 160 395 size 150 33
0B88: dialog 0@ add_editbox id 6 text "" pos_XY 160 425 size 150 33
0B88: dialog 0@ add_editbox id 7 text "" pos_XY 160 455 size 150 33
0B88: dialog 0@ add_editbox id 8 text "" pos_XY 160 485 size 150 33
0B88: dialog 0@ add_editbox id 9 text "" pos_XY 160 515 size 200 33
0B88: dialog 0@ add_editbox id 10 text "" pos_XY 160 545 size 150 33
0B88: dialog 0@ add_editbox id 11 text "" pos_XY 160 575 size 200 35
0B88: dialog 0@ add_editbox id 12 text "" pos_XY 160 610 size 150 33
22@ = 1
SAMP.CmdRet()

:DialogMove
0085: 9@ = 1@
0B85: dialog 0@ get_position_to 1@ 2@ size_to 3@ 4@
if 0ab1: call @TaskDialog 4 1@ 2@ 3@ 9@ ret_offset 7@ 8@
  then
  repeat
  wait 0
  0B5E: get_cursor_pos 5@ 6@
  0062: 5@ -= 7@
  0062: 6@ -= 8@
  0B84: dialog 0@ set_pos_XY 5@ 6@ size 3@ 4@
  until 8ab0: 9@
  0BA1: dialog 0@ set_minimized 0
  end
ret 0
:TaskDialog
0085: 6@ = 3@
0085: 4@ = 0@
0085: 5@ = 1@
005A: 4@ += 2@
5@ += 15
0B5E: get_cursor_pos 2@ 3@
if and
0ab0: 6@
002D: 2@ >= 0@
801D: 2@ <= 4@
002D: 3@ >= 1@
801D: 3@ <= 5@
  then
  0485:  return_true
  0062: 2@ -= 0@
  0062: 3@ -= 1@
  else
  059A:  return_false
  2@ = -1
  3@ = -1
  end
ret 2 2@ 3@
 

Unknown13

Новичок
19
0
Как можно сделать скрипт, чтобы при наезде на определенную точку срабатывала команда? Чтобы эта точка была на месте выделена как-нибудь, например красным кругом. И сделать несколько таких точек, чтобы они показывались последовательно и на каждой точке разная команда.
 

fiendshadow

3LFhocV726q7pKWWky2vv3W38Dm9sGJV86
Проверенный
455
121
Как можно сделать скрипт, чтобы при наезде на определенную точку срабатывала команда? Чтобы эта точка была на месте выделена как-нибудь, например красным кругом. И сделать несколько таких точек, чтобы они показывались последовательно и на каждой точке разная команда.
Создаешь на разных точках чекпоинты и ставишь условие, при наезде на координаты что бы работало.
 

Unknown13

Новичок
19
0
Создаешь на разных точках чекпоинты и ставишь условие, при наезде на координаты что бы работало.

секрет[/CODE]

Что здесь не так? При запуске появляется первая метка, я на нее заезжаю, команда срабатывает, но метка не удаляется. Потом еду ко второй метке, команда срабатывает, но метки вообще нет. Помогите сделать, чтобы при наезде на первую метку срабатывала команда и эта метка удалялась и появлялась метка на втором месте.
 
Последнее редактирование:

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,447
Используй разные переменные. У тебя там не мало маркеров создается(точнее - до лимита), поэтому и не удаляется, т.к. в переменной хранится последняя созданная.
 

Vadim.dll

Известный
168
80
Ребята, знаю что есть адрес памяти, который может делать так, чтобы скрипт работал в свернутом режиме, подскажите подалуйста
 

Unknown13

Новичок
19
0
Используй разные переменные. У тебя там не мало маркеров создается(точнее - до лимита), поэтому и не удаляется, т.к. в переменной хранится последняя созданная.
А вообще опкод 0100 не создает свои метки и надо ли мне добавлять эти сферы еще?
 

Zoxan_Twist

Новичок
126
29
Как узнать id машины в котором сидит игрок.
К примеру я ввожу команду /test [id игрока]
и получю машину в котором сидит игрок [или её id или handle]
 

Unknown13

Новичок
19
0
Как сделать, чтобы при запуске скрипт проверял ник игрока и если он не совпадает с ником в скрипте, то чтобы скрипт не работал?
То есть как сделать защиту от "пиратства"? :)
 

DubStep_

Известный
292
52
Как сделать, чтобы при запуске скрипт проверял ник игрока и если он не совпадает с ником в скрипте, то чтобы скрипт не работал?
То есть как сделать защиту от "пиратства"? :)
PHP:
0B2B: samp 0@ = get_player_id_by_actor_handle $3
0B36: samp 1@ = get_player_nickname 0@
if
0C14: strcmp string1 "El_Capone" string2 1@
then
    0AF8: samp add_message_to_chat "Совпадение с никами : {00ff00}успешно" color 0xAAAAAA
    else
    0AF8: samp add_message_to_chat "Совпадение с никами : {ff0000}неудачно" color 0xAAAAAA
end
Под ник память выделяй только
 
  • Нравится
Реакции: Unknown13

Vovich

HOT
Проверенный
717
196
При выводе сообщения в чат, начинает все лагать, а и да , выводит ток первые 2 строки, остальные 2 не выводит. Что не так в коде?

Код:
{$CLEO .cs}
{$INCLUDE SF}
0000:

const
EVENT_BUTTON_CLICKED  = 257 
EVENT_EDITBOX_CHANGE  = 1538
end

repeat
wait 150
until 0afa:
0B34: samp register_client_command "fstats" to_label @fake
alloc 12@ 128
alloc 13@ 128
alloc 14@ 128
alloc 15@ 128
alloc 16@ 128
alloc 17@ 128
alloc 18@ 128
alloc 19@ 128
alloc 20@ 128
alloc 21@ 128
alloc 22@ 128
alloc 23@ 128
alloc 24@ 128
alloc 25@ 128
alloc 26@ 128
alloc 27@ 128
alloc 28@ 128
alloc 29@ 128
alloc 30@ 128
alloc 31@ 128
alloc 32@ 128
alloc 11@ 1200
while true
wait 0
if 22@ == 1
then
0ab1: call @DialogMove 2 dialogID 0@ keyMoveID 2
0B8D: samp set_cursor_mode 2
if 0B81: dialog 0@ pop_event_to 1@ control_id_to 2@
then
  //0
  if 1@ == EVENT_BUTTON_CLICKED
  then
  if 2@ == 1
  then
  chatmsg "Ник: %s | Уровень: %s | Exp: %s | Деньги: %s | Варнов: %s" color 0xFF0000 12@ 13@ 14@ 15@ 16@
  chatmsg "Закон: %s | Преступ: %s | Арест: %s | Смертей: %s | Розыск: %s" color 0xFF0000 17@ 18@ 19@ 20@ 21@
  chatmsg "Дата регистр: %s | Завис: %s | Наркот: %s | Маты: %s | Рыба: %s" color 0xFF0000 22@ 23@ 24@ 25@ 26@
  chatmsg "Орг: %s | Ранг: %s | Работа: %s | Статус: %s | Жена муж: %s | Пол: %s" color 0xFF0000 27@ 28@ 29@ 30@ 31@ 32@
  0B86: dialog 0@ set_visible 0
  0B8D: samp set_cursor_mode 0
  end
  end
 
  // 1
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 25
  then
  0B89: dialog 0@ get_control 25 text_to 12@
  end
  end
 
  //2 
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 2
  then
  0B89: dialog 0@ get_control 2 text_to 13@
  end
  end
 
  //3 
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 3
  then
  0B89: dialog 0@ get_control 3 text_to 14@
  end
  end
 
  //4 
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 26
  then
  0B89: dialog 0@ get_control 26 text_to 15@
  end
  end
 
  //5
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 27
  then
  0B89: dialog 0@ get_control 27 text_to 16@
  end
  end
 
  //6
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 28
  then
  0B89: dialog 0@ get_control 28 text_to 17@
  end
  end
  //7
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 29
  then
  0B89: dialog 0@ get_control 29 text_to 18@
  end
  end
 
  //8
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 30
  then
  0B89: dialog 0@ get_control 30 text_to 19@
  end
  end
 
  //9
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 31
  then
  0B89: dialog 0@ get_control 31 text_to 20@
  end
  end
 
  // 10
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 32
  then
  0B89: dialog 0@ get_control 32 text_to 21@
  end
  end
 
  //11
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 33
  then
  0B89: dialog 0@ get_control 33 text_to 22@
  end
  end
 
  //12
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 34
  then
  0B89: dialog 0@ get_control 34 text_to 23@
  end
  end
 
  //13
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 35
  then
  0B89: dialog 0@ get_control 35 text_to 24@
  end
  end
 
  //14
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 5
  then
  0B89: dialog 0@ get_control 5 text_to 25@
  end
  end
 
  //15
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 6
  then
  0B89: dialog 0@ get_control 6 text_to 26@
  end
  end
 
  //16
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 7
  then
  0B89: dialog 0@ get_control 7 text_to 27@
  end
  end
 
  //17
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 8
  then
  0B89: dialog 0@ get_control 8 text_to 28@
  end
  end
 
  //18
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 9
  then
  0B89: dialog 0@ get_control 9 text_to 29@
  end
  end
 
  //19
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 10
  then
  0B89: dialog 0@ get_control 10 text_to 30@
  end
  end
 
  //20
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 11
  then
  0B89: dialog 0@ get_control 11 text_to 31@
  end
  end
 
  //21
  if 1@ == EVENT_EDITBOX_CHANGE
  then
  if 2@ == 12
  then
  0B89: dialog 0@ get_control 12 text_to 32@
  end
  end

end
end
end

:fake
0B80: dialog 0@ = create "Настройки"
0B84: dialog 0@ set_pos_XY 300 50 size 400 700
0B91: dialog 0@ add_static id 4 text "Ник" pos_XY 2 10 size 100 20
0B91: dialog 0@ add_static id 4 text "Уровень" pos_XY 2 40 size 100 20
0B91: dialog 0@ add_static id 4 text "Exp" pos_XY 2 70 size 100 20
0B91: dialog 0@ add_static id 4 text "Деньги" pos_XY 2 100 size 100 20
0B91: dialog 0@ add_static id 4 text "Варнов" pos_XY 2 130 size 100 20
0B91: dialog 0@ add_static id 4 text "Законопослушность" pos_XY 2 160 size 150 20
0B91: dialog 0@ add_static id 4 text "Преступлений" pos_XY 2 190 size 150 20
0B91: dialog 0@ add_static id 4 text "Арестов" pos_XY 2 220 size 150 20
0B91: dialog 0@ add_static id 4 text "Смертей в розыске" pos_XY 2 250 size 150 20
0B91: dialog 0@ add_static id 4 text "Уровень розыска" pos_XY 2 280 size 150 20
0B91: dialog 0@ add_static id 4 text "Дата регистрации" pos_XY 2 310 size 150 20
0B91: dialog 0@ add_static id 4 text "Зависимость" pos_XY 2 340 size 150 20
0B91: dialog 0@ add_static id 4 text "Наркотики" pos_XY 2 370 size 150 20
0B91: dialog 0@ add_static id 4 text "Материалы" pos_XY 2 400 size 150 20
0B91: dialog 0@ add_static id 4 text "Рыб поймано" pos_XY 2 430 size 150 20
0B91: dialog 0@ add_static id 4 text "Организация" pos_XY 2 460 size 150 20
0B91: dialog 0@ add_static id 4 text "Ранг" pos_XY 2 490 size 150 20
0B91: dialog 0@ add_static id 4 text "Работа" pos_XY 2 520 size 150 20
0B91: dialog 0@ add_static id 4 text "Статус" pos_XY 2 550 size 150 20
0B91: dialog 0@ add_static id 4 text "Жена/Муж" pos_XY 2 580 size 150 20
0B91: dialog 0@ add_static id 4 text "Пол" pos_XY 2 610 size 150 20
0B88: dialog 0@ add_editbox id 25 text "" pos_XY 50 0 size 200 35
0B82: dialog 0@ add_button id 1 text "Далее" pos_XY 150 650 size 100 30
0B88: dialog 0@ add_editbox id 2 text "" pos_XY 70 35 size 50 33
0B88: dialog 0@ add_editbox id 3 text "" pos_XY 70 65 size 100 33
0B88: dialog 0@ add_editbox id 26 text "" pos_XY 70 95 size 100 33
0B88: dialog 0@ add_editbox id 27 text "" pos_XY 70 125 size 50 33
0B88: dialog 0@ add_editbox id 28 text "" pos_XY 160 155 size 50 33
0B88: dialog 0@ add_editbox id 29 text "" pos_XY 160 185 size 50 33
0B88: dialog 0@ add_editbox id 30 text "" pos_XY 160 215 size 50 33
0B88: dialog 0@ add_editbox id 31 text "" pos_XY 160 245 size 50 33
0B88: dialog 0@ add_editbox id 32 text "" pos_XY 160 275 size 50 33
0B88: dialog 0@ add_editbox id 33 text "" pos_XY 160 305 size 150 33
0B88: dialog 0@ add_editbox id 34 text "" pos_XY 160 335 size 150 33
0B88: dialog 0@ add_editbox id 35 text "" pos_XY 160 365 size 150 33
0B88: dialog 0@ add_editbox id 5 text "" pos_XY 160 395 size 150 33
0B88: dialog 0@ add_editbox id 6 text "" pos_XY 160 425 size 150 33
0B88: dialog 0@ add_editbox id 7 text "" pos_XY 160 455 size 150 33
0B88: dialog 0@ add_editbox id 8 text "" pos_XY 160 485 size 150 33
0B88: dialog 0@ add_editbox id 9 text "" pos_XY 160 515 size 200 33
0B88: dialog 0@ add_editbox id 10 text "" pos_XY 160 545 size 150 33
0B88: dialog 0@ add_editbox id 11 text "" pos_XY 160 575 size 200 35
0B88: dialog 0@ add_editbox id 12 text "" pos_XY 160 610 size 150 33
22@ = 1
SAMP.CmdRet()

:DialogMove
0085: 9@ = 1@
0B85: dialog 0@ get_position_to 1@ 2@ size_to 3@ 4@
if 0ab1: call @TaskDialog 4 1@ 2@ 3@ 9@ ret_offset 7@ 8@
  then
  repeat
  wait 0
  0B5E: get_cursor_pos 5@ 6@
  0062: 5@ -= 7@
  0062: 6@ -= 8@
  0B84: dialog 0@ set_pos_XY 5@ 6@ size 3@ 4@
  until 8ab0: 9@
  0BA1: dialog 0@ set_minimized 0
  end
ret 0
:TaskDialog
0085: 6@ = 3@
0085: 4@ = 0@
0085: 5@ = 1@
005A: 4@ += 2@
5@ += 15
0B5E: get_cursor_pos 2@ 3@
if and
0ab0: 6@
002D: 2@ >= 0@
801D: 2@ <= 4@
002D: 3@ >= 1@
801D: 3@ <= 5@
  then
  0485:  return_true
  0062: 2@ -= 0@
  0062: 3@ -= 1@
  else
  059A:  return_false
  2@ = -1
  3@ = -1
  end
ret 2 2@ 3@