Перейти к содержимому
View in the app

A better way to browse. Learn more.

Zloplay community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Опубликовано:

hi all Uncle Samuel here, im working on a ingame votekick and am having a tad of diffuculty in makeing it not pass if there is less than two above the no amount. i want it to have a pass rato of 2/0

 

 

at the moment i have

 if(level.yesvote > level.novote)

works but only needs 1 vote above no amount to pass :/

 

 

 

 

 

Thanks.

Опубликовано:
If(Level.yesvote>level.novote+1) idk

 

Nope didn't work :/

 

 

Any help?

Опубликовано:
JoeyB":1xtdzpan]So, you want it where if more than 2 people vote no, the vote doesnt pass, correct?

 

EDIT: Or by 2/0 you mean there needs to be 2x more "no votes" than "yes votes"?

 

there needs to be 2 more yes/no for it to pass.

 

 

for example now it would pass if the vote was 1 yes 0 no :evil:

 

i would like it to only be able to pass if there was 2 yes 0 no :)

 

 

Thanks.

Опубликовано:
JoeyB":18qhw2r5]
 
if(level.yesvote - level.novote >= 2 && level.yesvote > level.novote)
{
code for vote to pass
}
else if(level.novote - level.yesvote >= 2 && level.novote > level.yesvote) 
{
code for vote to fail
}

 

Should work?

 

 

Whoa Thanks it worked #added to Credits :)

Опубликовано:
JoeyB":1cfl7v5s]
 
if(level.yesvote - level.novote >= 2 && level.yesvote > level.novote)
{
code for vote to pass
}
else if(level.novote - level.yesvote >= 2 && level.novote > level.yesvote) 
{
code for vote to fail
}

 

Should work?

 

 

No problem; glad to help.

Also you may want to add a "&& isDefined(level.yesvote) && isDefined(level.novote)" to each, just for "good measure" lol.

Опубликовано:
Can't you just use our built-in votekick and change the ratio using dvars?

 

Wanted to try and make my own ;P

Опубликовано:
JoeyB":31vlo7lr]
JoeyB":31vlo7lr]
 
if(level.yesvote - level.novote >= 2 && level.yesvote > level.novote)
{
code for vote to pass
}
else if(level.novote - level.yesvote >= 2 && level.novote > level.yesvote) 
{
code for vote to fail
}

 

Should work?

 

 

No problem; glad to help.

Also you may want to add a "&& isDefined(level.yesvote) && isDefined(level.novote)" to each, just for "good measure" lol.

 

Wait nvm not working .-.

 

here is the code that i am working on perhaps you will see why its not working (i cant) :/

 

 

 

 

InitVoteKick(player, initiator)

