Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (2): [1] 2 »   

> Без описания
DiaVol
Отправлено: 09 Апреля, 2018 - 20:04:25
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2018  
Репутация: 0




Всем привет!!! При большом скрипте Кибор не может ни скомпилировать его, ни произвести, Кибор просто "Не отвечает" в диспетчере задач, после минут 10 "Out of Memory". Пробовал разные настройки в трансляции - не помогает....
Думал дело в моей старенькой машине с 1гб оперативке, но нет, попробовал на 4гб, та же хрень. Что можете посоветовать сделать???
Скрипт состоит из функций, штук 50 и множества условий..
 
 Top
Dantes3000
Отправлено: 09 Апреля, 2018 - 23:39:53
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1464
Дата рег-ции: Июнь 2016  
Репутация: 58




Судя из информации - проблема прям точно не в 50 функциях и множества условий?
 
 Top
Zireael
Отправлено: 10 Апреля, 2018 - 01:38:20
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4394
Дата рег-ции: Нояб. 2017  
Репутация: 580




Без кода ничем не помочь.
Вы написали кучу функций ни разу не запуская скрипт? Или с какого-то момента перестал запускаться?
Если не хотите выкладывать код, то для начала оставьте штук 10 функций и попробуйте запустить, потом 20 и т. д., чтобы понять с какого момента перестаёт работать.
 
 Top
DiaVol
Отправлено: 10 Апреля, 2018 - 06:08:00
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2018  
Репутация: 0




Все функции запускаются и работают, дело не в них...(для просмотра ссылки Вам необходимо авторизоваться)
 
 Top
Budni
Отправлено: 10 Апреля, 2018 - 07:30:23
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 418
Дата рег-ции: Март 2018  
Репутация: 2




У меня та же проблема, скрипты с большим кол-ом функций выдают "Out of Memory" у меня это решилось добавлением указателя на контрл. Может и вам поможет
 
 Top
Zireael
Отправлено: 10 Апреля, 2018 - 13:38:32
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4394
Дата рег-ции: Нояб. 2017  
Репутация: 580




Меняйте структуру скрипта. У вас куча одинаковых блоков и функций. Отличаются они только координатами, которые используются в Corner. Координаты передавайте в функцию, тогда можно избавиться от кучи не нужных меток.
Часть кода (Отобразить)

Тоже самое:
code (Отобразить)
 
 Top
DiaVol
Отправлено: 12 Апреля, 2018 - 20:14:50
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2018  
Репутация: 0




Zireael , Благодарю за подсказу... А как мне переход с метки 1 на блок сделать? Получится условие в условии???
1:
viborstavki();
if(v==8)goto 1a;
if(v==11)goto 1b;
if(v==14)goto 1c;
if(v==17)goto 1d;
if(v==20)goto 1e;
if(v==23)goto 1f;
if(v==26)goto 1g;
if(v==29)goto 1h;
if(v==32)goto 1k;
else goto 1z;

function viborstavki()
{
int a[10];
a[0]=5;
a[1]=8;
a[2]=11;
a[3]=14;
a[4]=17;
a[5]=20;
a[6]=23;
a[7]=26;
a[8]=29;
a[9]=32;
int r=rand(0,10);
v=a[r];
}
 
 Top
Kibor
Отправлено: 13 Апреля, 2018 - 00:28:26
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8094
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Это проблема Кибор. Проблема в не рассчитанности на такое количество ифов и переходов. то есть на метод простого задания условия от ситуации.
Используйте массивы. Создайте алгоритм.
Данный код можно сократить в десятка раз.
 
 Top
Zireael
Отправлено: 13 Апреля, 2018 - 02:33:12
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4394
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
А как мне переход с метки 1 на блок сделать?

Переходы по goto вообще не нужны. Разве что вернуться в начало или выйти из цикла, т. к. отсутствует break.
На раздумье:
CODE:
int a[2][3];
int x[2][3];

a[0][0]=655; a[0][1]=330; a[0][2]=685;
a[1][0]=685; a[1][1]=345; a[1][2]=720;

x[0][0]=5; x[0][1]=2; x[0][2]=4;
x[1][0]=11; x[1][1]=8; x[1][2]=10;

int r=rand(0,2);
messagebox("r равно "+format(r));
messagebox(format(a[r][0])+" "+format(a[r][1])+" "+format(a[r][2]));
messagebox(format(x[r][0])+" "+format(x[r][1])+" "+format(x[r][2]));
 
 Top
DiaVol
Отправлено: 15 Апреля, 2018 - 09:57:23
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2018  
Репутация: 0




Хочу данный код в функцию упаковать.. Как мне номер метки к переходу сделать?
Если метка 1 все goto принимают значение 1, если 2 то 2 и т.д.

1:
viborstavki();
if(v==8)goto 1a;
if(v==11)goto 1b;
if(v==14)goto 1c;
if(v==17)goto 1d;
if(v==20)goto 1e;
if(v==23)goto 1f;
if(v==26)goto 1g;
if(v==29)goto 1h;
if(v==32)goto 1k;
else goto 1z;
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by