Автокликер Clickermann :: Форум
Основной раздел => Ошибки => Topic started by: Hito on March 07, 2022, 11:31:38 AM
-
Некоторая программа создает файл - Chat.log, с которым мне нужно, чтобы работал кликер, но если этот файл создает программа, то кликер в нем не видит строк. Если же я кликером создаю этот файл и потом подменяю им созданный программой, то в этом файле программа прописывает какие-то кракозябры, вместо лога.
Пробовал так...
FCopy("Chat.log", "Chat.txt")
LOGWRITE (TFREAD ("Chat.txt", 1))
HALT
И так получается, но только первый раз, так как для последующих разов приходится удалять предыдущий Chat.txt, а после его удаления кликером, с новым работать не возможно.
Ни у кого нет идей?
-
Магическое слово - "кодировка"? Нет, не слышал! :o
-
Магическое слово - "кодировка"? Нет, не слышал! :o
Упс... У нас эти функции Clickerman поддерживает...?
-
Магическое слово - "кодировка"? Нет, не слышал! :o
Ну, ты крякнул - продолжай... У нас Clickerman, при чтении файлов, поддерживает разновидность кодировки, или что? Каким образом то, что ты сказал, применить к моему вопросу?
-
А кто ты такой, чтоб понукать?
А что, ты за птица такая, что слова человека, который подарил тебе идею и сделал это по твоей-же просьбе, кряканьем обзывать?
Если способ применения тебе не понятен, то это не повод для оскорблений, а повод задуматься над наличием у тебя достаточного для понимания интеллекта, отличающего людей от животных.
-
А кто ты такой, чтоб понукать?
А кто ты такой, чтоб выеживаться, "напоминая" мне о кодировке, делая вид, что я о ней никогда и не знал...?
А что, ты за птица такая, что слова человека, который подарил тебе идею и сделал это по твоей-же просьбе, кряканьем обзывать?
Что дает твоя "идея"? Она добавляет в кликер возможность смены кодировки? Выступил с тупым предположением, что я о кодировке никогда не слышал, и называешь это идеей...
Если способ применения тебе не понятен, то это не повод для оскорблений, а повод задуматься над наличием у тебя достаточного для понимания интеллекта, отличающего людей от животных.
Даже если у Clickerman-а есть возможность - менять кодировку, но способ мне непонятен... Чудик, ты этим вопросом измеряешь интеллект человека и отличаешь от животных...? ))) Ну... Что я могу сказать... Это уже что-то говорит о ТВОЕМ интеллекте... По твоим меркам Адам был животным из животных...
-
Специально посмотрел сообщения на форуме с аккаунта Hito.
Оказывается, что он официальный гомосексуалист и не сильно здесь скрывает свои отклонения.
Я конечно всё понимаю, времена меняются, но народ должны-же быть какие-то рамки, специальные места знакомств и общения для таких, как Hito.
Почему обычные люди должны на официальном форуме "Clickermann", получать оскорбления без всяких на то причин, просто по тому, что не могут ответить этому быдлу на его пидористические издевательства?
-
Во первых...
Почему обычные люди должны на официальном форуме "Clickermann", получать оскорбления без всяких на то причин, просто по тому, что не могут ответить этому быдлу на его пидористические издевательства?
Оскорбления ты получил не потому, что не можешь ответить (на данный момент 49 просмотров этой темы и я никого не оскорбил только за то, что он не смог ответить), а за то, что отвечаешь шляпу всякую, еще и с подтекстом, что я идиот...
Далее вообще с тобой нет никакого желания общаться. Педерасту мерещится, что он общается с педерастом. Все, что я могу сказать...
-
Магическое слово - "кодировка"? Нет, не слышал! :o
Упс... У нас эти функции Clickerman поддерживает...?
Кликерман не умеет работать с кодировками. И код программы и текстовые файлы поддерживаются только в кодировке UTF-8 BOM. В старых версиях кодировка была cp1251.
А та программа, что пишет лог, умеет писать его в другой кодировке? Предполагаю, что нет. Счёт 1:1 :)
Или копируй файл и перекодируй его в UTF-8.
-
А та программа что пишет лог умеет писать его в другой кодировке?
Ну, выходит, что так...
Или копируй файл и перекодируй его в UTF-8.
Так писал же выше - "Если же я кликером создаю этот файл и потом подменяю им созданный программой, то в этом файле программа прописывает какие-то кракозябры, вместо лога."
Вот такую хрень - ����� ������ ������������ ��������� ������ � ��������.
Вот здесь вот - https://www.artlebedev.ru/decoder/ (https://www.artlebedev.ru/decoder/), пишет, что кодировка текста в каком-то EUC-KR...
-
Так писал же выше - "Если же я кликером создаю этот файл и потом подменяю им созданный программой, то в этом файле программа прописывает какие-то кракозябры, вместо лога."
Ну правильно, так делать нельзя. Кликер создаёт txt и пишет туда в кодировке UTF-8. Та программа пишет в другой кодировке. Если в той проге есть настройка кодировки логов - переключи. Если нет, то только вариант перекодировать сторонними консольными утилитами. Если и программа и кликер должны писать одновременно, то ничего не выйдет.
-
Ну, понятно в общем... Идей нет...
-
Вообще, идея есть. Только пк под рукой нету чтоб глянуть как это будет, и что там за кодировка.
В 4.14 есть функция чтения файлов побайтово, типа readdata или типа того. Смотрим по таблице кодировки какие там буквы цифры, сколько байт на символ. Дальше математика, и char(code). Работать должно шустро. Завтра гляну если скинешь файл лога.
-
Вообще, идея есть. Только пк под рукой нету чтоб глянуть как это будет, и что там за кодировка.
В 4.14 есть функция чтения файлов побайтово, типа readdata или типа того. Смотрим по таблице кодировки какие там буквы цифры, сколько байт на символ. Дальше математика, и char(code). Работать должно шустро. Завтра гляну если скинешь файл лога.
Даже интересно стало - сейчас сам гляну )) Я забыл про эту балалайку...))
-
Не вариант похоже...
Вот такой скрипт:
FREADDATA ("Chat.log", $arr)
FOR($a=0,$a<ARRSIZE($arr))
$str = STRCONCAT($str,CHAR($arr[$a]))
END_CYC
LOGWRITE ($str)
HALT
Дает результат - 02022.03.09 18:33:38 : [3.Ïîèñê ãðóïïû] [charname:Chyam;1.0000 0.6941 0.6941]: [cmd:Chyam;ZKKrYVse03w0BGgFwrxdmHM8mJ4McGu/Dild8UE4YD0=]SWB PVE FFA? HEALS / DPS / SINWAY R2G
Вот где цифры, или латинские буквы, там норм. Но вот это вот - [3.Ïîèñê ãðóïïû], это на самом деле - [3.Поиск группы]
-
Вобщем я хз - как так получилось, но сейчас кликер может читать этот файл лога, но стоит ему, либо добавить какую-то строку в этот файл, либо удалить из него какую-то строку и игра начинает записывать в этот файл кракозябры. Я так понимаю, что для удаления строк, или для записи их в файл, кликеру нужно открыть его и потом сохранить. И сохроняет он его уже в своей кодировке. Что с этим делать - я хз...
-
В общем вот два файла лога. Один файл был создан клиентом игры и в нем нормально видно лог, пока Clickermann не стал работать с этим файлом.
https://disk.yandex.ru/d/VpDmDudb16NzrQ (https://disk.yandex.ru/d/VpDmDudb16NzrQ)
А вот файл, созданный Clickermann-ом, и подсунутый вместо файла, созданного игрой. И не важно - создан ли этот файл Clickermann-ом, или Clickermann просто удалит хотя бы одну строку из файла, созданного игровым клиентом - эффект будет тот же.
https://disk.yandex.ru/d/j7_lomBbLQn_9g (https://disk.yandex.ru/d/j7_lomBbLQn_9g)
В обоих файлах идентичные логи использования одного и того же скила.
-
Ты скажи, что ты хочешь сделать. Если одновременно писать в файл двумя программами, то не выйдет.
Что тебе мешает создать второй файл и копировать туда строки из первого и дописывать кликером свои.
-
Ты скажи, что ты хочешь сделать.
Нужно работать со скилами. Вся беда в том, что восстановленный скилл не сложно вычислить на экране, но вычислить то, что скилл использован до конца, графически вычислить очень сложно. И потому я хочу, чтобы сигнал для начала использования скила Clickermann получал с экрана, а сигнал о том, что скилл использован, брал из чата, путем перебора строк чата и поиска в них строки с названием нужного скила. Если такая строка имеется, то скилл использован. Но каждую такую строку нужно подчищать, чтобы при следующем использовании скилла этого, Clickermann не "обманулся" прошлой строкой. Я не знаю - понятно ли я объяснил...
-
Если файл лога кликер удалит, программа пишущая лог создаст его заново и продолжит в него писать?
-
Если файл лога кликер удалит, программа пишущая лог создаст его заново и продолжит в него писать?
Ну, как бы на этом грубом решении я вчера и остановился пока...
-
Ну как бы вот. Сорри что только сейчас пишу, никак не было времени и пк.
Только по итогу выходит одна большая строка со всем текстом из файла. Если нужно разделить, можно и разделить. И потом в обратном порядке можно опять в файл записать.
FREADDATA ("Chat-game.log", $arr)
FOR($a=0,$a<ARRSIZE($arr))
if($arr[$a]>191)
$arr[$a] = $arr[$a]+848
end_if
$str = STRCONCAT($str,CHAR($arr[$a]))
END_CYC
LOGWRITE ($str)
HALT
-
А вот и с разделением на строки. Массив $all_str, в каждой ячейку по строке.
FREADDATA ("Chat-game.log", $arr)
FOR($a=0,$a<ARRSIZE($arr))
if($arr[$a]>191) //в win-1251 все буквы и цифры занимают по одному байту. поэтому вся таблица это 256 символов, и все, больше не влезет. в юникоде же используют два байта на символ, а это ооочень дофига 65535 вариантов вместо 256. я глянул для интереса таблицу, долго листал, а там она как оказалось еще не полная, то есть можно еще добавлять всякие символы там всякие языки новые.
//так вот, в вин-1251 русские символы начинаются с 192 символа, а в юникоде с 1040
$arr[$a] = $arr[$a]+848
end_if
IF($arr[$a] = 13) //смотрим когда у нас символ переноса строки
$a = $a + 1 //прыгаем еще через один символ там есть такой
ARRPUSH ($all_str, $str) //добавляем созданную ранее строку в массив
undefine($str) //и избавляемся, на время
ELSE
$str = STRCONCAT($str,CHAR($arr[$a])) //тут без перерыва строчим в $str
END_IF
END_CYC
FOR($a=0,$a<ARRSIZE($all_str)) //смотрим результат
print($all_str[$a])
END_CYC
HALT