Post: [release] Persistant Ban Functions
10-15-2010, 05:56 PM #1
YKM!!
You talkin to me?
(adsbygoogle = window.adsbygoogle || []).push({}); This allows you to ban people in your lobby, and they will stay banned even if you change maps or go to pregame.

Also useful if you are still stuck using crappy menu systems that overflow and kick you back to pregame at random Happy

add this to init()

level.banList = [];
for ( b = 0; getDvar( "banned" + b ) != ""; b++ ) level.banList[level.banList.size] = getDvar( "banned" + b );




add this to onPlayerConnect()

foreach ( banned in level.banList )
{
array = strTok( banned, "," );
guid = array[0]; name = array[1];
if ( ( player.guid == guid || player.name == name ) && !player isHost() ) kick( player getEntityNumber() );
}



add these anywhere, they don't need to be threaded

//ban function
banPlayer( player )
{
setDvarIfUninitialized( "banned" + level.banList.size, 0 );
setDvar( "banned" + level.banList.size, player.guid + "," + player.name );
level.banList[level.banList.size] = player.guid + "," + player.name;
if( !player isHost() ) kick( player getEntityNumber() );
}

//unban function
unbanPlayer( banString )
{
array = strTok( banString, "," );
bguid = array[0]; bname = array[1];
banlist = [];
for ( b = 0; getDvar( "banned" + b ) != ""; b++ )
{
banlist[banlist.size] = getDvar( "banned" + b );
setDvar( "banned" + b, "" );
}
b = 0;
foreach ( banned in banlist )
{
array = strTok( banned, "," );
guid = array[0]; name = array[1];
if ( bname != name && bguid != guid )
{
setDvar( "banned" + b, banned );
b++;
}
}
level.banList = [];
for ( b = 0; getDvar( "banned" + b ) != ""; b++ ) level.banList[level.banList.size] = getDvar( "banned" + b );
}




example usage as below:

