Хранение данных в самом ZennoPoster. Возможно ли?

bambr32

Client
Регистрация
17.01.2020
Сообщения
33
Благодарностей
6
Баллы
8
Возможно, вопрос глупый, но ответа не нашел, в т.ч. и в вики, поэтому спрашиваю тут.
Вернее, вопросов несколько:


1. Есть необходимость хранить некое значение в самой зенке с возможностью ее изменения и сохранения в процессе работы скрипта.
То есть допустим, необходимо хранить текст "текст" в переменной onetext, чтобы уже при запуске у этой переменной уже было значение "текст". Также нужно, если есть такая необходимость, иметь возможность изменить его на "текст2", чтобы при следующем запуске значение переменной onetext равнялось "текст2".

Я так понял, для этого возможно использовать глобальную переменную. Но я нигде не нашел, возможно ли и если возможно, то как внести изменение в значение глобальной переменной?



2. В глобальной переменной используется "пространство имен", по умолчанию там стоит id моей зенки, что-то типа id-моей-зенки@zenno.club. Значит ли это, что если я сделаю например захочу кому-то передать этот кубик, а у того человека соответственно другой id зенки, то эта глобальная переменная там работать не будет?


3. Возможно ли как-то запретить запуск скрипта в многопотоке? Вроде как можно, но тоже нигде инфы не нашел.


Заранее спасибо!
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
1. нет. зенка это не хранилище данных. Данные должны храниться в определенных для этого местах, такие как файлы, списки, таблицы, базы данных и тому подобное.
глобальные переменные живут только пока работает зеннопостер или проджект. причем для этих программ они разные.
2. пространство имен может быть любым.
3. запретить кому ? пользователь сам решает сколько потоков ему надо запустить. разработчик в принципе может сопротивляться этому, но тут надо понимать как работать с многопотоком и как вести учет запущенных шаблонов. в принципе недавно появился метод в c# который сразу возвращает колличество потоков шаблона, так что тут стало легче.
 
  • Спасибо
Реакции: bambr32

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 115
Баллы
113
@bambr32 Можно хранить значения у переменных, предварительно записав их в в проекте в колонке "Значение по умолчанию".

88065

Также можно использовать для этой цели входные настройки проекта - сделать там текстовое поле и записывать туда нужные в данный момент данные.

88066

Многопоток можно запретить принудительным сбросом максим. кол-ва потоков внутри проекта с помощью C#-кода:
C#:
var id = Guid.Parse(project.TaskId);
ZennoPoster.SetMaxThreads(id, 1);
 
Последнее редактирование:
  • Спасибо
Реакции: bambr32

bambr32

Client
Регистрация
17.01.2020
Сообщения
33
Благодарностей
6
Баллы
8
Огромное спасибо!
К сожалению, хранить в значении по умолчанию мне не подходит, так как при следующем запуске оно будет другим. То есть например, при первом запуске оно "Текст 1", а при следующем уже должно быть "Текст 2". Или там как-то возможно изменение на ходу внести в значение по умолчанию?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 115
Баллы
113
Огромное спасибо!
К сожалению, хранить в значении по умолчанию мне не подходит, так как при следующем запуске оно будет другим. То есть например, при первом запуске оно "Текст 1", а при следующем уже должно быть "Текст 2". Или там как-то возможно изменение на ходу внести в значение по умолчанию?
Нет, значения по умолчанию - статичные.
Тогда остается обдумать вариант с входными настройками.
Но там придется каждый раз править перед запуском - вносить новое значение.

Как вариант, вы можете сделать во вх. настройках многострочное поле ввода и записывать в него многострочные данные, а в проекте этот массив строк преобразовывать в список и брать из него случайную строку для работы.
 
  • Спасибо
Реакции: bambr32

bambr32

