Author Topic: Помогите разобраться, как использовать массивы? В помощи освоения Clickermann  (Read 3017 times)

0 Members and 1 Guest are viewing this topic.

SimplY

  • Активный участник
  • ***
  • Posts: 125
    • View Profile
Прочитал статью на форуме, но в упор не могу понять. Можно простые примеры? Разжевать и в рот положить)

Или ссылки на ресурсы для человека, далекого от программирования?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Массив это таблица в один столбик. В отличии от переменной которая хранит одно значение, массив может хранить множество значений. Обращаться к ним нужно указывая номер индекса в квадратных скобках после имени массива.

Например создаем массив
ARRPUSH($test, 10)
ARRPUSH($test, 13)
ARRPUSH($test, 14)
ARRPUSH($test, 46)
ARRPUSH($test, 69)

Выглядит он так


Теперь прочитаем значение из ячейки под номером 3
Code: (clickermann) [Select]
ARRPUSH($test, 10)
ARRPUSH($test, 13)
ARRPUSH($test, 14)
ARRPUSH($test, 46)
ARRPUSH($test, 69)

LOGWRITE ($test[3])
HALT

В логе видим значение 46
Code: [Select]
12:33:41 46
Важный момент, обращение в несуществующей ячейке массива приведет к ошибке!

ya12

  • Активный участник
  • ***
  • Posts: 165
    • View Profile
Индекс массивов всегда начинается с 0.
Если нужно сделать $test[3]=5, а предыдущие [0,1,2] не созданы, сделать надо так:
$test[0]=0
$test[1]=0
$test[2]=0
$test[3]=5
Двумерный массив сделать нельзя, но можно сделать псевдо-двумерный.
Пример:
$test[9*10+2] - 9й столбец 2я строка

« Last Edit: January 31, 2020, 01:52:34 PM by ya12 »

SimplY

  • Активный участник
  • ***
  • Posts: 125
    • View Profile
Массив это таблица в один столбик. В отличии от переменной которая хранит одно значение, массив может хранить множество значений. Обращаться к ним нужно указывая номер индекса в квадратных скобках после имени массива.

Например создаем массив
ARRPUSH($test, 10)
ARRPUSH($test, 13)
ARRPUSH($test, 14)
ARRPUSH($test, 46)
ARRPUSH($test, 69)

Выглядит он так


Теперь прочитаем значение из ячейки под номером 3
Code: (clickermann) [Select]
ARRPUSH($test, 10)
ARRPUSH($test, 13)
ARRPUSH($test, 14)
ARRPUSH($test, 46)
ARRPUSH($test, 69)

LOGWRITE ($test[3])
HALT

В логе видим значение 46
Code: [Select]
12:33:41 46
Важный момент, обращение в несуществующей ячейке массива приведет к ошибке!

Не проще ли это сделать так? Зачем заморачиваться с массивом?
Code: (clickermann) [Select]
$a = 10
$b = 13
$c = 14
$d = 46
$e = 69

LOGWRITE ($d)
HALT

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Не проще ли это сделать так? Зачем заморачиваться с массивом?
Code: (clickermann) [Select]
$a = 10
$b = 13
$c = 14
$d = 46
$e = 69

LOGWRITE ($d)
HALT

Тут самое важное что у массива одно имя и множество ячеек памяти с которыми легко работать в цикле.
Например считываем все строки файла в массив, в цикле добавляем каждой строке слово, и снова записываем массив в файл.
Code: (clickermann) [Select]
TFREADARR("file.txt", $arr)
FOR($a=0,$a<ARRSIZE($arr))
   $arr[$a] = STRCONCAT("ТЕКСТ= ", $arr[$a])
END_CYC
TFWRITEARR("file.txt", $arr)
HALT

В цикле я могу считать все значения массива
Code: (clickermann) [Select]
ARRPUSH($test, 10)
ARRPUSH($test, 13)
ARRPUSH($test, 14)
ARRPUSH($test, 46)
ARRPUSH($test, 69)

FOR($a=0,$a<ARRSIZE($test))
   LOGWRITE ($test[$a])
END_CYC
HALT

Что если этих значений не 5 а 100000? Будешь плодить 100000 переменных?

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Например, мы настраиваем каждый скил, как нужно:

