Jump to content
  • 0

PC Bang point (dont work script)


sember

Question

im try setups this patch (by this manual http://www.maxcheaters.com/forum/index.php?topic=155067.0), and i have a many problems = > Eclipse give me some errors:

 

19307615858f.png

 

please help me.

 

I do not understand that the mistakes I made.

 

i use L2jbrasil-1485, Interlude.

 

im check all files, all files is exists!

 

here in expanded form:

 

e8af3cbe728b.png

 

and my code:

 

Index: /L2JBrasil_CORE/java/com/it/br/gameserver/services/FService.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/services/FService.java (revision 2928)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/services/FService.java (revision 2031)
@@ -72,5 +72,5 @@

+	public static final String EVENT_PC_BANG_POINT_FILE = "./config/custom/pcBang.properties";


Index: /L2JBrasil_CORE/java/com/it/br/gameserver/PcPoint.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/PcPoint.java (revision 2031)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/PcPoint.java (revision `2031)
@@ -0,0 +1,78 @@
+package com.it.br.gameserver;
+
+import java.util.logging.Logger;
+
+import com.it.br.Config;
+import com.it.br.gameserver.model.L2World;
+import com.it.br.gameserver.model.actor.instance.L2PcInstance;
+import com.it.br.gameserver.network.SystemMessageId;
+import com.it.br.gameserver.network.serverpackets.SystemMessage;
+import com.it.br.util.Rnd;
+
+
+/**
+ * @author Anumis
+ */
+
+public class PcPoint implements Runnable
+{
+	Logger _log = Logger.getLogger(PcPoint.class.getName());
+	private static PcPoint _instance;
+
+	public static PcPoint getInstance()
+	{
+		if(_instance == null)
+		{
+			_instance = new PcPoint();
+		}
+
+		return _instance;
+	}
+
+	private PcPoint()
+	{
+		_log.info("PcBang point event started.");
+	}
+
+	@Override
+	public void run()
+	{
+
+		int score = 0;
+		for(L2PcInstance activeChar: L2World.getInstance().getAllPlayers().values())
+		{
+
+			if(activeChar.getLevel() > Config.PCB_MIN_LEVEL )
+			{
+				score = Rnd.get(Config.PCB_POINT_MIN, Config.PCB_POINT_MAX);
+
+				if(Rnd.get(100) <= Config.PCB_CHANCE_DUAL_POINT)
+				{
+					score *= 2;
+
+					activeChar.addPcBangScore(score);
+
+					SystemMessage sm = new SystemMessage(SystemMessageId.DOUBLE_POINTS_YOU_GOT_$51_GLASSES_PC);
+					sm.addNumber(score);
+					activeChar.sendPacket(sm);
+					sm = null;
+
+					activeChar.updatePcBangWnd(score, true, true);
+				}
+				else
+				{
+					activeChar.addPcBangScore(score);
+
+					SystemMessage sm = new SystemMessage(SystemMessageId.YOU_RECEVIED_$51_GLASSES_PC);
+					sm.addNumber(score);
+					activeChar.sendPacket(sm);
+					sm = null;
+
+					activeChar.updatePcBangWnd(score, true, false);
+				}
+			}
+
+			activeChar = null;
+		} 
+	}
+}
Index: /L2JBrasil_CORE/java/com/it/br/Config.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/Config.java (revision 2028)
+++ /L2JBrasil_CORE/java/com/it/br/Config.java (revision 2031)
@@ -1687,55 +1687,48 @@
	public static int HPH_INTERVALOFDOOROFALTER;
	public static int HPH_TIMEOFLOCKUPDOOROFALTAR;
+		//============================================================
+	public static boolean PCB_ENABLE;
+	public static int PCB_MIN_LEVEL;
+	public static int PCB_POINT_MIN;
+	public static int PCB_POINT_MAX;
+	public static int PCB_CHANCE_DUAL_POINT;
+	public static int PCB_INTERVAL;

	//============================================================
+	public static void loadPCBPointConfig()
	{

+		final String PCB_POINT = FService.EVENT_PC_BANG_POINT_FILE;

+		_log.info("Loading: " + PCB_POINT + ".");
+		try
+		{
+			Properties pcbpSettings = new Properties();
+			InputStream is = new FileInputStream(new File(PCB_POINT));
+			pcbpSettings.load(is);
+			is.close();

+			PCB_ENABLE = Boolean.parseBoolean(pcbpSettings.getProperty("PcBangPointEnable", "true"));
+			PCB_MIN_LEVEL = Integer.parseInt(pcbpSettings.getProperty("PcBangPointMinLevel", "20"));
+			PCB_POINT_MIN = Integer.parseInt(pcbpSettings.getProperty("PcBangPointMinCount", "20"));
+			PCB_POINT_MAX = Integer.parseInt(pcbpSettings.getProperty("PcBangPointMaxCount", "1000000"));

+			if(PCB_POINT_MAX < 1)
+			{
+				PCB_POINT_MAX = Integer.MAX_VALUE;
+			}

+			PCB_CHANCE_DUAL_POINT = Integer.parseInt(pcbpSettings.getProperty("PcBangPointDualChance", "20"));
+			PCB_INTERVAL = Integer.parseInt(pcbpSettings.getProperty("PcBangPointTimeStamp", "900"));
+		}
+		catch(Exception e)
+		{
+			e.printStackTrace();
+			throw new Error("Failed to Load " + PCB_POINT + " File.");
+		}

+	}
+	//============================================================
+	


Index: /L2JBrasil_CORE/java/com/it/br/gameserver/network/clientpackets/MultiSellChoose.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/network/clientpackets/MultiSellChoose.java (revision 107)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/network/clientpackets/MultiSellChoose.java (revision 2031)
@@ -200,4 +200,9 @@
				{
					player.sendPacket(new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_SCORE_IS_TOO_LOW));
+					return;
+				}
+				if(e.getItemId() == 65436 && e.getItemCount() * _amount > player.getPcBangScore())
+				{
+					player.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
					return;
				}
Index: /L2JBrasil_CORE/java/com/it/br/gameserver/network/clientpackets/EnterWorld.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/network/clientpackets/EnterWorld.java (revision 1726)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/network/clientpackets/EnterWorld.java (revision 2031)
@@ -144,4 +144,5 @@
			// activeChar.closeNetConnection();
		}
+	
		if (activeChar.isGM())
		{
@@ -373,4 +374,5 @@
			activeChar.checkAllowedSkills();
		}
+		
		// send user info again .. just like the real client sendPacket(ui);
		if ((activeChar.getClanId() != 0) && (activeChar.getClan() != null))
@@ -396,4 +398,8 @@
		notifyCastleOwner(activeChar);
		activeChar.onPlayerEnter();
+		if(Config.PCB_ENABLE)
+		{
+			activeChar.showPcBangWindow();
+		}
		TvTEvent.onLogin(activeChar);
		PcColorTable.getInstance().process(activeChar);
Index: /L2JBrasil_CORE/java/com/it/br/gameserver/network/serverpackets/ExPCCafePointInfo.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/network/serverpackets/ExPCCafePointInfo.java (revision 7)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/network/serverpackets/ExPCCafePointInfo.java (revision 2031)
@@ -15,4 +15,6 @@
package com.it.br.gameserver.network.serverpackets;

+import com.it.br.gameserver.model.actor.instance.L2PcInstance;
+


@@ -25,13 +27,36 @@
{
	private static final String _S__FE_31_EXPCCAFEPOINTINFO = "[s] FE:31 ExPCCafePointInfo";
-	private int _unk1, _unk2, _unk3, _unk4, _unk5 = 0;

-	public ExPCCafePointInfo(int val1, int val2, int val3, int val4, int val5)
+	private L2PcInstance _character;
+	private int m_AddPoint;
+	private int m_PeriodType;
+	private int RemainTime;
+	private int PointType;
+
+	public ExPCCafePointInfo(L2PcInstance user, int modify, boolean add, int hour, boolean _double)
	{
-		_unk1 = val1;
-		_unk2 = val2;
-		_unk3 = val3;
-		_unk4 = val4;
-		_unk5 = val5;
+		_character = user;
+		m_AddPoint = modify;
+
+		if(add)
+		{
+			m_PeriodType = 1;
+			PointType = 1;
+		}
+		else
+		{
+			if(add && _double)
+			{
+				m_PeriodType = 1;
+				PointType = 0;
+			}
+			else
+			{
+				m_PeriodType = 2;
+				PointType = 2;
+			}
+		}
+
+		RemainTime = hour;
	}

@@ -41,9 +66,9 @@
		writeC(0xFE);
		writeH(0x31);
-		writeD(_unk1);
-		writeD(_unk2);
-		writeC(_unk3);
-		writeD(_unk4);
-		writeC(_unk5);
+		writeD(_character.getPcBangScore());
+		writeD(m_AddPoint);
+		writeC(m_PeriodType);
+		writeD(RemainTime);
+		writeC(PointType);
	}

@@ -56,3 +81,4 @@
		return _S__FE_31_EXPCCAFEPOINTINFO;
	}
+
}
Index: /L2JBrasil_CORE/java/com/it/br/gameserver/network/SystemMessageId.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/network/SystemMessageId.java (revision 1926)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/network/SystemMessageId.java (revision 2031)
@@ -3873,5 +3873,7 @@
	DEATH_PENALTY_LIFTED(1917),
	DUNGEON_EXPIRES_IN_S1_MINUTES(1918), 
-	S1(3000);
+	S1(3000), 
+	DOUBLE_POINTS_YOU_GOT_$51_GLASSES_PC(3001), 
+	YOU_RECEVIED_$51_GLASSES_PC(3002);

	private int _id;
Index: /L2JBrasil_CORE/java/com/it/br/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/model/actor/instance/L2PcInstance.java (revision 2029)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/model/actor/instance/L2PcInstance.java (revision 2031)
@@ -93,5 +93,4 @@
import com.it.br.gameserver.model.L2Clan;
import com.it.br.gameserver.model.L2ClanMember;
import com.it.br.gameserver.model.L2Effect;
import com.it.br.gameserver.model.L2Fishing;
@@ -152,4 +151,5 @@
import com.it.br.gameserver.network.L2GameClient;
import com.it.br.gameserver.network.SystemMessageId;
+import com.it.br.gameserver.network.serverpackets.ExPCCafePointInfo;
import com.it.br.gameserver.network.serverpackets.L2GameServerPacket;
import com.it.br.gameserver.network.serverpackets.ActionFailed;
@@ -234,6 +234,6 @@
	private static final String RESTORE_SKILL_SAVE = "SELECT skill_id,skill_level,effect_count,effect_cur_time, reuse_delay FROM character_skills_save WHERE char_obj_id=? AND class_index=? AND restore_type=? ORDER BY buff_index ASC";
	private static final String DELETE_SKILL_SAVE = "DELETE FROM character_skills_save WHERE char_obj_id=? AND class_index=?";
-	private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,str=?,con=?,dex=?,_int=?,men=?,wit=?,face=?,hairStyle=?,hairColor=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,maxload=?,race=?,classid=?,deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,in_jail=?,jail_timer=?,newbie=?,nobless=?,power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?,apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,event_points=?,coupon=?,donator=?,death_penalty_level=?,koof=?,noob=?,idiot=? WHERE obj_id=?";
-	private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, acc, crit, evasion, mAtk, mDef, mSpd, pAtk, pDef, pSpd, runSpd, walkSpd, str, con, dex, _int, men, wit, face, hairStyle, hairColor, sex, heading, x, y, z, movement_multiplier, attack_speed_multiplier, colRad, colHeight, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, maxload, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, in_jail, jail_timer, newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,event_points,coupon,donator,death_penalty_level,koof,noob,idiot FROM characters WHERE obj_id=?";
+	private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,str=?,con=?,dex=?,_int=?,men=?,wit=?,face=?,hairStyle=?,hairColor=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,maxload=?,race=?,classid=?,deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,in_jail=?,jail_timer=?,newbie=?,nobless=?,power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?,apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,event_points=?,coupon=?,donator=?,death_penalty_level=?,koof=?,noob=?,idiot=?,pc_point=? WHERE obj_id=?";
+	private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, acc, crit, evasion, mAtk, mDef, mSpd, pAtk, pDef, pSpd, runSpd, walkSpd, str, con, dex, _int, men, wit, face, hairStyle, hairColor, sex, heading, x, y, z, movement_multiplier, attack_speed_multiplier, colRad, colHeight, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, maxload, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, in_jail, jail_timer, newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,event_points,coupon,donator,death_penalty_level,koof,noob,idiot,pc_point FROM characters WHERE obj_id=?";
	private static final String RESTORE_CHAR_SUBCLASSES = "SELECT class_id,exp,sp,level,class_index FROM character_subclasses WHERE char_obj_id=? ORDER BY class_index ASC";
	private static final String ADD_CHAR_SUBCLASS = "INSERT INTO character_subclasses (char_obj_id,class_id,exp,sp,level,class_index) VALUES (?,?,?,?,?,?)";
@@ -382,4 +382,6 @@
	/** The Experience of the L2PcInstance before the last Death Penalty */
	private long _expBeforeDeath;
+	/** PC BANG POINT */
+	private int pcBangPoint = 0;
	/**
	 * The Karma of the L2PcInstance (if higher than 0, the name of the L2PcInstance appears in red)
@@ -6722,4 +6724,5 @@
				player.setCoupon(rset.getInt("coupon"));
				player.setDeathPenaltyBuffLevel(rset.getInt("death_penalty_level"));
+				player.pcBangPoint = rset.getInt("pc_point");
				// Add the L2PcInstance object in _allObjects
				// L2World.getInstance().storeObject(player);
@@ -7105,5 +7108,6 @@
			statement.setInt(61, isNoob() ? 1 : 0);
			statement.setInt(62, isIdiot() ? 1 : 0);
-			statement.setInt(63, getObjectId());
+			statement.setInt(63, getPcBangScore());
+			statement.setInt(64, getObjectId());


@@ -13002,9 +13006,32 @@
		return (DM._started && _inEventDM) || (CTF._started && _inEventCTF) || (VIP._started && _inEventVIP) (Zombie._started && _ZombieZ) || && !isGM();
	}*/

+		public int getPcBangScore()
+		{
+			return pcBangPoint;
+		}
+
+		public void reducePcBangScore(int to)
+		{
+			pcBangPoint -= to;
+			updatePcBangWnd(to, false, false);
+		}
+
+		public void addPcBangScore(int to)
+		{
+			pcBangPoint += to;
+		}
+
+		public void updatePcBangWnd(int score, boolean add, boolean duble)
+		{
+			ExPCCafePointInfo wnd = new ExPCCafePointInfo(this, score, add, 24, duble);
+			sendPacket(wnd);
+		}
+
+		public void showPcBangWindow()
+		{
+			ExPCCafePointInfo wnd = new ExPCCafePointInfo(this, 0, false, 24, false);
+			sendPacket(wnd);
+		}
}
Index: /L2JBrasil_CORE/java/com/it/br/gameserver/GameServer.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/GameServer.java (revision 1999)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/GameServer.java (revision 2031)
@@ -24,7 +24,9 @@
import java.util.logging.Logger;

+import com.it.br.gameserver.PcPoint;
import com.it.br.gameserver.ai.special.manager.AILoader;
import com.it.br.gameserver.powerpak.PowerPak;
import com.it.br.gameserver.util.sql.SQLQueue;
+

import com.l2jserver.mmocore.network.*;

@@ -575,4 +572,9 @@
		{
			OnlinePlayers.getInstance();
+		}
+		if(Config.PCB_ENABLE)
+		{
+			System.out.println("############PCB_ENABLE################");
+			ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(PcPoint.getInstance(), Config.PCB_INTERVAL * 1000, Config.PCB_INTERVAL * 1000);
		}
		Util.printSection("L2JJustice EventManager");
@@ -612,4 +614,5 @@
		// Initialize config
		Config.load();
+		Config.loadPCBPointConfig();
		ExternalConfig.loadconfig();
		gameServer = new GameServer();
Index: /L2JBrasil_CORE/java/config/Custom/pcBang.properties
===================================================================
--- /L2JBrasil_CORE/java/config/Custom/pcBang.properties (revision 2031)
+++ /L2JBrasil_CORE/java/config/Custom/pcBang.properties (revision 2031)
@@ -0,0 +1,17 @@                            
+#============================================================#
+# PC Bang Point                                        -#
+#-------------------------------------------------------------#
+BangPointEnable = True
+
+cBangPointMinLevel = 20
+
+PcBangPointMinCount = 20
+PcBangPointMaxCount = 1000000
+
+PcBangPointDualChance = 20
+
+PcBangPointTimeStamp = 900

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

im check all files, all files is exists!

 

here in expanded form:

 

e8af3cbe728b.png

 

and my code:

 

Index: /L2JBrasil_CORE/java/com/it/br/gameserver/services/FService.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/services/FService.java (revision 2928)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/services/FService.java (revision 2031)
@@ -72,5 +72,5 @@

+	public static final String EVENT_PC_BANG_POINT_FILE = "./config/custom/pcBang.properties";


Index: /L2JBrasil_CORE/java/com/it/br/gameserver/PcPoint.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/PcPoint.java (revision 2031)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/PcPoint.java (revision `2031)
@@ -0,0 +1,78 @@
+package com.it.br.gameserver;
+
+import java.util.logging.Logger;
+
+import com.it.br.Config;
+import com.it.br.gameserver.model.L2World;
+import com.it.br.gameserver.model.actor.instance.L2PcInstance;
+import com.it.br.gameserver.network.SystemMessageId;
+import com.it.br.gameserver.network.serverpackets.SystemMessage;
+import com.it.br.util.Rnd;
+
+
+/**
+ * @author Anumis
+ */
+
+public class PcPoint implements Runnable
+{
+	Logger _log = Logger.getLogger(PcPoint.class.getName());
+	private static PcPoint _instance;
+
+	public static PcPoint getInstance()
+	{
+		if(_instance == null)
+		{
+			_instance = new PcPoint();
+		}
+
+		return _instance;
+	}
+
+	private PcPoint()
+	{
+		_log.info("PcBang point event started.");
+	}
+
+	@Override
+	public void run()
+	{
+
+		int score = 0;
+		for(L2PcInstance activeChar: L2World.getInstance().getAllPlayers().values())
+		{
+
+			if(activeChar.getLevel() > Config.PCB_MIN_LEVEL )
+			{
+				score = Rnd.get(Config.PCB_POINT_MIN, Config.PCB_POINT_MAX);
+
+				if(Rnd.get(100) <= Config.PCB_CHANCE_DUAL_POINT)
+				{
+					score *= 2;
+
+					activeChar.addPcBangScore(score);
+
+					SystemMessage sm = new SystemMessage(SystemMessageId.DOUBLE_POINTS_YOU_GOT_$51_GLASSES_PC);
+					sm.addNumber(score);
+					activeChar.sendPacket(sm);
+					sm = null;
+
+					activeChar.updatePcBangWnd(score, true, true);
+				}
+				else
+				{
+					activeChar.addPcBangScore(score);
+
+					SystemMessage sm = new SystemMessage(SystemMessageId.YOU_RECEVIED_$51_GLASSES_PC);
+					sm.addNumber(score);
+					activeChar.sendPacket(sm);
+					sm = null;
+
+					activeChar.updatePcBangWnd(score, true, false);
+				}
+			}
+
+			activeChar = null;
+		} 
+	}
+}
Index: /L2JBrasil_CORE/java/com/it/br/Config.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/Config.java (revision 2028)
+++ /L2JBrasil_CORE/java/com/it/br/Config.java (revision 2031)
@@ -1687,55 +1687,48 @@
	public static int HPH_INTERVALOFDOOROFALTER;
	public static int HPH_TIMEOFLOCKUPDOOROFALTAR;
+		//============================================================
+	public static boolean PCB_ENABLE;
+	public static int PCB_MIN_LEVEL;
+	public static int PCB_POINT_MIN;
+	public static int PCB_POINT_MAX;
+	public static int PCB_CHANCE_DUAL_POINT;
+	public static int PCB_INTERVAL;

	//============================================================
+	public static void loadPCBPointConfig()
	{

+		final String PCB_POINT = FService.EVENT_PC_BANG_POINT_FILE;

+		_log.info("Loading: " + PCB_POINT + ".");
+		try
+		{
+			Properties pcbpSettings = new Properties();
+			InputStream is = new FileInputStream(new File(PCB_POINT));
+			pcbpSettings.load(is);
+			is.close();

+			PCB_ENABLE = Boolean.parseBoolean(pcbpSettings.getProperty("PcBangPointEnable", "true"));
+			PCB_MIN_LEVEL = Integer.parseInt(pcbpSettings.getProperty("PcBangPointMinLevel", "20"));
+			PCB_POINT_MIN = Integer.parseInt(pcbpSettings.getProperty("PcBangPointMinCount", "20"));
+			PCB_POINT_MAX = Integer.parseInt(pcbpSettings.getProperty("PcBangPointMaxCount", "1000000"));

+			if(PCB_POINT_MAX < 1)
+			{
+				PCB_POINT_MAX = Integer.MAX_VALUE;
+			}

+			PCB_CHANCE_DUAL_POINT = Integer.parseInt(pcbpSettings.getProperty("PcBangPointDualChance", "20"));
+			PCB_INTERVAL = Integer.parseInt(pcbpSettings.getProperty("PcBangPointTimeStamp", "900"));
+		}
+		catch(Exception e)
+		{
+			e.printStackTrace();
+			throw new Error("Failed to Load " + PCB_POINT + " File.");
+		}

+	}
+	//============================================================
+	


Index: /L2JBrasil_CORE/java/com/it/br/gameserver/network/clientpackets/MultiSellChoose.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/network/clientpackets/MultiSellChoose.java (revision 107)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/network/clientpackets/MultiSellChoose.java (revision 2031)
@@ -200,4 +200,9 @@
				{
					player.sendPacket(new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_SCORE_IS_TOO_LOW));
+					return;
+				}
+				if(e.getItemId() == 65436 && e.getItemCount() * _amount > player.getPcBangScore())
+				{
+					player.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
					return;
				}