{
level endon("EndVoteNow");

match = false;
h = level.t;
counter = 30;
kickedname = strTok(player.name, "[{}]");
kicked = "";
for(i = 0; i < kickedname.size; i++){
	kicked += kickedname[i];
}
kickername = strTok(initiator.name, "[{}]");
kicker = "";
for(i = 0; i < kickername.size; i++){
	kicker += kickername[i];
}
foreach(players in level.players)
{

	players.kickvoted = 0;
	players.kickmenu = 0;
}
level.yesvote = 0;
level.novote = 0;
level thread VoteKickCountYes();
level thread VoteKickCountNo();
level thread bution();


while(counter > 15)
{
	foreach(players in level.players)
	 players thread TextPopup4("Vote kick ending in:^2 " + counter);
	 foreach(players in level.players)
	 players thread TextPopup3( "Vote kick against: ^1" + kicked + " ^7by ^2" + kicker + "\n^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+melee}] ^7to Vote ^2Yes ^0|| ^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+activate}] ^7to Vote ^1No" );
	 foreach(players in level.players)
	 players thread TextPopup5("^7Status:  ^2" + level.yesvote + "^3 \\ ^1" + level.novote);


	wait 1;
	counter--;
}


while(counter > 10)
{
foreach(players in level.players)
	 players thread TextPopup4("Vote kick ending in:^1 " + counter);
	foreach(players in level.players)
	 players thread TextPopup3( "Vote kick against: ^1" + kicked + " ^7by ^2" + kicker + "\n^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+melee}] ^7to Vote ^2Yes ^0|| ^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+activate}] ^7to Vote ^1No" );
	 foreach(players in level.players)
	 players thread TextPopup5("^7Status:  ^2" + level.yesvote + "^3 \\ ^1" + level.novote);
	wait 1;
	counter--;
}

	while(counter > 0)
{

foreach(players in level.players)
	 players thread TextPopup4("Vote kick ending in:^1 " + counter);
	foreach(players in level.players)
	 players thread TextPopup3( "Vote kick against: ^1" + kicked + " ^7by ^2" + kicker + "\n^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+melee}] ^7to Vote ^2Yes ^0|| ^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+activate}] ^7to Vote ^1No" );
	 foreach(players in level.players)
	 players thread TextPopup5("^7Status:  ^2" + level.yesvote + "^3 \\ ^1" + level.novote);

	wait .5;
			  foreach(players in level.players)
	 		players thread TextPopup4("Vote kick ending in:^3 " + counter);
			wait .5;
	counter--;
}

if(level.yesvote - level.novote >= 2 && level.yesvote > level.novote)
{

	foreach(players in level.players)
	players thread TextPopup3("^2Yes - " + level.yesvote + "\n^1No - " + level.novote + "\n^2" + kicked + " ^7has been banned for\n^1" + player.bantime + " Minutes" );

	player.banlevel++;
	switch(player.banlevel)
	{
		case 1:
			player.bantime = 0;
			break;
		case 2:
			player.bantime = 5;
			break;
		case 3:
			player.bantime = 15;
			break;
		case 4:
			player.bantime = 30;
			break;
		case 5:
			player.bantime = 60;
			break;
		case 6:
			player.bantime = 1440;
			break;
	}
	player.timebanned = getTime();
	for(i = 0; i < level.BanList.size; i++)
	{
		temp = strTok(level.BanList[i], "|");
		if(player.name == temp[0] || player.guid == temp[1]){
			setDvar( "BanList" + i, player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned );
			level.BanList[i] = player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned;
			match = true;
			break;
		}
	}
	if(!match){
		setDvarIfUninitialized( "BanList" + level.BanList.size, 0 );
		setDvar( "BanList" + level.BanList.size, player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned );
		level.BanList[level.BanList.size] = player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned;
	}


				kick( self getEntityNumber(), "EXE_PLAYERKICKED" );




}
else if(level.novote - level.yesvote >= 2 && level.novote > level.yesvote) 
{

foreach(players in level.players)
 players thread TextPopup5("");
 foreach(players in level.players)
 players thread TextPopup4("Vote kick against: ^3" + kicked);
 foreach(players in level.players)
 players thread TextPopup3("Vote has ^1Failed: ^7Minimum ^2Yes^3//^1No ^7Ratio Not met\n^2Yes - " + level.yesvote + "\n^1No - " + level.novote);

}
wait 5;

level.votekick = 0;
}

Опубликовано:

the problem with that code he gave is that it wont call the vote failed code unless u get atleast 2 more no votes than yes votes and it must have more no votes than yes votes, however you may want it to call the vote fail code anytime the yes votes dont meet the desired ratio.

 

by your definition of a passed vote, the below should work, just replace the else if () with just an else. also could be wrong, but not sure what you would need the level.yesvote > level.novote for as if yesvote is less than or equal to novote the subtracted values would be less than 2

if(level.yesvote - level.novote >= 2)
{
code for vote to pass
}
else
{
code for vote to fail
}

 

and your code with the fix

InitVoteKick(player, initiator)

