Очень простенький расшр.
Чтобы понять зачем он нужен, достаточно запустить такой плг:
И увидеть:
Все значения неверные + сравнение не работает.
Всё ломается, когда значение превышает int лимит (2147483647).
Несколько нативов/стоков для борьбы с этими глюками:
Если передаёте в натив отрицательное число, то учитывайте что оно конвертнётся в unsigned int. Т.е. если нужно отнять 5 от числа, то не пишите так: uint(10, '+', -5), т.к. -5 будет преобразовано в 4294967291, а пишите uint(10, '-', 5). Если число превысило int, то оно отрицательное, т.к. в SourcePawn 2147483650 выглядит как -2147483646.
Чтобы понять зачем он нужен, достаточно запустить такой плг:
И увидеть:
Все значения неверные + сравнение не работает.
Всё ломается, когда значение превышает int лимит (2147483647).
Несколько нативов/стоков для борьбы с этими глюками:
Если передаёте в натив отрицательное число, то учитывайте что оно конвертнётся в unsigned int. Т.е. если нужно отнять 5 от числа, то не пишите так: uint(10, '+', -5), т.к. -5 будет преобразовано в 4294967291, а пишите uint(10, '-', 5). Если число превысило int, то оно отрицательное, т.к. в SourcePawn 2147483650 выглядит как -2147483646.