Index: /L2JBrasil_CORE/java/com/it/br/gameserver/network/clientpackets/EnterWorld.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/network/clientpackets/EnterWorld.java (revision 1726)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/network/clientpackets/EnterWorld.java (revision 2031)
@@ -144,4 +144,5 @@
			// activeChar.closeNetConnection();
		}
+	
		if (activeChar.isGM())
		{
@@ -373,4 +374,5 @@
			activeChar.checkAllowedSkills();
		}
+		
		// send user info again .. just like the real client sendPacket(ui);
		if ((activeChar.getClanId() != 0) && (activeChar.getClan() != null))
@@ -396,4 +398,8 @@
		notifyCastleOwner(activeChar);
		activeChar.onPlayerEnter();
+		if(Config.PCB_ENABLE)
+		{
+			activeChar.showPcBangWindow();
+		}
		TvTEvent.onLogin(activeChar);
		PcColorTable.getInstance().process(activeChar);
Index: /L2JBrasil_CORE/java/com/it/br/gameserver/network/serverpackets/ExPCCafePointInfo.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/network/serverpackets/ExPCCafePointInfo.java (revision 7)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/network/serverpackets/ExPCCafePointInfo.java (revision 2031)
@@ -15,4 +15,6 @@
package com.it.br.gameserver.network.serverpackets;