Client
Регистрация
17.01.2020
Сообщения
33
Благодарностей
6
Баллы
8
глобальные переменные живут только пока работает зеннопостер или проджект. причем для этих программ они разные.
Тогда я этого понять не могу: http://joxi.ru/52aVByvUgjGlWA
Я создал глобальную переменную qweqwe и установил для нее значение 765. Сохранил проект, затем опять открыл проект. И в нем в глобальных переменных существует эта переменная qweqwe и значение у нее 765. Получается, что она по факту там хранится? И можно ли изменить ее значение на 123 например? Если в обработке текста попытаться сохранить в {-GlobalVariable.пространство-имен@zenno.club.qweqwe-}, то он предлагает создать переменную во вкладке "Свои переменные" с именем {-GlobalVariable.пространство-имен@zenno.club.qweqwe-} и туда сохранить. Но мне-то в глобальную сохранить нужно. Это возможно как-то сделать?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Тогда я этого понять не могу: http://joxi.ru/52aVByvUgjGlWA
Я создал глобальную переменную qweqwe и установил для нее значение 765. Сохранил проект, затем опять открыл проект. И в нем в глобальных переменных существует эта переменная qweqwe и значение у нее 765. Получается, что она по факту там хранится? И можно ли изменить ее значение на 123 например? Если в обработке текста попытаться сохранить в {-GlobalVariable.пространство-имен@zenno.club.qweqwe-}, то он предлагает создать переменную во вкладке "Свои переменные" с именем {-GlobalVariable.пространство-имен@zenno.club.qweqwe-} и туда сохранить. Но мне-то в глобальную сохранить нужно. Это возможно как-то сделать?
глобальные переменные не подходят для указанных задач. стоит закрыть программу и глобалки уничтожаются. и они общие для всех потоков. плохая идея начинать с глобалок, даже не разобравшишь с азами программы.
тут надо таблицу или БД. на крайняк ini файл. и прокидывать из таблицы в переменные нужные строки. по окончании работы шаблона, сохранять в таблицу данные.
 
  • Спасибо
Реакции: bambr32

bambr32

Client
Регистрация
17.01.2020
Сообщения
33
Благодарностей
6
Баллы
8
глобальные переменные не подходят для указанных задач. стоит закрыть программу и глобалки уничтожаются. и они общие для всех потоков. плохая идея начинать с глобалок, даже не разобравшишь с азами программы.
тут надо таблицу или БД. на крайняк ini файл. и прокидывать из таблицы в переменные нужные строки. по окончании работы шаблона, сохранять в таблицу данные.
Да с азами я более-менее разобрался, даже пару скриптов сделал. Но тут именно возникла необходимость хранить пару переменных так, чтобы их в принципе нельзя было извне посмотреть. Ни txt ни какой-то другой вариант этой проблемы естественно не решают. Поэтому и подумал, что раз зенку не взломать, то было бы здОрово эти данные как раз там хранить. Жаль, что это невозможно. Ну ок, буду какой-то другой вариант думать. В любом случае спасибо за разъяснение!
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Да с азами я более-менее разобрался, даже пару скриптов сделал. Но тут именно возникла необходимость хранить пару переменных так, чтобы их в принципе нельзя было извне посмотреть. Ни txt ни какой-то другой вариант этой проблемы естественно не решают. Поэтому и подумал, что раз зенку не взломать, то было бы здОрово эти данные как раз там хранить. Жаль, что это невозможно. Ну ок, буду какой-то другой вариант думать. В любом случае спасибо за разъяснение!
взломать можно что угодно. шаблоны может и не получится запускать, но вскрыть вскроют при желании. уверен что и память зенка не защищает , поэтому проанализировать данные, так сказать на лету смогут.
Весь вопрос в целесообразности взлома. а вообще обычный криптоключ с солью, шифрует файл достаточно, что бы отсеять 90% школоты, любящей подсматривать за чужими данными ;-)
 
  • Спасибо
Реакции: bambr32

JurgenZolle

Client
Регистрация
19.09.2018
Сообщения
135
Благодарностей
20
Баллы
18
хранить переменные в профиле как вариант не подходит?
 
  • Спасибо
Реакции: CmauJluk

radv

Client
Регистрация
11.05.2015
Сообщения
3 788
Благодарностей
1 952
Баллы
113
хранить пару переменных так, чтобы их в принципе нельзя было извне посмотреть. Ни txt ни какой-то другой вариант этой проблемы естественно не решают. Поэтому и подумал, что раз зенку не взломать, то было бы здОрово эти данные как раз там хранить
Если используете данные, которые генерируются по какому то алгоритму, то перенесите этот алгоритм в саму зенку. Или например можно в файлах/базе данных и т.п. хранить зашифрованные данные, а расшифровывать их внутри зенки.
 
  • Спасибо
Реакции: bambr32

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
В списке 100к+ строк пробовал сохранить, экшен обработка текста и в список, и выходные настройки не загружаются, 20к можно попробовать сохранить, если выходные настройки не загрузятся, то много строк.
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Для таких целей придумали файлы, базы данных и реестр. У всего есть свои плюсы и минусы
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)