
03-30-2007, 11:24 PM
|
|
Malorian
|
 |
Join Date: May 2004
Posts: 5,289
|
|
Quote:
Originally Posted by cbkbud
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.
|
You DO know that there is a /style command on RC for lazy people? |
__________________
Follow my work on social media post-Graal: Updated august 2025.
|
|
|
|