+import com.it.br.gameserver.model.actor.instance.L2PcInstance;
+


@@ -25,13 +27,36 @@
{
	private static final String _S__FE_31_EXPCCAFEPOINTINFO = "[s] FE:31 ExPCCafePointInfo";
-	private int _unk1, _unk2, _unk3, _unk4, _unk5 = 0;

-	public ExPCCafePointInfo(int val1, int val2, int val3, int val4, int val5)
+	private L2PcInstance _character;
+	private int m_AddPoint;
+	private int m_PeriodType;
+	private int RemainTime;
+	private int PointType;
+
+	public ExPCCafePointInfo(L2PcInstance user, int modify, boolean add, int hour, boolean _double)
	{
-		_unk1 = val1;
-		_unk2 = val2;
-		_unk3 = val3;
-		_unk4 = val4;
-		_unk5 = val5;
+		_character = user;
+		m_AddPoint = modify;
+
+		if(add)
+		{
+			m_PeriodType = 1;
+			PointType = 1;
+		}
+		else
+		{
+			if(add && _double)
+			{
+				m_PeriodType = 1;
+				PointType = 0;
+			}
+			else
+			{
+				m_PeriodType = 2;
+				PointType = 2;
+			}
+		}
+
+		RemainTime = hour;
	}

@@ -41,9 +66,9 @@
		writeC(0xFE);
		writeH(0x31);
-		writeD(_unk1);
-		writeD(_unk2);
-		writeC(_unk3);
-		writeD(_unk4);
-		writeC(_unk5);
+		writeD(_character.getPcBangScore());
+		writeD(m_AddPoint);
+		writeC(m_PeriodType);
+		writeD(RemainTime);
+		writeC(PointType);
	}

