Ugh, don't put the ZZZ before the name. You just need to work on the code a bit.
Here, replace this:
function registerOutputEvent(%class, %name, %parameterList, %appendClient)
{
if(!isObject(getPermissionManager().getPermission("useEvent." @ %name)))
getPermissionManager().registerPermission("Use Event" SPC %name, "useEvent." @ %name, 0);
parent::registerOutputEvent(%class, %name, %parameterList, %appendClient);
}
with this:
function onMissionLoaded()
{
%parent = parent::onMissionLoaded();
schedule(50,0,"permMan_getOutputEvents");
return %parent;
}
function permMan_getOutputEvents()
{
%iCount = getFieldCount($OutputEvent_ClassList);
for(%i = 0; %i < %iCount; %i ++) //LOOP THROUGH EVERY OUTPUT EVENT CLASS
{
%class = getField($OutputEvent_ClassList,%i);
for(%e = 0; %e < $OutputEvent_Count[%class]; %e ++) //LOOP THROUGH OUTPUT EVENTS FOR THAT CLASS
{
%eventName = $OutputEvent_Name[%class,%e];
if(!isObject(getPermissionManager().getPermission("useEvent." @ %eventName)))
getPermissionManager().registerPermission("Use Event" SPC %eventName, "useEvent." @ %eventName, 0);
}
}
}
I didn't test it, but that should work.