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 - VGK

Pages: [1] 2 3
1
Очень просто весь текст перевести в строку Notepad ++
Опция заменить
Режим поиска - Регулярные выражения
Поле Найти:  -  \r\n
Поле заменить на:  - любой символ (Вам наверно лучще пробел)
И жмём Заменить все
 :)

2
Общие вопросы / Re: Зависает кликер.
« on: December 20, 2017, 09:27:32 AM »
Хоть версию кликера и операционки скажи

3
1. Зачем привязывать если без привязки к окну все работает идеально ?
2  В свёрнутом окне конечно не работает, работает если окно открыто но находится под другим активным окном, полностью либо частично.
Например, браузер открыт на весь экран и ты в нем сёрфишь, а под ним окно игры в котором выполняется сценарий.

4
Спасибо
По поводу:
2. Некорректно работает режим жирного шрифта ($w_flag = 110), где ошибка ?
Извините, не правильно сформулировал, правильно:
Работает отлично !
Единственное - не полностью отображаются в окне длинные пункты при выборе жирного шрифта ($w_flag = 110)
Кстати у Вас на картинках тоже так
Еще раз спасибо, и обычный шрифт подходит, не будем тратить больше на это время.

5
Как раз я и ничего не прятал
Вопрос задан в теме, где Window.cms от Vint обсуждается
И ответить на вопрос, очевидно, сможет только автор темы.

6
Есть необходимость выбора элементов из большого списка.
Написал сценарий. Он выводит большой список элеменов с чекбоксами на экран по 10 штук, до последнего, записывает состоние чекбоксов, создает список выбранных.
1. Может я перемудрил и можно сценарий упростить ?
2. Некорректно работает режим жирного шрифта ($w_flag = 110), где ошибка ?
Code: (clickermann) [Select]
#include "Window.cms"
//==============================================================================
//LOGCLEAR
$input_file = "Buildings.txt"           // Исходные данные - большой список
$output_file = "Buildings_selected.txt" // Результат - список выбранных
TFREADARR($input_file, $items_all)
TFREADARR("item_flags_all.txt", $itemsflags_all)
TFCLEAR ("item_flags_all.txt", 1)
IF(ARRSIZE($itemsflags_all) < ARRSIZE($items_all))
   FOR($i = ARRSIZE($itemsflags_all) , $i < ARRSIZE($items_all))
      ARRPUSH($itemsflags_all, 0)
   END_CYC