@@ -56,3 +81,4 @@
		return _S__FE_31_EXPCCAFEPOINTINFO;
	}
+
}
Index: /L2JBrasil_CORE/java/com/it/br/gameserver/network/SystemMessageId.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/network/SystemMessageId.java (revision 1926)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/network/SystemMessageId.java (revision 2031)
@@ -3873,5 +3873,7 @@
	DEATH_PENALTY_LIFTED(1917),
	DUNGEON_EXPIRES_IN_S1_MINUTES(1918), 
-	S1(3000);
+	S1(3000), 
+	DOUBLE_POINTS_YOU_GOT_$51_GLASSES_PC(3001), 
+	YOU_RECEVIED_$51_GLASSES_PC(3002);

	private int _id;
Index: /L2JBrasil_CORE/java/com/it/br/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/model/actor/instance/L2PcInstance.java (revision 2029)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/model/actor/instance/L2PcInstance.java (revision 2031)
@@ -93,5 +93,4 @@
import com.it.br.gameserver.model.L2Clan;
import com.it.br.gameserver.model.L2ClanMember;
import com.it.br.gameserver.model.L2Effect;
import com.it.br.gameserver.model.L2Fishing;
@@ -152,4 +151,5 @@
import com.it.br.gameserver.network.L2GameClient;
import com.it.br.gameserver.network.SystemMessageId;
+import com.it.br.gameserver.network.serverpackets.ExPCCafePointInfo;
import com.it.br.gameserver.network.serverpackets.L2GameServerPacket;
import com.it.br.gameserver.network.serverpackets.ActionFailed;
@@ -234,6 +234,6 @@
	private static final String RESTORE_SKILL_SAVE = "SELECT skill_id,skill_level,effect_count,effect_cur_time, reuse_delay FROM character_skills_save WHERE char_obj_id=? AND class_index=? AND restore_type=? ORDER BY buff_index ASC";
	private static final String DELETE_SKILL_SAVE = "DELETE FROM character_skills_save WHERE char_obj_id=? AND class_index=?";