Code: (clickermann) [Select]
//============== Массивы скилов
$name_skill[0]="Ноль"
$skill[0]=0
$target_on[0]=0
$num_yach[0]=0
$max_rasstoyanie[0]=0
$min_rasstoyanie[0]=0
$min_hp_moba[0]=0
$max_hp_moba[0]=0
$min_hp_bota[0]=0
$max_hp_bota[0]=0
$min_mp_bota[0]=0
$max_mp_bota[0]=0

$name_skill[1]="Зелье жизни"
$skill[1]=1
$target_on[1]=0
$num_yach[1]=23
$max_rasstoyanie[1]=1000
$min_rasstoyanie[1]=0
$min_hp_moba[1]=0
$max_hp_moba[1]=100
$min_hp_bota[1]=1
$max_hp_bota[1]=60
$min_mp_bota[1]=0
$max_mp_bota[1]=100

$name_skill[2]="Зелье маны"
$skill[2]=1
$target_on[2]=0
$num_yach[2]=22
$max_rasstoyanie[2]=1000
$min_rasstoyanie[2]=0
$min_hp_moba[2]=0
$max_hp_moba[2]=100
$min_hp_bota[2]=1
$max_hp_bota[2]=100
$min_mp_bota[2]=0
$max_mp_bota[2]=50

$name_skill[3]="Рывок к жертве"
$skill[3]=0
$target_on[3]=1
$num_yach[3]=37
$max_rasstoyanie[3]=14
$min_rasstoyanie[3]=0
$min_hp_moba[3]=0
$max_hp_moba[3]=100
$min_hp_bota[3]=1
$max_hp_bota[3]=100
$min_mp_bota[3]=0
$max_mp_bota[3]=100

$name_skill[4]="Подрезать крылья"
$skill[4]=1
$target_on[4]=1
$num_yach[4]=48
$max_rasstoyanie[4]=4
$min_rasstoyanie[4]=0
$min_hp_moba[4]=0
$max_hp_moba[4]=100
$min_hp_bota[4]=1
$max_hp_bota[4]=100
$min_mp_bota[4]=0
$max_mp_bota[4]=100

$name_skill[5]="Нисходящий удар"
$skill[5]=1
$target_on[5]=1
$num_yach[5]=46
$max_rasstoyanie[5]=3
$min_rasstoyanie[5]=0
$min_hp_moba[5]=0
$max_hp_moba[5]=100
$min_hp_bota[5]=1
$max_hp_bota[5]=100
$min_mp_bota[5]=0
$max_mp_bota[5]=100

$name_skill[6]="Волна разрушения"
$skill[6]=1
$target_on[6]=1
$num_yach[6]=44
$max_rasstoyanie[6]=6
$min_rasstoyanie[6]=0
$min_hp_moba[6]=0
$max_hp_moba[6]=100
$min_hp_bota[6]=1
$max_hp_bota[6]=100
$min_mp_bota[6]=0
$max_mp_bota[6]=100

$name_skill[7]="Ослабляющий удар"
$skill[7]=1
$target_on[7]=1
$num_yach[7]=42
$max_rasstoyanie[7]=3
$min_rasstoyanie[7]=0
$min_hp_moba[7]=0
$max_hp_moba[7]=100
$min_hp_bota[7]=1
$max_hp_bota[7]=100
$min_mp_bota[7]=0
$max_mp_bota[7]=100

$name_skill[8]="Яростный удар"
$skill[8]=1
$target_on[8]=1
$num_yach[8]=40
$max_rasstoyanie[8]=3
$min_rasstoyanie[8]=0
$min_hp_moba[8]=0
$max_hp_moba[8]=100
$min_hp_bota[8]=1
$max_hp_bota[8]=100
$min_mp_bota[8]=0
$max_mp_bota[8]=100

$name_skill[9]="Провокация"
$skill[9]=1
$target_on[9]=1
$num_yach[9]=14
$max_rasstoyanie[9]=14
$min_rasstoyanie[9]=4
$min_hp_moba[9]=100
$max_hp_moba[9]=100
$min_hp_bota[9]=1
$max_hp_bota[9]=100
$min_mp_bota[9]=0
$max_mp_bota[9]=100

