Author Topic: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)  (Read 302762 times)

0 Members and 12 Guests are viewing this topic.

Hito

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

Johnny

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

Hito

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

Johnny

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

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

Cockney

  • Зашел в гости
  • *
  • Posts: 9
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #574 on: March 21, 2019, 10:32:26 PM »
Quote
wchar_t* execute (data: wchar_t*);

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

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

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #575 on: March 22, 2019, 09:25:34 AM »
банально, если бы вы"тормознули" скрипт, то не увидели бы никогда комментариев, пустых строк и т.п. в вашем варианте. они просто вырезаются еще до стадии выполнения штатным препроцессором дабы увеличить быстродействие.

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

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #576 on: March 22, 2019, 06:31:33 PM »
Quote
wchar_t* execute (data: wchar_t*);

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

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

Johnny

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

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

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

Cockney

  • Зашел в гости
  • *
  • Posts: 9
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #578 on: March 22, 2019, 08:27:18 PM »

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

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

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #579 on: March 22, 2019, 10:07:29 PM »
все верно. я и говорю, поскольку "в редакторе" лежит скрипт до обработки препроцессором, то и посмотреть то, что получается после, у вас не получится. это начальный вариант. на выполнение идет код без комментариев и прочей шелухи. его никто не видит. стало быть шифрование возможно и никакое открытие в редакторе после ничего не даст.


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

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

Code: (clickermann) [Select]
// 29.11.2018
#preprocessor "comas.dll"


print("Hello"); print(", "); print("World!");

halt

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



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




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




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

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



Еще простой пример бесполезности:
Код делфи:
Code: (clickermann) [Select]
// Основное тело функции, идет на экспорт, вызывается из кликера
function execute( pText: PWideChar): PWideChar; export; stdcall;
var
 strbuf: String;
 wc_res: PWideChar;
begin
  // Пишем сразу готовый код
   strbuf :=  '#preprocessor "comas.dll"' + #13#10 +
    'LOGSHOW (1, 100, 100 )'+ #13#10 +
    'print("Тестовый текст")'+ #13#10 +
    'halt' ;

  // ShowMessage(strbuf);    //можно глянуть наш код
   wc_res := PWideChar(strbuf);

   result := wc_res;
end;

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

Code: (clickermann) [Select]
#preprocessor "comas.dll"
halt

Запускаю код кликермана:
А в нем уже сразу при запуске препроцессор всовывает код:
Code: (clickermann) [Select]
#preprocessor "comas.dll"
LOGSHOW (1, 100, 100 )
print("Тестовый текст")
halt


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





« Last Edit: March 22, 2019, 10:32:31 PM by dramster »

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #580 on: March 23, 2019, 01:18:57 PM »
Я вот как бы все это и пытаюсь объяснить )) Какой смысл - менять чего-то там в коде, если остановил кликер, открыл редактор и вот он тебе весь рабочий код...? )
Я не ду... Потому и не бу...

Rush

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #581 on: March 23, 2019, 03:12:57 PM »
А я бы хотел в новой версии увидеть полноценные настраиваемые горячие клавиши.

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

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

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

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #582 on: March 23, 2019, 03:29:01 PM »
код почти на 5 тыщь строк, зажимаем клавишу и ждем пока до этого куска кода дойдет очередь

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

Rush

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #583 on: March 23, 2019, 05:29:53 PM »
код почти на 5 тыщь строк, зажимаем клавишу и ждем пока до этого куска кода дойдет очередь

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

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

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

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #584 on: March 25, 2019, 02:13:46 PM »
Я допускаю, что мы с dramster что-то не понимаем, но все же хотелось бы понять - как избежать "обножения" кода, при выключении
Clickermann-а и открытии редактора скриптов...?
Я не ду... Потому и не бу...