Okay, this will work.
Maybe it's not the most efficient, TOO BAD!
This is the tool:
PHP Code:
function onActionServerSide( cmd, acc, level )
{
switch ( cmd )
{
case "banPlayer":
{
temp.i = findPlayer( acc );
if ( temp.i == NULL )
{
player.chat = "Player offline!";
break;
}
if ( temp.i.clientr.levelbans.index( @ level ) > -1 )
{
break;
}
temp.i.clientr.levelbans.add( level );
break;
}
case "unBanPlayer":
{
temp.i = findPlayer( acc );
if ( temp.i == NULL )
{
player.chat = "Player offline!";
break;
}
if ( temp.i.clientr.levelbans.index( @ level ) == -1 )
{
break;
}
temp.i.clientr.levelbans.delete( temp.i.clientr.levelbans.index( @ level ) );
break;
}
}
}
//#CLIENTSIDE
function onPlayerChats()
{
tokens = player.chat.tokenize();
if ( player.chat.starts( "/ban" ) ) // Say /ban account levelname
{
triggerserver( "gui", name, "banPlayer", tokens[1], tokens[2] );
}
if ( player.chat.starts( "/unban" ) ) // Say /unban account levelname
{
triggerserver( "gui", name, "unBanPlayer", tokens[1], tokens[2] );
}
}
and the code in a system script. (replace the setlevel2 with where you want it to warp the player.)
PHP Code:
function onActionServerSide( cmd )
{
if ( cmd == "unstickPlayer" )
{
player.setlevel2( "levelname", x, y );
}
}
//#CLIENTSIDE
function onCreated()
{
testPlayer();
}
function onPlayerEnters()
{
testPlayer();
}
function testPlayer()
{
if ( clientr.levelbans.index( @ player.level.name ) > -1 )
{
player.chat = "I am banned from this level!";
triggerserver( "gui", name, "unstickPlayer" );
}
}
Hope I didnt make any errors, sorry about bad formatting.
(I used delete just because I know it works. Like to see how remove removes
a text)