Автор Тема: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)  (Прочитано 96667 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Hito

  • Герой форума
  • *****
  • Сообщений: 912
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #570 : Март 21, 2019, 10:57:19 am »
С DLL все понятно. Есть шаблон, есть процедуры которых нет в КМ - все что нужно пихай внутрь, на выходе или действие или число (еще лучше было бы если на выходе массив с заданным именем).
Я не понимаю... Ну, разделила длл строку на строки... Для чего это надо-то...? В чем это может пригодиться?
Я не ду... Потому и не бу...

Johnny

  • Создатель
  • Герой форума
  • *
  • Сообщений: 588
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #571 : Март 21, 2019, 12:21:03 pm »
Видимо пример надо было посложнее придумать)) Вообще это чисто для тех кто захочет поиграться с синтаксисом. Но как побочная возможность - спрятать код. Причем способов масса.
Тут вон чувак давеча менял области памяти кликера чтоб colormode свой слабать. Вот таким парням это и будет занятной игрушкой.

Hito

  • Герой форума
  • *****
  • Сообщений: 912
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #572 : Март 21, 2019, 03:31:01 pm »
Но как побочная возможность - спрятать код.
Вот это мне и не понятно... ну, предположим, что в коде я все поменял местами, а длл, при запуске скрипта, все расставляет на свои места... Тормознул скрипт после запуска, открыл редактор и вот тебе весь рабочий код... В чем фишка...? Я не умоляю того, что вы что-то придумали путевое, но я пока понять не могу...
Я не ду... Потому и не бу...

Johnny

  • Создатель
  • Герой форума
  • *
  • Сообщений: 588
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #573 : Март 21, 2019, 09:28:26 pm »
Но как побочная возможность - спрятать код.
Тормознул скрипт после запуска, открыл редактор и вот тебе весь рабочий код...
нет. как уже не раз упоминалось, даже в более ранних версиях скрипт "в редакторе" и скрипт "в памяти" отличаются. банально, если бы вы"тормознули" скрипт, то не увидели бы никогда комментариев, пустых строк и т.п. в вашем варианте. они просто вырезаются еще до стадии выполнения штатным препроцессором дабы увеличить быстродействие. не говоря уже об остальных преобразованиях.

это правда вопрос понимания)) пожалуй стоит подождать примеров достойных, или пока я сам что нибудь напишу

Cockney

  • Зашел в гости
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #574 : Март 21, 2019, 10:32:26 pm »
Цитировать
wchar_t* execute (data: wchar_t*);

Цитировать
Сама строка символов представлена в формате UTF-8, а значит каждый символ кодируется двумя байтами.

UTF-8 или все таки UTF-16 ? UTF-8 расширяем до 4 байт же.

Hito

  • Герой форума
  • *****
  • Сообщений: 912
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #575 : Март 22, 2019, 09:25:34 am »
банально, если бы вы"тормознули" скрипт, то не увидели бы никогда комментариев, пустых строк и т.п. в вашем варианте. они просто вырезаются еще до стадии выполнения штатным препроцессором дабы увеличить быстродействие.

Не понимаю... - https://www.youtube.com/watch?v=VMdtMROhwPo&feature=youtu.be
Я не ду... Потому и не бу...

Johnny

  • Создатель
  • Герой форума
  • *
  • Сообщений: 588
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #576 : Март 22, 2019, 06:31:33 pm »
Цитировать
wchar_t* execute (data: wchar_t*);

Цитировать
Сама строка символов представлена в формате UTF-8, а значит каждый символ кодируется двумя байтами.

UTF-8 или все таки UTF-16 ? UTF-8 расширяем до 4 байт же.
Над формулировками, конечно, подумать стоит, равно как и подтянуть собственные знания.
Но wchar в винде это фиксированно 2 байта. В ядре кликера соответственно тоже используется такой размер. Стало быть пляшем от того.
Да и не думаю, что кому то потребуются расширенния. Вообще, так бы и сидели на однобайтовом ASCII, если б не всякие нелокализованные виндовсы и прочие редко возникающие нюансы.

