Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

PC Cafe Points

Iniciado por Swarlog, Ago 31, 2022, 08:43 PM

Tema anterior - Siguiente tema

Swarlog

CORE:

### Eclipse Workspace Patch 1.0
#P L2J_Server
diff --git dist/game/config/Custom.properties dist/game/config/Custom.properties
new file mode 100644
index 0000000..16ef5f3
--- /dev/null
+++ dist/game/config/Custom.properties
@@ -0,0 +1,39 @@
+# ---------------------------------------------------------------------------
+# Player Commendation System (PC Bang)
+# ---------------------------------------------------------------------------
+# PC BANG POINTS ID = -100
+
+# PC Bang Enabled.
+Enabled = True
+
+# Max points that player may have.
+# Limited by int limit.
+MaxPcBangPoints = 200000
+
+# PC Bang point rate.
+# Acquisition formula equals (exp * 0.0001 * AcquisitionPointsRate)
+# e.g. with 1.0 it's 10000 exp = 1 PC Bang point
+# 2.0 - 10000 exp = 2 PC Bang points
+# 0.5 - 5000  exp = 1 PC Bang point
+AcquisitionPointsRate = 1.0
+
+# Use random points rewarding.
+# If enabled points will be random from points/2 to points.
+AcquisitionPointsRandom = False
+
+# Creates a chance to aquire double points.
+DoublingAcquisitionPoints = True
+
+# Double points chance.
+# Used when DoublingAcquisitionPoints is enabled.
+# Default 1 (%)
+DoublingAcquisitionPointsChance = 1
+
+# Reward low exp kills
+# Acquire points if player gains exp and aquire formula equals 0.
+RewardLowExpKills = True
+
+# Chance for low exp kills
+# Used when RewardLowExpKills is enabled.
+# Default 5 (%)
+RewardLowExpKillsChance = 5
\ No newline at end of file
diff --git java/com/l2jserver/Config.java java/com/l2jserver/Config.java
index 796d027..26a225c 100644
--- java/com/l2jserver/Config.java
+++ java/com/l2jserver/Config.java
@@ -106,6 +106,7 @@
  public static final String CHAT_FILTER_FILE = "./config/chatfilter.txt";
  public static final String EMAIL_CONFIG_FILE = "./config/Email.properties";
  public static final String CH_SIEGE_FILE = "./config/ConquerableHallSiege.properties";
+ public static final String CUSTOM_FILE = "./config/Custom.properties";
  public static final String GEODATA_FILE = "./config/GeoData.properties";
  // --------------------------------------------------
  // L2J Variable Definitions
@@ -416,6 +417,18 @@
  public static int CLAN_LEVEL_11_REQUIREMENT;
  public static boolean ALLOW_WYVERN_ALWAYS;
  public static boolean ALLOW_WYVERN_DURING_SIEGE;
+
+ // --------------------------------------------------
+ // Custom points
+ // --------------------------------------------------
+ public static boolean PC_BANG_ENABLED;
+ public static int PC_BANG_MAX_POINTS;
+ public static boolean PC_BANG_ENABLE_DOUBLE_POINTS;
+ public static int PC_BANG_DOUBLE_POINTS_CHANCE;
+ public static double PC_BANG_POINT_RATE;
+ public static boolean PC_BANG_RANDOM_POINT;
+ public static boolean PC_BANG_REWARD_LOW_EXP_KILLS;
+ public static int PC_BANG_LOW_EXP_KILLS_CHANCE;
 
  // --------------------------------------------------
  // General Settings
@@ -2146,6 +2159,37 @@
  }
  }
 
