You don't need even another useless admin level. Stop wasting your time and code something useful instead
The forget, guys. While it's not necessary he says right under the code "it's the biggest code i've done so far" so he's obviously learning to code and why the forget not, writing something for practice is perfectly acceptable.. The subforum is called "Coding Help" not "Judge Someone's Coding Project and Help If You Deem It Necessary". Obviously you have to keep it within reason (not hacking mods or something ridiculous) but what the forget, this is perfectly ok.
OP:
First problem I see is Kalph's - along with the fact that you didn't parent AutoAdminCheck, but you already knew that.
Your schedule in AutoAdminCheck will call the function autocohostconnect, but it won't have a %cl argument, so it won't really work. To fix it you could either use %cl.schedule or after another comma in the schedule add %cl so that it will call autocohostconnect(%cl) instead of autocohostconnect() after 300ms.
Now, in your serverCmd for adding a cohost, first thing I see is that you're assigning %isHost to whether the client is the host - makes sense - except that then when you check for it you use %cl.isHost instead of checking %isHost. Keep it consistent. Within the host check, you have a check for whether the player exists, which is good, but you don't return out of the function, meaning it would continue to the next conditional after telling you that the player doesn't exist and then tell you that there's a problem with the player because they are either not an SA or already Cohost. To fix that you could add a return to the if(!isObject). The same problem is in the auto version, too. Using the fileobject in the auto one is good practice, that part looks pretty good.
There are a couple ways you could probably improve the last function. First of all, though, you're assigning %targ to findclientbyname(%target), a variable which doesn't exist. Using a fileObject is good practice but I don't actually think it's necessary. If you think about it, the only people who have a file labeled their BL_ID in /cohost/ are people who are auto co-hosts: so, using that knowledge, you could actually just use an if(isFile) check. However, assuming you wanted to use the method used in the original version.. I realize there's only going to be one line on these files, but in the future, try to use while(!%file.isEOF()) and then call %file.readLine() in that so that it will read the whole file for you instead of just the first line. Also, readLine doesn't have any arguments. You'd have to use %line = %file.readLine(). Your conditional for the line seems fine - if they aren't cohost it wouldn't return anything because it wouldn't read a file. You might want to add an if(isFile) check to the beginning of the function anyways because you'd get a bunch of errors that it can't read the file, but again just using an isFile check would make it a lot easier.
I'm pretty sure you don't need ""s inside an activatepackage.
Good luck.