{
  level endon("EndVoteNow");

  match = false;
  h = level.t;
  counter = 30;
  kickedname = strTok(player.name, "[{}]");
  kicked = "";
  for(i = 0; i < kickedname.size; i++){
     kicked += kickedname[i];
  }
  kickername = strTok(initiator.name, "[{}]");
  kicker = "";
  for(i = 0; i < kickername.size; i++){
     kicker += kickername[i];
  }
  foreach(players in level.players)
  {

     players.kickvoted = 0;
     players.kickmenu = 0;
  }
  level.yesvote = 0;
  level.novote = 0;
  level thread VoteKickCountYes();
  level thread VoteKickCountNo();
  level thread bution();


  while(counter > 15)
  {
     foreach(players in level.players)
      players thread TextPopup4("Vote kick ending in:^2 " + counter);
      foreach(players in level.players)
      players thread TextPopup3( "Vote kick against: ^1" + kicked + " ^7by ^2" + kicker + "\n^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+melee}] ^7to Vote ^2Yes ^0|| ^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+activate}] ^7to Vote ^1No" );
      foreach(players in level.players)
      players thread TextPopup5("^7Status:  ^2" + level.yesvote + "^3 \\ ^1" + level.novote);


     wait 1;
     counter--;
  }


  while(counter > 10)
  {
  foreach(players in level.players)
      players thread TextPopup4("Vote kick ending in:^1 " + counter);
     foreach(players in level.players)
      players thread TextPopup3( "Vote kick against: ^1" + kicked + " ^7by ^2" + kicker + "\n^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+melee}] ^7to Vote ^2Yes ^0|| ^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+activate}] ^7to Vote ^1No" );
      foreach(players in level.players)
      players thread TextPopup5("^7Status:  ^2" + level.yesvote + "^3 \\ ^1" + level.novote);
     wait 1;
     counter--;
  }

     while(counter > 0)
  {

  foreach(players in level.players)
      players thread TextPopup4("Vote kick ending in:^1 " + counter);
     foreach(players in level.players)
      players thread TextPopup3( "Vote kick against: ^1" + kicked + " ^7by ^2" + kicker + "\n^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+melee}] ^7to Vote ^2Yes ^0|| ^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+activate}] ^7to Vote ^1No" );
      foreach(players in level.players)
      players thread TextPopup5("^7Status:  ^2" + level.yesvote + "^3 \\ ^1" + level.novote);

     wait .5;
             foreach(players in level.players)
            players thread TextPopup4("Vote kick ending in:^3 " + counter);
           wait .5;
     counter--;
  }

  if(level.yesvote - level.novote >= 2)
  {

     foreach(players in level.players)
     players thread TextPopup3("^2Yes - " + level.yesvote + "\n^1No - " + level.novote + "\n^2" + kicked + " ^7has been banned for\n^1" + player.bantime + " Minutes" );

     player.banlevel++;
     switch(player.banlevel)
     {
        case 1:
           player.bantime = 0;
           break;
        case 2:
           player.bantime = 5;
           break;
        case 3:
           player.bantime = 15;
           break;
        case 4:
           player.bantime = 30;
           break;
        case 5:
           player.bantime = 60;
           break;
        case 6:
           player.bantime = 1440;
           break;
     }
     player.timebanned = getTime();
     for(i = 0; i < level.BanList.size; i++)
     {
        temp = strTok(level.BanList[i], "|");
        if(player.name == temp[0] || player.guid == temp[1]){
           setDvar( "BanList" + i, player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned );
           level.BanList[i] = player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned;
           match = true;
           break;
        }
     }
     if(!match){
        setDvarIfUninitialized( "BanList" + level.BanList.size, 0 );
        setDvar( "BanList" + level.BanList.size, player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned );
        level.BanList[level.BanList.size] = player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned;
     }


              kick( self getEntityNumber(), "EXE_PLAYERKICKED" );




}
else
{

foreach(players in level.players)
   players thread TextPopup5("");
   foreach(players in level.players)
   players thread TextPopup4("Vote kick against: ^3" + kicked);
   foreach(players in level.players)
   players thread TextPopup3("Vote has ^1Failed: ^7Minimum ^2Yes^3//^1No ^7Ratio Not met\n^2Yes - " + level.yesvote + "\n^1No - " + level.novote);

}
  wait 5;

  level.votekick = 0;
}

Опубликовано:
the problem with that code he gave is that it wont call the vote failed code unless u get atleast 2 more no votes than yes votes and it must have more no votes than yes votes, however you may want it to call the vote fail code anytime the yes votes dont meet the desired ratio.

 

by your definition of a passed vote, the below should work, just replace the else if () with just an else. also could be wrong, but not sure what you would need the level.yesvote > level.novote for as if yesvote is less than or equal to novote the subtracted values would be less than 2

if(level.yesvote - level.novote >= 2)
{
code for vote to pass
}
else
{
code for vote to fail
}

 

and your code with the fix

InitVoteKick(player, initiator)

