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

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

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

> Описание: Внесение функций в массив и их вызов. Визуальный редактор. Помощь
Kibor
Отправлено: 14 Июля, 2021 - 22:18:03
Post Id



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


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




Программа будет работать стабильнее если не будете к примеру пытаться записать в массив на 5 элементов что то в элемент с индексом 5.. Как написали.

Если хотите получить помощь - выкладывайте минимальный код который приводит к ошибке.
Вам помогут с исправлением вашего кода или исправлением работы Кибор, если ошибка в нем.
Обзор без кода не актуален. Я пишу разный код и достаточно сложный. Ничего не вылетает.
 
 Top
Zireael
Отправлено: 15 Июля, 2021 - 01:50:57
Post Id



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


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




 Цитата:
rand(1000000,1800000);

Максимальное значение 0x7fff оно же 32767. К вылетам это не имеет отношения, просто для справки.
 
 Top
Mr.Pistol
Отправлено: 15 Июля, 2021 - 20:11:26
Post Id



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


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




 Zireael пишет:
32767
Благодарю, полезная информация Здорово
 
 Top
Mr.Pistol
Отправлено: 26 Июля, 2021 - 13:07:21
Post Id



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


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




Итак друзья. Добился того что в боте всё работает стабильно, все функции дружат друг с другом. Зацикливаний нет, ошибок нет, кибор не вылетает. В запущенной среде кибор код работает идеально.
Столкнулся с проблемой при компиляции в отдельный файл. Компилируется без ошибок с ресурсами. Но вот отдельный exe файл не работает должным образом с массивом, и выдаёт ошибку фунции. В чём может быть проблема?. Код выполняемый перед сбоем:
CODE:

// Выбирает в каком порядке начать выполнение задач. Начальное условие.
int a;
int b;
int c;
a= rand(0,500);
b= rand(500,1000);
c= b-a;
if (c<750)
{
One();
Two();
}
else
{
Two();
One();
}

Функции one, two идентичны между собой, вызывают разные функции, но переменные массива, счётчика отличаются дабы не было конфликтов. Вызов любой функции из начального условия вызывает ошибку

int ar_one[3]; // массив
int size_ar_one = sizearray(ar_one); // записать в переменную размер массива
int ar_one_i;
int random_num1;
int random_num2;
int temp;

// заполняем массивы числами 0,1,2...
ar_one_i=0;
while(ar_one_i<size_ar_one)
{
ar_one[ar_one_i] = ar_one_i;
ar_one_i=ar_one_i+1;
}

// перемешиваем массивы
ar_one_i=0;
while(ar_one_i<size_ar_one)
{
random_num1 = rand(0, size_ar_one);
random_num2 = rand(0, size_ar_one);
temp = ar_one[random_num1];
ar_one[random_num1] = ar_one[random_num2];
ar_one[random_num2] = temp;
ar_one_i = ar_one_i+1;
}

//Вызываем функции
ar_one_i=0;
while(ar_one_i<size_ar_one) // вызвать функции
{
if(ar_one[ar_one_i]==0) Tech();
if(ar_one[ar_one_i]==1) Help();
if(ar_one[ar_one_i]==2) AutoWar();
ar_one_i = ar_one_i+1;
}
---------
Пишет : Ошибка в коде.. отладка не включена..
Инструкция ar_one[0] =0

(Отредактировано автором: 26 Июля, 2021 - 13:09:41)

 
 Top
Zireael
Отправлено: 26 Июля, 2021 - 13:14:33
Post Id



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


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




 Цитата:
Пишет : Ошибка в коде.. отладка не включена..
Инструкция ar_one[0] =0

CODE:
int ar_one[3]; // сначала объявить переменную
One(); // потом вызывать функцию, в которой эта переменная используется

function One()
{
ar_one[0] = 0;
}
 
 Top
Mr.Pistol
Отправлено: 26 Июля, 2021 - 23:09:28
Post Id



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


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




 Zireael пишет:
 Цитата:
Пишет : Ошибка в коде.. отладка не включена..
Инструкция ar_one[0] =0

CODE:
int ar_one[3]; // сначала объявить переменную
One(); // потом вызывать функцию, в которой эта переменная используется

function One()
{
ar_one[0] = 0;
}


Увы не заработало. Изначально переменная была объявлена в теле самих функций one, two.
Переместил в глобальные переменные, тоже неудача, переместил в начальное условие, та же ошибка.. А в киборе работает как по маслу во всех трёх случаях
 
 Top
Zireael
Отправлено: 26 Июля, 2021 - 23:27:57
Post Id



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


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




 Цитата:
Увы не заработало.

Выкладывайте код, который не работает, тогда можно подсказать где ошибка.