Johnny

  • Создатель
  • Герой форума
  • *
  • Сообщений: 588
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #577 : Март 22, 2019, 06:38:24 pm »
банально, если бы вы"тормознули" скрипт, то не увидели бы никогда комментариев, пустых строк и т.п. в вашем варианте. они просто вырезаются еще до стадии выполнения штатным препроцессором дабы увеличить быстродействие.

Не понимаю... - https://www.youtube.com/watch?v=VMdtMROhwPo&feature=youtu.be
все верно. я и говорю, поскольку "в редакторе" лежит скрипт до обработки препроцессором, то и посмотреть то, что получается после, у вас не получится. это начальный вариант. на выполнение идет код без комментариев и прочей шелухи. его никто не видит. стало быть шифрование возможно и никакое открытие в редакторе после ничего не даст.

блин, надеюсь найдется кто-то более умелый в объяснениях)) или тупо сам напишу если будет время примитивнейший пример такого плана.

Cockney

  • Зашел в гости
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #578 : Март 22, 2019, 08:27:18 pm »

Над формулировками, конечно, подумать стоит, равно как и подтянуть собственные знания.
Но wchar в винде это фиксированно 2 байта. В ядре кликера соответственно тоже используется такой размер. Стало быть пляшем от того.
Да и не думаю, что кому то потребуются расширенния. Вообще, так бы и сидели на однобайтовом ASCII, если б не всякие нелокализованные виндовсы и прочие редко возникающие нюансы.

Вопрос не в том сколько потребуется, а в способе обработки. Если в UTF-16 можно брать символ по индексу, то в UTF-8 уже придется бегать итератором. Это все, конечно, лирика, но лучше такое указывать. Как и порядок байт LE или BE (для win - LE, но опять же, для определенности).

