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

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

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

> Без описания
Papakatipeyka
Отправлено: 11 Апреля, 2026 - 13:31:58
Post Id



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


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




Давно не запускал кибор. Вернувшись обнаружил странное поведение - кибор постоянно валится с ошибкой после безошибчного срабатывания скрипта.

текст скрипта

CODE:
//Грузим параметры
string paramAdress = "C:\TestBot\Parametr\Parametr.txt";

string parametrs[10];
int amountParametr;

if (fopen(paramAdress, "r") != 0)
{
amountParametr=freadlineall(#parametrs[0], 10);
fclose();
}


//Параметры моба

if (parametrs[0] == "Охота")
{

int fightVariant = formatsn(parametrs[1]);

string array[9999];

int result=regexsearch(sizearray(array), #array[0], parametrs[2], ",");
//messagebox("Найдено совпадений: "+format(result));
if(result) // Если найдены совпадения
{
string arrayString[10];
DevideString(parametrs[2], ",", #arrayString[0]);

for(int i = 0; i <= result; i++)
{
messagebox(arrayString[i]);
}

}

}


function DevideString(string str, char simvol, string #arrayString)
{
arrayString[0]="test";
int lenghtString = size(str);
char charStr[lenghtString];
strcpy(#charStr[0], str);

string res = "";
int index = 0;
for (int i = 0; i < lenghtString; i++)
{

if(charStr[i] != simvol)
{
res = res + charStr[i];
}
else
{
arrayString[index] = res;
res = "";
index = index + 1;
}

}

arrayString[index] = res;

}


Содержимое файла C:\TestBot\Parametr\Parametr.txt

Охота
1
9473408,12367783,10721928
12,6,6

Когда первый раз запускаешь сrрипт - всё проходит без ошибок. Ошибка вылазит если попробовать запустить скрипт ещё раз или закрыть редактор. Всегда вылазит одна и та же. Связываю появление ошибки с тем, что в код добавил процедуру (когда писал сплошным текстом без вложенных процедур - ошибки не было). На компе запущен ВПН для работы кибор

[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
 
 Top
Zireael
Отправлено: 11 Апреля, 2026 - 16:59:33
Post Id



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


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




 Цитата:
char charStr[lenghtString];

При динамическом выделении памяти нужно делать так:
CODE:
new char charStr[lenghtString + 1];

Если массив не нужен память нужно освободить:
CODE:
delete charStr;


CODE:
function DevideString(string str, char simvol, string #arrayString)
{

arrayString[0]="test";
int lenghtString = size(str);
new char charStr[lenghtString + 1]; // выделить память
strcpy(#charStr[0], str);

string res = "";
int index = 0;
for (int i = 0; i < lenghtString; i++)
{

if(charStr[i] != simvol)
{
res = res + charStr[i];
}
else
{
arrayString[index] = res;
res = "";
index = index + 1;
}
}

arrayString[index] = res;

delete charStr; // освободить
}
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Отчет о ошибках »


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




Powered by