Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!njin!princeton!phoenix!englandr From: englandr@phoenix.Princeton.EDU (Scott Englander) Newsgroups: comp.sys.mac.hypercard Subject: Re: How do I reliably set the userLevel of a stack ? Summary: It's not easy Message-ID: <9734@phoenix.Princeton.EDU> Date: 3 Aug 89 04:46:12 GMT References: <113@citycs.UUCP> Reply-To: englandr@phoenix.Princeton.EDU (Scott Englander) Organization: Princeton University, NJ Lines: 71 I had to do this exact thing myself. Someone out in NetLand gave me the basis for this stack script: on initlevel global savelevel, initflag if the version < 1.2 then answer "Please upgrade to HyperCard version 1.2 or greater" B with "Cancel" go home else put true into initflag if the userlevel is not 2 then push recent card hide message window set lockscreen to true set lockmessages to true push this card go to card "User Preferences" of stack "Home" put card field "User Level" into savelevel -- closestack resets userlevel setUserLevel 2 -- typing only go to first card pop card end if set lockmessages to false set lockscreen to false go to first card set the cursor to 4 -- watch set lockscreen to true -- -- program variables are initialized here -- end if end initlevel on StartUp -- executed if launched from the Finder initlevel pass StartUp end StartUp on openstack global initflag if initflag is not true then initlevel end openstack on closestack global savelevel, initflag put empty into initflag set lockscreen to true set lockmessages to true set userlevel to 5 domenu "compact stack" set lockscreen to true set lockmessages to true push this card go to card "User Preferences" of stack "Home" setUserLevel savelevel pop card set lockmessages to false set lockscreen to false end closestack ================ Hope this helps! p.s. I posted it rather than mailed it, as i thought it would be of general interest. -- - Scott