Jump to content
  • 0

Problem On A Code After Updating The Source!


xXObanXx

Question

Hello guys... so i have l2jserver High Five (unstable) and i updated it to the latest revision.. so i have many custom codes and features in my pack and i've got a problem that pissed me off!!

 

so the file is this:

/*
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program. If not, see <http://www.gnu.org/licenses/>.
 */
package handlers.bypasshandlers;

import java.text.DecimalFormat;

import com.l2jserver.gameserver.datatables.ItemTable;
import com.l2jserver.gameserver.enums.InstanceType;
import com.l2jserver.gameserver.handler.IBypassHandler;
import com.l2jserver.gameserver.model.L2Object;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.items.L2Item;
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jserver.util.StringUtil;

public class DropInfo implements IBypassHandler
{
	private static final String[] COMMANDS =
	{
		"drop",
		"spoil",
		"info",
		"dropquest"
	};
	
	@Override
	public boolean useBypass(String command, L2PcInstance activeChar, L2Character target)
	{
		try
		{
			final NpcHtmlMessage html = new NpcHtmlMessage(0);
			L2Object targetmob = activeChar.getTarget();
			L2Npc npc = (L2Npc) targetmob;
			String droptext = "";
			
			if (command.startsWith("drop"))
			{
				try
				{
					html.setFile(activeChar.getHtmlPrefix(), "data/html/dropinfo/mobdrop.htm");
					
					if (!(npc.isChampion() || npc.isMinion() || (npc.getInstanceType() == InstanceType.L2GrandBossInstance) || npc.isRaid() || npc.isRaidMinion() || npc.isMob()))
					{
						return false;
					}
					if (npc.getTemplate().getDropLists().isEmpty())
					{
						droptext = "WARNING: This Npc has no Drops!";
						html.replace("%drops%", droptext);
						activeChar.sendPacket(html);
						return false;
					}
					String champ = "";
					String imgsg = "<img src=\"l2ui.squaregray\" width=\"274\" height=\"1\">";
					String ta_op = "<table bgcolor=333333 cellspacing=2 cellpadding=1><tr><td height=38 fixwidth=36><img src=\"";
					String ta_op2 = "\" height=32 width=32></td><td fixwidth=234><table VALIGN=top valing = top width=234 cellpadding=0 cellspacing=0><tr>";
					
					final StringBuilder droptext1 = StringUtil.startAppend(9000, champ + "<br>" + imgsg);
					for (L2DropCategory cat : npc.getTemplate().getDropLists())
					{
						for (L2DropData drop : cat.getAllDrops())
						{
							final L2Item item = ItemTable.getInstance().getTemplate(drop.getItemId());
							if (item == null)
							{
								continue;
							}
							if (cat.isSweep())
							{
								continue;
							}
							if (drop.isQuestDrop())
							{
								continue;
							}
							
							String smind = null, drops = null;
							String name = item.getName();
							double chance = (drop.getChance() / 10000);
							
							if (item.getCrystalType() == 0)
							{
								smind = "<img src=\"L2UI_CH3.joypad_shortcut\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 1)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_D\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 2)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_C\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 3)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_B\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 4)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_A\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 5)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_S\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 6)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_80\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 7)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_84\" width=16 height=16>";
							}
							
							if (chance <= 0.001)
							{
								DecimalFormat df = new DecimalFormat("#.####");
								drops = df.format(chance);
							}
							else if (chance <= 0.01)
							{
								DecimalFormat df = new DecimalFormat("#.###");
								drops = df.format(chance);
							}
							else
							{
								DecimalFormat df = new DecimalFormat("##.##");
								drops = df.format(chance);
							}
							if (name.startsWith("Recipe - Sealed"))
							{
								name = "<font color=00FF00>(Re)</font><font color=FF00FF>(Sl)</font>" + name.substring(16);
							}
							if (name.startsWith("Sealed "))
							{
								name = "<font color=FF00FF>(Sl)</font>" + name.substring(7);
							}
							if (name.startsWith("Common Item - "))
							{
								name = "<font color=00FFFF>(Ci)</font>" + name.substring(14);
							}
							if (name.startsWith("Recipe: "))
							{
								name = "<font color=00FF00>(Re)</font>" + name.substring(8);
							}
							if (name.startsWith("Recipe -"))
							{
								name = "<font color=00FF00>(Re)</font>" + name.substring(8);
							}
							if (name.startsWith("Mid-Grade Life Stone"))
							{
								name = "<font color=fff600>Mid-Grade LS</font>" + name.substring(20);
							}
							if (name.startsWith("High-Grade Life Stone"))
							{
								name = "<font color=fff600>High-Grade LS</font>" + name.substring(21);
							}
							if (name.startsWith("Top-Grade Life Stone"))
							{
								name = "<font color=fff600>Top-Grade LS</font>" + name.substring(20);
							}
							if (name.startsWith("Forgotten Scroll - "))
							{
								name = "<font color=fff600>FS - </font>" + name.substring(19);
							}
							if (name.startsWith("Greater Dye of "))
							{
								name = "<font color=fff600>G Dye of </font>" + name.substring(15);
							}
							
							droptext1.append(ta_op + item.getIcon() + ta_op2 + "<td align=left width=16>" + smind + "</td><td align=left width=260><font color=fff600>" + name + "</font></td></tr><tr><td align=left width=16><img src=\"L2UI_CH3.QuestWndToolTipBtn\" width=16 height=16></td><td align=left width=55><font color=E15656>" + drops + "%</font></td></tr></table></td></tr></table>" + imgsg);
						}
					}
					droptext = droptext1.toString();
					html.replace("%drops%", droptext);
					activeChar.sendPacket(html);
				}
				catch (Exception e)
				{
					activeChar.sendMessage("Something went wrong with the drop preview.");
				}
			}
			if (command.startsWith("spoil"))
			{
				try
				{
					html.setFile(activeChar.getHtmlPrefix(), "data/html/dropinfo/mobspoil.htm");
					
					if (!(npc.isChampion() || npc.isMinion() || npc.isRaid() || npc.isRaidMinion() || npc.isMob()))
					{
						return false;
					}
					if (npc.getTemplate().getDropLists().isEmpty())
					{
						droptext = "WARNING: This Npc has no Drops!";
						html.replace("%drops%", droptext);
						activeChar.sendPacket(html);
						return false;
					}
					String champ = "";
					String imgsg = "<img src=\"l2ui.squaregray\" width=\"274\" height=\"1\">";
					String ta_op = "<table bgcolor=333333 cellspacing=2 cellpadding=1><tr><td height=38 fixwidth=36><img src=\"";
					String ta_op2 = "\" height=32 width=32></td><td fixwidth=234><table VALIGN=top valing = top width=234 cellpadding=0 cellspacing=1><tr>";
					final StringBuilder droptext1 = StringUtil.startAppend(1000, champ + "<br>" + imgsg);
					for (L2DropCategory cat : npc.getTemplate().getDropLists())
					{
						for (L2DropData drop : cat.getAllDrops())
						{
							final L2Item item = ItemTable.getInstance().getTemplate(drop.getItemId());
							if (item == null)
							{
								continue;
							}
							if (!(cat.isSweep()))
							{
								continue;
							}
							
							String smind = null, drops = null;
							String name = item.getName();
							double chance = (drop.getChance() / 10000);
							
							if (item.getCrystalType() == 0)
							{
								smind = "<img src=\"L2UI_CH3.joypad_shortcut\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 1)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_D\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 2)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_C\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 3)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_B\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 4)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_A\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 5)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_S\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 6)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_80\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 7)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_84\" width=16 height=16>";
							}
							
							if (chance <= 0.001)
							{
								DecimalFormat df = new DecimalFormat("#.####");
								drops = df.format(chance);
							}
							else if (chance <= 0.01)
							{
								DecimalFormat df = new DecimalFormat("#.###");
								drops = df.format(chance);
							}
							else
							{
								DecimalFormat df = new DecimalFormat("##.##");
								drops = df.format(chance);
							}
							if (name.startsWith("Recipe - Sealed"))
							{
								name = "<font color=00FF00>(Re)</font><font color=FF00FF>(Sl)</font>" + name.substring(16);
							}
							if (name.startsWith("Sealed "))
							{
								name = "<font color=FF00FF>(Sl)</font>" + name.substring(7);
							}
							if (name.startsWith("Common Item - "))
							{
								name = "<font color=00FFFF>(Ci)</font>" + name.substring(14);
							}
							if (name.startsWith("Recipe: "))
							{
								name = "<font color=00FF00>(Re)</font>" + name.substring(8);
							}
							if (name.startsWith("Recipe -"))
							{
								name = "<font color=00FF00>(Re)</font>" + name.substring(8);
							}
							if (name.startsWith("Mid-Grade Life Stone"))
							{
								name = "<font color=fff600>Mid-Grade LS</font>" + name.substring(20);
							}
							if (name.startsWith("High-Grade Life Stone"))
							{
								name = "<font color=fff600>High-Grade LS</font>" + name.substring(21);
							}
							if (name.startsWith("Top-Grade Life Stone"))
							{
								name = "<font color=fff600>Top-Grade LS</font>" + name.substring(20);
							}
							if (name.startsWith("Forgotten Scroll - "))
							{
								name = "<font color=fff600>FS - </font>" + name.substring(19);
							}
							if (name.startsWith("Greater Dye of "))
							{
								name = "<font color=fff600>G Dye of </font>" + name.substring(15);
							}
							
							droptext1.append(ta_op + item.getIcon() + ta_op2 + "<td align=left width=16>" + smind + "</td><td align=left width=260><font color=fff600>" + name + "</font></td></tr><tr><td align=left width=16><img src=\"L2UI_CH3.QuestWndToolTipBtn\" width=16 height=16></td><td align=left width=55><font color=E15656>" + drops + "%</font></td></tr></table></td></tr></table>" + imgsg);
						}
					}
					droptext = droptext1.toString();
					html.replace("%drops%", droptext);
					activeChar.sendPacket(html);
				}
				catch (Exception e)
				{
					activeChar.sendMessage("Something went wrong with the drop preview.");
				}
			}
			if (command.startsWith("dropquest"))
			{
				try
				{
					html.setFile(activeChar.getHtmlPrefix(), "data/html/dropinfo/mobquest.htm");
					
					if (!(npc.isChampion() || npc.isMinion() || npc.isRaid() || npc.isRaidMinion() || npc.isMob()))
					{
						return false;
					}
					if (npc.getTemplate().getDropLists().isEmpty())
					{
						droptext = "WARNING: This Npc has no Drops!";
						html.replace("%drops%", droptext);
						activeChar.sendPacket(html);
						return false;
					}
					String champ = "";
					String imgsg = "<img src=\"l2ui.squaregray\" width=\"274\" height=\"1\">";
					String ta_op = "<table bgcolor=333333 cellspacing=2 cellpadding=1><tr><td height=38 fixwidth=36><img src=\"";
					String ta_op2 = "\" height=32 width=32></td><td fixwidth=234><table VALIGN=top valing = top width=234 cellpadding=0 cellspacing=1><tr>";
					final StringBuilder droptext1 = StringUtil.startAppend(1000, champ + "<br>" + imgsg);
					for (L2DropCategory cat : npc.getTemplate().getDropLists())
					{
						for (L2DropData drop : cat.getAllDrops())
						{
							final L2Item item = ItemTable.getInstance().getTemplate(drop.getItemId());
							if (item == null)
							{
								continue;
							}
							if (!(drop.isQuestDrop()))
							{
								continue;
							}
							
							String smind = null, drops = null;
							String name = item.getName();
							double chance = (drop.getChance() / 10000);
							
							if (item.getCrystalType() == 0)
							{
								smind = "<img src=\"L2UI_CH3.joypad_shortcut\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 1)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_D\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 2)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_C\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 3)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_B\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 4)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_A\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 5)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_S\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 6)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_80\" width=16 height=16>";
							}
							else if (item.getCrystalType() == 7)
							{
								smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_84\" width=16 height=16>";
							}
							
							if (chance <= 0.001)
							{
								DecimalFormat df = new DecimalFormat("#.####");
								drops = df.format(chance);
							}
							else if (chance <= 0.01)
							{
								DecimalFormat df = new DecimalFormat("#.###");
								drops = df.format(chance);
							}
							else
							{
								DecimalFormat df = new DecimalFormat("##.##");
								drops = df.format(chance);
							}
							if (name.startsWith("Recipe - Sealed"))
							{
								name = "<font color=00FF00>(Re)</font><font color=FF00FF>(Sl)</font>" + name.substring(16);
							}
							if (name.startsWith("Sealed "))
							{
								name = "<font color=FF00FF>(Sl)</font>" + name.substring(7);
							}
							if (name.startsWith("Common Item - "))
							{
								name = "<font color=00FFFF>(Ci)</font>" + name.substring(14);
							}
							if (name.startsWith("Recipe: "))
							{
								name = "<font color=00FF00>(Re)</font>" + name.substring(8);
							}
							if (name.startsWith("Recipe -"))
							{
								name = "<font color=00FF00>(Re)</font>" + name.substring(8);
							}
							if (name.startsWith("Mid-Grade Life Stone"))
							{
								name = "<font color=fff600>Mid-Grade LS</font>" + name.substring(20);
							}
							if (name.startsWith("High-Grade Life Stone"))
							{
								name = "<font color=fff600>High-Grade LS</font>" + name.substring(21);
							}
							if (name.startsWith("Top-Grade Life Stone"))
							{
								name = "<font color=fff600>Top-Grade LS</font>" + name.substring(20);
							}
							if (name.startsWith("Forgotten Scroll - "))
							{
								name = "<font color=fff600>FS - </font>" + name.substring(19);
							}
							if (name.startsWith("Greater Dye of "))
							{
								name = "<font color=fff600>G Dye of </font>" + name.substring(15);
							}
							
							droptext1.append(ta_op + item.getIcon() + ta_op2 + "<td align=left width=16>" + smind + "</td><td align=left width=260><font color=fff600>" + name + "</font></td></tr><tr><td align=left width=16><img src=\"L2UI_CH3.QuestWndToolTipBtn\" width=16 height=16></td><td align=left width=55><font color=E15656>" + drops + "%</font></td></tr></table></td></tr></table>" + imgsg);
						}
					}
					droptext = droptext1.toString();
					html.replace("%drops%", droptext);
					activeChar.sendPacket(html);
				}
				catch (Exception e)
				{
					activeChar.sendMessage("Something went wrong with the drop preview.");
				}
			}
		}
		catch (Exception e)
		{
			activeChar.sendMessage("You cant use this option with this target.");
		}
		return false;
	}
	