dramster

  • Герой форума
  • *****
  • Сообщений: 956
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #579 : Март 22, 2019, 10:07:29 pm »
все верно. я и говорю, поскольку "в редакторе" лежит скрипт до обработки препроцессором, то и посмотреть то, что получается после, у вас не получится. это начальный вариант. на выполнение идет код без комментариев и прочей шелухи. его никто не видит. стало быть шифрование возможно и никакое открытие в редакторе после ничего не даст.


 >:( А вот и не правда, не работает задуманное тобой  :(.

Вот качаю я твой пример из последней беты. смотрю код cms

Код: Clickermann
  1. // 29.11.2018
  2. #preprocessor "comas.dll"
  3.  
  4.  
  5. print("Hello"); print(", "); print("World!");
  6.  
  7. halt
  8.  

Запускаю этот код этой же последней версией, жму "плей", и чудо, в логе у нас все сработало не так как записано в коде, со всякими там точками с запятыми... ;D
Открываю редактор, и что же я там вижу:



А вижу я то, что препроцессор исправил код в верный вид и вписал его в редактор, и все могут посмотреть как должно быть.




А я то думал... должно быть так, я пишу какойто код к примеру в делфи, где присваиваю переменнолй текст кода, который сможет прочесть кликерман. И при запуске препроцессора с этой длл, этот код кликермана встроится в память кликермана, и не появится в редакторе. Судя по справке и вашему обсуждению так оно и должно было быть  :(.




Я кстати потратил с час гдето, чтообы вписать (понять как) в длл простенький код кликермана. И этот код действительно телепортируется в кликерман, и работает. Но только в последний момент я заметил, что этот весь код перекидывается именно в редактор, а ни куда то там в память проги  :(.

А были надежды на написания "пользовательских" функций и еще чего, но пока в этом препроцессоре я смысла вообще не вижу  :(



Еще простой пример бесполезности:
Код делфи:
Код: Clickermann
  1. // Основное тело функции, идет на экспорт, вызывается из кликера
  2. function execute( pText: PWideChar): PWideChar; export; stdcall;
  3. var
  4. strbuf: String;
  5. wc_res: PWideChar;
  6. begin
  7.  // Пишем сразу готовый код
  8.   strbuf :=  '#preprocessor "comas.dll"' + #13#10 +
  9.    'LOGSHOW (1, 100, 100 )'+ #13#10 +
  10.    'print("Тестовый текст")'+ #13#10 +
  11.    'halt' ;
  12.  
  13.  // ShowMessage(strbuf);    //можно глянуть наш код
  14.   wc_res := PWideChar(strbuf);
  15.  
  16.   result := wc_res;
  17. end;

Код кликермана:

Код: Clickermann
  1. #preprocessor "comas.dll"
  2. halt

Запускаю код кликермана:
А в нем уже сразу при запуске препроцессор всовывает код:
Код: Clickermann
  1. #preprocessor "comas.dll"
  2. LOGSHOW (1, 100, 100 )
  3. print("Тестовый текст")
  4. halt


Либо я все совсем не так понял, либо я даже не знаю что и думать :-[





« Последнее редактирование: Март 22, 2019, 10:32:31 pm от dramster »

Hito

  • Герой форума
  • *****
  • Сообщений: 912
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #580 : Март 23, 2019, 01:18:57 pm »
Я вот как бы все это и пытаюсь объяснить )) Какой смысл - менять чего-то там в коде, если остановил кликер, открыл редактор и вот он тебе весь рабочий код...? )
Я не ду... Потому и не бу...

Rush

  • Зашел в гости
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #581 : Март 23, 2019, 03:12:57 pm »
А я бы хотел в новой версии увидеть полноценные настраиваемые горячие клавиши.

К как реализуется сейчас: в коде прописано условие "если такая то клавиша нажата, то надо че то выполнить", код почти на 5 тыщь строк, зажимаем клавишу и ждем пока до этого куска кода дойдет очередь.

Как хотелось бы: примерная реализация кнопки остановки скрипта, т.е. назначил клавишу, нажал на нее, скрипт "встал на паузу" (условно говоря) выполнилась часть кода по условию и скрипт продолжился дальше.

Возможно ли это как то реализовать?
 

Hito

  • Герой форума
  • *****
  • Сообщений: 912
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #582 : Март 23, 2019, 03:29:01 pm »
код почти на 5 тыщь строк, зажимаем клавишу и ждем пока до этого куска кода дойдет очередь

Пффф... Я ничего не жду. Вывел горячие клавиши в отдельный поток и оперируешь в нем переменными, а основное тело скрипта уже отталкивается от этих переменных.
Я не ду... Потому и не бу...

Rush

  • Зашел в гости
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #583 : Март 23, 2019, 05:29:53 pm »
код почти на 5 тыщь строк, зажимаем клавишу и ждем пока до этого куска кода дойдет очередь

Пффф... Я ничего не жду. Вывел горячие клавиши в отдельный поток и оперируешь в нем переменными, а основное тело скрипта уже отталкивается от этих переменных.
А вот это интересно, сейчас попробую :)

Задумка не плохая, в потоке ставится флаг что кнопка нажата, а в основном скрипте когда доходит до нужного места автоматом выполняется кусок скрипта.

Если в потоке запустить радиобокс то и он открывается и скрипт продолжает жать кнопки )))
« Последнее редактирование: Март 23, 2019, 07:06:37 pm от Rush »

Hito

  • Герой форума
  • *****
  • Сообщений: 912
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #584 : Март 25, 2019, 02:13:46 pm »
Я допускаю, что мы с dramster что-то не понимаем, но все же хотелось бы понять - как избежать "обножения" кода, при выключении
Clickermann-а и открытии редактора скриптов...?
Я не ду... Потому и не бу...