+ // Load Custom Properties file (if exists)
+ final PropertiesParser CustomSettings = new PropertiesParser(CUSTOM_FILE);
+ PC_BANG_ENABLED = CustomSettings.getBoolean("Enabled", false);
+ PC_BANG_MAX_POINTS = CustomSettings.getInt("MaxPcBangPoints", 200000);
+ if (PC_BANG_MAX_POINTS < 0)
+ {
+ PC_BANG_MAX_POINTS = 0;
+ }
+ PC_BANG_ENABLE_DOUBLE_POINTS = CustomSettings.getBoolean("DoublingAcquisitionPoints", false);
+ PC_BANG_DOUBLE_POINTS_CHANCE = CustomSettings.getInt("DoublingAcquisitionPointsChance", 1);
+ if ((PC_BANG_DOUBLE_POINTS_CHANCE < 0) || (PC_BANG_DOUBLE_POINTS_CHANCE > 100))
+ {
+ PC_BANG_DOUBLE_POINTS_CHANCE = 1;
+ }
+ PC_BANG_POINT_RATE = CustomSettings.getDouble("AcquisitionPointsRate", 1.0);
+ PC_BANG_RANDOM_POINT = CustomSettings.getBoolean("AcquisitionPointsRandom", false);
+ if (PC_BANG_POINT_RATE < 0)
+ {
+ PC_BANG_POINT_RATE = 1;
+ }
+ PC_BANG_REWARD_LOW_EXP_KILLS = CustomSettings.getBoolean("RewardLowExpKills", true);
+ PC_BANG_LOW_EXP_KILLS_CHANCE = CustomSettings.getInt("RewardLowExpKillsChance", 5);
+ if (PC_BANG_LOW_EXP_KILLS_CHANCE < 0)
+ {
+ PC_BANG_LOW_EXP_KILLS_CHANCE = 0;
+ }
+ if (PC_BANG_LOW_EXP_KILLS_CHANCE > 100)
+ {
+ PC_BANG_LOW_EXP_KILLS_CHANCE = 100;
+ }
+
  // Load L2JMod L2Properties file (if exists)
  final PropertiesParser L2JModSettings = new PropertiesParser(L2JMOD_CONFIG_FILE);
 
diff --git java/com/l2jserver/gameserver/GameServer.java java/com/l2jserver/gameserver/GameServer.java
index 25de90c..d64bce4 100644
--- java/com/l2jserver/gameserver/GameServer.java
+++ java/com/l2jserver/gameserver/GameServer.java
@@ -111,6 +111,7 @@
 import com.l2jserver.gameserver.instancemanager.MailManager;
 import com.l2jserver.gameserver.instancemanager.MapRegionManager;
 import com.l2jserver.gameserver.instancemanager.MercTicketManager;
+import com.l2jserver.gameserver.instancemanager.PcCafePointsManager;
 import com.l2jserver.gameserver.instancemanager.PetitionManager;
 import com.l2jserver.gameserver.instancemanager.PunishmentManager;
 import com.l2jserver.gameserver.instancemanager.QuestManager;
@@ -329,6 +330,7 @@
  TerritoryWarManager.getInstance();
  CastleManorManager.getInstance();
  MercTicketManager.getInstance();
+ PcCafePointsManager.getInstance();
 
  QuestManager.getInstance().report();
 
diff --git java/com/l2jserver/gameserver/data/xml/impl/MultisellData.java java/com/l2jserver/gameserver/data/xml/impl/MultisellData.java
index 2101486..9c5848c 100644
--- java/com/l2jserver/gameserver/data/xml/impl/MultisellData.java
+++ java/com/l2jserver/gameserver/data/xml/impl/MultisellData.java
@@ -39,6 +39,7 @@
 import com.l2jserver.gameserver.model.multisell.ListContainer;
 import com.l2jserver.gameserver.model.multisell.PreparedListContainer;
 import com.l2jserver.gameserver.network.SystemMessageId;
+import com.l2jserver.gameserver.network.serverpackets.ExPCCafePointInfo;
 import com.l2jserver.gameserver.network.serverpackets.ExBrExtraUserInfo;
 import com.l2jserver.gameserver.network.serverpackets.MultiSellList;
 import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