	@Override
	public String[] getBypassList()
	{
		return COMMANDS;
	}
}

so i have problem with these:

 

for (L2DropCategory cat : npc.getTemplate().getDropLists())
                    {
                        for (L2DropData drop : cat.getAllDrops())

 

 

these codes are placed 3 times in the whole file..!

I'll appreciate your help a lot!
(P.S. these methods (L2DropData and L2DropCategory) have been removed by L2JServer team... but i didn't found any other way to solve these problems!)

Edited by xXObanXx
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • Good afternoon everyone, we’ll get a couple of strong players in the CP, more details can be found here https://mw2.community/topic/211276-awr-team/  
    • so i bought this crap of the server few years back and i just found it laying around on my pc and i thought i should share it, if i remember correctly this crap has a lot of bugs that people abuse 🙂   https://drive.google.com/file/d/13QWg8pi4BPbGbTmlygZ078LjL6Fb0J2a/view?usp=sharing source   https://drive.google.com/file/d/13QWg8pi4BPbGbTmlygZ078LjL6Fb0J2a/view?usp=sharing system    
    • Error: Unable to access jarfile libs\Geodata_Converter_v01.jar
    • Since last massive leak as explained as 07/09 (notably all development branches), I don't accept anymore financial newcomers that easily. People will have to contribute 100 cookies worth of contributions (bug reports/fixes) as a first step to be accepted as Donator. Free user can join after sharing over 200 cookies out of contributions, compared to 100 cookies before. You can say thanks to RusAcis, and notably his worthless leader, UnleashedForce. The size of users will continue to shrink if more leaks occur, until true helpers only will be left. New prices are as following : Joining price: 200€ + 100 cookies, or 200 cookies This fee has to be paid if you are joining aCis project. Next month, and all other months, you will have to donate only basic monthly donation. Monthly price: 10€ / 10 cookies This fee has to be paid every month. I won't accept any new join fee before the 100 cookies contribution. Your money will be instantly sent back. Also, in the same shape of idea, actual supporters/donators have to be active to stay in sources. It doesn't have to be a particular amount, you just have to share from time to time *anything*. I don't accept anymore silent ppl. Only useful people will be kept.
    • @Kenrix Hello. my friend bought from you the panel and he told me that he haven't recieved yet his product whats going on?.
  • Topics

×
×
  • Create New...