$name_skill[10]="Пронзающий клинок"
$skill[10]=1
$target_on[10]=1
$num_yach[10]=38
$max_rasstoyanie[10]=16
$min_rasstoyanie[10]=0
$min_hp_moba[10]=20
$max_hp_moba[10]=100
$min_hp_bota[10]=1
$max_hp_bota[10]=100
$min_mp_bota[10]=0
$max_mp_bota[10]=100

$name_skill[11]="Воздушная паутина"
$skill[11]=1
$target_on[11]=1
$num_yach[11]=16
$max_rasstoyanie[11]=3
$min_rasstoyanie[11]=0
$min_hp_moba[11]=0
$max_hp_moba[11]=100
$min_hp_bota[11]=1
$max_hp_bota[11]=100
$min_mp_bota[11]=0
$max_mp_bota[11]=100

Настраиваем координаты ячеек скилов на панели:

Code: (clickermann) [Select]
//------- Ячейка 0
$sk_x1[0]=0
$sk_y1[0]=0
$sk_x2[0]=0
$sk_y2[0]=0
$yach_x1[0]=0
$yach_y1[0]=0
$yach_x2[0]=0
$yach_y2[0]=0
$sk_cl_x[0]=0
$sk_cl_y[0]=0
//------- Ячейка 1
$sk_x1[1]=2531
$sk_y1[1]=604
$sk_x2[1]=2532
$sk_y2[1]=604
$yach_x1[1]=2512
$yach_y1[1]=591
$yach_x2[1]=2551
$yach_y2[1]=629
$sk_cl_x[1]=2542
$sk_cl_y[1]=620
//------- Ячейка 2
$sk_x1[2]=2531
$sk_y1[2]=649
$sk_x2[2]=2532
$sk_y2[2]=649
$yach_x1[2]=2512
$yach_y1[2]=636
$yach_x2[2]=2551
$yach_y2[2]=674
$sk_cl_x[2]=2542
$sk_cl_y[2]=665
//------- Ячейка 3
$sk_x1[3]=2531
$sk_y1[3]=694
$sk_x2[3]=2532
$sk_y2[3]=694
$yach_x1[3]=2512
$yach_y1[3]=681
$yach_x2[3]=2551
$yach_y2[3]=719
$sk_cl_x[3]=2542
$sk_cl_y[3]=710
//------- Ячейка 4
$sk_x1[4]=2531
$sk_y1[4]=739
$sk_x2[4]=2532
$sk_y2[4]=739
$yach_x1[4]=2512
$yach_y1[4]=726
$yach_x2[4]=2551
$yach_y2[4]=764
$sk_cl_x[4]=2542
$sk_cl_y[4]=755
//------- Ячейка 5
$sk_x1[5]=2531
$sk_y1[5]=784
$sk_x2[5]=2532
$sk_y2[5]=784
$yach_x1[5]=2512
$yach_y1[5]=771
$yach_x2[5]=2551
$yach_y2[5]=809
$sk_cl_x[5]=2542
$sk_cl_y[5]=800
//------- Ячейка 6
$sk_x1[6]=2531
$sk_y1[6]=829
$sk_x2[6]=2532
$sk_y2[6]=829
$yach_x1[6]=2512
$yach_y1[6]=816
$yach_x2[6]=2551
$yach_y2[6]=854
$sk_cl_x[6]=2542
$sk_cl_y[6]=845
//------- Ячейка 7
$sk_x1[7]=2531
$sk_y1[7]=874
$sk_x2[7]=2532
$sk_y2[7]=874
$yach_x1[7]=2512
$yach_y1[7]=861
$yach_x2[7]=2551
$yach_y2[7]=899
$sk_cl_x[7]=2542
$sk_cl_y[7]=890
//------- Ячейка 8
$sk_x1[8]=2531
$sk_y1[8]=920
$sk_x2[8]=2532
$sk_y2[8]=920
$yach_x1[8]=2512
$yach_y1[8]=907
$yach_x2[8]=2551
$yach_y2[8]=945
$sk_cl_x[8]=2542
$sk_cl_y[8]=936
//------- Ячейка 9
$sk_x1[9]=2531
$sk_y1[9]=965
$sk_x2[9]=2532
$sk_y2[9]=965
$yach_x1[9]=2512
$yach_y1[9]=952
$yach_x2[9]=2551
$yach_y2[9]=990
$sk_cl_x[9]=2542
$sk_cl_y[9]=981
//------- Ячейка 10
$sk_x1[10]=2531
$sk_y1[10]=1010
$sk_x2[10]=2532
$sk_y2[10]=1010
$yach_x1[10]=2512
$yach_y1[10]=997
$yach_x2[10]=2551
$yach_y2[10]=1035
$sk_cl_x[10]=2542
$sk_cl_y[10]=1026
//------- Ячейка 11
$sk_x1[11]=2531
$sk_y1[11]=1055
$sk_x2[11]=2532
$sk_y2[11]=1055
$yach_x1[11]=2512
$yach_y1[11]=1042
$yach_x2[11]=2551
$yach_y2[11]=1080
$sk_cl_x[11]=2542
$sk_cl_y[11]=1071
//------- Ячейка 12
$sk_x1[12]=2531
$sk_y1[12]=1100
$sk_x2[12]=2532
$sk_y2[12]=1100
$yach_x1[12]=2512
$yach_y1[12]=1087
$yach_x2[12]=2551
$yach_y2[12]=1125
$sk_cl_x[12]=2542
$sk_cl_y[12]=1116
//------- Ячейка 13
$sk_x1[13]=1029
$sk_y1[13]=1286
$sk_x2[13]=1030
$sk_y2[13]=1286
$yach_x1[13]=1010
$yach_y1[13]=1273
$yach_x2[13]=1049
$yach_y2[13]=1311
$sk_cl_x[13]=1040
$sk_cl_y[13]=1302
//------- Ячейка 14
$sk_x1[14]=1074
$sk_y1[14]=1286
$sk_x2[14]=1075
$sk_y2[14]=1286
$yach_x1[14]=1055
$yach_y1[14]=1273
$yach_x2[14]=1094
$yach_y2[14]=1311
$sk_cl_x[14]=1085
$sk_cl_y[14]=1302
//------- Ячейка 15
$sk_x1[15]=1119
$sk_y1[15]=1286
$sk_x2[15]=1120
$sk_y2[15]=1286
$yach_x1[15]=1100
$yach_y1[15]=1273
$yach_x2[15]=1139
$yach_y2[15]=1311
$sk_cl_x[15]=1130
$sk_cl_y[15]=1302
//------- Ячейка 16
$sk_x1[16]=1165
$sk_y1[16]=1286
$sk_x2[16]=1166
$sk_y2[16]=1286
$yach_x1[16]=1146
$yach_y1[16]=1273
$yach_x2[16]=1185
$yach_y2[16]=1311
$sk_cl_x[16]=1176
$sk_cl_y[16]=1302
//------- Ячейка 17
$sk_x1[17]=1210
$sk_y1[17]=1286
$sk_x2[17]=1211
$sk_y2[17]=1286
$yach_x1[17]=1191
$yach_y1[17]=1273
$yach_x2[17]=1230
$yach_y2[17]=1311
$sk_cl_x[17]=1221
$sk_cl_y[17]=1302
//------- Ячейка 18
$sk_x1[18]=1255
$sk_y1[18]=1286
$sk_x2[18]=1256
$sk_y2[18]=1286
$yach_x1[18]=1236
$yach_y1[18]=1273
$yach_x2[18]=1275
$yach_y2[18]=1311
$sk_cl_x[18]=1266
$sk_cl_y[18]=1302
//------- Ячейка 19
$sk_x1[19]=1300
$sk_y1[19]=1286
$sk_x2[19]=1301
$sk_y2[19]=1286
$yach_x1[19]=1281
$yach_y1[19]=1273
$yach_x2[19]=1320
$yach_y2[19]=1311
$sk_cl_x[19]=1311
$sk_cl_y[19]=1302
//------- Ячейка 20
$sk_x1[20]=1345
$sk_y1[20]=1286
$sk_x2[20]=1346
$sk_y2[20]=1286
$yach_x1[20]=1326
$yach_y1[20]=1273
$yach_x2[20]=1365
$yach_y2[20]=1311
$sk_cl_x[20]=1356
$sk_cl_y[20]=1302
//------- Ячейка 21
$sk_x1[21]=1390
$sk_y1[21]=1286
$sk_x2[21]=1391
$sk_y2[21]=1286
$yach_x1[21]=1371
$yach_y1[21]=1273
$yach_x2[21]=1410
$yach_y2[21]=1311
$sk_cl_x[21]=1401
$sk_cl_y[21]=1302
//------- Ячейка 22
$sk_x1[22]=1435
$sk_y1[22]=1286
$sk_x2[22]=1436
$sk_y2[22]=1286
$yach_x1[22]=1416
$yach_y1[22]=1273
$yach_x2[22]=1455
$yach_y2[22]=1311
$sk_cl_x[22]=1446
$sk_cl_y[22]=1302
//------- Ячейка 23
$sk_x1[23]=1481
$sk_y1[23]=1286
$sk_x2[23]=1482
$sk_y2[23]=1286
$yach_x1[23]=1462
$yach_y1[23]=1273
$yach_x2[23]=1501
$yach_y2[23]=1311
$sk_cl_x[23]=1492
$sk_cl_y[23]=1302
//------- Ячейка 24
$sk_x1[24]=1526
$sk_y1[24]=1286
$sk_x2[24]=1527
$sk_y2[24]=1286
$yach_x1[24]=1507
$yach_y1[24]=1273
$yach_x2[24]=1546
$yach_y2[24]=1311
$sk_cl_x[24]=1537
$sk_cl_y[24]=1302
//------- Ячейка 25
$sk_x1[25]=1029
$sk_y1[25]=1338
$sk_x2[25]=1030
$sk_y2[25]=1338
$yach_x1[25]=1010
$yach_y1[25]=1325
$yach_x2[25]=1049
$yach_y2[25]=1363
$sk_cl_x[25]=1040
$sk_cl_y[25]=1354
//------- Ячейка 26
$sk_x1[26]=1074
$sk_y1[26]=1338
$sk_x2[26]=1075
$sk_y2[26]=1338
$yach_x1[26]=1055
$yach_y1[26]=1325
$yach_x2[26]=1094
$yach_y2[26]=1363
$sk_cl_x[26]=1085
$sk_cl_y[26]=1354
//------- Ячейка 27
$sk_x1[27]=1119
$sk_y1[27]=1338
$sk_x2[27]=1120
$sk_y2[27]=1338
$yach_x1[27]=1100
$yach_y1[27]=1325
$yach_x2[27]=1139
$yach_y2[27]=1363
$sk_cl_x[27]=1130
$sk_cl_y[27]=1354
//------- Ячейка 28
$sk_x1[28]=1165
$sk_y1[28]=1338
$sk_x2[28]=1166
$sk_y2[28]=1338
$yach_x1[28]=1146
$yach_y1[28]=1325
$yach_x2[28]=1185
$yach_y2[28]=1363
$sk_cl_x[28]=1176
$sk_cl_y[28]=1354
//------- Ячейка 29
$sk_x1[29]=1210
$sk_y1[29]=1338
$sk_x2[29]=1211
$sk_y2[29]=1338
$yach_x1[29]=1191
$yach_y1[29]=1325
$yach_x2[29]=1230
$yach_y2[29]=1363
$sk_cl_x[29]=1221
$sk_cl_y[29]=1354
//------- Ячейка 30
$sk_x1[30]=1255
$sk_y1[30]=1338
$sk_x2[30]=1256
$sk_y2[30]=1338
$yach_x1[30]=1236
$yach_y1[30]=1325
$yach_x2[30]=1275
$yach_y2[30]=1363
$sk_cl_x[30]=1266
$sk_cl_y[30]=1354
//------- Ячейка 31
$sk_x1[31]=1300
$sk_y1[31]=1338
$sk_x2[31]=1301
$sk_y2[31]=1338
$yach_x1[31]=1281
$yach_y1[31]=1325
$yach_x2[31]=1320
$yach_y2[31]=1363
$sk_cl_x[31]=1311
$sk_cl_y[31]=1354
//------- Ячейка 32
$sk_x1[32]=1345
$sk_y1[32]=1338
$sk_x2[32]=1346
$sk_y2[32]=1338
$yach_x1[32]=1326
$yach_y1[32]=1325
$yach_x2[32]=1365
$yach_y2[32]=1363
$sk_cl_x[32]=1356
$sk_cl_y[32]=1354
//------- Ячейка 33
$sk_x1[33]=1390
$sk_y1[33]=1338
$sk_x2[33]=1391
$sk_y2[33]=1338
$yach_x1[33]=1371
$yach_y1[33]=1325
$yach_x2[33]=1410
$yach_y2[33]=1363
$sk_cl_x[33]=1401
$sk_cl_y[33]=1354
//------- Ячейка 34
$sk_x1[34]=1435
$sk_y1[34]=1338
$sk_x2[34]=1436
$sk_y2[34]=1338
$yach_x1[34]=1416
$yach_y1[34]=1325
$yach_x2[34]=1455
$yach_y2[34]=1363
$sk_cl_x[34]=1446
$sk_cl_y[34]=1354
//------- Ячейка 35
$sk_x1[35]=1481
$sk_y1[35]=1338
$sk_x2[35]=1482
$sk_y2[35]=1338
$yach_x1[35]=1462
$yach_y1[35]=1325
$yach_x2[35]=1501
$yach_y2[35]=1363
$sk_cl_x[35]=1492
$sk_cl_y[35]=1354
//------- Ячейка 36
$sk_x1[36]=1526
$sk_y1[36]=1338
$sk_x2[36]=1527
$sk_y2[36]=1338
$yach_x1[36]=1507
$yach_y1[36]=1325
$yach_x2[36]=1546
$yach_y2[36]=1363
$sk_cl_x[36]=1537
$sk_cl_y[36]=1354
//------- Ячейка 37
$sk_x1[37]=1029
$sk_y1[37]=1389
$sk_x2[37]=1030
$sk_y2[37]=1389
$yach_x1[37]=1010
$yach_y1[37]=1376
$yach_x2[37]=1049
$yach_y2[37]=1414
$sk_cl_x[37]=1040
$sk_cl_y[37]=1405
//------- Ячейка 38
$sk_x1[38]=1074
$sk_y1[38]=1389
$sk_x2[38]=1075
$sk_y2[38]=1389
$yach_x1[38]=1055
$yach_y1[38]=1376
$yach_x2[38]=1094
$yach_y2[38]=1414
$sk_cl_x[38]=1085
$sk_cl_y[38]=1405
//------- Ячейка 39
$sk_x1[39]=1119
$sk_y1[39]=1389
$sk_x2[39]=1120
$sk_y2[39]=1389
$yach_x1[39]=1100
$yach_y1[39]=1376
$yach_x2[39]=1139
$yach_y2[39]=1414
$sk_cl_x[39]=1130
$sk_cl_y[39]=1405
//------- Ячейка 40
$sk_x1[40]=1165
$sk_y1[40]=1389
$sk_x2[40]=1166
$sk_y2[40]=1389
$yach_x1[40]=1146
$yach_y1[40]=1376
$yach_x2[40]=1185
$yach_y2[40]=1414
$sk_cl_x[40]=1176
$sk_cl_y[40]=1405
//------- Ячейка 41
$sk_x1[41]=1210
$sk_y1[41]=1389
$sk_x2[41]=1211
$sk_y2[41]=1389
$yach_x1[41]=1191
$yach_y1[41]=1376
$yach_x2[41]=1230
$yach_y2[41]=1414
$sk_cl_x[41]=1221
$sk_cl_y[41]=1405
//------- Ячейка 42
$sk_x1[42]=1255
$sk_y1[42]=1389
$sk_x2[42]=1256
$sk_y2[42]=1389
$yach_x1[42]=1236
$yach_y1[42]=1376
$yach_x2[42]=1275
$yach_y2[42]=1414
$sk_cl_x[42]=1266
$sk_cl_y[42]=1405
//------- Ячейка 43
$sk_x1[43]=1300
$sk_y1[43]=1389
$sk_x2[43]=1301
$sk_y2[43]=1389
$yach_x1[43]=1281
$yach_y1[43]=1376
$yach_x2[43]=1320
$yach_y2[43]=1414
$sk_cl_x[43]=1311
$sk_cl_y[43]=1405
//------- Ячейка 44
$sk_x1[44]=1345
$sk_y1[44]=1389
$sk_x2[44]=1346
$sk_y2[44]=1389
$yach_x1[44]=1326
$yach_y1[44]=1376
$yach_x2[44]=1365
$yach_y2[44]=1414
$sk_cl_x[44]=1356
$sk_cl_y[44]=1405
//------- Ячейка 45
$sk_x1[45]=1390
$sk_y1[45]=1389
$sk_x2[45]=1391
$sk_y2[45]=1389
$yach_x1[45]=1371
$yach_y1[45]=1376
$yach_x2[45]=1410
$yach_y2[45]=1414
$sk_cl_x[45]=1401
$sk_cl_y[45]=1405
//------- Ячейка 46
$sk_x1[46]=1435
$sk_y1[46]=1389
$sk_x2[46]=1436
$sk_y2[46]=1389
$yach_x1[46]=1416
$yach_y1[46]=1376
$yach_x2[46]=1455
$yach_y2[46]=1414
$sk_cl_x[46]=1446
$sk_cl_y[46]=1405
//------- Ячейка 47
$sk_x1[47]=1481
$sk_y1[47]=1389
$sk_x2[47]=1482
$sk_y2[47]=1389
$yach_x1[47]=1462
$yach_y1[47]=1376
$yach_x2[47]=1501
$yach_y2[47]=1414
$sk_cl_x[47]=1492
$sk_cl_y[47]=1405
//------- Ячейка 48
$sk_x1[48]=1526
$sk_y1[48]=1389
$sk_x2[48]=1527
$sk_y2[48]=1389
$yach_x1[48]=1507
$yach_y1[48]=1376
$yach_x2[48]=1546
$yach_y2[48]=1414
$sk_cl_x[48]=1537
$sk_cl_y[48]=1405

