Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * 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.l2jserver.gameserver.model.zone.type;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.util.Random;
- import java.util.logging.Level;
- import com.l2jserver.L2DatabaseFactory;
- import com.l2jserver.gameserver.ThreadPoolManager;
- import com.l2jserver.gameserver.model.actor.L2Character;
- import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
- import com.l2jserver.util.Rnd;
- /**
- * An Custom PvP Zone
- * @author NeverMore
- */
- public class L2CustomPvP extends L2RespawnZone
- {
- // Ramdom Locations configs
- L2PcInstance activeChar;
- Random random = new Random();
- private static int[] _x =
- {
- 11551,
- 10999,
- 10401
- };
- private static int[] _y =
- {
- -24264,
- -23576,
- -24030
- };
- private static int[] _z =
- {
- -3644,
- -3651,
- -3660
- };
- public L2CustomPvP(int id)
- {
- super(5555);
- }
- public void setNewName(L2PcInstance activeChar)
- {
- try (Connection con = L2DatabaseFactory.getInstance().getConnection();
- PreparedStatement statement = con.prepareStatement("UPDATE characters SET pvpname=? WHERE charId=?"))
- {
- int pvpname1 = random.nextInt();
- statement.setString(1, "" + pvpname1);
- statement.setInt(2, activeChar.getObjectId());
- statement.execute();
- }
- catch (Exception e)
- {
- _log.log(Level.SEVERE, "Failed updating character online status.", e);
- }
- }
- public void getName(L2PcInstance activeChar)
- {
- try (Connection con = L2DatabaseFactory.getInstance().getConnection())
- {
- String sql = "SELECT pvpname FROM characters WHERE charId=?";
- PreparedStatement statement = con.prepareStatement(sql);
- statement.setInt(1, activeChar.getObjectId());
- ResultSet rset = statement.executeQuery();
- while (rset.next())
- {
- String name = rset.getString("pvpname");
- activeChar.setName(name);
- activeChar.sendMessage(rset.getString("pvpname"));
- }
- rset.close();
- statement.close();
- }
- catch (Exception e)
- {
- _log.log(Level.SEVERE, "Could not restore premium items: " + e.getMessage(), e);
- }
- }
- @Override
- protected void onEnter(L2Character character)
- {
- if (character instanceof L2PcInstance)
- {
- setNewName(((L2PcInstance) character));
- getName(((L2PcInstance) character));
- ((L2PcInstance) character).sendMessage("You entered a PvP Area");
- ((L2PcInstance) character).setPvpFlag(1);
- }
- }
- @Override
- protected void onExit(L2Character character)
- {
- if (character instanceof L2PcInstance)
- {
- activeChar.setName(activeChar.getName());
- ((L2PcInstance) character).stopNoblesseBlessing(null);
- ((L2PcInstance) character).setPvpFlag(0);
- ((L2PcInstance) character).sendMessage("You exit from a PvP Area");
- }
- }
- static class BackToPvp implements Runnable
- {
- private final L2Character _activeChar;
- BackToPvp(L2Character character)
- {
- _activeChar = character;
- }
- @Override
- public void run()
- {
- int r = Rnd.get(3);
- _activeChar.teleToLocation(_x[r], _y[r], _z[r]);
- }
- }
- @Override
- public void onDieInside(L2Character character)
- {
- if (character instanceof L2PcInstance)
- {
- }
- }
- @Override
- public void onReviveInside(L2Character character)
- {
- ThreadPoolManager.getInstance().scheduleGeneral(new BackToPvp(character), 500);
- ((L2PcInstance) character).isNoblesseBlessed();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement