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

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

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

> Без описания
AdryV
Отправлено: 07 Марта, 2019 - 13:01:20
Post Id



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


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




CODE:
int k=9999999999999999999999999999999999999999999;
double f=1.46519781597847999;

k=-1;

if(k!=f)messagebox(f);


этот нюанс заметил только у double, с int все впорядке

не могли бы добавить если значение большее что бы программа сама его обрезала... а не вылетела ошибка QNAN....
(Добавление)
также после этого кода при закрытии среды кибор летит крит ошибка
 
 Top
Kibor
Отправлено: 07 Марта, 2019 - 13:11:12
Post Id



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


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




Нет. Это проблема программиста следить за правильными данными.
 
 Top
AdryV
Отправлено: 07 Марта, 2019 - 13:14:37
Post Id



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


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




 Kibor пишет:
Это проблема программиста следить за правильными данными.

эммм нестыковка....
у меня бот читает из памяти процесса данные.... и иной раз может вылететь эта прелесть.....
как я могу проверить что данные с процеса считаны верно если при проверке вылетает ошибка???????? Не понял
(Добавление)
чель все расчеты координат переделывать на int ? ??? Непонял!
(Добавление)
значит ошибка может быть тут
но я ее не вижу......
CODE:
function r_mem_kord(int adress)
{
if(readmemory(#xp[0], 4, adress, prc)!=0) {
perevernut_masiv();
return codhexd(#xpp[0]);
}
return 0;
}
//
function perevernut_masiv()
{
xpp[0]=xp[3];
xpp[1]=xp[2];
xpp[2]=xp[1];
xpp[3]=xp[0];
}

(Добавление)
или же ошибка всетаки у вас.
 
 Top
Kibor
Отправлено: 07 Марта, 2019 - 13:30:12
Post Id



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


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




 AdryV пишет:
у меня бот читает из памяти процесса данные.... и иной раз может вылететь эта прелесть.....

Эту прелесть генерирует не Кибор. Следить за этим тоже кибор не должен. Так же как не следит любой другой язык (программа).
максимум что может быть записано в 4 байтах это
FFFFFFFF то есть 4294967295
что прекрасно влазит в double
Не пихайте более 4 байт (это и не надо) и все будет норм.
 
 Top
AdryV
Отправлено: 07 Марта, 2019 - 13:32:53
Post Id



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


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




 Kibor пишет:
Не пихайте более 4 байт (это и не надо) и все будет норм.

как я могу что то пихать больше 4 байт если все действия делает непосредственно ваша функция?
 
 Top
Kibor
Отправлено: 07 Марта, 2019 - 13:38:11
Post Id



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


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




 AdryV пишет:
как я могу что то пихать больше 4 байт если все действия делает непосредственно ваша функция?

Если вы хотите получить помощь, то стоит начинать с выкладывания своего запускаемого полностью кода, а не пытаться спровоцировать меня искать ошибки в программе. Будьте уверены, если они там найдутся я их устраню.

В данный момент я дал ответ на ошибочный выложенный вами код
 AdryV пишет:
int k=9999999999999999999999999999999999999999999;
double f=1.46519781597847999;

k=-1;

if(k!=f)messagebox(f);

И указал на ошибку и что и как надо делать что бы избежать QNAN
 
 Top
AdryV
Отправлено: 07 Марта, 2019 - 13:39:03
Post Id



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


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




 AdryV пишет:
как я могу проверить что данные с процеса считаны верно если при проверке вылетает ошибка????????

и вы не ответили.....
(Добавление)
 Kibor пишет:
а не пытаться спровоцировать меня искать ошибки в программе

хорошо....
все ясно...
(Добавление)
 Kibor пишет:
if(k!=f)messagebox(f);

да и вообще вы хотя бы пробовали комментировать эту строку?
(Добавление)
 Kibor пишет:
И указал на ошибку и что и как надо делать что бы избежать QNAN

вы не указали. и не уточники по какой причине ваша функция может получить результат который превышает допустимую вместимость доубе
 
 Top
007wan
Отправлено: 07 Марта, 2019 - 13:45:35
Post Id



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


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




 AdryV пишет:
if(k!=f)messagebox(f);
Разве не
CODE:
if(k!=f)messagebox(format(f));
?
 
 Top
AdryV
Отправлено: 07 Марта, 2019 - 13:47:16
Post Id



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


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




 007wan пишет:
?

без разници если не выполнять сравнение не будет крит ошибки и QNAN
 
 Top
Kibor
Отправлено: 07 Марта, 2019 - 13:48:37
Post Id



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


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




 AdryV пишет:
вы не указали. и не уточники по какой причине ваша функция может получить результат который превышает допустимую вместимость доубе

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

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


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




Powered by