@@ -284,6 +285,13 @@
  {
  switch (id)
  {
+ case PC_BANG_POINTS:
+ if (player.getPcBangPoints() < amount)
+ {
+ player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SHORT_OF_ACCUMULATED_POINTS));
+ break;
+ }
+ return true;
  case CLAN_REPUTATION:
  if (player.getClan() == null)
  {
@@ -316,6 +324,14 @@
  {
  switch (id)
  {
+ case PC_BANG_POINTS: // PcBang points
+ final int cost = player.getPcBangPoints() - (int) (amount);
+ player.setPcBangPoints(cost);
+ SystemMessage smsgpc = SystemMessage.getSystemMessage(SystemMessageId.USING_S1_PCPOINT);
+ smsgpc.addLong((int) amount);
+ player.sendPacket(smsgpc);
+ player.sendPacket(new ExPCCafePointInfo(player.getPcBangPoints(), (int) amount, 1));
+ return true;
  case CLAN_REPUTATION:
  player.getClan().takeReputationScore((int) amount, true);
  SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
@@ -378,6 +394,7 @@
  {
  switch (ing.getItemId())
  {
+ case PC_BANG_POINTS:
  case CLAN_REPUTATION:
  case FAME:
  return true;
diff --git java/com/l2jserver/gameserver/instancemanager/PcCafePointsManager.java java/com/l2jserver/gameserver/instancemanager/PcCafePointsManager.java
new file mode 100644
index 0000000..cc346b9
--- /dev/null
+++ java/com/l2jserver/gameserver/instancemanager/PcCafePointsManager.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2004-2015 L2J Server
+ *
+ * This file is part of L2J Server.
+ *
+ * L2J Server 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.
+ *
+ * L2J Server 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.instancemanager;
+
+import com.l2jserver.Config;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.zone.ZoneId;
+import com.l2jserver.gameserver.network.SystemMessageId;
+import com.l2jserver.gameserver.network.serverpackets.ExPCCafePointInfo;
+import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
+import com.l2jserver.util.Rnd;
+
+public final class PcCafePointsManager
+{
+ public PcCafePointsManager()
+ {
+ }
+
+ public void givePcCafePoint(final L2PcInstance player, final long exp)
+ {
+ if (!Config.PC_BANG_ENABLED)
+ {
+ return;
+ }
+
+ if (player.isInsideZone(ZoneId.PEACE) || player.isInsideZone(ZoneId.PVP) || player.isInsideZone(ZoneId.SIEGE) || (player.isOnlineInt() == 0) || player.isJailed())
+ {
+ return;
+ }
+
+ if (player.getPcBangPoints() >= Config.PC_BANG_MAX_POINTS)
+ {
+ final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_EXCEEDED_MAX_OF_PC_CAFE_POINTS);
+ player.sendPacket(sm);
+ return;
+ }
+
+ int points = (int) (exp * 0.0001 * Config.PC_BANG_POINT_RATE);
+
+ if (Config.PC_BANG_RANDOM_POINT)
+ {
+ points = Rnd.get(points / 2, points);
+ }
+
+ if ((points == 0) && (exp > 0) && Config.PC_BANG_REWARD_LOW_EXP_KILLS && (Rnd.get(100) < Config.PC_BANG_LOW_EXP_KILLS_CHANCE))
+ {
+ points = 1; // minimum points
+ }
+
+ SystemMessage message = null;
+ if (points > 0)
+ {
+ if (Config.PC_BANG_ENABLE_DOUBLE_POINTS && (Rnd.get(100) < Config.PC_BANG_DOUBLE_POINTS_CHANCE))
+ {
+ points *= 2;
+ message = SystemMessage.getSystemMessage(SystemMessageId.ACQUIRED_S1_PCPOINT_DOUBLE);
+ }
+ else
+ {
+ message = SystemMessage.getSystemMessage(SystemMessageId.ACQUIRED_S1_PCPOINT_DOUBLE);
+ }
+ if ((player.getPcBangPoints() + points) > Config.PC_BANG_MAX_POINTS)
+ {
+ points = Config.PC_BANG_MAX_POINTS - player.getPcBangPoints();
+ }
+ message.addLong(points);
+ player.sendPacket(message);
+ player.setPcBangPoints(player.getPcBangPoints() + points);
+ player.sendPacket(new ExPCCafePointInfo(player.getPcBangPoints(), points, 1));
+ }
+ }
+
+ /**
+ * Gets the single instance of {@code PcCafePointsManager}.
+ * @return single instance of {@code PcCafePointsManager}
+ */
+ public static final PcCafePointsManager getInstance()
+ {
+ return SingletonHolder._instance;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final PcCafePointsManager _instance = new PcCafePointsManager();
+ }
+}
\ No newline at end of file
diff --git java/com/l2jserver/gameserver/model/L2Party.java java/com/l2jserver/gameserver/model/L2Party.java
index ffa84aa..b15fb56 100644
--- java/com/l2jserver/gameserver/model/L2Party.java
+++ java/com/l2jserver/gameserver/model/L2Party.java
@@ -36,6 +36,7 @@
 import com.l2jserver.gameserver.datatables.ItemTable;
 import com.l2jserver.gameserver.enums.PartyDistributionType;
 import com.l2jserver.gameserver.instancemanager.DuelManager;
+import com.l2jserver.gameserver.instancemanager.PcCafePointsManager;
 import com.l2jserver.gameserver.model.actor.L2Attackable;
 import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Summon;
@@ -767,6 +768,7 @@
  if (addexp > 0)
  {
  member.updateVitalityPoints(vitalityPoints, true, false);
+ PcCafePointsManager.getInstance().givePcCafePoint((member), addexp);
  }
  }
  else
diff --git java/com/l2jserver/gameserver/model/actor/L2Attackable.java java/com/l2jserver/gameserver/model/actor/L2Attackable.java
index 8d8b6f0..8719915 100644
--- java/com/l2jserver/gameserver/model/actor/L2Attackable.java
+++ java/com/l2jserver/gameserver/model/actor/L2Attackable.java
@@ -40,6 +40,7 @@
 import com.l2jserver.gameserver.datatables.ItemTable;
 import com.l2jserver.gameserver.enums.InstanceType;
 import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager;
+import com.l2jserver.gameserver.instancemanager.PcCafePointsManager;
 import com.l2jserver.gameserver.instancemanager.WalkingManager;
 import com.l2jserver.gameserver.model.AbsorberInfo;
 import com.l2jserver.gameserver.model.AggroInfo;
@@ -496,6 +497,7 @@
  if (addexp > 0)
  {
  attacker.updateVitalityPoints(getVitalityPoints(damage), true, false);
+ PcCafePointsManager.getInstance().givePcCafePoint((attacker), addexp);
  }
  }
  }
diff --git java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
index 8762730..8b33c8b 100644
--- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
+++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
@@ -351,7 +351,7 @@
 
  // Character Character SQL String Definitions:
  private static final String INSERT_CHARACTER = "INSERT INTO characters (account_name,charId,char_name,level,maxHp,curHp,maxCp,curCp,maxMp,curMp,face,hairStyle,hairColor,sex,exp,sp,karma,fame,pvpkills,pkkills,clanid,race,classid,deletetime,cancraft,title,title_color,accesslevel,online,isin7sdungeon,clan_privs,wantspeace,base_class,newbie,nobless,power_grade,createDate) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
- private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,face=?,hairStyle=?,hairColor=?,sex=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,fame=?,pvpkills=?,pkkills=?,clanid=?,race=?,classid=?,deletetime=?,title=?,title_color=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,newbie=?,nobless=?,power_grade=?,subpledge=?,lvl_joined_academy=?,apprentice=?,sponsor=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,death_penalty_level=?,bookmarkslot=?,vitality_points=?,language=? WHERE charId=?";
+ private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,face=?,hairStyle=?,hairColor=?,sex=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,fame=?,pvpkills=?,pkkills=?,clanid=?,race=?,classid=?,deletetime=?,title=?,title_color=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,newbie=?,nobless=?,power_grade=?,subpledge=?,lvl_joined_academy=?,apprentice=?,sponsor=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,death_penalty_level=?,bookmarkslot=?,vitality_points=?,pccafe_points=?,language=? WHERE charId=?";
  private static final String RESTORE_CHARACTER = "SELECT * FROM characters WHERE charId=?";
 
  // Character Teleport Bookmark:
@@ -387,6 +387,8 @@
  public static final int ID_NONE = -1;
 
  public static final int REQUEST_TIMEOUT = 15;
+
+ private int _pcBangPoints = 0;
 
  private final List<IEventListener> _eventListeners = new CopyOnWriteArrayList<>();
 
@@ -7360,8 +7362,9 @@
  statement.setLong(46, getDeathPenaltyBuffLevel());
  statement.setInt(47, getBookMarkSlot());
  statement.setInt(48, getVitalityPoints());
- statement.setString(49, getLang());
- statement.setInt(50, getObjectId());
+ statement.setInt(49, getPcBangPoints());
+ statement.setString(50, getLang());
+ statement.setInt(51, getObjectId());
 
  statement.execute();
  }
