Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Космич

Pages: 1 ... 11 12 [13] 14 15 ... 18
181
Скидывай код и напиши, что конкретно тебе нужно пропустить\перепрыгнуть

182
Я вчера немного перестарался  :D

Code: (clickermann) [Select]
#DEFINE \N: CHAR(13), CHAR(10)

$file_name = "file.txt"
$file_len  = TFCOUNT($file_name)

WHILE($count != $file_len)
   INC($count, 1)
   SWITCH(TFREAD($file_name, $count))
   CASE($k+1)
      IF($check = 0)
         INC($k, 1)
         $temp = $count
         $check = 1
      END_IF
   CASE("</1j-cut>")
      IF($check = 1)
         ARRPUSH($array_story, $temp +1)
         ARRPUSH($array_story, $count-1)
         $check = 0
      END_IF
   END_SWITCH
END_CYC

$size = ARRSIZE($array_story)/2
PRINT("ВСЕГО РАССКАЗОВ:", $size, \N)

FOR($i = 0, $i < $size)
   $str = STRCONCAT("Номер: ", $i+1, \N)
   FOR($k = $array_story[$i*2], $k < $array_story[$i*2+1]+1)
      $str = STRCONCAT($str, TFREAD($file_name, $k), \N)
   END_CYC
   PRINT($str)
END_CYC

HALT

183
Code: (clickermann) [Select]
$file_name = "file.txt"
$file_len  = TFCOUNT($file_name)

WHILE($count != $file_len)
   INC($k, 1)
   $check_out = 0
   FOR($i = $count + 1, $i < $file_len + 1 & $check_out = 0)
      INC($count, 1)
      IF(TFREAD($file_name, $i) = $k)
         FOR($j = $count + 1, $j < $file_len + 1 & $check_out = 0)
            INC($count, 1)
            IF(TFREAD($file_name, $j) = "</1j-cut>")
               ARRPUSH($array_story, $i+1)
               ARRPUSH($array_story, $j-1)
               $check_out = 1
            END_IF
         END_CYC
      END_IF
   END_CYC
END_CYC

$size = ARRSIZE($array_story)/2
PRINT("ВСЕГО РАССКАЗОВ:", $size)

FOR($i = 0, $i < $size)
   PRINT(CHAR(13), CHAR(10), "        Номер: ", $i+1)
   FOR($k = $array_story[$i*2], $k < $array_story[$i*2+1]+1)
      PRINT(TFREAD($file_name, $k))
   END_CYC
END_CYC

HALT

Code: () [Select]
1

Недолго проработала на Западе Алла Е., клюнувшая на газетное объявление
о наборе девушек в посудомойки. Каково же оказалось ее возмущение, когда
после пересечения границы у нее не отобрали, как это заведено, паспорт и
не продали ее в заграничный бордель, а действительно привезли в ресторан
и заставили мыть грязную посуду!

</1j-cut>

2

У евреев национальное блюдо - фаршированная рыба, у украинцев -
фаршированный перец, а у русских - фаршированный целлофан.
- А это как?
- А это сосиски.

</1j-cut>

3

- Дорогая, налей компота! Не видишь, что ли, как мне плохо?..
- Тебе какого компота, персикового или вишнёвого?
- О-гур-цо-во-го!

</1j-cut>

184
лучше вручную отступы выставить)

Code: (clickermann) [Select]
FOR($i = 0, $i < ARRSIZE($array_area), 2)
   PRINT($array_area[$i], ":", $array_area[$i+1])
END_CYC

PRINT("LEFT:  ", INT(($array_area[3*2+0]+$array_area[4*2+0])/2),     ":",  INT(($array_area[3*2+1]+$array_area[4*2+1])/2))

PRINT("CENTER:", $array_area[4*2+0], ":", $array_area[4*2+1])

PRINT("RIGHT: ", ROUND(($array_area[4*2+0]+$array_area[5*2+0])/2, 0), ":", ROUND(($array_area[4*2+1]+$array_area[5*2+1])/2, 0))
   
