Jump to content
  • 0

[HELP]ExShowScreenMessage to all (HOW???)


Question

Posted

Hello MxC! so i want to tell me a code that all players will see the screen message that i will put!

everyone knows how to do that?!!!

 

i have freya server last revision!

Recommended Posts

  • 0
Posted

ExShowScreenMessage enter = new ExShowScreenMessage("Your message here", 5000);

 

5000 means 5 seconds u can change this value as u wish

 

that is only for 1 person... i want to show it to ALL in game

  • 0
Posted

for(L2PcInstance players : L2World.getInstance().getAllPlayers().values())
          {
                ExShowScreenMessage enter = new ExShowScreenMessage("Your message here", 5000);
            }

 

try this , and post results

  • 0
Posted

for(L2PcInstance players : L2World.getInstance().getAllPlayers().values())
          {
                ExShowScreenMessage enter = new ExShowScreenMessage("Your message here", 5000);
            }

 

 

try this , and post results

 

actually that's bad , first of all you forgot to add the sendPacket method .

and this way creates the packet for all online characters , thing that it's not needed.

 

So the best way:

 

 

ExShowScreenMessage enter = new ExShowScreenMessage("Your message here", 5000);
for(L2PcInstance j : L2World.getInstance().getAllPlayers().values()){
if(j == null)
continue;
j.sendPacket(enter);
}

  • 0
Posted

actually that's bad , first of all you forgot to add the sendPacket method .

and this way creates the packet for all online characters , thing that it's not needed.

 

So the best way:

 

 

ExShowScreenMessage enter = new ExShowScreenMessage("Your message here", 5000);
for(L2PcInstance j : L2World.getInstance().getAllPlayers().values()){
if(j == null)
continue;
j.sendPacket(enter);
}

 

thank's for help, i will test it now if it works!

  • 0
Posted

Collection<L2PcInstance> plrs = L2World.getInstance().getAllPlayers().values();
               CreatureSay cs = new CreatureSay(1, Say2.ANNOUNCEMENT, "Server:", "lalalala");
              
               for (L2PcInstance p : plrs)
               {
                       p.sendPacket(cs);
               }

 

try it

  • 0
Posted

ExShowScreenMessage doesn't work on interlude you should rework it thats why it doesn't work

And also Iracundus its doesn't need to check it is null or not if there is a packet it will send it.

  • 0
Posted

And the null check is needed, so far.

At least on mine it work normally

Sorry i thought it was for interlude.

  • 0
Posted

At least on mine it work normally

Sorry i thought it was for interlude.

A null check is to prevent NPE. In 95% of any cases, a null check isn't needed, mostly if the program is correctly working and all synchronizations are correct.

 

I don't think Collection itself forbid null objects.

The fact is, when you pick up players in a collection, one of those players could suddenly drop during the process. If you make operations on that player, then it would be wrong and probably will send NPE.

  • 0
Posted

what's the problem?

for me it works.

 

on eclipse don't get any error and on build too... but in the game don't show me the screenmessage

 

check please if this code is ok:

			 ExShowScreenMessage vote = (new ExShowScreenMessage("Need " + votesneed + " votes More to Reward all Players.", 10000));
		 for(L2PcInstance player : L2World.getInstance().getAllPlayers().values())
		 {
			 if(player == null)
			  continue;
		 sendPacket(vote);
		 }

i have any problem on this?

Guest
This topic is now closed to further replies.


×
×
  • Create New...