-	private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,str=?,con=?,dex=?,_int=?,men=?,wit=?,face=?,hairStyle=?,hairColor=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,maxload=?,race=?,classid=?,deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,in_jail=?,jail_timer=?,newbie=?,nobless=?,power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?,apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,event_points=?,coupon=?,donator=?,death_penalty_level=?,koof=?,noob=?,idiot=? WHERE obj_id=?";
-	private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, acc, crit, evasion, mAtk, mDef, mSpd, pAtk, pDef, pSpd, runSpd, walkSpd, str, con, dex, _int, men, wit, face, hairStyle, hairColor, sex, heading, x, y, z, movement_multiplier, attack_speed_multiplier, colRad, colHeight, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, maxload, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, in_jail, jail_timer, newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,event_points,coupon,donator,death_penalty_level,koof,noob,idiot FROM characters WHERE obj_id=?";
+	private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,str=?,con=?,dex=?,_int=?,men=?,wit=?,face=?,hairStyle=?,hairColor=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,maxload=?,race=?,classid=?,deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,in_jail=?,jail_timer=?,newbie=?,nobless=?,power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?,apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,event_points=?,coupon=?,donator=?,death_penalty_level=?,koof=?,noob=?,idiot=?,pc_point=? WHERE obj_id=?";
+	private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, acc, crit, evasion, mAtk, mDef, mSpd, pAtk, pDef, pSpd, runSpd, walkSpd, str, con, dex, _int, men, wit, face, hairStyle, hairColor, sex, heading, x, y, z, movement_multiplier, attack_speed_multiplier, colRad, colHeight, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, maxload, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, in_jail, jail_timer, newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,event_points,coupon,donator,death_penalty_level,koof,noob,idiot,pc_point FROM characters WHERE obj_id=?";
	private static final String RESTORE_CHAR_SUBCLASSES = "SELECT class_id,exp,sp,level,class_index FROM character_subclasses WHERE char_obj_id=? ORDER BY class_index ASC";
	private static final String ADD_CHAR_SUBCLASS = "INSERT INTO character_subclasses (char_obj_id,class_id,exp,sp,level,class_index) VALUES (?,?,?,?,?,?)";
