We moved our repositories to BitBucket!

If you can't login or you can't register to the forums do not rise an issue, instead please write to support (at) l2jserver.com

Check our wiki!

Report server issues here

Forum has been updated to phpBB 3.2, let's see if this fixes some minor bugs we had.

Thank you for visiting http://www.l2jserver.com/

Buffer Community help

This is not a Support area! Discuss about the Server here. Non-Server related discussion goes in Off-Topic Discussion.
Forum rules
READ NOW: L2j Forums Rules of Conduct
Post Reply
rubenalonso
Posts: 7
Joined: Sat Feb 02, 2013 10:26 am

Buffer Community help

Post by rubenalonso » Thu Jun 09, 2016 12:51 pm

Hi all
someone can help me adapting this freya community buffer to high five
in high five i dont exist l2skill and skilltable

Code: Select all

Index: com/l2jserver/gameserver/communitybbs/Managers/BuffBBSManager.java
===================================================================
--- com/l2jserver/gameserver/communitybbs/Managers/BuffBBSManager.java	(revision 0)
+++ com/l2jserver/gameserver/communitybbs/Managers/BuffBBSManager.java	(working copy)
@@ -0,0 +1,455 @@
+/*
+ * 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://l2jpsproject.eu/>.
+ */
+package com.l2jserver.gameserver.communitybbs.Managers;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import com.l2jserver.Config;
+import com.l2jserver.L2DatabaseFactory;
+import com.l2jserver.gameserver.datatables.SkillTable;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.skills.L2Skill;
+
+/**
+ * @RobikBobik
+ */
+public class BuffBBSManager extends BaseBBSManager
+{
+	private static BuffBBSManager _instance = new BuffBBSManager();
+	
+	public int allskillid_1[][];
+	
+	public BuffBBSManager()
+	{
+		Load();
+	}
+	
+	public static BuffBBSManager getInstance()
+	{
+		if (_instance == null)
+		{
+			_instance = new BuffBBSManager();
+		}
+		return _instance;
+	}
+	
+	public void Load()
+	{
+		
+		Connection connn = null;
+		try
+		{
+			connn = L2DatabaseFactory.getInstance().getConnection();
+			PreparedStatement count = connn.prepareStatement("SELECT COUNT(*) FROM communitybuff");
+			ResultSet countt = count.executeQuery();
+			countt.next();
+			allskillid_1 = new int[countt.getInt(1)][4];
+			PreparedStatement table = connn.prepareStatement("SELECT * FROM communitybuff");
+			ResultSet skills = table.executeQuery();
+			for (int i = 0; i < allskillid_1.length; i++)
+			{
+				skills.next();
+				allskillid_1[i][0] = skills.getInt(2);
+				allskillid_1[i][1] = skills.getInt(3);
+				allskillid_1[i][2] = skills.getInt(4);
+				allskillid_1[i][3] = skills.getInt(5);
+			}
+			
+			count.close();
+			countt.close();
+			skills.close();
+			table.close();
+			connn.close();
+		}
+		catch (Exception ignored)
+		{
+		}
+	}
+	
+	@Override
+	public void parsecmd(String command, L2PcInstance activeChar)
+	{
+		String[] parts = command.split("_");
+		boolean petbuff = false;
+		
+		if (!(parts[2].startsWith("buff")))
+		{
+			return;
+		}
+		
+		if ((parts[4] != null) && parts[4].startsWith(" Player"))
+		{
+			petbuff = false;
+		}
+		if ((parts[4] != null) && parts[4].startsWith(" Pet"))
+		{
+			petbuff = true;
+		}
+		
+		if (parts[3].startsWith("FIGHERLIST"))
+		{
+			FIGHERLIST(activeChar, petbuff);
+		}
+		
+		if (parts[3].startsWith("MAGELIST"))
+		{
+			MAGELIST(activeChar, petbuff);
+		}
+		/*
+		 * if (parts[3].startsWith("SAVE")) { SAVE(activeChar, petbuff); }
+		 */
+		
+		if (parts[3].startsWith("BUFF"))
+		{
+			BUFF(activeChar, petbuff);
+		}
+		
+		if (parts[3].startsWith("CANCEL"))
+		{
+			CANCEL(activeChar, petbuff);
+		}
+		
+		if (parts[3].startsWith("REGMP"))
+		{
+			REGMP(activeChar, petbuff);
+		}
+		
+		if (parts[3].startsWith("REGHP"))
+		{
+			REGHP(activeChar, petbuff);
+		}
+		
+		if (parts[3].startsWith("REGCP"))
+		{
+			REGCP(activeChar, petbuff);
+		}
+		
+		for (int key = 0; key < allskillid_1.length; key++)
+		{
+			L2Skill skill;
+			int skilllevel;
+			
+			skilllevel = SkillTable.getInstance().getMaxLevel(allskillid_1[key][0]);
+			skill = SkillTable.getInstance().getInfo(allskillid_1[key][0], skilllevel);
+			if (parts[3].startsWith(skill.getName()))
+			{
+				SKILL(activeChar, petbuff, key, skill);
+			}
+		}
+	}
+	
+	private void FIGHERLIST(L2PcInstance activeChar, boolean petbuff)
+	{
+		int arr$[][] = allskillid_1;
+		int len$ = arr$.length;
+		for (int i$ = 0; i$ < len$; i$++)
+		{
+			int aSkillid[] = arr$[i$];
+			if ((aSkillid[1] != 1) && (aSkillid[1] != 3))
+			{
+				continue;
+			}
+			L2Skill skill;
+			int skilllevel;
+			if (Config.BUFF_COST)
+			{
+				if (activeChar.destroyItemByItemId(null, aSkillid[3], aSkillid[2], activeChar, true))
+				{
+					skilllevel = SkillTable.getInstance().getMaxLevel(aSkillid[0]);
+					skill = SkillTable.getInstance().getInfo(aSkillid[0], skilllevel);
+					if (!petbuff)
+					{
+						skill.applyEffects(activeChar, activeChar);
+					}
+					else
+					{
+						skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+					}
+				}
+				else
+				{
+					activeChar.sendMessage("You don't have adena for using service.");
+				}
+				continue;
+			}
+			skilllevel = SkillTable.getInstance().getMaxLevel(aSkillid[0]);
+			skill = SkillTable.getInstance().getInfo(aSkillid[0], skilllevel);
+			if (!petbuff)
+			{
+				skill.applyEffects(activeChar, activeChar);
+			}
+			else
+			{
+				skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+			}
+		}
+		
+	}
+	
+	private void MAGELIST(L2PcInstance activeChar, boolean petbuff)
+	{
+		int arr$[][] = allskillid_1;
+		int len$ = arr$.length;
+		for (int i$ = 0; i$ < len$; i$++)
+		{
+			int aSkillid[] = arr$[i$];
+			if ((aSkillid[1] != 2) && (aSkillid[1] != 3))
+			{
+				continue;
+			}
+			L2Skill skill;
+			int skilllevel;
+			if (Config.BUFF_COST)
+			{
+				if (activeChar.destroyItemByItemId(null, aSkillid[3], aSkillid[2], activeChar, true))
+				{
+					skilllevel = SkillTable.getInstance().getMaxLevel(aSkillid[0]);
+					skill = SkillTable.getInstance().getInfo(aSkillid[0], skilllevel);
+					if (!petbuff)
+					{
+						skill.applyEffects(activeChar, activeChar);
+					}
+					else
+					{
+						skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+					}
+				}
+				else
+				{
+					activeChar.sendMessage("You don't have adena for using service.");
+				}
+				continue;
+			}
+			skilllevel = SkillTable.getInstance().getMaxLevel(aSkillid[0]);
+			skill = SkillTable.getInstance().getInfo(aSkillid[0], skilllevel);
+			if (!petbuff)
+			{
+				skill.applyEffects(activeChar, activeChar);
+			}
+			else
+			{
+				skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+			}
+		}
+		
+	}
+	
+	private void BUFF(L2PcInstance activeChar, boolean petbuff)
+	{
+		Connection con = null;
+		try
+		{
+			con = L2DatabaseFactory.getInstance().getConnection();
+			PreparedStatement statement = con.prepareStatement("SELECT * FROM community_skillsave WHERE charId=?;");
+			statement.setInt(1, activeChar.getObjectId());
+			ResultSet rcln = statement.executeQuery();
+			rcln.next();
+			if (!petbuff)
+			{
+				char allskills[] = rcln.getString(2).toCharArray();
+				if (allskills.length == allskillid_1.length)
+				{
+					for (int i = 0; i < allskillid_1.length; i++)
+					{
+						if (allskills[i] == '1')
+						{
+							if (Config.BUFF_COST)
+							{
+								if (activeChar.destroyItemByItemId(null, allskillid_1[i][3], allskillid_1[i][2], activeChar, true))
+								{
+									int skilllevel = SkillTable.getInstance().getMaxLevel(allskillid_1[i][0]);
+									L2Skill skill = SkillTable.getInstance().getInfo(allskillid_1[i][0], skilllevel);
+									skill.applyEffects(activeChar, activeChar);
+									activeChar.getLevel();
+								}
+								else
+								{
+									activeChar.sendMessage("You don't have adena for using service.");
+								}
+							}
+							else
+							{
+								int skilllevel = SkillTable.getInstance().getMaxLevel(allskillid_1[i][0]);
+								L2Skill skill = SkillTable.getInstance().getInfo(allskillid_1[i][0], skilllevel);
+								skill.applyEffects(activeChar, activeChar);
+							}
+						}
+					}
+					
+				}
+			}
+			else
+			{
+				char petskills[] = rcln.getString(3).toCharArray();
+				if (petskills.length == allskillid_1.length)
+				{
+					for (int i = 0; i < allskillid_1.length; i++)
+					{
+						if (petskills[i] != '1')
+						{
+							continue;
+						}
+						if (Config.BUFF_COST)
+						{
+							if (activeChar.destroyItemByItemId(null, allskillid_1[i][3], allskillid_1[i][2], activeChar, true))
+							{
+								int skilllevel = SkillTable.getInstance().getMaxLevel(allskillid_1[i][0]);
+								L2Skill skill = SkillTable.getInstance().getInfo(allskillid_1[i][0], skilllevel);
+								skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+							}
+							else
+							{
+								activeChar.sendMessage("You don't have adena for using service.");
+							}
+						}
+						else
+						{
+							int skilllevel = SkillTable.getInstance().getMaxLevel(allskillid_1[i][0]);
+							L2Skill skill = SkillTable.getInstance().getInfo(allskillid_1[i][0], skilllevel);
+							skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+						}
+					}
+					
+				}
+			}
+			rcln.close();
+			statement.close();
+		}
+		catch (Exception ignored)
+		{
+			try
+			{
+				if (con != null)
+				{
+					con.close();
+				}
+			}
+			catch (SQLException e)
+			{
+				e.printStackTrace();
+			}
+			
+		}
+		try
+		{
+			if (con != null)
+			{
+				con.close();
+			}
+		}
+		catch (SQLException e)
+		{
+			e.printStackTrace();
+		}
+	}
+	
+	private void CANCEL(L2PcInstance activeChar, boolean petbuff)
+	{
+		if (!petbuff)
+		{
+			activeChar.stopAllEffects();
+		}
+		else
+		{
+			activeChar.getSummon().stopAllEffects();
+		}
+	}
+	
+	private void REGMP(L2PcInstance activeChar, boolean petbuff)
+	{
+		if (!petbuff)
+		{
+			activeChar.setCurrentMp(activeChar.getMaxMp());
+		}
+		else
+		{
+			activeChar.getSummon().setCurrentMp(activeChar.getSummon().getMaxMp());
+		}
+	}
+	
+	private void REGHP(L2PcInstance activeChar, boolean petbuff)
+	{
+		if (!petbuff)
+		{
+			activeChar.setCurrentHp(activeChar.getMaxHp());
+		}
+		else
+		{
+			activeChar.getSummon().setCurrentHp(activeChar.getSummon().getMaxHp());
+		}
+	}
+	
+	private void REGCP(L2PcInstance activeChar, boolean petbuff)
+	{
+		if (!petbuff)
+		{
+			activeChar.setCurrentCp(activeChar.getMaxCp());
+		}
+		else
+		{
+			activeChar.getSummon().setCurrentCp(activeChar.getSummon().getMaxCp());
+		}
+	}
+	
+	private void SKILL(L2PcInstance activeChar, boolean petbuff, int key, L2Skill skill)
+	{
+		if (Config.BUFF_COST)
+		{
+			if (activeChar.destroyItemByItemId(null, allskillid_1[key][3], allskillid_1[key][2], activeChar, true))
+			{
+				if (!petbuff)
+				{
+					skill.applyEffects(activeChar, activeChar);
+				}
+				else
+				{
+					skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+				}
+			}
+			else
+			{
+				activeChar.sendMessage("You don't have adena for using service.");
+			}
+		}
+		else if (!petbuff)
+		{
+			skill.applyEffects(activeChar, activeChar);
+		}
+		else
+		{
+			skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+		}
+	}
+	
+	/*
+	 * private void SAVE(L2PcInstance activeChar, boolean petbuff) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement stat = con.prepareStatement("SELECT COUNT(*) FROM community_skillsave WHERE charId=?;"); stat.setInt(1,
+	 * activeChar.getObjectId()); ResultSet rset = stat.executeQuery(); rset.next(); String allbuff = ""; if (!petbuff) { L2Effect skill[] = activeChar.getAllEffectsCB(); boolean flag = true; int arr$[][] = allskillid_1; int len$ = arr$.length; for (int i$ = 0; i$ < len$; i$++) { int aSkillid[] =
+	 * arr$[i$]; for (int j = 0; j < skill.length; j++) { if (aSkillid[0] == skill[j].getId()) { allbuff = (new StringBuilder()).append(allbuff).append(1).toString(); flag = false; } if ((j == (skill.length - 1)) && flag) { allbuff = (new StringBuilder()).append(allbuff).append(0).toString(); } }
+	 * flag = true; } if (rset.getInt(1) == 0) { PreparedStatement statement1 = con.prepareStatement("INSERT INTO community_skillsave (charId,skills) values (?,?)"); statement1.setInt(1, activeChar.getObjectId()); statement1.setString(2, allbuff); statement1.execute(); statement1.close(); } else {
+	 * PreparedStatement statement = con.prepareStatement("UPDATE community_skillsave SET skills=? WHERE charId=?;"); statement.setString(1, allbuff); statement.setInt(2, activeChar.getObjectId()); statement.execute(); statement.close(); } } else { L2Effect skill[] =
+	 * activeChar.getSummon().getAllEffectsCB(); boolean flag = true; int arr$[][] = allskillid_1; int len$ = arr$.length; for (int i$ = 0; i$ < len$; i$++) { int aSkillid[] = arr$[i$]; for (int j = 0; j < skill.length; j++) { if (aSkillid[0] == skill[j].getId()) { allbuff = (new
+	 * StringBuilder()).append(allbuff).append(1).toString(); flag = false; } if ((j == (skill.length - 1)) && flag) { allbuff = (new StringBuilder()).append(allbuff).append(0).toString(); } } flag = true; } if (rset.getInt(1) == 0) { PreparedStatement statement1 =
+	 * con.prepareStatement("INSERT INTO community_skillsave (charId,pet) values (?,?)"); statement1.setInt(1, activeChar.getObjectId()); statement1.setString(2, allbuff); statement1.execute(); statement1.close(); } else { PreparedStatement statement =
+	 * con.prepareStatement("UPDATE community_skillsave SET pet=? WHERE charId=?;"); statement.setString(1, allbuff); statement.setInt(2, activeChar.getObjectId()); statement.execute(); statement.close(); } } rset.close(); stat.close(); } catch (Exception ignored) { try { if (con != null) {
+	 * con.close(); } } catch (SQLException e) { e.printStackTrace(); } } try { if (con != null) { con.close(); } } catch (SQLException e) { e.printStackTrace(); } }
+	 */
+	@Override
+	public void parsewrite(String s, String s1, String s2, String s3, String s4, L2PcInstance l2pcinstance)
+	{
+	}
+}
thank you for you help

