Распишите мне, кто знает, какие параметры в каких комбинациях и как влияют на Manage Inventory.

В этом куске кода
CODE
prim51(9) = text(139,%0) &
[
:and(32,%4) == 32 :" (Using Inventory of object in Temp 4)"
::""
]
& " (" &
[
:%1 == 0 :"Add token of type"
:%1 == 1 :"Remove token of type"
:%1 == 2 :"Remove token at index"
:%1 == 3 :"Find token of type"
:%1 == 4 :"Set to next token of type"
:%1 == 5 :"Add Downtown Date Token of Neighbor from NeighborID in Temp."
:%1 == 6 :"Add Back Home Date Token of Neighbor from NeighborID in Temp."
::""
] &
[
: %1 == 0 || %1 == 1 || %1 == 3 || %1 == 4 :
[
:%2 == 0 :" GIFT"
:%2 == 1 || %2 == 3 :" DATE"
:%2 == 2 :" SIMDATA"
:%2 == 4 :" PURCHASE"
:%2 == 5 :" SOUVENIR"
:%2 == 6 :" SKILL"
::""
]
::""
] &
[
:and(1,%3) == 1 : " with object " &
[
:long(%8,%7,%6,%5) == 0 : "from Stack Object's GUID"
:: guid(%5,%6,%7,%8)
]
::""
] &
[
:%1 == 2 :[:and(128,%3) == 128 :" stored in Temp " & and(3,%4) ::" 0"]
:%1 == 4 : " starting at index" &
[:and(128,%3) == 128 :" stored in Temp " & and(3,%4) ::" 0"]
::""
] &
[
:%1 == 0 || %1 == 1 || %1 == 2
:" of count " &
[
:and(2,%3) == 2 :"stored in Temp " & (and(12,%3)/4) & "."
::"1."
]
:%1 == 3 || %1 == 4
:". Returning count to Temp " & (and(96,%3)/32) &
" and index to Temp " & (and(24,%3)/8) & "."
::""
]
& ")"
& " {flags = " & (and(16,%3)/16) & ", " & (and(4,%4)/4) & ", "
& (and(64,%4)/64) & ", " & (and(128,%3)/128) & "}";

что-то чему-то несоответствует, а что именно - мне нет времени эксперементировать. Несоответствие я обнаружил в оригинальных максисовских скриптах.

Напишите здесь исправленный кусок кода, либо напишите где именно в коде ошиьки