Автокликер Clickermann :: Форум

Основной раздел => Ошибки => Topic started by: Rudeek on July 03, 2018, 01:50:20 PM

Title: e=0? (версия 4.13)
Post by: Rudeek on July 03, 2018, 01:50:20 PM
      if("e"="0")
      print("Как это понимать? Почему англ. e равно нулю?")
      end_if

В 4.12 всё нормально, а в 4.13 англ. е равняется нулю. Мелочь, но всё равно не приятно.
Title: Re: e=0? (версия 4.13)
Post by: Rudeek on July 03, 2018, 01:57:05 PM
Вот же гадство. Они ещё и точке равны:(
Title: Re: e=0? (версия 4.13)
Post by: dramster on July 03, 2018, 02:00:57 PM
http://crapware.aidf.org/forum/index.php?topic=356.msg26603#msg26603

Вот тут почитай, вроде подробно расписано.

Как вариант, попробуй сравнивать хэш строк



Там далее есть еще варианты решения этой проблемы.
http://crapware.aidf.org/forum/index.php?topic=356.msg26605#msg26605
Title: Re: e=0? (версия 4.13)
Post by: dramster on July 03, 2018, 02:44:15 PM

В 4.12 всё нормально, а в 4.13 англ. е равняется нулю. Мелочь, но всё равно не приятно.

не знаю что там у тебя за версия.... но просто строка с буквой "е" остается ей. там была проблема с массивами с этой строкой. и вроде в релизной версии все эти проблемы уже пофиксили. максимум что осталось, это запись чисел с этой "Е". типа

print(1E3+2E2+34)     // выйдет 1234
halt


так что качай последнюю версию, и проблем не будет http://crapware.aidf.org/page/clickermann
Title: Re: e=0? (версия 4.13)
Post by: Oraven on July 03, 2018, 02:51:51 PM
Проверено на v4.13.014 условие не срабатывает.
Title: Re: e=0? (версия 4.13)
Post by: Rudeek on July 03, 2018, 03:47:10 PM
Проверено на v4.12.014 условие не срабатывает.

Ага, именно это я и писал. На 4.12 ведёт себя адекватно, т.е. не срабатывает, а на 4.13 - срабатывает.

В общем, я вернулся к 4.12.

Лучшее - враг хорошему.
Title: Re: e=0? (версия 4.13)
Post by: Rudeek on July 03, 2018, 04:15:04 PM
http://crapware.aidf.org/forum/index.php?topic=356.msg26603#msg26603

Вот тут почитай, вроде подробно расписано.

Как вариант, попробуй сравнивать хэш строк



Там далее есть еще варианты решения этой проблемы.
http://crapware.aidf.org/forum/index.php?topic=356.msg26605#msg26605

Вы немного промазали с сылками. Мне нужно было сюда http://crapware.aidf.org/forum/index.php?topic=2111.0
Забавно, что вы, ранее столкнувшись с проблемой, не смогли понять, что я имею ввиду.*) Ну да не суть.

Что получается, 4.13 была еще в 2017 году? Я начал баловаться с кликером в январе 2018, но последняя версия, которую я тогда смог скачать, была 4.12.
Видимо, по этой причине я пропустил "Обновленный A_KEYSTRING, только для CM v4.13".
Title: Re: e=0? (версия 4.13)
Post by: dramster on July 03, 2018, 05:53:03 PM

Вы немного промазали с сылками. Мне нужно было сюда http://crapware.aidf.org/forum/index.php?topic=2111.0

да, для 4.12, там были проблемы с некоторыми символами, но с буквами вроде все норм было.  а  для версии 4.13 ... там  еще в той что b3, начало 2017г., я даже хз будет ли он работать на релизной версии  :D .

но это не важно, был вопрос по сравнению буквы Е с чем либо. и я сразу вспомнил тот разговор (ссылки выше). где Е с цифрами представленная строкой, в кликере превращалась в цифру. да, прямого сравнения строки с числом или строки со строкой (не переменной или элементом массива) в той теме небыло, тут возможен мой промах  :P .

кстати вот версия 4.13 x32 , та что щяс на оффсайте. как видим, работает верно.
(https://i.imgur.com/aKqSa9K.png)



а вот мое начальное понимание твоей проблемы, но компа небыло проверить  :-\, версия 4.12
(https://i.imgur.com/EbOHb10.png)

вобщем, и первое и второе у меня в данный момент работает правильно на последней версии 4.13 x32
Title: Re: e=0? (версия 4.13)
Post by: Oraven on July 03, 2018, 06:03:19 PM
Проверено на v4.12.014 условие не срабатывает.

Ага, именно это я и писал. На 4.12 ведёт себя адекватно, т.е. не срабатывает, а на 4.13 - срабатывает.

В общем, я вернулся к 4.12.

Лучшее - враг хорошему.

Циферкой ошибся  ;D все с 4.13 нормально

Code: (clickermann) [Select]
if("e"="0")
   print("Да")
else
   print("Нет")
end_if
HALT

Лог:
Code: [Select]
19:02:10 Нет
Title: Re: e=0? (версия 4.13)
Post by: Rudeek on July 03, 2018, 09:18:28 PM
Дабы не быть голословным, тоже скрин кину. Правда, тут не видно, что это 64-ёх разрядная версия кликера. Сейчас проверю на х32.
(https://i.imgur.com/lgMX2Fe.jpg)
Title: Re: e=0? (версия 4.13)
Post by: Rudeek on July 03, 2018, 09:31:06 PM
И в х32 тоже не всё идеально. Может проблема на моей стороне.

(https://i.imgur.com/JFZUd1m.jpg)
Title: Re: e=0? (версия 4.13)
Post by: dramster on July 03, 2018, 10:03:27 PM
насчет точки и нуля, соглашусь, всегда с ними были проблемы. возможно в кааких то бетах исправлялось, не помню.

для этого еще в том А_КЕЙСТРИНГЕ который для версии 4.12 есть вот такой кусочек проверки хэша этих символов.
Code: (clickermann) [Select]
            IF($A_key = 46)
               IF(STRMD5($A_l) ! "5058F1AF8388633F609CADB75A75DC9D")
                  $A_key = 48
               END_IF
            END_IF
с остальными символами проблем не было. хотя, мож еще с чемто и были неполадки, но эти символы нужны постолькупоскольку.
дабы исключить еще какието непонятки в дальнейшем, в А_КЕЙСТРИНГЕ версии 4.13 переделал полностью на сверение хеша символов.

почему так, это я не понимать.
Code: (clickermann) [Select]
print("e"="0")     //false  0
print("e"=".")     //false  0


print("."="0")     //true   1
//и даже так
print(char(46) = char(48))   //true   1

halt
Title: Re: e=0? (версия 4.13)
Post by: Johnny on July 06, 2018, 04:19:44 PM
тему не читал @ сразу отвечал

e видимо интерпретируется мат.модулем как экспонента, точнее константа которая 2.71. надо допиливать напильником.
точка "." так же пытается быть числом (нулем, 0.0). и это уже из Си, где видимо подобное объявление прокатывало (учитывая количество диалектов хрен там что щас отследил бы и сам Страуструп). опять же надо смотреть

но это все растет из математического модуля. и только