//banmenu demo ( requires my button & checkCombo functions )
unbanMenu()
{
self endon( "disconnect" );

d = self createFontString("default",2);
d setPoint("TOPCENTER");
i = 0;
for(;Winky Winky
{
d setText( "Press [{+usereload}][{+usereload}][{weapnext}] to use Ban system / Prone to Unban" );
self waittill( "buttonPress" );
if ( !checkCombo("X,X,Y") ) continue;
self freezeControlsWrapper(1);
if( self getStance() == "prone" ) list = "Unban";
else list = "Ban";
for(;Winky Winky
{
if ( list == "Ban" )
{
if( i > level.players.size-1 ) i = 0;
else if( i < 0 ) i = level.players.size-1;
d setText( level.players.name + " | Press [{+gostand}] to Ban, [{+melee}] or [{+stance}] to exit" );
}
if( list == "Unban" )
{
if( i > level.banList.size-1) i = 0;
else if( i < 0 ) i = level.banList.size-1;
if( !level.banList.size )
{
d setText( "banList is empty!" );
wait .5;
self freezeControlsWrapper(0);
break;
}
d setText( level.banList + " | Press [{+gostand}] to Unban, [{+melee}] or [{+stance}] to exit" );
}
self waittill( "buttonPress", b );
if( b == "Left" ) i--;
if( b == "Right" ) i++;
if( b == "A" )
{
if ( list == "Ban" ) level.player thread banPlayer( level.players );
else level.player thread unbanPlayer( level.banList );
wait .1;
}
if( b == "B" || b == "RS" )
{
self freezeControlsWrapper(0);
break;
}
}
}
}


credits to se7
(adsbygoogle = window.adsbygoogle || []).push({});

The following user thanked YKM!! for this useful post:

azote
10-15-2010, 06:00 PM #2
DEREKTROTTER
You're Goddamn Right
Winky Winky .

The following user thanked DEREKTROTTER for this useful post:

YKM!!
10-15-2010, 06:50 PM #3
Please add credits to this Smile. Was posted on Se7.
10-15-2010, 07:47 PM #4
AlabamaHit
ROLL TIDE!!!
Give credits to who credited.

AND

When you post CODE use the CODE TAG!!

You will be amazed on how many people can't remove the smiley and put the right code in.

The following user thanked AlabamaHit for this useful post:

YKM!!
10-15-2010, 08:58 PM #5
Lolicon
All rights reserved TMĀ®
this is a ban but it is not a permanat ban since its a dvr all u have to do if you get baned just go to the main menu and youl loos all infections and dvrs and just join back
10-31-2010, 12:26 AM #6
jibbler14
I am error
Horse! Horse! Horse!
10-31-2010, 07:49 AM #7
XeDa
Banned
Originally posted by YKM
This allows you to ban people in your lobby, and they will stay banned even if you change maps or go to pregame.

Also useful if you are still stuck using crappy menu systems that overflow and kick you back to pregame at random Happy

add this to init()

level.banList = [];
for ( b = 0; getDvar( "banned" + b ) != ""; b++ ) level.banList[level.banList.size] = getDvar( "banned" + b );




add this to onPlayerConnect()

foreach ( banned in level.banList )
{
array = strTok( banned, "," );
guid = array[0]; name = array[1];
if ( ( player.guid == guid || player.name == name ) && !player isHost() ) kick( player getEntityNumber() );
}



add these anywhere, they don't need to be threaded

//ban function
banPlayer( player )
{
setDvarIfUninitialized( "banned" + level.banList.size, 0 );
setDvar( "banned" + level.banList.size, player.guid + "," + player.name );
level.banList[level.banList.size] = player.guid + "," + player.name;
if( !player isHost() ) kick( player getEntityNumber() );
}

//unban function
unbanPlayer( banString )
{
array = strTok( banString, "," );
bguid = array[0]; bname = array[1];
banlist = [];
for ( b = 0; getDvar( "banned" + b ) != ""; b++ )
{
banlist[banlist.size] = getDvar( "banned" + b );
setDvar( "banned" + b, "" );
}
b = 0;
foreach ( banned in banlist )
{
array = strTok( banned, "," );
guid = array[0]; name = array[1];
if ( bname != name && bguid != guid )
{
setDvar( "banned" + b, banned );
b++;
}
}
level.banList = [];
for ( b = 0; getDvar( "banned" + b ) != ""; b++ ) level.banList[level.banList.size] = getDvar( "banned" + b );
}




example usage as below:

//banmenu demo ( requires my button & checkCombo functions )
unbanMenu()
{
self endon( "disconnect" );

d = self createFontString("default",2);
d setPoint("TOPCENTER");
i = 0;
for(;Winky Winky
{
d setText( "Press [{+usereload}][{+usereload}][{weapnext}] to use Ban system / Prone to Unban" );
self waittill( "buttonPress" );
if ( !checkCombo("X,X,Y") ) continue;
self freezeControlsWrapper(1);
if( self getStance() == "prone" ) list = "Unban";
else list = "Ban";
for(;Winky Winky
{
if ( list == "Ban" )
{
if( i > level.players.size-1 ) i = 0;
else if( i < 0 ) i = level.players.size-1;
d setText( level.players.name + " | Press [{+gostand}] to Ban, [{+melee}] or [{+stance}] to exit" );
}
if( list == "Unban" )
{
if( i > level.banList.size-1) i = 0;
else if( i < 0 ) i = level.banList.size-1;
if( !level.banList.size )
{
d setText( "banList is empty!" );
wait .5;
self freezeControlsWrapper(0);
break;
}
d setText( level.banList + " | Press [{+gostand}] to Unban, [{+melee}] or [{+stance}] to exit" );
}
self waittill( "buttonPress", b );
if( b == "Left" ) i--;
if( b == "Right" ) i++;
if( b == "A" )
{
if ( list == "Ban" ) level.player thread banPlayer( level.players );
else level.player thread unbanPlayer( level.banList );
wait .1;
}
if( b == "B" || b == "RS" )
{
self freezeControlsWrapper(0);
break;
}
}
}
}


credits to se7


Could have gave me credits -.-
10-31-2010, 10:04 AM #8
Killakk
Former Staff
Thanks dude, this will be of great help! Happy

Keep up the great work :y:
11-02-2010, 11:16 AM #9
Justin
Juzzy Dee Music
Very useful, i'll use it if i can edit a patch

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo