I think that there should be a halfway point between banning and doing nothing. Basically a no-build blacklist and/or one for creating and/or joining minigames.
But a kill function should only be released privately, or have some limits(1/minute, subtracts 2 points from your score, 10 second building disabled, except for the host who only has a 10 second between uses and 1 min between uses on a certain person.)
Leaving it possible for people who are good enough to make their own to change one, or maybe have it disabled in some way that will only allow people with expweience with torquescript to use.
OR, a simple undocumented server pref that needs to be changed.
Anyway, there should be no public limit-free /kill function. Limited or private are fine.
Although an admin get full safe would be interesting IF and only if you make sure no immature noobs get admin, but the destructo wand is almost as bad, and it is PART OF THE GAME ALREADY, so allowing admins to fix a player's wrench events or remove an item without destroying the bricks after they have lest could be an option.
Ephialtes thought such a mod would ruin blockland's built-in limits.
But I say let the people make that choice for themselves and release only part of it.
package buildingoptions
{
//some code emitted(servercmdplantbrick) also disables this from use by non-scripters
function getTrustLevel(%brick,%brickb)
{
if(%brickb.client.planting&&$pref::server::buildonanybrick)return parent::getTrustLevel(%brickb,%brickb);
else if(%brick.client.minigame==%brickb.client.minigame&&%brickb.client.planting&&$pref::server::minigamebuildanywhere)return parent::getTrustLevel(%brickb,%brickb);
else if(%brick.client.minigame==%brickb.client.minigame&&%brickb.client.planting&&$pref::server::minigamebuildanywhereifmanigameallowsit&&%brick.client.minigame.plantonanybrick)return parent::getTrustLevel(%brickb,%brickb);
else if($pref::server::adminsgetfulltrust&&(%brickb.client.isadmin||%brickb.client.issuperadmin))return parent::getTrustLevel(%brickb,%brickb);
else if($pref::server::superadminsgetfulltrust&&%brickb.client.issuperadmin)return parent::getTrustLevel(%brickb,%brickb);
return parent::getTrustLevel(%brick,%brickb);
}
};
//activatepackage(buildingoptions);
function servercmdsetsharedbricks(%client,%yes)
{
if(%client.minigame.owner=%client)
{
if(%yes||strlower(%yes)$="yes")
{
%brick.client.minigame.plantonanybrick=1;
messageclient(%client,"","\c2minigame shared brick plant is now \c1on");
}
else
{
%brick.client.minigame.plantonanybrick=0;
messageclient(%client,"","\c2minigame shared brick plant is now \c1off");
}
}
else messageclient(%client,"","you don't own a minigame!");
}