User avatar
Sacrifice
Advanced User
Advanced User
Posts: 968
Joined: Thu Aug 14, 2014 6:31 am
Location: Spain

Re: Buffer Community help

Post by Sacrifice » Thu Jun 09, 2016 1:18 pm

rubenalonso wrote:Hi all
someone can help me adapting this freya community buffer to high five
in high five i dont exist l2skill and skilltable

Code: Select all

Index: com/l2jserver/gameserver/communitybbs/Managers/BuffBBSManager.java
===================================================================
--- com/l2jserver/gameserver/communitybbs/Managers/BuffBBSManager.java	(revision 0)
+++ com/l2jserver/gameserver/communitybbs/Managers/BuffBBSManager.java	(working copy)
@@ -0,0 +1,455 @@
+/*
+ * 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://l2jpsproject.eu/>.
+ */
+package com.l2jserver.gameserver.communitybbs.Managers;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import com.l2jserver.Config;
+import com.l2jserver.L2DatabaseFactory;
+import com.l2jserver.gameserver.datatables.SkillTable;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.skills.L2Skill;
+
+/**
+ * @RobikBobik
+ */
+public class BuffBBSManager extends BaseBBSManager
+{
+	private static BuffBBSManager _instance = new BuffBBSManager();
+	
+	public int allskillid_1[][];
+	
+	public BuffBBSManager()
+	{
+		Load();
+	}
+	
+	public static BuffBBSManager getInstance()
+	{
+		if (_instance == null)
+		{
+			_instance = new BuffBBSManager();
+		}
+		return _instance;
+	}
+	
+	public void Load()
+	{
+		
+		Connection connn = null;
+		try
+		{
+			connn = L2DatabaseFactory.getInstance().getConnection();
+			PreparedStatement count = connn.prepareStatement("SELECT COUNT(*) FROM communitybuff");
+			ResultSet countt = count.executeQuery();
+			countt.next();
+			allskillid_1 = new int[countt.getInt(1)][4];
+			PreparedStatement table = connn.prepareStatement("SELECT * FROM communitybuff");
+			ResultSet skills = table.executeQuery();
+			for (int i = 0; i < allskillid_1.length; i++)
+			{
+				skills.next();
+				allskillid_1[i][0] = skills.getInt(2);
+				allskillid_1[i][1] = skills.getInt(3);
+				allskillid_1[i][2] = skills.getInt(4);
+				allskillid_1[i][3] = skills.getInt(5);
+			}
+			
+			count.close();
+			countt.close();
+			skills.close();
+			table.close();
+			connn.close();
+		}
+		catch (Exception ignored)
+		{
+		}
+	}
+	
+	@Override
+	public void parsecmd(String command, L2PcInstance activeChar)
+	{
+		String[] parts = command.split("_");
+		boolean petbuff = false;
+		
+		if (!(parts[2].startsWith("buff")))
+		{
+			return;
+		}
+		
+		if ((parts[4] != null) && parts[4].startsWith(" Player"))
+		{
+			petbuff = false;
+		}
+		if ((parts[4] != null) && parts[4].startsWith(" Pet"))
+		{
+			petbuff = true;
+		}
+		
+		if (parts[3].startsWith("FIGHERLIST"))
+		{
+			FIGHERLIST(activeChar, petbuff);
+		}
+		
+		if (parts[3].startsWith("MAGELIST"))
+		{
+			MAGELIST(activeChar, petbuff);
+		}
+		/*
+		 * if (parts[3].startsWith("SAVE")) { SAVE(activeChar, petbuff); }
+		 */
+		
+		if (parts[3].startsWith("BUFF"))
+		{
+			BUFF(activeChar, petbuff);
+		}
+		
+		if (parts[3].startsWith("CANCEL"))
+		{
+			CANCEL(activeChar, petbuff);
+		}
+		
+		if (parts[3].startsWith("REGMP"))
+		{
+			REGMP(activeChar, petbuff);
+		}
+		
+		if (parts[3].startsWith("REGHP"))
+		{
+			REGHP(activeChar, petbuff);
+		}
+		
+		if (parts[3].startsWith("REGCP"))
+		{
+			REGCP(activeChar, petbuff);
+		}
+		
+		for (int key = 0; key < allskillid_1.length; key++)
+		{
+			L2Skill skill;
+			int skilllevel;
+			
+			skilllevel = SkillTable.getInstance().getMaxLevel(allskillid_1[key][0]);
+			skill = SkillTable.getInstance().getInfo(allskillid_1[key][0], skilllevel);
+			if (parts[3].startsWith(skill.getName()))
+			{
+				SKILL(activeChar, petbuff, key, skill);
+			}
+		}
+	}
+	
+	private void FIGHERLIST(L2PcInstance activeChar, boolean petbuff)
+	{
+		int arr$[][] = allskillid_1;
+		int len$ = arr$.length;
+		for (int i$ = 0; i$ < len$; i$++)
+		{
+			int aSkillid[] = arr$[i$];
+			if ((aSkillid[1] != 1) && (aSkillid[1] != 3))
+			{
+				continue;
+			}
+			L2Skill skill;
+			int skilllevel;
+			if (Config.BUFF_COST)
+			{
+				if (activeChar.destroyItemByItemId(null, aSkillid[3], aSkillid[2], activeChar, true))
+				{
+					skilllevel = SkillTable.getInstance().getMaxLevel(aSkillid[0]);
+					skill = SkillTable.getInstance().getInfo(aSkillid[0], skilllevel);
+					if (!petbuff)
+					{
+						skill.applyEffects(activeChar, activeChar);
+					}
+					else
+					{
+						skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+					}
+				}
+				else
+				{
+					activeChar.sendMessage("You don't have adena for using service.");
+				}
+				continue;
+			}
+			skilllevel = SkillTable.getInstance().getMaxLevel(aSkillid[0]);
+			skill = SkillTable.getInstance().getInfo(aSkillid[0], skilllevel);
+			if (!petbuff)
+			{
+				skill.applyEffects(activeChar, activeChar);
+			}
+			else
+			{
+				skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+			}
+		}
+		
+	}
+	
+	private void MAGELIST(L2PcInstance activeChar, boolean petbuff)
+	{
+		int arr$[][] = allskillid_1;
+		int len$ = arr$.length;
+		for (int i$ = 0; i$ < len$; i$++)
+		{
+			int aSkillid[] = arr$[i$];
+			if ((aSkillid[1] != 2) && (aSkillid[1] != 3))
+			{
+				continue;
+			}
+			L2Skill skill;
+			int skilllevel;
+			if (Config.BUFF_COST)
+			{
+				if (activeChar.destroyItemByItemId(null, aSkillid[3], aSkillid[2], activeChar, true))
+				{
+					skilllevel = SkillTable.getInstance().getMaxLevel(aSkillid[0]);
+					skill = SkillTable.getInstance().getInfo(aSkillid[0], skilllevel);
+					if (!petbuff)
+					{
+						skill.applyEffects(activeChar, activeChar);
+					}
+					else
+					{
+						skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+					}
+				}
+				else
+				{
+					activeChar.sendMessage("You don't have adena for using service.");
+				}
+				continue;
+			}
+			skilllevel = SkillTable.getInstance().getMaxLevel(aSkillid[0]);
+			skill = SkillTable.getInstance().getInfo(aSkillid[0], skilllevel);
+			if (!petbuff)
+			{
+				skill.applyEffects(activeChar, activeChar);
+			}
+			else
+			{
+				skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+			}
+		}
+		
+	}
+	
+	private void BUFF(L2PcInstance activeChar, boolean petbuff)
+	{
+		Connection con = null;
+		try
+		{
+			con = L2DatabaseFactory.getInstance().getConnection();
+			PreparedStatement statement = con.prepareStatement("SELECT * FROM community_skillsave WHERE charId=?;");
+			statement.setInt(1, activeChar.getObjectId());
+			ResultSet rcln = statement.executeQuery();
+			rcln.next();
+			if (!petbuff)
+			{
+				char allskills[] = rcln.getString(2).toCharArray();
+				if (allskills.length == allskillid_1.length)
+				{
+					for (int i = 0; i < allskillid_1.length; i++)
+					{
+						if (allskills[i] == '1')
+						{
+							if (Config.BUFF_COST)
+							{
+								if (activeChar.destroyItemByItemId(null, allskillid_1[i][3], allskillid_1[i][2], activeChar, true))
+								{
+									int skilllevel = SkillTable.getInstance().getMaxLevel(allskillid_1[i][0]);
+									L2Skill skill = SkillTable.getInstance().getInfo(allskillid_1[i][0], skilllevel);
+									skill.applyEffects(activeChar, activeChar);
+									activeChar.getLevel();
+								}
+								else
+								{
+									activeChar.sendMessage("You don't have adena for using service.");
+								}
+							}
+							else
+							{
+								int skilllevel = SkillTable.getInstance().getMaxLevel(allskillid_1[i][0]);
+								L2Skill skill = SkillTable.getInstance().getInfo(allskillid_1[i][0], skilllevel);
+								skill.applyEffects(activeChar, activeChar);
+							}
+						}
+					}
+					
+				}
+			}
+			else
+			{
+				char petskills[] = rcln.getString(3).toCharArray();
+				if (petskills.length == allskillid_1.length)
+				{
+					for (int i = 0; i < allskillid_1.length; i++)
+					{
+						if (petskills[i] != '1')
+						{
+							continue;
+						}
+						if (Config.BUFF_COST)
+						{
+							if (activeChar.destroyItemByItemId(null, allskillid_1[i][3], allskillid_1[i][2], activeChar, true))
+							{
+								int skilllevel = SkillTable.getInstance().getMaxLevel(allskillid_1[i][0]);
+								L2Skill skill = SkillTable.getInstance().getInfo(allskillid_1[i][0], skilllevel);
+								skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+							}
+							else
+							{
+								activeChar.sendMessage("You don't have adena for using service.");
+							}
+						}
+						else
+						{
+							int skilllevel = SkillTable.getInstance().getMaxLevel(allskillid_1[i][0]);
+							L2Skill skill = SkillTable.getInstance().getInfo(allskillid_1[i][0], skilllevel);
+							skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+						}
+					}
+					
+				}
+			}
+			rcln.close();
+			statement.close();
+		}
+		catch (Exception ignored)
+		{
+			try
+			{
+				if (con != null)
+				{
+					con.close();
+				}
+			}
+			catch (SQLException e)
+			{
+				e.printStackTrace();
+			}
+			
+		}
+		try
+		{
+			if (con != null)
+			{
+				con.close();
+			}
+		}
+		catch (SQLException e)
+		{
+			e.printStackTrace();
+		}
+	}
+	
+	private void CANCEL(L2PcInstance activeChar, boolean petbuff)
+	{
+		if (!petbuff)
+		{
+			activeChar.stopAllEffects();
+		}
+		else
+		{
+			activeChar.getSummon().stopAllEffects();
+		}
+	}
+	
+	private void REGMP(L2PcInstance activeChar, boolean petbuff)
+	{
+		if (!petbuff)
+		{
+			activeChar.setCurrentMp(activeChar.getMaxMp());
+		}
+		else
+		{
+			activeChar.getSummon().setCurrentMp(activeChar.getSummon().getMaxMp());
+		}
+	}
+	
+	private void REGHP(L2PcInstance activeChar, boolean petbuff)
+	{
+		if (!petbuff)
+		{
+			activeChar.setCurrentHp(activeChar.getMaxHp());
+		}
+		else
+		{
+			activeChar.getSummon().setCurrentHp(activeChar.getSummon().getMaxHp());
+		}
+	}
+	
+	private void REGCP(L2PcInstance activeChar, boolean petbuff)
+	{
+		if (!petbuff)
+		{
+			activeChar.setCurrentCp(activeChar.getMaxCp());
+		}
+		else
+		{
+			activeChar.getSummon().setCurrentCp(activeChar.getSummon().getMaxCp());
+		}
+	}
+	
+	private void SKILL(L2PcInstance activeChar, boolean petbuff, int key, L2Skill skill)
+	{
+		if (Config.BUFF_COST)
+		{
+			if (activeChar.destroyItemByItemId(null, allskillid_1[key][3], allskillid_1[key][2], activeChar, true))
+			{
+				if (!petbuff)
+				{
+					skill.applyEffects(activeChar, activeChar);
+				}
+				else
+				{
+					skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+				}
+			}
+			else
+			{
+				activeChar.sendMessage("You don't have adena for using service.");
+			}
+		}
+		else if (!petbuff)
+		{
+			skill.applyEffects(activeChar, activeChar);
+		}
+		else
+		{
+			skill.applyEffects(activeChar.getSummon(), activeChar.getSummon());
+		}
+	}
+	
+	/*
+	 * private void SAVE(L2PcInstance activeChar, boolean petbuff) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement stat = con.prepareStatement("SELECT COUNT(*) FROM community_skillsave WHERE charId=?;"); stat.setInt(1,
+	 * activeChar.getObjectId()); ResultSet rset = stat.executeQuery(); rset.next(); String allbuff = ""; if (!petbuff) { L2Effect skill[] = activeChar.getAllEffectsCB(); boolean flag = true; int arr$[][] = allskillid_1; int len$ = arr$.length; for (int i$ = 0; i$ < len$; i$++) { int aSkillid[] =
+	 * arr$[i$]; for (int j = 0; j < skill.length; j++) { if (aSkillid[0] == skill[j].getId()) { allbuff = (new StringBuilder()).append(allbuff).append(1).toString(); flag = false; } if ((j == (skill.length - 1)) && flag) { allbuff = (new StringBuilder()).append(allbuff).append(0).toString(); } }
+	 * flag = true; } if (rset.getInt(1) == 0) { PreparedStatement statement1 = con.prepareStatement("INSERT INTO community_skillsave (charId,skills) values (?,?)"); statement1.setInt(1, activeChar.getObjectId()); statement1.setString(2, allbuff); statement1.execute(); statement1.close(); } else {
+	 * PreparedStatement statement = con.prepareStatement("UPDATE community_skillsave SET skills=? WHERE charId=?;"); statement.setString(1, allbuff); statement.setInt(2, activeChar.getObjectId()); statement.execute(); statement.close(); } } else { L2Effect skill[] =
+	 * activeChar.getSummon().getAllEffectsCB(); boolean flag = true; int arr$[][] = allskillid_1; int len$ = arr$.length; for (int i$ = 0; i$ < len$; i$++) { int aSkillid[] = arr$[i$]; for (int j = 0; j < skill.length; j++) { if (aSkillid[0] == skill[j].getId()) { allbuff = (new
+	 * StringBuilder()).append(allbuff).append(1).toString(); flag = false; } if ((j == (skill.length - 1)) && flag) { allbuff = (new StringBuilder()).append(allbuff).append(0).toString(); } } flag = true; } if (rset.getInt(1) == 0) { PreparedStatement statement1 =
+	 * con.prepareStatement("INSERT INTO community_skillsave (charId,pet) values (?,?)"); statement1.setInt(1, activeChar.getObjectId()); statement1.setString(2, allbuff); statement1.execute(); statement1.close(); } else { PreparedStatement statement =
+	 * con.prepareStatement("UPDATE community_skillsave SET pet=? WHERE charId=?;"); statement.setString(1, allbuff); statement.setInt(2, activeChar.getObjectId()); statement.execute(); statement.close(); } } rset.close(); stat.close(); } catch (Exception ignored) { try { if (con != null) {
+	 * con.close(); } } catch (SQLException e) { e.printStackTrace(); } } try { if (con != null) { con.close(); } } catch (SQLException e) { e.printStackTrace(); } }
+	 */
+	@Override
+	public void parsewrite(String s, String s1, String s2, String s3, String s4, L2PcInstance l2pcinstance)
+	{
+	}
+}
thank you for you help
L2Skill --> Skill
SkillTable --> SkillData

