13.12.2011, 18:11
#1
Рыцарь-капитан
Регистрация: 17.02.2010
Сообщений: 550
Популярность: 2278
Золото Zhyk.Ru: 35
Сказал(а) спасибо: 1,110
Поблагодарили 915 раз(а) в 329 сообщениях
Custom Панель просмотра дропа моба через ALT+SHIFT от Darule
[Ссылки могут видеть только зарегистрированные пользователи. ]
Описание: Custom Панель просмотра дропа моба через ALT+SHIFT от Darule (требуются исходники)
Разработчик: Darule
Платформа: Java
Хроники: ALL
Drop Preview Panel Supports: (for each item)
Item Icon
Item Name
Item Min+Max Drop
Item Drop A-beep-t
Item Percentage Drop %
Код:
Index: L2NpcActionShift.java
===================================================================
--- L2NpcActionShift.java (revision 8584)
+++ L2NpcActionShift.java (working copy)
@@ -183,77 +183,13 @@
activeChar.sendPacket(su);
}
- NpcHtmlMessage html = new NpcHtmlMessage(0);
- int hpMul = Math.round((float)(((L2Character)target).getStat().calcStat(Stats.MAX_HP, 1, (L2Character)target, null) / BaseStats.CON.calcBonus((L2Character)target)));
- if (hpMul == 0)
- hpMul = 1;
- final StringBuilder html1 = StringUtil.startAppend(
+ NpcHtmlMessage html = new NpcHtmlMessage(0);final StringBuilder html1 = StringUtil.startAppend(
1000,
- "<html><body>" +
- "<br><center><font color=\"LEVEL\">[Combat Stats]</font></center>" +
- "<table border=0 width=\"100%\">" +
- "<tr><td>Max.HP</td><td>",
- String.valueOf(((L2Character)target).getMaxHp() / hpMul),
- "*",
- String.valueOf(hpMul),
- "</td><td>Max.MP</td><td>",
- String.valueOf(((L2Character)target).getMaxMp()),
- "</td></tr>" +
- "<tr><td>P.Atk.</td><td>",
- String.valueOf(((L2Character)target).getPAtk(null)),
- "</td><td>M.Atk.</td><td>",
- String.valueOf(((L2Character)target).getMAtk(null, null)),
- "</td></tr>" +
- "<tr><td>P.Def.</td><td>",
- String.valueOf(((L2Character)target).getPDef(null)),
- "</td><td>M.Def.</td><td>",
- String.valueOf(((L2Character)target).getMDef(null, null)),
- "</td></tr>" +
- "<tr><td>Accuracy</td><td>",
- String.valueOf(((L2Character)target).getAccuracy()),
- "</td><td>Evasion</td><td>",
- String.valueOf(((L2Character)target).getEvasionRate(null)),
- "</td></tr>" +
- "<tr><td>Critical</td><td>",
- String.valueOf(((L2Character)target).getCriticalHit(null, null)),
- "</td><td>Speed</td><td>",
- String.valueOf(((L2Character)target).getRunSpeed()),
- "</td></tr>" +
- "<tr><td>Atk.Speed</td><td>",
- String.valueOf(((L2Character)target).getPAtkSpd()),
- "</td><td>Cast.Speed</td><td>",
- String.valueOf(((L2Character)target).getMAtkSpd()),
- "</td></tr>" +
- "<tr><td>Race</td><td>",
- ((L2Npc)target).getTemplate().getRace().toString(),
- "</td><td></td><td></td></tr>" +
- "</table>" +
- "<br><center><font color=\"LEVEL\">[Basic Stats]</font></center>" +
- "<table border=0 width=\"100%\">" +
- "<tr><td>STR</td><td>",
- String.valueOf(((L2Character)target).getSTR()),
- "</td><td>DEX</td><td>",
- String.valueOf(((L2Character)target).getDEX()),
- "</td><td>CON</td><td>",
- String.valueOf(((L2Character)target).getCON()),
- "</td></tr>" +
- "<tr><td>INT</td><td>",
- String.valueOf(((L2Character)target).getINT()),
- "</td><td>WIT</td><td>",
- String.valueOf(((L2Character)target).getWIT()),
- "</td><td>MEN</td><td>",
- String.valueOf(((L2Character)target).getMEN()),
- "</td></tr>" +
- "</table>"
+ "<html><head><title>"+((L2Npc) target).getName()+"</title><body><table bgcolor=444444 border=1 cellspacing=2 cellpadding=0 width=293><tr><td align=center>Drop Panel</td></tr></table><br><table bgcolor=333333 cellpadding=0 cellspacing=0 width=274><tr><td align=center><font color=fff600>Legend</font></td></tr></table><table bgcolor=333333 width=276><tr><td align=center>[D]= Drop [S]= Spoil [Q]= Quest</td></tr><tr><td align=center>(CI)= Common Item</td></tr></table><br><table bgcolor=444444 cellspacing=2 cellpadding=1 border=1 width=280>"
);
if (!((L2Npc) target).getTemplate().getDropData().isEmpty())
{
- StringUtil.append(html1,
- "<br><center><font color=\"LEVEL\">[Drop Info]</font></center>" +
- "<br>Rates legend: <font color=\"ff9999\">50%+</font> <font color=\"00ff00\">30%+</font> <font color=\"0066ff\">less than 30%</font>" +
- "<table border=0 width=\"100%\">"
- );
for (L2DropCategory cat : ((L2Npc)target).getTemplate().getDropData())
{
for (L2DropData drop : cat.getAllDrops())
@@ -261,31 +197,76 @@
final L2Item item = ItemTable.getInstance().getTemplate(drop.getItemId());
if (item == null)
continue;
+ int mind = 0,maxd = 0;
+ String smind = null,smaxd = null,drops = null;
+ String name = item.getName();
+ double chance = 100/(1000000/(drop.getChance()));
- final String color;
-
- if (drop.getChance() >= 500000)
- color = "ff9999";
- else if (drop.getChance() >= 300000)
- color = "00ff00";
+ if (cat.isSweep())
+ {
+ mind = (int) (Config.RATE_DROP_SPOIL * drop.getMinDrop());
+ maxd = (int) (Config.RATE_DROP_SPOIL * drop.getMaxDrop());
+ }
+ else if (drop.getItemId()==57)
+ {
+ mind = 300 * drop.getMinDrop();
+ maxd = 300 * drop.getMaxDrop();
+ }
else
- color = "0066ff";
+ {
+ mind = (int) (Config.RATE_DROP_ITEMS * drop.getMinDrop());
+ maxd = (int) (Config.RATE_DROP_ITEMS * drop.getMaxDrop());
+ }
+ if (mind > 999999)
+ {
+ DecimalFormat df = new DecimalFormat("###.#");
+ smind = df.format(((double)(mind))/1000000)+" KK";
+ smaxd = df.format(((double)(maxd))/1000000)+" KK";
+ }
+ else if (mind > 999)
+ {
+ smind = ((int)(mind/1000))+" K";
+ smaxd = ((int)(maxd/1000))+" K";
+ }
+ else
+ {
+ smind = Integer.toString(mind);
+ smaxd = Integer.toString(maxd);
+ }
+ 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("Common Item - "))
+ {
+ name = "(CI)" + name.substring(14);
+ }
+ if (name.length() >= 36)
+ {
+ name = name.substring(0, 33) + "...";
+ }
StringUtil.append(html1,
- "<tr>",
- "<td><img src=\"" + item.getIcon() + "\" height=32 width=32></td>" +
- "<td><font color=\"", color, "\">", item.getName(), "</font></td>",
- "<td>", (drop.isQuestDrop() ? "Quest" : (cat.isSweep() ? "Sweep" : "Drop")),"</td>",
- "</tr>"
- );
+ "<tr><td valign=top align=center height=38 width=40><img src=\""+item.getIcon()+"\" height=32 width=32></td><td><table cellpadding=0 cellspacing=1 width=237><tr><td>"+drops+"%</td></tr><tr><td>"+(drop.isQuestDrop() ? "[Q]" : (cat.isSweep() ? "[S]" : "[D]"))+"<font color=fff600>"+name+"</font>"+(maxd==1 ? "[1]" : "["+smind+" - "+smaxd+"]") + "</td></tr></table></td>"
+ );
}
}
- html1.append("</table>");
}
- html1.append("</body></html>");
-
+ html1.append("</tr></table></body></html>");
html.setHtml(html1.toString());
activeChar.sendPacket(html);
+
}
return true;
}
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 08:57 .