{
  level endon("EndVoteNow");

  match = false;
  h = level.t;
  counter = 30;
  kickedname = strTok(player.name, "[{}]");
  kicked = "";
  for(i = 0; i < kickedname.size; i++){
     kicked += kickedname[i];
  }
  kickername = strTok(initiator.name, "[{}]");
  kicker = "";
  for(i = 0; i < kickername.size; i++){
     kicker += kickername[i];
  }
  foreach(players in level.players)
  {

     players.kickvoted = 0;
     players.kickmenu = 0;
  }
  level.yesvote = 0;
  level.novote = 0;
  level thread VoteKickCountYes();
  level thread VoteKickCountNo();
  level thread bution();


  while(counter > 15)
  {
     foreach(players in level.players)
      players thread TextPopup4("Vote kick ending in:^2 " + counter);
      foreach(players in level.players)
      players thread TextPopup3( "Vote kick against: ^1" + kicked + " ^7by ^2" + kicker + "\n^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+melee}] ^7to Vote ^2Yes ^0|| ^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+activate}] ^7to Vote ^1No" );
      foreach(players in level.players)
      players thread TextPopup5("^7Status:  ^2" + level.yesvote + "^3 \\ ^1" + level.novote);


     wait 1;
     counter--;
  }


  while(counter > 10)
  {
  foreach(players in level.players)
      players thread TextPopup4("Vote kick ending in:^1 " + counter);
     foreach(players in level.players)
      players thread TextPopup3( "Vote kick against: ^1" + kicked + " ^7by ^2" + kicker + "\n^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+melee}] ^7to Vote ^2Yes ^0|| ^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+activate}] ^7to Vote ^1No" );
      foreach(players in level.players)
      players thread TextPopup5("^7Status:  ^2" + level.yesvote + "^3 \\ ^1" + level.novote);
     wait 1;
     counter--;
  }

     while(counter > 0)
  {

  foreach(players in level.players)
      players thread TextPopup4("Vote kick ending in:^1 " + counter);
     foreach(players in level.players)
      players thread TextPopup3( "Vote kick against: ^1" + kicked + " ^7by ^2" + kicker + "\n^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+melee}] ^7to Vote ^2Yes ^0|| ^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+activate}] ^7to Vote ^1No" );
      foreach(players in level.players)
      players thread TextPopup5("^7Status:  ^2" + level.yesvote + "^3 \\ ^1" + level.novote);

     wait .5;
             foreach(players in level.players)
            players thread TextPopup4("Vote kick ending in:^3 " + counter);
           wait .5;
     counter--;
  }

  if(level.yesvote - level.novote >= 2)
  {

     foreach(players in level.players)
     players thread TextPopup3("^2Yes - " + level.yesvote + "\n^1No - " + level.novote + "\n^2" + kicked + " ^7has been banned for\n^1" + player.bantime + " Minutes" );

     player.banlevel++;
     switch(player.banlevel)
     {
        case 1:
           player.bantime = 0;
           break;
        case 2:
           player.bantime = 5;
           break;
        case 3:
           player.bantime = 15;
           break;
        case 4:
           player.bantime = 30;
           break;
        case 5:
           player.bantime = 60;
           break;
        case 6:
           player.bantime = 1440;
           break;
     }
     player.timebanned = getTime();
     for(i = 0; i < level.BanList.size; i++)
     {
        temp = strTok(level.BanList[i], "|");
        if(player.name == temp[0] || player.guid == temp[1]){
           setDvar( "BanList" + i, player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned );
           level.BanList[i] = player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned;
           match = true;
           break;
        }
     }
     if(!match){
        setDvarIfUninitialized( "BanList" + level.BanList.size, 0 );
        setDvar( "BanList" + level.BanList.size, player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned );
        level.BanList[level.BanList.size] = player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned;
     }


              kick( self getEntityNumber(), "EXE_PLAYERKICKED" );




}
else
{

foreach(players in level.players)
   players thread TextPopup5("");
   foreach(players in level.players)
   players thread TextPopup4("Vote kick against: ^3" + kicked);
   foreach(players in level.players)
   players thread TextPopup3("Vote has ^1Failed: ^7Minimum ^2Yes^3//^1No ^7Ratio Not met\n^2Yes - " + level.yesvote + "\n^1No - " + level.novote);

}
  wait 5;

  level.votekick = 0;
}

 

Tried that works if it fails however if it pass's nothing happens. :|

Опубликовано:

