1) What's with all the random indentations and brackets flying around? People usually tab-in after an open brace ({) and tab-out after a close brace (}). Some of your braces aren't needed and will cause some syntax errors.
2) The isHost variable isn't built-in by default, unless Badspot added it in V11. The way I had checked if a user was the host was with this package:
package isHost {
function GameConnection::autoAdminCheck(%cl) {
%cl.isHost=(%cl.isLocalConnection()||%cl.bl_id==getNumKeyID());
return Parent::autoAdminCheck(%cl);
}
};
activatePackage(isHost);
If you copy and paste that into the bottom of your script, then you can check if the isHost variable is true or false for a client.
3) Some of your basic functions' syntaxes are a little off. It's not a huge problem, since (I assume) you're new to scripting; you'll know this stuff eventually.
Line 4 should be:
messageAll('',%client.name SPC "is now a server member");
The SPC character concatenates two strings with a space in between, so you don't need that space before the is. Also, I'm not quite sure why you put the " @ there. It's not needed.
Line 5 should be:
commandToClient('MessageBoxOK',"FliFiX Server","\c2Thank you for joining FliFiX's Server Membership, " @ %client.name @ ". You are now known as a member.");
You had the basic syntax of the MessageBoxOK arguments right, but you just need to send it as a tagged string in a commandToClient. %1 also isn't good to get in the habit of using, since it only works in special occasions.
4) Editing the clan prefix was a creative way to go about putting a word before their name, however you might want to try packaging the serverCmdMessageSent function. This is called when a user sends a message to the server from their chat box. You're going to need the basic package/parent syntax, so if you don't know what that is yet, check out the sticky in this board.
Have it call a messageAll instead of the parent and create a string to send to everyone by concatenating their prefix with their clan tags, name, and message. You should also use the stripMLControlChars function on the message, so that they can't edit font sizes etc.
Note: %client.name works, but in V11 you're technicially supposed to use %client.getName()