Hi all. Please help me with code rebirth.java in L2jFrozen.
When i changing sub class and relog in the game, rebirth skills dont appear. On the main class everything is ok. Thank you.
Code:
/*
* L2jFrozen Project - www.l2jfrozen.com
*
* 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.l2jfrozen.gameserver.model.entity;
/**
* <strong>This 'Custom Engine' was developed for L2J Forum Member 'sauron3256' on November 1st, 2008.</strong><br>
* <br>
* <strong>Quick Summary:</strong><br>
* This engine will grant the player special bonus skills at the cost of reseting him to level 1.<br>
* The -USER- can set up to X Rebirths, the skills received and their respective levels, and the item and price of each rebirth.<br>
* PLAYER's information is stored in an SQL Db under the table name: REBIRTH_MANAGER.<br>
* @author <strong>Beetle and Shyla</strong>
*/
public class L2Rebirth
{
private static Logger LOGGER = Logger.getLogger(BitSetIDFactory.class);
/** The current instance - static repeller. */
private static L2Rebirth _instance = null;
/** Basically, this will act as a cache so it doesnt have to read DB information on relog. */
private final HashMap<Integer, Integer> _playersRebirthInfo = new HashMap<>();
/**
* Creates a new NON-STATIC instance.
*/
private L2Rebirth()
{
// Do Nothing ^_-
}
/**
* Receives the non-static instance of the RebirthManager.
* @return single instance of L2Rebirth
*/
public static L2Rebirth getInstance()
{
if (_instance == null)
{
_instance = new L2Rebirth();
}
return _instance;
}
/**
* This is what it called from the Bypass Handler. (I think that's all thats needed here).
* @param player the player
* @param command the command
*/
public void handleCommand(final L2PcInstance player, final String command)
{
if (command.startsWith("custom_rebirth_requestrebirth"))
{
displayRebirthWindow(player);
}
else if (command.startsWith("custom_rebirth_confirmrequest"))
{
requestRebirth(player);
}
}
/**
* Display's an HTML window with the Rebirth Options.
* @param player the player
*/
public void displayRebirthWindow(final L2PcInstance player)
{
try
{
final int currBirth = getRebirthLevel(player); // Returns the player's current birth level
// Don't send html if player is already at max rebirth count.
if (currBirth >= Config.REBIRTH_MAX)
{
player.sendMessage("You are currently at your maximum rebirth count!");
return;
}
// Returns true if BASE CLASS is a mage.
final boolean isMage = player.getBaseTemplate().classId.isMage();
// Returns the skill based on next Birth and if isMage.
L2Skill skill = getRebirthSkill((currBirth + 1), isMage);
String icon = "" + skill.getId();// Returns the skill's id.
// Incase the skill is only 3 digits.
if (icon.length() < 4)
{
icon = "0" + icon;
}
/**
* Checks to see if the player is eligible for a Rebirth, if so it grants it and stores information.
* @param player the player
*/
public void requestRebirth(final L2PcInstance player)
{
// Check to see if Rebirth is enabled to avoid hacks
if (!Config.REBIRTH_ENABLE)
{
LOGGER.warn("[WARNING] Player " + player.getName() + " is trying to use rebirth system when it's disabled.");
return;
}
// Check the player's level.
if (player.getLevel() < Config.REBIRTH_MIN_LEVEL)
{
player.sendMessage("You do not meet the level requirement for a Rebirth!");
return;
}
else if (player.isSubClassActive())
{
player.sendMessage("Please switch to your Main Class before attempting a Rebirth.");
return;
}
final int currBirth = getRebirthLevel(player);
int itemNeeded = 0;
int itemAmount = 0;
if (currBirth >= Config.REBIRTH_MAX)
{
player.sendMessage("You are currently at your maximum rebirth count!");
return;
}
// Get the requirements
int loopBirth = 0;
for (final String readItems : Config.REBIRTH_ITEM_PRICE)
{
final String[] currItem = readItems.split(",");
if (loopBirth == currBirth)
{
itemNeeded = Integer.parseInt(currItem[0]);
itemAmount = Integer.parseInt(currItem[1]);
break;
}
loopBirth++;
}
// Their is an item required
if (itemNeeded != 0)
{
// Checks to see if player has required items, and takes them if so.
if (!playerIsEligible(player, itemNeeded, itemAmount))
return;
}
// Check and see if its the player's first Rebirth calling.
final boolean firstBirth = currBirth == 0;
// Player meets requirements and starts Rebirth Process.
grantRebirth(player, (currBirth + 1), firstBirth);
}
/**
* Physically rewards player and resets status to nothing.
* @param player the player
* @param newBirthCount the new birth count
* @param firstBirth the first birth
*/
public void grantRebirth(final L2PcInstance player, final int newBirthCount, final boolean firstBirth)
{
try
{
final double actual_hp = player.getCurrentHp();
final double actual_cp = player.getCurrentCp();
int max_level = ExperienceData.getInstance().getMaxLevel();
if (player.isSubClassActive())
{
max_level = Config.MAX_SUBCLASS_LEVEL;
}
// Protections
Integer returnToLevel = Config.REBIRTH_RETURN_TO_LEVEL;
if (returnToLevel < 1)
returnToLevel = 1;
if (returnToLevel > max_level)
returnToLevel = max_level;
// Resets character to first class.
player.setClassId(player.getBaseClass());
player.broadcastUserInfo();
final byte lvl = Byte.parseByte(returnToLevel + "");
final long pXp = player.getStat().getExp();
final long tXp = ExperienceData.getInstance().getExpForLevel(lvl);
// Remove the player's current skills.
for (final L2Skill skill : player.getAllSkills())
{
player.removeSkill(skill);
}
// Give players their eligible skills.
player.giveAvailableSkills();
/**
* Special effects when the player levels.
* @param player the player
*/
public void displayCongrats(final L2PcInstance player)
{
// Victory Social Action.
player.setTarget(player);
player.broadcastPacket(new SocialAction(player.getObjectId(), 3));
player.sendMessage("Congratulations " + player.getName() + ". You have been REBORN!");
}
/**
* Check and verify the player DOES have the item required for a request. Also, remove the item if he has.
* @param player the player
* @param itemId the item id
* @param itemAmount the item amount
* @return true, if successful
*/
public boolean playerIsEligible(final L2PcInstance player, final int itemId, final int itemAmount)
{
String itemName = ItemTable.getInstance().getTemplate(itemId).getName();
L2ItemInstance itemNeeded = player.getInventory().getItemByItemId(itemId);
if (itemNeeded == null || itemNeeded.getCount() < itemAmount)
{
player.sendMessage("You need atleast " + itemAmount + " [ " + itemName + " ] to request a Rebirth!");
return false;
}
// Player has the required items, so we're going to take them!
player.getInventory().destroyItemByItemId("Rebirth Engine", itemId, itemAmount, player, null);
player.sendMessage("Removed " + itemAmount + " " + itemName + " from your inventory!");
itemName = null;
itemNeeded = null;
return true;
}
/**
* Gives the available Bonus Skills to the player.
* @param player the player
*/
public void grantRebirthSkills(final L2PcInstance player)
{
// returns the current Rebirth Level
final int rebirthLevel = getRebirthLevel(player);
// Returns true if BASE CLASS is a mage.
final boolean isMage = player.getBaseTemplate().classId.isMage();
// Simply return since no bonus skills are granted.
if (rebirthLevel == 0)
return;
// Load the bonus skills unto the player.
CreatureSay rebirthText = null;
for (int i = 0; i < rebirthLevel; i++)
{
final L2Skill bonusSkill = getRebirthSkill((i + 1), isMage);
player.addSkill(bonusSkill, false);
// If you'd rather make it simple, simply comment this out and replace with a simple player.sendmessage();
rebirthText = new CreatureSay(0, 18, "Rebirth Manager ", " Granted you [ " + bonusSkill.getName() + " ] level [ " + bonusSkill.getLevel() + " ]!");
player.sendPacket(rebirthText);
}
rebirthText = null;
}
/**
* Return the player's current Rebirth Level.
* @param player the player
* @return the rebirth level
*/
public int getRebirthLevel(final L2PcInstance player)
{
final int playerId = player.getObjectId();
if (_playersRebirthInfo.get(playerId) == null)
{
loadRebirthInfo(player);
}
return _playersRebirthInfo.get(playerId);
}
/**
* Return the L2Skill the player is going to be rewarded.
* @param rebirthLevel the rebirth level
* @param mage the mage
* @return the rebirth skill
*/
public L2Skill getRebirthSkill(final int rebirthLevel, final boolean mage)
{
L2Skill skill = null;
// Player is a Mage.
if (mage)
{
int loopBirth = 0;
for (final String readSkill : Config.REBIRTH_MAGE_SKILL)
{
final String[] currSkill = readSkill.split(",");
if (loopBirth == (rebirthLevel - 1))
{
skill = SkillTable.getInstance().getInfo(Integer.parseInt(currSkill[0]), Integer.parseInt(currSkill[1]));
break;
}
loopBirth++;
}
}
// Player is a Fighter.
else
{
int loopBirth = 0;
for (final String readSkill : Config.REBIRTH_FIGHTER_SKILL)
{
final String[] currSkill = readSkill.split(",");
if (loopBirth == (rebirthLevel - 1))
{
skill = SkillTable.getInstance().getInfo(Integer.parseInt(currSkill[0]), Integer.parseInt(currSkill[1]));
break;
}
loopBirth++;
}
}
return skill;
}
/**
* Database caller to retrieve player's current Rebirth Level.
* @param player the player
*/
public void loadRebirthInfo(final L2PcInstance player)
{
final int playerId = player.getObjectId();
int rebirthCount = 0;
Connection con = null;
try
{
ResultSet rset;
con = L2DatabaseFactory.getInstance().getConnection(false);
PreparedStatement statement = con.prepareStatement("SELECT * FROM `rebirth_manager` WHERE playerId = ?");
statement.setInt(1, playerId);
rset = statement.executeQuery();
while (rset.next())
{
rebirthCount = rset.getInt("rebirthCount");
}
/**
* Stores the player's information in the DB.
* @param player the player
*/
public void storePlayerBirth(final L2PcInstance player)
{
Connection con = null;
try
{
con = L2DatabaseFactory.getInstance().getConnection(false);
PreparedStatement statement = con.prepareStatement("INSERT INTO `rebirth_manager` (playerId,rebirthCount) VALUES (?,1)");
statement.setInt(1, player.getObjectId());
statement.execute();
statement = null;
/**
* Updates the player's information in the DB.
* @param player the player
* @param newRebirthCount the new rebirth count
*/
public void updatePlayerBirth(final L2PcInstance player, final int newRebirthCount)
{
Connection con = null;
try
{
final int playerId = player.getObjectId();
con = L2DatabaseFactory.getInstance().getConnection(false);
PreparedStatement statement = con.prepareStatement("UPDATE `rebirth_manager` SET rebirthCount = ? WHERE playerId = ?");
statement.setInt(1, newRebirthCount);
statement.setInt(2, playerId);
statement.execute();
statement = null;
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
DISCORD :
utchiha_market
telegram :
https://t.me/utchiha_market
SELLIX STORE :
https://utchihamkt.mysellix.io/
Join our server for more products :
https://discord.gg/hood-services
https://campsite.bio/utchihaamkt
So i started playing there like huge amount of us did. After hitting 30 i kinda started to feel the drag of it. And boy i just don’t have it to continue :D
I think after selling all items i have around 1.2kk in stash. I would sell it for 10€ per 100k and 100€ for entire deal. Paypal would be preferrable, unless you live in Baltics so normal bank transfer would be fine too.
You could pm me here and perhaps i could add you on facebook to take it further.
Scammers don’t try. Played this game for a long long and long time.
Question
sigma7
Hi all. Please help me with code rebirth.java in L2jFrozen.
When i changing sub class and relog in the game, rebirth skills dont appear. On the main class everything is ok. Thank you.
Code:
/*
* L2jFrozen Project - www.l2jfrozen.com
*
* 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.l2jfrozen.gameserver.model.entity;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.HashMap;
import org.apache.log4j.Logger;
import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.datatables.SkillTable;
import com.l2jfrozen.gameserver.datatables.sql.ItemTable;
import com.l2jfrozen.gameserver.datatables.xml.ExperienceData;
import com.l2jfrozen.gameserver.idfactory.BitSetIDFactory;
import com.l2jfrozen.gameserver.model.L2Skill;
import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.network.serverpackets.CreatureSay;
import com.l2jfrozen.gameserver.network.serverpackets.SocialAction;
import com.l2jfrozen.util.CloseUtil;
import com.l2jfrozen.util.database.DatabaseUtils;
import com.l2jfrozen.util.database.L2DatabaseFactory;
/**
* <strong>This 'Custom Engine' was developed for L2J Forum Member 'sauron3256' on November 1st, 2008.</strong><br>
* <br>
* <strong>Quick Summary:</strong><br>
* This engine will grant the player special bonus skills at the cost of reseting him to level 1.<br>
* The -USER- can set up to X Rebirths, the skills received and their respective levels, and the item and price of each rebirth.<br>
* PLAYER's information is stored in an SQL Db under the table name: REBIRTH_MANAGER.<br>
* @author <strong>Beetle and Shyla</strong>
*/
public class L2Rebirth
{
private static Logger LOGGER = Logger.getLogger(BitSetIDFactory.class);
/** The current instance - static repeller. */
private static L2Rebirth _instance = null;
/** Basically, this will act as a cache so it doesnt have to read DB information on relog. */
private final HashMap<Integer, Integer> _playersRebirthInfo = new HashMap<>();
/**
* Creates a new NON-STATIC instance.
*/
private L2Rebirth()
{
// Do Nothing ^_-
}
/**
* Receives the non-static instance of the RebirthManager.
* @return single instance of L2Rebirth
*/
public static L2Rebirth getInstance()
{
if (_instance == null)
{
_instance = new L2Rebirth();
}
return _instance;
}
/**
* This is what it called from the Bypass Handler. (I think that's all thats needed here).
* @param player the player
* @param command the command
*/
public void handleCommand(final L2PcInstance player, final String command)
{
if (command.startsWith("custom_rebirth_requestrebirth"))
{
displayRebirthWindow(player);
}
else if (command.startsWith("custom_rebirth_confirmrequest"))
{
requestRebirth(player);
}
}
/**
* Display's an HTML window with the Rebirth Options.
* @param player the player
*/
public void displayRebirthWindow(final L2PcInstance player)
{
try
{
final int currBirth = getRebirthLevel(player); // Returns the player's current birth level
// Don't send html if player is already at max rebirth count.
if (currBirth >= Config.REBIRTH_MAX)
{
player.sendMessage("You are currently at your maximum rebirth count!");
return;
}
// Returns true if BASE CLASS is a mage.
final boolean isMage = player.getBaseTemplate().classId.isMage();
// Returns the skill based on next Birth and if isMage.
L2Skill skill = getRebirthSkill((currBirth + 1), isMage);
String icon = "" + skill.getId();// Returns the skill's id.
// Incase the skill is only 3 digits.
if (icon.length() < 4)
{
icon = "0" + icon;
}
skill = null;
icon = null;
}
catch (final Exception e)
{
e.printStackTrace();
}
}
/**
* Checks to see if the player is eligible for a Rebirth, if so it grants it and stores information.
* @param player the player
*/
public void requestRebirth(final L2PcInstance player)
{
// Check to see if Rebirth is enabled to avoid hacks
if (!Config.REBIRTH_ENABLE)
{
LOGGER.warn("[WARNING] Player " + player.getName() + " is trying to use rebirth system when it's disabled.");
return;
}
// Check the player's level.
if (player.getLevel() < Config.REBIRTH_MIN_LEVEL)
{
player.sendMessage("You do not meet the level requirement for a Rebirth!");
return;
}
else if (player.isSubClassActive())
{
player.sendMessage("Please switch to your Main Class before attempting a Rebirth.");
return;
}
final int currBirth = getRebirthLevel(player);
int itemNeeded = 0;
int itemAmount = 0;
if (currBirth >= Config.REBIRTH_MAX)
{
player.sendMessage("You are currently at your maximum rebirth count!");
return;
}
// Get the requirements
int loopBirth = 0;
for (final String readItems : Config.REBIRTH_ITEM_PRICE)
{
final String[] currItem = readItems.split(",");
if (loopBirth == currBirth)
{
itemNeeded = Integer.parseInt(currItem[0]);
itemAmount = Integer.parseInt(currItem[1]);
break;
}
loopBirth++;
}
// Their is an item required
if (itemNeeded != 0)
{
// Checks to see if player has required items, and takes them if so.
if (!playerIsEligible(player, itemNeeded, itemAmount))
return;
}
// Check and see if its the player's first Rebirth calling.
final boolean firstBirth = currBirth == 0;
// Player meets requirements and starts Rebirth Process.
grantRebirth(player, (currBirth + 1), firstBirth);
}
/**
* Physically rewards player and resets status to nothing.
* @param player the player
* @param newBirthCount the new birth count
* @param firstBirth the first birth
*/
public void grantRebirth(final L2PcInstance player, final int newBirthCount, final boolean firstBirth)
{
try
{
final double actual_hp = player.getCurrentHp();
final double actual_cp = player.getCurrentCp();
int max_level = ExperienceData.getInstance().getMaxLevel();
if (player.isSubClassActive())
{
max_level = Config.MAX_SUBCLASS_LEVEL;
}
// Protections
Integer returnToLevel = Config.REBIRTH_RETURN_TO_LEVEL;
if (returnToLevel < 1)
returnToLevel = 1;
if (returnToLevel > max_level)
returnToLevel = max_level;
// Resets character to first class.
player.setClassId(player.getBaseClass());
player.broadcastUserInfo();
final byte lvl = Byte.parseByte(returnToLevel + "");
final long pXp = player.getStat().getExp();
final long tXp = ExperienceData.getInstance().getExpForLevel(lvl);
if (pXp > tXp)
{
player.getStat().removeExpAndSp(pXp - tXp, 0);
}
else if (pXp < tXp)
{
player.getStat().addExpAndSp(tXp - pXp, 0);
}
// Remove the player's current skills.
for (final L2Skill skill : player.getAllSkills())
{
player.removeSkill(skill);
}
// Give players their eligible skills.
player.giveAvailableSkills();
// restore Hp-Mp-Cp
player.setCurrentCp(actual_cp);
player.setCurrentMp(player.getMaxMp());
player.setCurrentHp(actual_hp);
player.broadcastStatusUpdate();
// Updates the player's information in the Character Database.
player.store();
if (firstBirth)
{
storePlayerBirth(player);
}
else
{
updatePlayerBirth(player, newBirthCount);
}
// Give the player his new Skills.
grantRebirthSkills(player);
// Displays a congratulation message to the player.
displayCongrats(player);
returnToLevel = null;
// Update skill list
player.sendSkillList();
}
catch (final Exception e)
{
e.printStackTrace();
}
}
/**
* Special effects when the player levels.
* @param player the player
*/
public void displayCongrats(final L2PcInstance player)
{
// Victory Social Action.
player.setTarget(player);
player.broadcastPacket(new SocialAction(player.getObjectId(), 3));
player.sendMessage("Congratulations " + player.getName() + ". You have been REBORN!");
}
/**
* Check and verify the player DOES have the item required for a request. Also, remove the item if he has.
* @param player the player
* @param itemId the item id
* @param itemAmount the item amount
* @return true, if successful
*/
public boolean playerIsEligible(final L2PcInstance player, final int itemId, final int itemAmount)
{
String itemName = ItemTable.getInstance().getTemplate(itemId).getName();
L2ItemInstance itemNeeded = player.getInventory().getItemByItemId(itemId);
if (itemNeeded == null || itemNeeded.getCount() < itemAmount)
{
player.sendMessage("You need atleast " + itemAmount + " [ " + itemName + " ] to request a Rebirth!");
return false;
}
// Player has the required items, so we're going to take them!
player.getInventory().destroyItemByItemId("Rebirth Engine", itemId, itemAmount, player, null);
player.sendMessage("Removed " + itemAmount + " " + itemName + " from your inventory!");
itemName = null;
itemNeeded = null;
return true;
}
/**
* Gives the available Bonus Skills to the player.
* @param player the player
*/
public void grantRebirthSkills(final L2PcInstance player)
{
// returns the current Rebirth Level
final int rebirthLevel = getRebirthLevel(player);
// Returns true if BASE CLASS is a mage.
final boolean isMage = player.getBaseTemplate().classId.isMage();
// Simply return since no bonus skills are granted.
if (rebirthLevel == 0)
return;
// Load the bonus skills unto the player.
CreatureSay rebirthText = null;
for (int i = 0; i < rebirthLevel; i++)
{
final L2Skill bonusSkill = getRebirthSkill((i + 1), isMage);
player.addSkill(bonusSkill, false);
// If you'd rather make it simple, simply comment this out and replace with a simple player.sendmessage();
rebirthText = new CreatureSay(0, 18, "Rebirth Manager ", " Granted you [ " + bonusSkill.getName() + " ] level [ " + bonusSkill.getLevel() + " ]!");
player.sendPacket(rebirthText);
}
rebirthText = null;
}
/**
* Return the player's current Rebirth Level.
* @param player the player
* @return the rebirth level
*/
public int getRebirthLevel(final L2PcInstance player)
{
final int playerId = player.getObjectId();
if (_playersRebirthInfo.get(playerId) == null)
{
loadRebirthInfo(player);
}
return _playersRebirthInfo.get(playerId);
}
/**
* Return the L2Skill the player is going to be rewarded.
* @param rebirthLevel the rebirth level
* @param mage the mage
* @return the rebirth skill
*/
public L2Skill getRebirthSkill(final int rebirthLevel, final boolean mage)
{
L2Skill skill = null;
// Player is a Mage.
if (mage)
{
int loopBirth = 0;
for (final String readSkill : Config.REBIRTH_MAGE_SKILL)
{
final String[] currSkill = readSkill.split(",");
if (loopBirth == (rebirthLevel - 1))
{
skill = SkillTable.getInstance().getInfo(Integer.parseInt(currSkill[0]), Integer.parseInt(currSkill[1]));
break;
}
loopBirth++;
}
}
// Player is a Fighter.
else
{
int loopBirth = 0;
for (final String readSkill : Config.REBIRTH_FIGHTER_SKILL)
{
final String[] currSkill = readSkill.split(",");
if (loopBirth == (rebirthLevel - 1))
{
skill = SkillTable.getInstance().getInfo(Integer.parseInt(currSkill[0]), Integer.parseInt(currSkill[1]));
break;
}
loopBirth++;
}
}
return skill;
}
/**
* Database caller to retrieve player's current Rebirth Level.
* @param player the player
*/
public void loadRebirthInfo(final L2PcInstance player)
{
final int playerId = player.getObjectId();
int rebirthCount = 0;
Connection con = null;
try
{
ResultSet rset;
con = L2DatabaseFactory.getInstance().getConnection(false);
PreparedStatement statement = con.prepareStatement("SELECT * FROM `rebirth_manager` WHERE playerId = ?");
statement.setInt(1, playerId);
rset = statement.executeQuery();
while (rset.next())
{
rebirthCount = rset.getInt("rebirthCount");
}
DatabaseUtils.close(rset);
DatabaseUtils.close(statement);
statement = null;
rset = null;
}
catch (final Exception e)
{
e.printStackTrace();
}
finally
{
CloseUtil.close(con);
con = null;
}
_playersRebirthInfo.put(playerId, rebirthCount);
}
/**
* Stores the player's information in the DB.
* @param player the player
*/
public void storePlayerBirth(final L2PcInstance player)
{
Connection con = null;
try
{
con = L2DatabaseFactory.getInstance().getConnection(false);
PreparedStatement statement = con.prepareStatement("INSERT INTO `rebirth_manager` (playerId,rebirthCount) VALUES (?,1)");
statement.setInt(1, player.getObjectId());
statement.execute();
statement = null;
_playersRebirthInfo.put(player.getObjectId(), 1);
}
catch (final Exception e)
{
e.printStackTrace();
}
finally
{
CloseUtil.close(con);
con = null;
}
}
/**
* Updates the player's information in the DB.
* @param player the player
* @param newRebirthCount the new rebirth count
*/
public void updatePlayerBirth(final L2PcInstance player, final int newRebirthCount)
{
Connection con = null;
try
{
final int playerId = player.getObjectId();
con = L2DatabaseFactory.getInstance().getConnection(false);
PreparedStatement statement = con.prepareStatement("UPDATE `rebirth_manager` SET rebirthCount = ? WHERE playerId = ?");
statement.setInt(1, newRebirthCount);
statement.setInt(2, playerId);
statement.execute();
statement = null;
_playersRebirthInfo.put(playerId, newRebirthCount);
}
catch (final Exception e)
{
e.printStackTrace();
}
finally
{
CloseUtil.close(con);
con = null;
}
}
}
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.