adminx.cs
//Admin X 0.4
//adminx.cs
if(isFile("Add-Ons/System_ReturnToBlockland/server.cs"))
{
exec("Add-Ons/System_ReturnToBlockland/server.cs");
RTB_registerPref("Spawn Message","AdminX","$pref::server::spawnmessage","string 32","Script_AdminX","This server is running AdminX!",0,0,"");
RTB_registerPref("Spawn Message Enabled?","AdminX","$pref::server::spawnmessageenabled","bool","Script_AdminX",0,0,0,"");
}
if(isFile("Add-Ons/Server_Permissions/server.cs"))
{
exec("Add-Ons/Server_Permissions/server.cs");
getPermissionManager().registerPermission("Admin X || Cloak", "adminx.cloak", 1);
getPermissionManager().registerPermission("Admin X || Slay", "adminx.slay", 1);
getPermissionManager().registerPermission("Admin X || Slap", "adminx.slap", 1);
}
if(!isFile("Add-Ons/Server_Permissions/server.cs"))
{
exec("./Shim_Server_Permissions.cs");
}
$pref::server::adminxver = 0.4;
package adminx
{
function GameConnection::onClientEnterGame(%cl)
{
parent::onClientEnterGame(%cl); //ffs do this before ANYTHING
if($pref::server::spawnmessageenabled == 1)
{
%cl.centerPrint("Welcome to" SPC $pref::server::name @ "!" @ " " @ $pref::server::spawnmessage,3);
}
}
};
activatepackage(adminx);
function serverCmdver(%cl)
{
messageclient(%cl, '', "Admin X Ver: " @ $pref::server::adminxver);
}
function serverCmdCloak(%cl)
{
if(!%cl.hasPermission("adminx.cloak"))
{
messageclient(%cl, '', "You don't have access to that command.");
return;
}
if(%cl.hasPermission("adminx.cloak"))
{
%cl.player.hideNode("ALL");
%cl.player.setShapeNameDistance(0); //Baldspot made setShapeName defunct on players, so this is the best I can do
}
}
function serverCmdUncloak(%cl)
{
%cl.applyBodyColors();
%cl.applyBodyParts();
}
function serverCmdSlay(%c,%t) //%c is client and %t is target.
{
if(!%cl.hasPermission("adminx.slay"))
{
messageclient(%cl, '', "You don't have access to that command.");
return;
}
if(%cl.hasPermission("adminx.slay"))
{
if(!isObject(%t = findClientByName(%t)))
return;
if(!isObject(%p = %t.player))
return;
announce(%c.getPlayerName() SPC "has slain" SPC %t.getPlayerName());
%p.kill();
}
}
function serverCmdSlap(%c,%t,%pow)
{
if(!%cl.hasPermission("adminx.cloak"))
{
messageclient(%cl, '', "You don't have access to that command.");
return;
}
if(%cl.hasPermission("adminx.cloak")
{
if(!isObject(%t = findClientByName(%t))) //are you really yourself :cookiemonster:
return;
if(!isObject(%p = %t.player))
return;
announce(%c.name @ " slapped " @ %t.getPlayerName() @ " with " @ %pow @ " damage!");
%p.addhealth(-%pow);
}
}
console.log
>>> Some error context, with ## on sides of error halt:
^^announce(%c.getPlayerName() SPC "has slain" SPC %t.getPlayerName());
^^%p.kill();
^}
}
function serverCmdSlap(%c,%t,%pow)
{
^if(!%cl.hasPermission("adminx.cloak"))
^{
^^messageclient(%cl, '', "You don't have access to that command.");
^^return;
^}
^if(%cl.hasPermission("adminx.cloak")
^{##
##
^^if(!isObject(%t = findClientByName(%t))) //are you really yourself :cookiemonster:
^^^return;
^^if(!isObject(%p = %t.player))
^^^return;
^^announce(%c.name @ " slapped " @ %t.getPlayerName() @ " with " @ %pow @ " damage!");
^^%p.addhealth(-%pow);
^}
>>> Error report complete.
ADD-ON "Script_AdminX" CONTAINS SYNTAX ERRORS