@@ -382,4 +382,6 @@
	/** The Experience of the L2PcInstance before the last Death Penalty */
	private long _expBeforeDeath;
+	/** PC BANG POINT */
+	private int pcBangPoint = 0;
	/**
	 * The Karma of the L2PcInstance (if higher than 0, the name of the L2PcInstance appears in red)
@@ -6722,4 +6724,5 @@
				player.setCoupon(rset.getInt("coupon"));
				player.setDeathPenaltyBuffLevel(rset.getInt("death_penalty_level"));
+				player.pcBangPoint = rset.getInt("pc_point");
				// Add the L2PcInstance object in _allObjects
				// L2World.getInstance().storeObject(player);
@@ -7105,5 +7108,6 @@
			statement.setInt(61, isNoob() ? 1 : 0);
			statement.setInt(62, isIdiot() ? 1 : 0);
-			statement.setInt(63, getObjectId());
+			statement.setInt(63, getPcBangScore());
+			statement.setInt(64, getObjectId());


@@ -13002,9 +13006,32 @@
		return (DM._started && _inEventDM) || (CTF._started && _inEventCTF) || (VIP._started && _inEventVIP) (Zombie._started && _ZombieZ) || && !isGM();
	}*/

+		public int getPcBangScore()
+		{
+			return pcBangPoint;
+		}
+
+		public void reducePcBangScore(int to)
+		{
+			pcBangPoint -= to;
+			updatePcBangWnd(to, false, false);
+		}
+
+		public void addPcBangScore(int to)
+		{
+			pcBangPoint += to;
+		}
+
+		public void updatePcBangWnd(int score, boolean add, boolean duble)
+		{
+			ExPCCafePointInfo wnd = new ExPCCafePointInfo(this, score, add, 24, duble);
+			sendPacket(wnd);
+		}
+
+		public void showPcBangWindow()
+		{
+			ExPCCafePointInfo wnd = new ExPCCafePointInfo(this, 0, false, 24, false);
+			sendPacket(wnd);
+		}
}
Index: /L2JBrasil_CORE/java/com/it/br/gameserver/GameServer.java
===================================================================
--- /L2JBrasil_CORE/java/com/it/br/gameserver/GameServer.java (revision 1999)
+++ /L2JBrasil_CORE/java/com/it/br/gameserver/GameServer.java (revision 2031)
@@ -24,7 +24,9 @@
import java.util.logging.Logger;

