E: Looking at the other messages I may be wrong about DNAM, unless messages triggered by a messagebox are always messageboxes.
wbSCHR := wbStruct(SCHR, 'Basic Script Data', [ wbByteArray('Unknown', 4), wbInteger('RefCount', itU32), wbInteger('CompiledSize', itU32), wbInteger('VariableCount', itU32), wbInteger('Type', itU32, wbEnum([ 'Object', 'Quest' ], [ $100, 'Magic Effect' ])) ]);
wbSCHRReq := wbStruct(SCHR, 'Basic Script Data', [ wbByteArray('Unknown', 4), wbInteger('RefCount', itU32), wbInteger('CompiledSize', itU32), wbInteger('VariableCount', itU32), wbInteger('Unknown', itU16), wbInteger('Type', itU16, wbEnum([ 'Object', 'Quest' ], [ $100, 'Magic Effect' ])) ], cpNormal, True);
wbSCHRReq := wbStruct(SCHR, 'Basic Script Data', [ wbByteArray('Unknown', 4), wbInteger('RefCount', itU32), wbInteger('CompiledSize', itU32), wbInteger('VariableCount', itU32), wbInteger('Type', itU16, wbEnum([ 'Object', 'Quest' ], [ $100, 'Magic Effect' ])), wbUnknown ], cpNormal, True);
wbSCHRReq := wbStruct(SCHR, 'Basic Script Data', [ wbByteArray('Unknown', 4), wbInteger('RefCount', itU32), wbInteger('CompiledSize', itU32), wbInteger('VariableCount', itU32), wbInteger('Type', itU16, wbEnum([ 'Object', 'Quest' ], [ $100, 'Magic Effect' ])), wbInteger('Flags', itU16, wbFlags([ 'Enabled' ])) ], cpNormal, True);
wbSCHRReq := wbStruct(SCHR, 'Basic Script Data', [ wbByteArray('Unknown', 4), wbInteger('RefCount', itU32), wbInteger('CompiledSize', itU32), wbInteger('VariableCount', itU32), wbInteger('Unknown', itU16), wbInteger('Type', itU16, wbEnum([ 'Object', 'Quest' ], [ $100, 'Magic Effect' ])) ], cpNormal, True);