Господа, кратно:
1) Windows не всегда был 10. Начиналось всё с DOS-а.
2) В DOS был стандарт в именах файлов - 8.3. Если имя превышало 8 знаков, то оно обрезалось = первые шесть знаков (с нюансами) плюс
~1
3) Потом пошли версии всеми любимого Windows-а. Разрешили "длинные" имена. Но стандарт, для совместимости оставили.
Вы мне лучше скажите, что там по поводу "ложных детектов" волшебного файла (black_smoke4.spr)?
[doublepost=1497890097][/doublepost]
В чем суть этих 3 проверок? Разве не одно и тоже?
Нет - это не одно и то же:
"../opengl
.dll" - Проверяет только файл opengl
.dll
"../opengl
~1.dll" Проверяет файлы opengl000.dll, opengl001.dll и т.д. до почти бесконечности. (opengl
.dll и opengl
32.dll не проверяет)
"../opengl
32.dll" Проверяет только файл opengl
32.dll
Вот, например, выявление игрока с именем из 9+ знаков (в логах которые я залил выше)
L 05/25/2017 - 21:43:51: -> file: (../opengl~1.dll), exphash: (0), got: (f8a95270), typeFind: (hash_any), prevhash: (81b5f57e), (#384)(myp|1396), prevfile: (../demoplayer.dll), findathash: (null), md5hex: (7052a9f8)
L 05/25/2017 - 21:43:51: -> ExecuteCMD: (amx_ban 10080 #384 "OD | У НАС С ЧИТАМИ НЕ ИГРАЮТ!"), for (#384)(myp|1396)