Jump to content

RubenAlonso

Members
  • Posts

    15
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by RubenAlonso

  1. Hi all

    im trying to adapt a community buffer to h5

    the problem is some class l2skill and skilltable doesnt exist

    i tryied to change l2skill for skill, getinfo for getskill and skilltable for skilldata but still error i think it is more complicated than that

    /*
     * 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 Your Help

×
×
  • Create New...