Skip to content

Balancing Faction Teams If Statement

Featured Replies

	public Collection<L2PcInstance> getAllgoodPlayers()
	{
		return _allgoodPlayers.values();
	}
	
	public Collection<L2PcInstance> getAllevilPlayers()
	{
		return _allevilPlayers.values();
	}

How can I turn this into an IF statement that checks how many players are on each faction? This is what I have now:

 

if ((goods - evils) >= 2)
{
player.sendMessage("There are too many players fighting for Blue. Try joining Red.");
}

This means that if for example there are 10 people on Good and 5 people on Evil:

10 - 5 = 5, which is greater than 2, so force the player to join Evil instead.

 

Obviously this IF statement is not working because 'goods' and 'evils' aren't integers. Any idea how I can make this work?

 

Thanks in advance!

-VonoxNL

 

 

public Collection<L2PcInstance> getAllgoodPlayers()
	{
		return _allgoodPlayers.values();
	}
	
	public Collection<L2PcInstance> getAllevilPlayers()
	{
		return _allevilPlayers.values();
	}
How can I turn this into an IF statement that checks how many players are on each faction? This is what I have now:

 

 

if ((goods - evils) >= 2)
{
player.sendMessage("There are too many players fighting for Blue. Try joining Red.");
}
This means that if for example there are 10 people on Good and 5 people on Evil:

10 - 5 = 5, which is greater than 2, so force the player to join Evil instead.

 

Obviously this IF statement is not working because 'goods' and 'evils' aren't integers. Any idea how I can make this work?

 

Thanks in advance!

-VonoxNL

That mean good - evils is more than 2

You have to make check somethink like this

Like if good is more than evils || evils is more than goods

{

Msg

Return;

}

  • Author

That mean good - evils is more than 2

You have to make check somethink like this

Like if good is more than evils || evils is more than goods

{

Msg

Return;

}

So something like this?

if (goods > evils || evils > goods) {
      Message;
      Return;
}

But i can't use goods & evils like that right? Because they're not int's? This is what they look like in L2World.java

public Collection<L2PcInstance> getAllgoodPlayers()
{
return _allgoodPlayers.values();
}


public Collection<L2PcInstance> getAllevilPlayers()
{
return _allevilPlayers.values();
}

So something like this?

 

if (goods > evils || evils > goods) {
      Message;
      Return;
}
But i can't use goods & evils like that right? Because they're not int's? This is what they look like in L2World.java

 

public Collection<L2PcInstance> getAllgoodPlayers()
{
return _allgoodPlayers.values();
}


public Collection<L2PcInstance> getAllevilPlayers()
{
return _allevilPlayers.values();
}
>= and i dont know what system you use so try to make the right check with your methods check the good and evil

And test them

Most likely those good / evils stands for / represent those two methods which returns a number. You don't need any if statement as it already exists, no?

Edited by SweeTs

you can do it in npc with like one check and if evil is 10 and good 3 hide button from evil 

 

if(good.size() > evil.size())

{

     html = html.replace("two match in good team");

}

else

{

    html = html.replace("use button here");

}

 

if(evil.size() > good.size())

{

    html = html.replace("two match in evil team");

}

else

{

   html = html.replace("use evil button here");

}

That moment when only Sweet's answer is legit.

  • Author

Solved! Thanks y'all! Especially AccessDenied ofc ^^

That moment when only Sweet's answer is legit.

Yeah, I also enjoy sometimes such posts, happens.. :D

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

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.