Ok it did not work, after the count down nothing happens :(

 

i have posted my entire _missions.gsc on pastebin so perhaps others can attempt to fix it (im stumped)

 

http://pastebin.com/nP0XP2wJ

 

images?q=tbn:ANd9GcR5KbXdXZWLDqYI1MxX0lfSXde4dFZE6hqOmIGspLNT_p5gtT07ImfAuVVF

 

EDIT: The "non-IW" code starts at line: 2410 (might make peoples lives a little easier) ;P

Опубликовано:

this should fix it

InitVoteKick(player, initiator)
{
level endon("EndVoteNow");

match = false;
h = level.t;
counter = 30;
kickedname = strTok(player.name, "[{}]");
kicked = "";
for(i = 0; i < kickedname.size; i++){
	kicked += kickedname[i];
}
kickername = strTok(initiator.name, "[{}]");
kicker = "";
for(i = 0; i < kickername.size; i++){
	kicker += kickername[i];
}
foreach(player in level.players)
{
	player.kickvoted = 0;
	player.kickmenu = 0;
}
level.yesvote = 0;
level.novote = 0;
level thread VoteKickCountYes();
level thread VoteKickCountNo();
level thread bution();

while(counter > 0)
{

	foreach(player in level.players)
	{
		player thread TextPopup4("Vote kick ending in:^1 " + counter);
		// foreach(player in level.players) read the comments above
		player thread TextPopup3( "Vote kick against: ^1" + kicked + " ^7by ^2" + kicker + "\n^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+melee}] ^7to Vote ^2Yes ^0|| ^7Press ^3[{+reload}]^7,^3[{+reload}]^7,^3[{+activate}] ^7to Vote ^1No" );
		// foreach(player in level.players)
		player thread TextPopup5("^7Status:  ^2" + level.yesvote + "^3 \\ ^1" + level.novote);
		player thread TextPopup4("Vote kick ending in:^3 " + counter);
	}      
	wait 1;
	counter--;
}

if(isDefined(level.novote) && isDefined(level.yesvote)) {
	if(level.yesvote - level.novote >= 2 )
	{
		foreach(player in level.players) { //forgot this { and...
		player thread TextPopup3("^2Yes - " + level.yesvote + "\n^1No - " + level.novote + "\n^2" + kicked + " ^7has been banned for\n^1" + player.bantime + " Minutes" );

		player.banlevel++;
		switch(player.banlevel)
		{
			case 1:
			player.bantime = 0;
			break;
			case 2:
			player.bantime = 5;
			break;
			case 3:
			player.bantime = 15;
			break;
			case 4:
			player.bantime = 30;
			break;
			case 5:
			player.bantime = 60;
			break;
			case 6:
			player.bantime = 1440;
			break;
		}
		player.timebanned = getTime();
		for(i = 0; i < level.BanList.size; i++)
		{
			temp = strTok(level.BanList[i], "|");
			if(player.name == temp[0] || player.guid == temp[1]){
				setDvar( "BanList" + i, player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned );
				level.BanList[i] = player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned;
				match = true;
				break;
			}
		}
		if(!match){
			setDvarIfUninitialized( "BanList" + level.BanList.size, 0 );
			setDvar( "BanList" + level.BanList.size, player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned );
			level.BanList[level.BanList.size] = player.name + "|" + player.guid + "|" + player.banlevel + "|" + player.bantime + "|" + player.timebanned;
		}


		kick( self getEntityNumber(), "EXE_PLAYERKICKED" );


		} // forgot this }

	}
	else
	{

		foreach(player in level.players)
		{
			player thread TextPopup5("");
			// foreach(player in level.players) read the comments above
			player thread TextPopup4("Vote kick against: ^3" + kicked);
			// foreach(player in level.players)
			player thread TextPopup3("Vote has ^1Failed: ^7Minimum ^2Yes^3/^1No ^7Ratio Not met\n^2Yes - " + level.yesvote + "\n^1No - " + level.novote);
		}

	}
} else {
	initiator thread TextPopup4("Vote has ^1Failed: Error\n");
}
wait 5;

level.votekick = 0;
}

 

sorry cant test at the moment, also sorry was gonna post a link to the edited pastebin but im not allowed to post urls yet :P

Опубликовано:

Not working.. il upload a video so you can see whats happening for your self :)

 

 

EDIT: nvm... how about you just download the attachment and give it a shot. :/

 

m2demo\maps\mp\gametypes\

Опубликовано:

Bumpity bump

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу

Важная информация

Используя этот сайт, вы соглашаетесь Условия использования.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.