(Отредактировано автором: 26 Июля, 2021 - 23:28:20)

 
 Top
Mr.Pistol
Отправлено: 27 Июля, 2021 - 03:49:04
Post Id



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


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




 Zireael пишет:
 Цитата:
Увы не заработало.

Выкладывайте код, который не работает, тогда можно подсказать где ошибка.


CODE:

//Глобальные переменные, объявленные в блоке старт.

int ra; //Рандомная пауза
int ra200; //Рандомное число для некоторых циклов for
int ar_one[3];
int ar_two[2];

//Блок кода рандомно выбирающий группу функций для исполнения

int a;
int b;
int c;
a= rand(0,500);
b= rand(500,1000);
c= b-a;
if (c<750)
{
One();
Two();
}
else
{
Two();
One();
}

//Тела функций на которых выскакивает ошибка после исполнения кода выше

function One()
{
ra=rand(5000,7000);
pause(ra);
Mouse(2, #W_Kib, W_Kib.leftclient, W_Kib.topclient, 0, 512, 670, "Левую клик", 0);

int size_ar_one = sizearray(ar_one); // записать в переменную размер массива
int ar_one_i;
int random_num1;
int random_num2;
int temp;

// заполняем массивы числами 0,1,2...
ar_one_i=0;
while(ar_one_i<size_ar_one)
{
ar_one[ar_one_i] = ar_one_i;
ar_one_i=ar_one_i+1;
}

// перемешиваем массивы
ar_one_i=0;
while(ar_one_i<size_ar_one)
{
random_num1 = rand(0, size_ar_one);
random_num2 = rand(0, size_ar_one);
temp = ar_one[random_num1];
ar_one[random_num1] = ar_one[random_num2];
ar_one[random_num2] = temp;
ar_one_i = ar_one_i+1;
}

//Вызываем функции
ar_one_i=0;
while(ar_one_i<size_ar_one) // вызвать функции
{
if(ar_one[ar_one_i]==0) Tech();
if(ar_one[ar_one_i]==1) Help();
if(ar_one[ar_one_i]==2) AutoWar();
ar_one_i = ar_one_i+1;
}
goto KIB_Exit;
KIB_Exit:;


function Two()
{
int size_ar_two = sizearray(ar_two); // записать в переменную размер массива
int ar_two_i;
int random_num1;
int random_num2;
int temp;

// заполняем массивы числами 0,1,2...
ar_two_i=0;
while(ar_two_i<size_ar_two)
{
ar_two[ar_two_i] = ar_two_i;
ar_two_i=ar_two_i+1;
}

// перемешиваем массивы
ar_two_i=0;
while(ar_two_i<size_ar_two)
{
random_num1 = rand(0, size_ar_two);
random_num2 = rand(0, size_ar_two);
temp = ar_two[random_num1];
ar_two[random_num1] = ar_two[random_num2];
ar_two[random_num2] = temp;
ar_two_i = ar_two_i+1;
}

//Вызываем функции
ar_two_i=0;
nn();
while(ar_two_i<size_ar_two) // вызвать функции
{
if(ar_two[ar_two_i]==0) war();
if(ar_two[ar_two_i]==1) stone();
ar_two_i = ar_two_i+1
}
goto KIB_Exit;
KIB_Exit:;
}




Изначально Массивы объявлялись в теле функций вместе с их переменными.
Потом в блоке кода, затем в глобале. Некомпилированный проект работает во всех случаях

После компиляции в файл, его запуска, и выполнения блока кода (с условием) происходит ошибка. Меняя места объявления массива проверял как в запущеной среде так и в скомпилированном ехе файле.

Или нужен весь код? Он просто малочитаемый (т.к. в визуале сделан) могу проект скинуть.

(Отредактировано автором: 27 Июля, 2021 - 03:56:42)

 
 Top
Zireael
Отправлено: 27 Июля, 2021 - 09:07:15
Post Id



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


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




 Цитата:
Или нужен весь код? Он просто малочитаемый (т.к. в визуале сделан) могу проект скинуть.

В приведённом коде количество открывающих фигурных скобок { больше чем закрывающих }.
Скиньте либо весь код, либо файл проекта.
 
 Top
Mr.Pistol
Отправлено: 27 Июля, 2021 - 12:32:45
Post Id



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


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




 Zireael пишет:
 Цитата:
Или нужен весь код? Он просто малочитаемый (т.к. в визуале сделан) могу проект скинуть.

В приведённом коде количество открывающих фигурных скобок { больше чем закрывающих }.
Скиньте либо весь код, либо файл проекта.
(для просмотра ссылки Вам необходимо авторизоваться)
 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 7 (гостей: 7, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by