Jump to content
  • 0

Balancing Faction Teams If Statement


VonoxNL

Question

	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

 

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

 

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;

}

Link to comment
Share on other sites

  • 0

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();
}
Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

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
Link to comment
Share on other sites

  • 0

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");

}

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...