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

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

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

> Без описания
AdryV
Отправлено: 28 Января, 2018 - 08:00:30
Post Id



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


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





я так понимаю что ошибка находится в массиве double в котором записано значение -1 но о чем говорится дальше не понимаю
 
 Top
Kibor
Отправлено: 28 Января, 2018 - 10:35:36
Post Id



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


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




1.#qnan0 error
 
 Top
AdryV
Отправлено: 28 Января, 2018 - 21:22:40
Post Id



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


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




 Kibor пишет:
1.#qnan0 error

не особо понял о чем горит эта ошибка
1, значение изменилось во время вычисления
2, умножение на 0
но чет не особо понял смысла...
в скрипт перед формулой добавил кучу проверок что бы все значения были больше нуля данных которые могут изменяться
к примеру огрызок:
CODE:
if(mob_kordX[k]>0 && mob_kordY[k]>0 && mob_kordZ[k]>0)
{
if(pers_kordX>0 && pers_kordY>0 && pers_kordZ>0)
{
mob_dist[k]=sqrt((pers_kordX-mob_kordX[k])*(pers_kordX-mob_kordX[k])+
(pers_kordY-mob_kordY[k])*(pers_kordY-mob_kordY[k])+
(pers_kordZ-mob_kordZ[k])*(pers_kordZ-mob_kordZ[k]));
}
else
{
mob_dist[k]=-2;
}
}
else
{
mob_dist[k]=-2;
}

потом код который использует эти данные
CODE:
if(mob_dist[yy]<=max_mob_dist && mob_dist[yy]>=min_mob_dist)
{
if(mob_dist[yy]<posl_dist)
{
posl_dist=mob_dist[yy];
tt=yy;
}
}

все данные считываются с памяти игры их там цикл от 100 до 300 значения может меняться но не больше 300... массивы все выделены по 300.
в итоге я предполагаю что ошибки из-за умножения на 0 не может быть
но по первой ошибке не могу понят как такое может произойти так как скрипт выполняется последовательно тоисть
тоисть сначала с памяти считываются данные pers_kordX и тд
потом уже считываются данные mob_kordX[k] и тд и производится вычисления

ошибки не должно быть так как все данные проверенны перед вычислением....
какая еще может быть ошибка?

ПС....
раньше когда эту всю кашу использовал в одном таймере все работало нормально
но в основном коде эта ошибка( не постоянно но выскакивает то через 1 мин то сразу то через 1 час

(Отредактировано автором: 28 Января, 2018 - 21:35:52)

 
 Top
Kibor
Отправлено: 28 Января, 2018 - 22:33:20
Post Id



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


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




Эту ошибку генерирует не Кибор.
Он просто вывел строку в которой вместо ожидаемого числа находится код ошибки.
 
 Top
AdryV
Отправлено: 18 Февраля, 2018 - 15:07:21
Post Id



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


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




в общем разобрался в чем была ошибка
все проблема заключалась в том что у меня были в таймере вызываемые функции которые считывали координаты и вычисляли радиус, и в основном коде был вычисление радиуса и дистанции, в итоге когда код выполнялся видимо он прерывался на расчете дистанции для срабатывания таймера и переменные как бы портились... из-за этого вылетала ошибка...
в этом то и была загвоздка из-за чего старый код который работал в таймере не выдавал ошибки а когда перенес половину в основной код то полетели ошибки
мало ли кому то поможет)
 
 Top
Kibor
Отправлено: 18 Февраля, 2018 - 18:43:16
Post Id



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


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




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


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




Powered by