rubenalonso
Posts: 7
Joined: Sat Feb 02, 2013 10:26 am

Re: Buffer Community help

Post by rubenalonso » Thu Jun 09, 2016 1:24 pm

thank you for your quick answer
i put like that (for example this lanes

Code: Select all

			Skill skill;
			int skilllevel;
			
			skilllevel = SkillData.getInstance().getMaxLevel(allskillid_1[key][0]);
			skill = SkillData.getInstance().getInfo(allskillid_1[key][0], skilllevel);
			if (parts[3].startsWith(skill.getName()))
			{
				SKILL(activeChar, petbuff, key, skill);
			}
		}
but still giving me error

PD: I changed imports too

PD2: If i change getInfo to getSkill Still Reciving same error

User avatar
Sacrifice
Advanced User
Advanced User
Posts: 968
Joined: Thu Aug 14, 2014 6:31 am
Location: Spain

Re: Buffer Community help

Post by Sacrifice » Thu Jun 09, 2016 1:57 pm

make two different arrays for each skill level and one for the id of skill or specify the level inside getInfo() call

User avatar
Sacrifice
Advanced User
Advanced User
Posts: 968
Joined: Thu Aug 14, 2014 6:31 am
Location: Spain

Re: Buffer Community help

Post by Sacrifice » Thu Jun 09, 2016 1:58 pm

Obviously rework values inside each array.

User avatar
Sacrifice
Advanced User
Advanced User
Posts: 968
Joined: Thu Aug 14, 2014 6:31 am
Location: Spain

Re: Buffer Community help

Post by Sacrifice » Thu Jun 09, 2016 2:10 pm

This source was from L2J_PS fork

rubenalonso
Posts: 7
Joined: Sat Feb 02, 2013 10:26 am

Re: Buffer Community help

Post by rubenalonso » Thu Jun 09, 2016 2:41 pm

can you guys help me doing it cause i have low java level
thank you for your help

Post Reply