@@ -13611,6 +13614,23 @@
  _offlineShopStart = time;
  }
 
+ public int getPcBangPoints()
+ {
+ return _pcBangPoints;
+ }
+
+ public void setPcBangPoints(final int i)
+ {
+ if (i < 200000)
+ {
+ _pcBangPoints = i;
+ }
+ else
+ {
+ _pcBangPoints = 200000;
+ }
+ }
+
  /**
  * Remove player from BossZones (used on char logout/exit)
  */
diff --git java/com/l2jserver/gameserver/model/quest/QuestState.java java/com/l2jserver/gameserver/model/quest/QuestState.java
index e6b16b1..408184e 100644
--- java/com/l2jserver/gameserver/model/quest/QuestState.java
+++ java/com/l2jserver/gameserver/model/quest/QuestState.java
@@ -27,10 +27,12 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import com.l2jserver.Config;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.cache.HtmCache;
 import com.l2jserver.gameserver.enums.QuestSound;
 import com.l2jserver.gameserver.enums.QuestType;
+import com.l2jserver.gameserver.instancemanager.PcCafePointsManager;
 import com.l2jserver.gameserver.instancemanager.QuestManager;
 import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Npc;
@@ -830,6 +832,7 @@
  public void addExpAndSp(int exp, int sp)
  {
  AbstractScript.addExpAndSp(_player, exp, sp);
+ PcCafePointsManager.getInstance().givePcCafePoint(getPlayer(), (long) (exp * Config.RATE_QUEST_REWARD_XP));
  }
 
  /**
diff --git java/com/l2jserver/gameserver/network/SystemMessageId.java java/com/l2jserver/gameserver/network/SystemMessageId.java
index e014a1e..1cf50ca 100644
--- java/com/l2jserver/gameserver/network/SystemMessageId.java
+++ java/com/l2jserver/gameserver/network/SystemMessageId.java
@@ -15220,6 +15220,12 @@
  public static final SystemMessageId THOMAS_D_TURKEY_DISAPPEARED;
 
  /**
+ * ID: 6506<br>
+ * Message: You exceeded max of pc cafe points.
+ */
+ public static final SystemMessageId YOU_EXCEEDED_MAX_OF_PC_CAFE_POINTS;
+
+ /**
  * Map containing all SystemMessageIds<br>
  */
  private static Map<Integer, SystemMessageId> VALUES = new HashMap<>();