//13:39:05 LEFT:  129:129
//13:39:05 CENTER:148:148
//13:39:05 RIGHT: 167:167
             
HALT

185
вчера голова не варила, да и сейчас не особо, но решил все же попробовать помочь :D

Code: (clickermann) [Select]
// Хранение данных в массиве
$minimap_top    = 0
$minimap_left   = 0

$minimap_width  = 296
$minimap_height = 296

$size_x = INT( ($minimap_width  - $minimap_top)  / 8)
$size_y = INT( ($minimap_height - $minimap_left) / 8)

WHILE($cyc_count < 8+1)
   $array_area[$cyc_count*2]   = $minimap_top  + ($size_x*$cyc_count)
   $array_area[$cyc_count*2+1] = $minimap_left + ($size_y*$cyc_count)
   INC($cyc_count, 1)
END_CYC

// Вывод миникарты в лог

$horizontal_line = ""
$two = $horizontal_line
$cap = "      "
FOR($i = 0, $i < 9)
   $cap = STRCONCAT($cap, "   ")
   $horizontal_line = STRCONCAT($horizontal_line, "   ", $i, "    ", GETVAR("$two"))
   IF($i = 1)
      $two = " "
   END_IF
END_CYC
PRINT($cap,"[MINIMAP]")
PRINT($horizontal_line)

FOR($i = 0, $i < 9)
   $horizontal_line  = CHAR(0x41+$i)
   FOR($k = 0, $k < 9)
      $horizontal_line  = STRCONCAT($horizontal_line, "[",$array_area[$k * 2 + 0], ":", $array_area[$i * 2 + 1], "]")
      IF($i = 0)
         $horizontal_line = STRCONCAT($horizontal_line, "##")
      END_IF
      IF($i > 0 & $i < 3)
         $horizontal_line = STRCONCAT($horizontal_line,  "#")
      END_IF
   END_CYC
   PRINT($horizontal_line)
END_CYC

HALT

Code: (clickermann) [Select]
// Область поиска поделённая на 2 части в 1 конструкции через массив и доп цикл
IF($scan = 0)
   $x = 0
   $y = 0
   FOR($i = 0, ($i < 8 & $size = 0), 4)
      GETSCREEN (0, 0, $win_x, $win_y)
      SCANPXL($arr, $array_area[0*2+0], $array_area[$i*2+1], $array_area[8*2+0], $array_area[(4+$i)*2+1], 16230484)
      $size = ARRSIZE($arr)
      IF($size > 0)
         FOR($a = 0, $a < $size, 2)
            IF(DIST($arr[$a], $arr[$a+1], $array_area[4*2+0], $array_area[4*2+1]) < DIST($x, $y, $array_area[4*2+0], $array_area[4*2+1]))
               $x = $arr[$a]
               $y = $arr[$a+1]
            END_IF
         END_CYC
      END_IF
   END_CYC
   IF($size != 0)
      $base = 0
      $size = 0
      UNDEFINE($arr)
   ELSE
      $base = 1
   END_IF
END_IF

Я не знаю как ты передвигаешься в игре и как ты будешь передвигаться по такой матрице, но в теории так можно определить препятствие и при помощи алгоритма поиска пути обойти

Code: (clickermann) [Select]
// Заполняем область 5x5 нолями
FOR($i = 0, $i < 5*5)
   $arr[$i] = #FALSE
END_CYC

// Якобы результаты работы сканпикселя поиска препятствий на миникарте
$ARR_SCAN[0] = 3
$ARR_SCAN[1] = 1

// Перезаписываем 0  на 1 по координатам из массива $ARR_SCAN
FOR($i = 0, $i < ARRSIZE($ARR_SCAN), 2)
   $arr[$ARR_SCAN[$i+1]*5+$ARR_SCAN[$i]] = #TRUE
END_CYC

