public bool ACR_IsServerAdmin(UInt32 PCObject)
{
const int ACR_SRVADMIN_INDETERMINITE = 0;
const int ACR_SRVADMIN_IS_ADMIN = 1;
const int ACR_SRVADMIN_NOT_ADMIN = 2;
switch (Script.GetLocalInt(PCObject, "ACR_SRVADMIN"))
{
case ACR_SRVADMIN_INDETERMINITE:
//
// We don't yet know if the player is an admin, ask the
// database and save the result. If we get any rows back,
// then we're an admin.
//
ACR_SQLQuery(String.Format("SELECT PlayerID FROM server_admins WHERE ServerID={0} AND PlayerID={1}", ACR_GetServerID(), ACR_GetPlayerID(PCObject)));
if (ACR_SQLFetch())
{
Script.SetLocalInt(PCObject, "ACR_SRVADMIN", ACR_SRVADMIN_IS_ADMIN);
return true;
}
else
{
Script.SetLocalInt(PCObject, "ACR_SRVADMIN", ACR_SRVADMIN_NOT_ADMIN);
return false;
}
case ACR_SRVADMIN_IS_ADMIN:
return true;
default:
case ACR_SRVADMIN_NOT_ADMIN:
return false;
}
}