1
0
mirror of https://github.com/Paintball/BO2-GSC-Releases.git synced 2025-06-07 13:28:09 -05:00

Delete main.gsc

This commit is contained in:
Cahz 2020-08-08 09:35:38 -07:00 committed by GitHub
parent 20961f7c6c
commit 76b4ee09b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,356 +0,0 @@
/*/////////////////////////////////
// SIMPLE VOTE KICK SYSTEM BO2 //
// DEVELOPED BY @ITSCAHZ //
////////////////////////////////
THANKS @THEHIDDENHOUR FOR THE HELP AND ANSWERING QUESTIONS WHEN I HAD THEM
VERSION 1.1 ADDED A DVAR FOR BANNING TO PREVENT SOMEONE FROM REJOINING AFTER BEING VOTEKICKED
ADDED VOTE KICK LIMIT: ONE VOTE KICK PER PERSON, PER MAP*/
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_hud_message;
init()
{
level thread onPlayerConnect();
}
onPlayerConnect()
{
for(;;)
{
level waittill("connected", player);
if(getPlayerDvar(player, "banned") == "") {} // if the dvar "banned" = none: do nonthing
else if(getPlayerDvar(player, "banned") == true) // if the dvar "banned" = true,
kick(player getEntityNumber(),"EXE_PLAYERKICKED");// kick that lil bitch lmao
player thread onPlayerSpawned();
}
}
onPlayerSpawned()
{
self endon("disconnect");
level endon("game_ended");
for(;;)
{
self waittill("spawned_player");
self thread voteKickButtonMonitor();
}
}
voteKickButtonMonitor()
{
self endon("disconnect");
level endon("game_ended");
for(;;)
{
if(self adsbuttonpressed() && self actionslottwobuttonpressed() && !isDefined(level.voting) && !isDefined(self.checkingToVote))
{
self thread votekickText();
self thread func_whotokick();
}
wait 0.05;
}
}
func_whotokick()
{
self endon("disconnect");
self endon("close_voting");
level endon("game_ended");
self.checkingToVote = true;
level thread recountPlayers();
i = 0;
player = level.players[i];
self.VoteKickTopString setText("Vote Kick Who?");
self.VoteKickBottomString setText("[{+actionslot 3}] << ^1"+player.name+"^7 >> [{+actionslot 4}]");
self.VoteKickInfoString setText("^5Press [{+gostand}] to Select, [{+melee}] to Close");
for(;;)
{
if(self actionslotfourbuttonpressed())
{
if(i != (level.players.size - 1))
{
i++;
player = level.players[i];
self.VoteKickBottomString setText("[{+actionslot 3}] << ^1"+player.name+"^7 >> [{+actionslot 4}]");
}
else
{
i = 0;
player = level.players[i];
self.VoteKickBottomString setText("[{+actionslot 3}] << ^1"+player.name+"^7 >> [{+actionslot 4}]");
}
}
if(self actionslotthreebuttonpressed())
{
if(i == 0)
{
i = (level.players.size - 1);
player = level.players[i];
self.VoteKickBottomString setText("[{+actionslot 3}] << ^1"+player.name+"^7 >> [{+actionslot 4}]");
}
else
{
i--;
player = level.players[i];
self.VoteKickBottomString setText("[{+actionslot 3}] << ^1"+player.name+"^7 >> [{+actionslot 4}]");
}
}
if(self meleebuttonpressed())
{
self.checkingToVote = undefined;
self.VoteKickTopString destroy();
self.VoteKickBottomString destroy();
self.VoteKickInfoString destroy();
self notify("close_voting");
}
if(self jumpbuttonpressed())
self thread CheckIfCanVoteKick(player);
wait 0.05;
}
}
CheckIfCanVoteKick(badplayer)
{
if(!isDefined(level.voting))
{
if(isDefined(self.VoteKickedAlready)) //only lets a player votekick once per game to prevent abuse
self iprintln("^1You cannot vote kick more than once a game!");
/*
-----------------------------------------------
| *USE THIS IF USING A VERFICATION SYSTEM* |
| TO STOP VERIFIED USERS FROM BEING VOTEKICKED |
-----------------------------------------------
else if(badplayer isVerified())
{
self iprintln("^1Cannot vote kick verified users!");
}
*/
else
{
level.voting = true;
self.VoteKickedAlready = true;
foreach(player in level.players)
{
player.VoteKickTopString destroy();
player.VoteKickBottomString destroy();
player.VoteKickInfoString destroy();
}
level thread StartVoteKick(badplayer);
self.checkingToVote = undefined;
self notify("close_voting");
}
}
else
self iprintln("^1Voting taking place! Please wait until it has finished!");
}
StartVoteKick(badplayer)
{
level endon("voting_ended");
level endon("game_ended");
level thread StartVoteKickTimeLimit(badplayer);
level thread KickIfVotesAreEnough(badplayer);
level.votesneeded = ceil(level.numberOfPlayers / 2);
level.votestokick = 0;
foreach(player in level.players)
{
player thread votekickText();
if(player.name == badplayer.name)
{
player freezeControls(true);
player.VoteKickTopString setText("^1Vote Kicking "+badplayer.name);
player.VoteKickBottomString setText("^1( "+level.votestokick+" / "+level.votesneeded+" ) ^7votes needed!");
player.VoteKickInfoString setText("The lobby is vote kicking you please wait");
}
else
{
player thread VotingButtonMonitor(badplayer);
player.VoteKickTopString setText("^1Vote Kicking "+badplayer.name);
player.VoteKickBottomString setText("^1( "+level.votestokick+" / "+level.votesneeded+" ) ^7votes needed!");
player.VoteKickInfoString setText("^5Prone [{+actionslot 1}] ^1Vote to Kick\n^5Prone [{+actionslot 2}] ^2Vote to Stay");
}
}
}
VotingButtonMonitor(badplayer)
{
self endon("disconnect");
level endon("voting_ended");
level endon("game_ended");
for(;;)
{
if(self getStance() == "prone" && self actionslotonebuttonpressed() && !isDefined(self.menu.open) && !isDefined(self.voted))
{
self.voted = true;
level.votestokick += 1;
level notify("update_vote_text");
self iprintln("^1You voted for ^5"+badplayer.name+" to get kicked!");
self.VoteKickInfoString destroy();
}
if(self getStance() == "prone" && self actionslottwobuttonpressed() && !isDefined(self.menu.open) && !isDefined(self.voted))
{
self.voted = true;
self iprintln("^2You voted for ^5"+badplayer.name+" to stay!");
self.VoteKickInfoString destroy();
}
wait 0.05;
}
}
KickIfVotesAreEnough(badplayer)
{
level endon("voting_ended");
level endon("game_ended");
for(;;)
{
wait 0.05;
if(level.votestokick >= level.votesneeded)
{
foreach(player in level.players)
{
player iprintln("^5Vote Passed! ^1"+badplayer.name+" got Kicked!");
player.voted = undefined;
player.checkingToVote = undefined;
}
setPlayerDvar(badplayer, "banned", true); //this dvar is sticky, and will "ban" the player until
//the server is reset
kick(badplayer getentitynumber());
level.votestokick = undefined;
level.voting = undefined;
level notify("voting_ended");
}
}
}
StartVoteKickTimeLimit(badplayer)
{
level endon("voting_ended");
level endon("game_ended");
level thread updateText();
level thread removeText();
level.votesneeded = ceil(level.numberOfPlayers / 2);
level.votestokick = 0;
wait 15;
if(level.votestokick < level.votesneeded)
{
foreach(player in level.players)
{
player.voted = undefined;
player.checkingToVote = undefined;
if(player.name == badplayer.name)
{
player iprintln("^1Not Enough votes to kick you!");
player freezeControls(false);
}
else
player iprintln("^1Not Enough Votes to Kick ^5"+badplayer.name+"!");
}
}
level.votestokick = undefined;
level.voting = undefined;
level notify("voting_ended");
}
updateText()
{
level endon("voting_ended");
for(;;)
{
level waittill("update_vote_text");
foreach(player in level.players)
player.VoteKickBottomString setText("^1( "+level.votestokick+" / "+level.votesneeded+" ) ^7votes needed!");
}
}
removeText()
{
for(;;)
{
level waittill("voting_ended");
foreach(player in level.players)
{
player.VoteKickTopString destroy();
player.VoteKickBottomString destroy();
player.VoteKickInfoString destroy();
}
}
}
votekickText()
{
self.VoteKickTopString = self createFontString("objective", 1.2);
self.VoteKickTopString setPoint("CENTER", "CENTER", -345, -100);
self.VoteKickBottomString = self createFontString("objective", 1.2);
self.VoteKickBottomString setPoint("CENTER", "CENTER", -345, -85);
self.VoteKickInfoString = self createFontString("objective", 1);
self.VoteKickInfoString setPoint("CENTER", "CENTER", -345, -70);
}
recountPlayers()
{
level.numberOfBots = 0;
level.numberOfPlayers = 0;
foreach(player in level.players)
{
if(isDefined(player.pers["isBot"])&& player.pers["isBot"])
level.numberOfBots += 1;
else
level.numberOfPlayers += 1;
}
}
setPlayerDvar(player, dvar, value)
{
thedvar = player getXUID() + "_" + dvar;
setDvar(thedvar, value);
}
getPlayerDvar(player, dvar)
{
thedvar = player getXUID() + "_" + dvar;
return getDvar(thedvar);
}
getPlayerDvarFloat(player, dvar)
{
thedvar = player getXUID() + "_" + dvar;
return getDvarFloat(thedvar);
}
setPlayerDvarVector(player, dvar, vec)
{
setPlayerDvar(player, dvar + "_0", vec[0]);
setPlayerDvar(player, dvar + "_1", vec[1]);
setPlayerDvar(player, dvar + "_2", vec[2]);
}
getPlayerDvarVector(player, dvar)
{
vec_0 = getPlayerDvarFloat(player, dvar + "_0");
vec_1 = getPlayerDvarFloat(player, dvar + "_1");
vec_2 = getPlayerDvarFloat(player, dvar + "_2");
return (vec_0, vec_1, vec_2);
}