Далее блок использования скилов:

Code: (clickermann) [Select]
FOR($a=1,$a<arrsize($name_skill)-1)
   $skill_name = $name_skill[$a]
   $sc_n = $num_yach[$a]
   $s_n = $a
   //==================================================
   IF($skill[$s_n] > 0) // Если скил подключен в настройках
      IF(($hp_bota >= $min_hp_bota[$s_n])&($hp_bota <= $max_hp_bota[$s_n])) // Если скил отвечает уровню ХП бота
         IF(($mp_bota >= $min_mp_bota[$s_n])&($mp_bota <= $max_mp_bota[$s_n])) // Если скил отвечает уровню МП бота
            IF($target_on[$s_n] > 0) // Если скил используется только при таргете
               IF(($target > 0)&($hp_target > 0)) // Если в таргете есть объект и цель жива
                  IF(($hp_target >= $min_hp_moba[$s_n])&($hp_target <= $max_hp_moba[$s_n])) // Если скил отвечает уровню ХП моба
                     IF(($target_distance <= $max_rasstoyanie[$s_n])&($target_distance >= $min_rasstoyanie[$s_n]))  // Если скил отвечает расстоянию до объекта в таргете
                       
                     else
                        $s_n = 0
                     END_IF
                  else
                     $s_n = 0
                  END_IF
               else
                  $s_n = 0
               END_IF
            else
               
            END_IF
         else
            $s_n = 0
         END_IF
      else
         $s_n = 0
      END_IF
   else
      $s_n = 0
   END_IF
   //==================================================
   IF($s_n > 0)
      GETSCREEN($yach_x1[$sc_n],$yach_y1[$sc_n], $yach_x2[$sc_n],$yach_y2[$sc_n])
      $count = PXLCRC ($sk_x1[$sc_n],$sk_y1[$sc_n], $sk_x2[$sc_n],$sk_y2[$sc_n])
     
      if (FExists(STRCONCAT("screens\skills\",$skill_name,"\",$count,".bmp")))
         WHILE(($_xmouse ! $sk_cl_x[$sc_n])|($_ymouse ! $sk_cl_y[$sc_n]))
            MOVE($sk_cl_x[$sc_n], $sk_cl_y[$sc_n])
            WAITMS(50)
         END_CYC
         LCLICK($sk_cl_x[$sc_n], $sk_cl_y[$sc_n])
         $a=999
      end_if
   END_IF
END_CYC
« Last Edit: March 25, 2020, 09:44:14 PM by Hito »
Я не ду... Потому и не бу...