| cbk1994 |
03-30-2007 11:23 PM |
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)
|