END_IF
//##############################################################################
//Вывод текста на экран по 10 строк с чекбоксами
FOR($a, $a < INT ((ARRSIZE($items_all) / 10)+1))
   $n = $check * 10
   FOR($i = $n, (($i < $n+10) AND ($i < ARRSIZE($items_all)))
      ARRPUSH($items, $items_all[$i])
      ARRPUSH($itemsflags, $itemsflags_all[$i])
   END_CYC
   Window_checkbox_flags(110, "Выберите пункты :", 35)
//   Window_checkbox_flags(110, "Выберите пункты :", 35) //жирным шрифтом текст не помещается ?
   STRSEPARATE ($flags, ",", $item_flags)
   STRSEPARATE($text, "|", $selecteditems)
   $flags = $item_flags[0]
   FOR($i=0, $i < ARRSIZE($item_flags))
      $flags = STRCONCAT($flags, ",", $item_flags[$i])
      IF($item_flags[$i] = 1)                       // Запись выбранных в массив
         ARRPUSH($Selected, $selecteditems[$i])
      END_IF
   END_CYC
//==============================================================================
//  Подговка ответа
   IF(ARRSIZE($Selected) > 0)
      $otv = $Selected[0]
      FOR($i=1, $i < ARRSIZE($Selected))
         $otv = STRCONCAT($otv, "\n", $Selected[$i])
      END_CYC
      $text = STRCONCAT("Выбраны пункты:\n\n", $otv)
      IF($return = -1)
         $hint = "Состояние чекбоксов не изменено"
         HINTPOPUP($hint, "ВНИМАНИЕ")
      END_IF
   ELSE
      $text = "Вы ничего не выбрали"
   END_IF
//==============================================================================
   TFWRITEARR ($output_file, $Selected) // Запись списка выбранных
   UNDEFINE($items)
   UNDEFINE($itemsflags)
   UNDEFINE($Selected)
   INC($check)  // следующие 10 строк
END_CYC
//##############################################################################
TFWRITEARR ("item_flags_all.txt", $item_flags) // запись состояния чекбоксов
//==============================================================================
//  Вывод списка выбранных на экран
Window_2(64, "", 10)
HALT

7
Согласен это осталось случайно, было до того как посоветовали Setvar
убрал

8
Всем спасибо за помощь. В итоге получилось, как часики работает. Видео прилагается.
В очередной раз убедился в том, что самое главное, правильно формулировать вопрос на форуме.
Но несмотря ни на что мне реально помогли.
А что мне было нужно ?
Очень прсто, игра Hay Day.
Из списка, в котором полторы сотни продуктов, были предварительно выбраны те, которые надо изготовить
(в примере несколько штук - Хлеб, Сыр ... файл Products.txt).
Их необходимо изготовить последовательно.
У всех принцип изготовления одинаков - подпрограмма make (в примере для проверки просто print), одно отличие - разное время изготовления.
Итого:
Пирамидку из колец пособирал, другие советы тоже учёл.
Как теперь всё работает:
Объявляем в Include переменные $time_Product для всех продуктов ($time_Bread, $time_Cheese, ... и т. д.)
Для каждого продукта берем время его время изготовления $times_work из Products.ini.
Запусквются подпрограмма для следующего продукта с соответсвующим счётчиком.
За время изготовления продукта с самым большим $times_work остальные будут сделаны по несколько раз.
Ещё раз всем спасибо за помощь.
ПС. Потоки для данной задачи не подходят и извините, в посте букв больше чем в сценарии.

Code: (clickermann) [Select]
#include "Define_Time_Product.cms"

SUB(make)
   print ($Product)
END_SUB

SUB(mysub)
   IF(GETVAR(STRCONCAT("$time_",$Product)) < $_time_t)
      make ()
      SETVAR(STRCONCAT("$time_",$Product), $_time_t + $times_work)
   END_IF
END_SUB
//=============================================

UNDEFINE($Products)
TFREADARR("Products.txt", $Products)
FOR($i=0, $i < ARRSIZE($Products))
   $Product = $Products[$i]
   $str = INIREAD("Products.ini", $Product)
   STRSEPARATE($str, ";", $Time)
   $times_work = $Time[3]
   UNDEFINE($Time)
   mysub()
   WAIT (1)
END_CYC

9
Задача
Есть однотипныe процессы отличающихся только временем выполнения
Есть небходимость выбирать каждыйраз разные и запускать на выполнение
Я выбираю их в файл Products.txt и далее смотрите код
Для пары процессов годится и то что я написал, а что делать если их порядка сотни ? (запускаются последовательно)
Code: (clickermann) [Select]
SUB(make)
   print ($Product)
END_SUB

SUB(mysub)
   IF ($Product = "Bread")
      IF($time_Bread < $_time_t)
         make ()
         $time_Bread = $_time_t + $t_Bread
      END_IF
      wait (1)
   END_IF
   
   IF ($Product = "Cheese")
      IF($time_Cheese < $_time_t)
         make ()
         $time_Cheese = $_time_t + $t_Cheese
      END_IF
      wait (1)
   END_IF
END_SUB

//---------------------------------------------
TFREADARR("Products.txt", $Products)
$t_Bread = 1    //  Эти парметры тут указаны для примера,их значения записаны в
$t_Cheese = 5   //  соответстующей строке ini-файла, типа Хлеб=Пекарня;1;1;240
//  Хлеб делается в Пекарне 240 секунд ($t_Product = 240)

FOR($i=0, $i < ARRSIZE($Products))
   $Product = $Products[$i]
   mysub()
END_CYC

10
Спасибо, отлично
а фразу
Параметр flag может быть комбинацией следующих значений
лучше заменить на типа такую
Если необходима комбинация параметров то флаг должен быть равен сумме десятичных значений ... :)


11
Не могу разобраться с окошками, кнопками и иконками
Вы пишете
Параметр flag может быть комбинацией следующих значений:

десятичное значение      Отображаемые кнопки                     0x
                 0              Кнопка OK                               0x0
 ....
                 4              Кнопки Да и Нет                         0x4
                5              Кнопки Повтор и Отмена                  0x5
         6              Кнопки Отмена, Повторить, Продолжить    0x6
   
десятичное значение      Отображаемая иконка                     0x
     0              (Нет) 
...
а при флаге 4160 окно с кнопкой ОК и иконкой ИНФО
как это скомбинировано ?
не могу сделать окно с иконкой ИНФО и тремя кнопками
Отмена, Повторить, Продолжить

12
Общие вопросы / Re: Вопрос по массивам
« on: April 28, 2017, 07:39:12 PM »
с библиотекой - БОМБА
снимаю шляпу
единственное что я для себя изменил у себя строку
LOGWRITE ("Прошло 10 секунд - выбор не сделан, или окно закрыто принудительно")
 :)

13
Общие вопросы / Re: Вопрос по массивам
« on: April 28, 2017, 04:06:55 PM »
Спасибо, буду с библиотекой разбираться, но после праздников, вечером уезжаю
И два вопроса
АВАСТ ругнулся, не важно ?
и главное
если я захочу поделиться сценарием на форуме игры, как мне с Вашей библиотекой поступать, Вы не против ее распространения ?

14
Общие вопросы / Re: Вопрос по массивам
« on: April 28, 2017, 03:35:30 PM »
Да ...
нет предела совершенству
Всего одна строка !

15
Общие вопросы / Re: Вопрос по массивам
« on: April 28, 2017, 03:14:27 PM »
как это можно сделать для массивов произвольного размера ?

Pages: [1] 2 3