Jump to content
  • 0

Add Point pvp in arena zone


Amanda55

Question

10 answers to this question

Recommended Posts

  • 0
* This program is free software: you can redistribute it and/or modify it under

* the terms of the GNU General Public License as published by the Free Software

* Foundation, either version 3 of the License, or (at your option) any later

* version.

*

* This program is distributed in the hope that it will be useful, but WITHOUT

* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS

* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more

* details.

*

* You should have received a copy of the GNU General Public License along with

* this program. If not, see <http://www.gnu.org/licenses/>.

*/

package com.end.gameserver.model.zone.type;

 

import com.end.gameserver.model.actor.L2Character;

import com.end.gameserver.model.actor.instance.L2PcInstance;

import com.end.gameserver.model.zone.L2ZoneType;

import com.end.gameserver.network.SystemMessageId;

 

/**

* A PVP Zone

* @author durgus

*/

public class L2ArenaZone extends L2ZoneType

{

public L2ArenaZone(int id)

{

super(id);

}

 

@Override

protected void onEnter(L2Character character)

{

if (character instanceof L2PcInstance)

{

if (!character.isInsideZone(L2Character.ZONE_PVP))

{

character.sendPacket(SystemMessageId.ENTERED_COMBAT_ZONE);

}

}

 

character.setInsideZone(L2Character.ZONE_PVP, true);

}

 

@Override

protected void onExit(L2Character character)

{

if (character instanceof L2PcInstance)

{

if (!character.isInsideZone(L2Character.ZONE_PVP))

{

character.sendPacket(SystemMessageId.LEFT_COMBAT_ZONE);

}

}

 

character.setInsideZone(L2Character.ZONE_PVP, false);

}

 

@Override

public void onDieInside(L2Character character)

{

}

 

@Override

public void onReviveInside(L2Character character)

{

}

}

 

 

Don't work

 

* This program is free software: you can redistribute it and/or modify it under

* the terms of the GNU General Public License as published by the Free Software

* Foundation, either version 3 of the License, or (at your option) any later

* version.

*

* This program is distributed in the hope that it will be useful, but WITHOUT

* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS

* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more

* details.

*

* You should have received a copy of the GNU General Public License along with

* this program. If not, see <http://www.gnu.org/licenses/>.

*/

package com.end.gameserver.model.zone.type;

 

import com.end.gameserver.model.actor.L2Character;

import com.end.gameserver.model.actor.instance.L2PcInstance;

import com.end.gameserver.model.zone.L2ZoneType;

import com.end.gameserver.network.SystemMessageId;

 

/**

* A PVP Zone

* @author durgus

*/

public class L2ArenaZone extends L2ZoneType

{

public L2ArenaZone(int id)

{

super(id);

}

 

@Override

protected void onEnter(L2Character character)

{

if (character instanceof L2PcInstance)

{

if (!character.isInsideZone(L2Character.ZONE_PVP))

{

character.sendPacket(SystemMessageId.ENTERED_COMBAT_ZONE);

}

}

 

character.setInsideZone(L2Character.ZONE_PVP, true);

}

 

@Override

protected void onExit(L2Character character)

{

if (character instanceof L2PcInstance)

{

if (!character.isInsideZone(L2Character.ZONE_PVP))

{

character.sendPacket(SystemMessageId.LEFT_COMBAT_ZONE);

}

}

 

character.setInsideZone(L2Character.ZONE_PVP, true);

}

 

@Override

public void onDieInside(L2Character character)

{

}

 

@Override

public void onReviveInside(L2Character character)

{

}

}

 

don't work too

Link to comment
Share on other sites

  • 0

if you want to make it right you need a manager.

 

You can do it from l2pcinstance 

 

// Check if the L2PcInstance is in an arena or a siege area

if (isInsideZone(ZONE_PVP) && ((L2PcInstance) attacker).isInsideZone(ZONE_PVP))

return true;

{

addPoints(getCharId(), (getLevel() / 2) + Rnd.get(-5, 5));

}

 

 

 

 

 

// If in Arena, do nothing

if (isInsideZone(ZONE_PVP) || targetPlayer.isInsideZone(ZONE_PVP))

return;

{

addPoints(getCharId(), (getLevel() / 2) + Rnd.get(-5, 5));

}

 

 

not tested but you should see how the raidboss points are working and you will fix it easy...

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...