Здравствуйте.
Может как то связано ?
Бот работал 2 года. Добавил раз в пол секунды распознавание текста. Даже без условий- просто прочитать- вывести. У людей часто стало Out of memory.
Ещё один пересобрал- тоже есть распознавание- та же беда. Просто открыл виз редактор, ничего не поменял, запустил, залил на сервер.
Бот без распознавания специально пересобрал, перезалил- норм работает....
1. konctantin777 - 20 Ноября, 2023 - 01:21:29 - перейти к сообщению
2. Kibor - 20 Ноября, 2023 - 01:26:00 - перейти к сообщению
Зоны распознавания проверьте.
3. konctantin777 - 20 Ноября, 2023 - 01:33:10 - перейти к сообщению
CODE:
CREATE_TIMER(15, 500)
{
ReadText_T15(1, #Screen[0][0], #W_Kib, W_Kib.leftclient, W_Kib.topclient, 0, "C:\Bot\TF2\steam\basetext.sib", #Text_S, #K_S, #X_S[0], #Y_S[0], #sX_S[0], #sY_S[0], #Cor_S[0], #Type_S[0], #K_Str, #Text_Str[0], #X_Str[0], #Y_Str[0], 0, 0, 1, 1, 8, 1, -1, -1, -1, 1, #Col_T2[0], 0, 0, #Kol_F2[0], 1, 5, -1, 950, 689, 995, 702, -1, 1);
if(Text_S!="")text_static0[5]="Время ловли: ("+Text_S+")";
return;
goto KIB_Exit_T15;
KIB_Exit_T15:;
}
{
ReadText_T15(1, #Screen[0][0], #W_Kib, W_Kib.leftclient, W_Kib.topclient, 0, "C:\Bot\TF2\steam\basetext.sib", #Text_S, #K_S, #X_S[0], #Y_S[0], #sX_S[0], #sY_S[0], #Cor_S[0], #Type_S[0], #K_Str, #Text_Str[0], #X_Str[0], #Y_Str[0], 0, 0, 1, 1, 8, 1, -1, -1, -1, 1, #Col_T2[0], 0, 0, #Kol_F2[0], 1, 5, -1, 950, 689, 995, 702, -1, 1);
if(Text_S!="")text_static0[5]="Время ловли: ("+Text_S+")";
return;
goto KIB_Exit_T15;
KIB_Exit_T15:;
}
(Добавление)
Размер полного окна в шпионе 1008, 729
Всё сделано в виз редакторе
4. Kibor - 20 Ноября, 2023 - 01:42:17 - перейти к сообщению
Это в таймере?
Тогда переименуйте все переменные которые есть в диалоговом окне настройки распознавания текста.
В которые записывается результат.
(Добавление)
И вообще не кидайте в таймер блоки, которые используете без таймера тоже.
Реализуйте или без таймера или напишите там кодом readtet со своими переменными.
Тогда переименуйте все переменные которые есть в диалоговом окне настройки распознавания текста.
В которые записывается результат.
(Добавление)
И вообще не кидайте в таймер блоки, которые используете без таймера тоже.
Реализуйте или без таймера или напишите там кодом readtet со своими переменными.
5. konctantin777 - 20 Ноября, 2023 - 02:08:16 - перейти к сообщению
Понял, спасибо.
Во 2м скрипте блок не в таймере. В таймере всегда лучше уникальные переменные, если там только блок кода, например, или поиск изображения ?
Во 2м скрипте блок не в таймере. В таймере всегда лучше уникальные переменные, если там только блок кода, например, или поиск изображения ?
6. Kibor - 20 Ноября, 2023 - 02:38:10 - перейти к сообщению
Всегда.
Никто не знает в каком месте кода вызовется таймер и что перезапишет.
Никто не знает в каком месте кода вызовется таймер и что перезапишет.
7. konctantin777 - 20 Ноября, 2023 - 02:45:07 - перейти к сообщению
Kibor пишет:
Всегда.
Никто не знает в каком месте кода вызовется таймер и что перезапишет
Никто не знает в каком месте кода вызовется таймер и что перезапишет
По перезаписать переменные это понятно. Важно ли, чтобы переменные в таймере были уникальными ? распознавание текста, поиск изображения, блок кода..
8. Kibor - 20 Ноября, 2023 - 02:51:17 - перейти к сообщению
Да.
В таймере все переменные в которые что то записывается делайте уникальными.
Даже те которые идут в вызываемых функциях с него. Локальные.
И функции уникальные.
В таймере все переменные в которые что то записывается делайте уникальными.
Даже те которые идут в вызываемых функциях с него. Локальные.
И функции уникальные.
9. konctantin777 - 20 Ноября, 2023 - 02:53:20 - перейти к сообщению
Т.е. если у меня в скрипте только один блок распознавание текста (в таймере), то всё равно лучше переменные уникальные делать ? Как бы точнее сформулировать... Дело в самом таймере, что может что то нужное прервать и таким образом ошибку сделать или, что заменит какие то переменные и код, продолжившись, уже изменившиеся данные будет использовать и из- за этого ошибка ?
(Добавление)
Как потом значения этих переменных использовать ? Таймер же не может возвращать значение как функция ? Не совсем понимаю как в итоге реализовать...
(Добавление)
Из примера выше, все значания уникальные, кроме text_static0[5]. Надо добавить отдельную переменную и в основном скрипте уже писать text_static0[5]="Время ловли: ("+Text_S+")";
?
(Добавление)
Kibor пишет:
В таймере все переменные в которые что то записывается делайте уникальными.
Даже те которые идут в вызываемых функциях с него. Локальные.
Даже те которые идут в вызываемых функциях с него. Локальные.
Как потом значения этих переменных использовать ? Таймер же не может возвращать значение как функция ? Не совсем понимаю как в итоге реализовать...
(Добавление)
konctantin777 пишет:
CREATE_TIMER(15, 500)
Из примера выше, все значания уникальные, кроме text_static0[5]. Надо добавить отдельную переменную и в основном скрипте уже писать text_static0[5]="Время ловли: ("+Text_S+")";
?
10. Kibor - 20 Ноября, 2023 - 05:54:24 - перейти к сообщению
У вас отладчик есть?
Тестируйте где вылетает. Все что надо было разъяснить я разъяснил.
О остальном я не знаю.
Тестируйте где вылетает. Все что надо было разъяснить я разъяснил.
О остальном я не знаю.