@@ -17745,6 +17751,7 @@
  THOMAS_D_TURKEY_APPEARED = new SystemMessageId(6503);
  THOMAS_D_TURKEY_DEFETED = new SystemMessageId(6504);
  THOMAS_D_TURKEY_DISAPPEARED = new SystemMessageId(6505);
+ YOU_EXCEEDED_MAX_OF_PC_CAFE_POINTS = new SystemMessageId(6506);
 
  buildFastLookupTable();
  }
diff --git java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java
index 3d3da22..a350639 100644
--- java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java
+++ java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java
@@ -69,6 +69,7 @@
 import com.l2jserver.gameserver.network.serverpackets.ExNevitAdventTimeChange;
 import com.l2jserver.gameserver.network.serverpackets.ExNoticePostArrived;
 import com.l2jserver.gameserver.network.serverpackets.ExNotifyPremiumItem;
+import com.l2jserver.gameserver.network.serverpackets.ExPCCafePointInfo;
 import com.l2jserver.gameserver.network.serverpackets.ExShowContactList;
 import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
 import com.l2jserver.gameserver.network.serverpackets.ExStorageMaxCount;
@@ -411,6 +412,18 @@
 
  activeChar.updateEffectIcons();
 
+ if (Config.PC_BANG_ENABLED)
+ {
+ if (activeChar.getPcBangPoints() > 0)
+ {
+ activeChar.sendPacket(new ExPCCafePointInfo(activeChar.getPcBangPoints(), 0, 1));
+ }
+ else
+ {
+ activeChar.sendPacket(new ExPCCafePointInfo());
+ }
+ }
+
  activeChar.sendPacket(new EtcStatusUpdate(activeChar));
 
  // Expand Skill

DATA:

### Eclipse Workspace Patch 1.0
#P L2J_DataPack
diff --git dist/sql/game/characters.sql dist/sql/game/characters.sql
index 86ab28d..1519f75 100644
--- dist/sql/game/characters.sql
+++ dist/sql/game/characters.sql
@@ -53,6 +53,7 @@
   `death_penalty_level` SMALLINT UNSIGNED NOT NULL DEFAULT 0,
   `bookmarkslot` SMALLINT UNSIGNED NOT NULL DEFAULT 0,
   `vitality_points` SMALLINT UNSIGNED NOT NULL DEFAULT 0,
+  `pccafe_points` INT (6) NOT NULL DEFAULT 0,
   `createDate` date NOT NULL DEFAULT '0000-00-00',
   `language` VARCHAR(2) DEFAULT NULL,
   PRIMARY KEY (`charId`),

@@ -7205,6 +7207,8 @@
  // Set Teleport Bookmark Slot
  player.setBookMarkSlot(rset.getInt("BookmarkSlot"));
 
+ player.setPcBangPoints(rset.getInt("pccafe_points"));
+

Adaptación: Konstantinos y maneco2