+import com.it.br.gameserver.PcPoint;
import com.it.br.gameserver.ai.special.manager.AILoader;
import com.it.br.gameserver.powerpak.PowerPak;
import com.it.br.gameserver.util.sql.SQLQueue;
+

import com.l2jserver.mmocore.network.*;

@@ -575,4 +572,9 @@
		{
			OnlinePlayers.getInstance();
+		}
+		if(Config.PCB_ENABLE)
+		{
+			System.out.println("############PCB_ENABLE################");
+			ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(PcPoint.getInstance(), Config.PCB_INTERVAL * 1000, Config.PCB_INTERVAL * 1000);
		}
		Util.printSection("L2JJustice EventManager");
@@ -612,4 +614,5 @@
		// Initialize config
		Config.load();
+		Config.loadPCBPointConfig();
		ExternalConfig.loadconfig();
		gameServer = new GameServer();
Index: /L2JBrasil_CORE/java/config/Custom/pcBang.properties
===================================================================
--- /L2JBrasil_CORE/java/config/Custom/pcBang.properties (revision 2031)
+++ /L2JBrasil_CORE/java/config/Custom/pcBang.properties (revision 2031)
@@ -0,0 +1,17 @@                            
+#============================================================#
+# PC Bang Point                                        -#
+#-------------------------------------------------------------#
+BangPointEnable = True
+
+cBangPointMinLevel = 20
+
+PcBangPointMinCount = 20
+PcBangPointMaxCount = 1000000
+
+PcBangPointDualChance = 20
+
+PcBangPointTimeStamp = 900

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock