Jump to content
  • 0

Nobless Status After Killing Barakiel For All Party Members


Question

Posted (edited)

Hi all, I added this code to my project and even if player is lvl 1 and without sub he is getting nobless status. Could anyone help me? I want to give nobless status only for players who have active subclass and is level 75+ and send a message to let them know if they are under lvl 75 and dont have sub. Any help is welcome.

 

Edit: this code is inside l2raidbossinstance

if (player.isInParty())
				{
					if (getNpcId() == 25325) // barakielId = 25325;
											{
												
											for(L2PcInstance newNoble : player.getParty().getPartyMembers())
											{
												if (!player.isSubClassActive() || player.getLevel() >= 75 || player.isNoble())																									
												 {
													 newNoble.setNoble(true, true);
													 newNoble.sendMessage("You Are Now a Noble, You Are Granted With Noblesse Status, And Noblesse Skills.");
													 
													 
														
													 	                } 
													 					}
											}
																		
					else 
					{
						if (!player.isSubClassActive() || player.getLevel() < 75);
						player.sendMessage("You don't have subclass level 75 or you are already nobless");	
					}
Edited by ton3

Recommended Posts

  • 0
Posted

but this will give only to one player right? what if they make party with 9 players and only 1 of them last hit barakiel?

when you kill a raid and you are close enough you get raid points? it will work exactly like that, i am testing right now my code, i will reply if it works with party too just to be sure

  • 0
Posted

Its not working probably bcs its under for loop. I experienced that in past.

 

Create a custom script for that.

  • 0
Posted (edited)

int _barakielId = 25325;
if (getNpcId() == _barakielId && !player.isNoble())
{
  if (player.isSubClassActive() && player.getLevel() >= 75) 
 
{
player.setNoble(true);
player.broadcastPacket(new SocialAction( player.getObjectId(), 15));
player.sendMessage("You have received nobless status by killing Raid Boss Barakiel!");
  }
else 
if (!player.isSubClassActive() && player.getLevel() <= 75)
   {
player.sendMessage("You don't have subclass level 75 or you are already nobless"); 
}
}

 

 

MY FAULT WHY I ADDED OR INSTEAD OF AND

 

 

it should work also as:

 

if (getNpcId() == _barakielId  && player.getParty() != null)
{
for (final L2PcInstance member : player.getParty().getPartyMembers())
{
  if (member.isSubClassActive() && member.getLevel() >= 75 && !member.isNoble()) 
  {
   member.setNoble(true);
member.broadcastPacket(new SocialAction( player.getObjectId(), 15));
member.sendMessage("You have received nobless status by killing Raid Boss Barakiel!");
  }
else 
if (!member.isSubClassActive() && member.getLevel() <= 75)
   {
player.sendMessage("You don't meet the required criteria. Your level is too low or you aren't on an active subclass."); 
}
}
Edited by Kelrzher
  • 0
Posted

 

int _barakielId = 25325;

if (getNpcId() == _barakielId && !player.isNoble())

{

  if (player.isSubClassActive() && player.getLevel() >= 75) 

  {

player.setNoble(true);

player.broadcastPacket(new SocialAction( player.getObjectId(), 15));

player.sendMessage("You have received nobless status by killing Raid Boss Barakiel!");

  }

else 

if (!player.isSubClassActive() && player.getLevel() <= 75)

   {

player.sendMessage("You don't have subclass level 75 or you are already nobless"); 

}

}

 

 

MY FAULT WHY I ADDED OR INSTEAD OF AND

 

 

it should work also as:

if (getNpcId() == _barakielId  && player.getParty() != null)
{
for (final L2PcInstance member : player.getParty().getPartyMembers())
{
  if (member.isSubClassActive() && member.getLevel() >= 75 && !member.isNoble()) 
  {
   member.setNoble(true);
member.broadcastPacket(new SocialAction( player.getObjectId(), 15));
member.sendMessage("You have received nobless status by killing Raid Boss Barakiel!");
  }
else 
if (!member.isSubClassActive() && member.getLevel() <= 75)
   {
player.sendMessage("You don't meet the required criteria. Your level is too low or you aren't on an active subclass."); 
}
}

i will test both of them, thank u

  • 0
Posted
if (getNpcId() == _barakielId  && player.getParty() != null)
{
for (final L2PcInstance member : player.getParty().getPartyMembers())
{
  if (member.isSubClassActive() && member.getLevel() >= 75 && !member.isNoble()) 
  {
   member.setNoble(true);
member.broadcastPacket(new SocialAction( player.getObjectId(), 15));
member.sendMessage("You have received nobless status by killing Raid Boss Barakiel!");
  }
else 
if (!member.isSubClassActive() && member.getLevel() <= 75)
   {
player.sendMessage("You don't meet the required criteria. Your level is too low or you aren't on an active subclass."); 
}
}

this one still not sending message to level 1 player, I tried changing the code in many ways but same thing , I believe I will have to try make a script for it.

  • 0
Posted

 

Sorry sdw and sweets, no offense but i made it , so you dont need script or it isnt a fault of the loop, your code obviously hadnt the logic as you guys said.

int _barakielId = 25325;
if (getNpcId() == _barakielId  && player.getParty() != null) //check for party 
{
for (final L2PcInstance member : player.getParty().getPartyMembers())
{
if (member.isSubClassActive() && member.getLevel() >= 75 && !member.isNoble()) //replaced player with the new method 
  {
   member.setNoble(true);
member.broadcastPacket(new SocialAction( player.getObjectId(), 15));
member.sendMessage("You have received nobless status by killing Barakiel!");
  }
else 
if (!member.isSubClassActive() && member.getLevel() <= 75) //the message will appear to ppl that arent subclassed and also they are low leveled, only 
   {
member.sendMessage("You don't meet the required criteria. Your level is too low, you aren't on an active subclass."); 
}
}
}

thank you very much :D

  • 0
Posted

I didn't even look at the code cause the location came first. Putting that code there is just wrong, is all.

  • 0
Posted (edited)

Locked.

 

Btw, the code still is kinda bad. Also, you skipped the solo player, you only reward party.. You should move the party check under the npc check :D

Edited by SweeTs
Guest
This topic is now closed to further replies.


×
×
  • Create New...