// Вывод результата в лог
PRINT(" 01234")
FOR($i = 0, $i < 5)
   $str = $i
   FOR($k = 0, $k < 5)
      $str = STRCONCAT($str, $arr[$i*5+$k])
   END_CYC
   PRINT($str)
END_CYC

// Результат

//10:54:19  01234
//10:54:19 000000
//10:54:19 100010
//10:54:19 200000
//10:54:19 300000
//10:54:19 400000

HALT

186
а где можно посмотреть на игру?

187
Общие вопросы / Re: Передвинуть экран
« on: February 23, 2019, 10:08:45 AM »
Отредактируй сообщение выложив код в теге clickermann

188
Code: (clickermann) [Select]
// В этом скрипте уже задано максимальное значение
#DEFINE MAX_PIXELS:30

GETSCREEN                       (0, 184, 0, 518)
$current_pixel_count = PXLCOUNT (0, 184, 0, 518, 3260259)

IF( ($current_pixel_count != #FALSE) & ($current_pixel_count < MAX_PIXELS) )
   IF( ( (MAX_PIXELS - $current_pixel_count) / $current_pixel_count) * 100 > 10)
      PRINT("Разность > 10%")
   END_IF
END_IF


Code: (clickermann) [Select]
// В этом скрипте без разницы, потому что значения сортируются по возрастанию
FOR($i = 0, $i < 2)
   GETSCREEN            (0, 184, 0, 518)
   $count[$i] = PXLCOUNT(0, 184, 0, 518, 3260259)
   WAIT(1)
END_CYC

IF( ($count[0] * $count[1] != 0) & ($count[0] - $count[1] != 0) )
   ARRSORT($count) // Сортировка значений по возрастанию
   IF( ( ($count[1] - $count[0]) / $count[0]) * 100 > 10)
      PRINT("Разность > 10%")
   END_IF
END_IF

Code: (clickermann) [Select]
// Вот еще какой то пример
FOR($i = $info_update, $i < 2)
   GETSCREEN            (0, 184, 0, 518)
   $count[$i] = PXLCOUNT(0, 184, 0, 518, 3260259)
   WAIT(1)
   $info_update = 1 // С этого момента обновляем только второе значение
END_CYC

IF($count[1] < $count[0])
   PRINT( ( ($count[0] - $count[1]) / $count[1]) * 100 > 10) // Вернёт 1 если больше 10% и 0 если меньше
END_IF

IF($count[1] > $count[0]) // Если второе значение больше первого, то обновляем начиная с первого значения
   $info_update = 0
END_IF

189
Общие вопросы / Re: Помогите со скриптом
« on: February 21, 2019, 05:57:47 AM »
Что начинает всё заново?

190
Code: (clickermann) [Select]
FOR($count = 100, $count < 1500, 100)
   // Комментарии в скрипте через правый слэш
   LCLICK(411,533)
   WAITMS(150)
   KEYSTRING($count, 150)
   WAITMS(150)
   LCLICK(890,300)
   WAITMS(150)
   LCLICK(417,593)
   WAIT(600)
END_CYC

191
Общие вопросы / Re: Не работает(((
« on: February 19, 2019, 10:43:29 AM »
Вырежи новую картинку по эталону и попробуй еще раз
З.Ы. А вообще, надо бы проверить все возможные параметры которые могут повлиять на картинку

192
Опиши задачу поэтапно без игровых заморочек

Code: (clickermann) [Select]
getscreen
if(pxl(645,45) != 4210752)
   wait(3)
   lclick(1385,990)
   waitms(50)
end_if

193
Общие вопросы / Re: Не работает(((
« on: February 18, 2019, 01:10:59 PM »
выкладывай уже скрипт, иначе не узнать в чём у тебя там проблема

195
Общие вопросы / Re: Выполнение шагов
« on: February 18, 2019, 08:14:46 AM »
Code: (clickermann) [Select]
INC($delay_time, 10)
IF($delay_time = 40)
   $delay_time = 20
END_IF
WAIT($delay_time*60)

Pages: 1 ... 11 12 [13] 14 15 ... 18