В упор не вижу, что в коде неправильно, функцию переписывал с другого яп, условия соблюдены верно, но выдает несколько ошибок, вот часть функции:
Код:
Global $packedOffset, $unpackedBytes, $v, $declared = 0
Func Unpack($packedByte, $len)
If $declared = 0 Then
Dim $packedBytes[$len][1]
Dim $unpackedBytes[$len][1]
Dim $unpacketChunk[$len]
$declared = 1
EndIf
$code3 = 0
$code4 = 0
$pointer = 0
$packedBytes[$pointer] = $packedByte
$count = 0
While 1
If $code3 = 0 Then
If bitscount(4) Then
If getpacketbits(1) = 0 Then
$code1 = 1
$code3 = 1
Else
If getpacketbits(1) = 0 Then
$code1 = 2
$code3 = 1
Else
If getpacketbits(1) = 0 Then
$code1 = 3
$code3 = 1
Else
If getpacketbits(1) = 0 Then
$code1 = 4
$code3 = 1
EndIf
Else
$code1 = 5
$code3 = 1
EndIf
EndIf
EndIf
Else
ExitLoop
EndIf
WEnd
EndFunc