L2 Ethernal

Un servidor de Lineage 2
 
ÍndiceGaleríaFAQBuscarRegistrarseMiembrosGrupos de UsuariosConectarse

Comparte | 
 

 Drop In Game

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
exterminador



Cantidad de envíos : 24
Edad : 35
Fecha de inscripción : 15/06/2007

MensajeTema: Drop In Game   Miér Jun 20, 2007 6:26 pm

Hola, he podido observar que el shift-click para pjs esta activado, esta opcion esta muy bien, porque nos permite saber si el mob dropea lo que buscamos, el caso es que solo indica si lo dropea pero en ningun momento el % con que lo hace.
Mi propuesta seria modificar el codigo para que pudieramos saber con que % lo dropea, imagino que me direis si weno y quien lo hace ?, pues yo !, XD, aqui teneis el codigo por si interesa poner tal opcion:

Código:

Index: java/net/sf/l2j/gameserver/model/actor/instance/L2NpcInstance.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2NpcInstance.java   (revision 760)
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2NpcInstance.java   (working copy)
@@ -662,68 +662,65 @@
            html.setHtml(html1.toString());
            player.sendPacket(html);
        }
-        else if(Config.ALT_GAME_VIEWNPC)
+        else if(Config.ALT_GAME_VIEWNPC)
        {
-            // Set the target of the L2PcInstance player
-            player.setTarget(this);
-           
-            // Send a Server->Client packet MyTargetSelected to the L2PcInstance player
-            // The player.getLevel() - getLevel() permit to display the correct color in the select window
-            MyTargetSelected my = new MyTargetSelected(getObjectId(), player.getLevel() - getLevel());
-            player.sendPacket(my);
-           
-            // Check if the player is attackable (without a forced attack)
-            if (isAutoAttackable(player))
-            {   
-                // Send a Server->Client packet StatusUpdate of the L2NpcInstance to the L2PcInstance to update its HP bar
-                StatusUpdate su = new StatusUpdate(getObjectId());
-                su.addAttribute(StatusUpdate.CUR_HP, (int)getCurrentHp() );
-                su.addAttribute(StatusUpdate.MAX_HP, getMaxHp() );
-                player.sendPacket(su);
-            }
-           
-            NpcHtmlMessage html = new NpcHtmlMessage(0);
-            TextBuilder html1 = new TextBuilder("<html><body>");
-           
-            html1.append("<br><center><font color=\"LEVEL\">[Combat Stats]</font></center>");
-            html1.append("<table border=0 width=\"100%\">");
-            html1.append("<tr><td>Max.HP</td><td>"+(int)(getMaxHp()/getStat().calcStat(Stats.MAX_HP , 1, this,

null))+"*"+(int) getStat().calcStat(Stats.MAX_HP , 1, this, null)+"</td><td>Max.MP</td><td>"+getMaxMp()+"</td></tr>");
-           

html1.append("<tr><td>P.Atk.</td><td>"+getPAtk(null)+"</td><td>M.Atk.</td><td>"+getMAtk(null,null)+"</td></tr>");
-           

html1.append("<tr><td>P.Def.</td><td>"+getPDef(null)+"</td><td>M.Def.</td><td>"+getMDef(null,null)+"</td></tr>");
-           

html1.append("<tr><td>Accuracy</td><td>"+getAccuracy()+"</td><td>Evasion</td><td>"+getEvasionRate(null)+"</td></tr>");
-           

html1.append("<tr><td>Critical</td><td>"+getCriticalHit(null,null)+"</td><td>Speed</td><td>"+getRunSpeed()+"</td></tr>");
-           

html1.append("<tr><td>Atk.Speed</td><td>"+getPAtkSpd()+"</td><td>Cast.Speed</td><td>"+getMAtkSpd()+"</td></tr>");
-            html1.append("<tr><td>Race</td><td>"+getTemplate().race+"</td><td></td><td></td></tr>");
-            html1.append("</table>");
-
-            html1.append("<br><center><font color=\"LEVEL\">[Basic Stats]</font></center>");
-            html1.append("<table border=0 width=\"100%\">");
-           

html1.append("<tr><td>STR</td><td>"+getSTR()+"</td><td>DEX</td><td>"+getDEX()+"</td><td>CON</td><td>"+getCON()+"</td></tr>");
-           

html1.append("<tr><td>INT</td><td>"+getINT()+"</td><td>WIT</td><td>"+getWIT()+"</td><td>MEN</td><td>"+getMEN()+"</td></tr>");
-            html1.append("</table>");
-           
-            html1.append("<br><center><font color=\"LEVEL\">[Drop Info]</font></center>");
-            html1.append("Rates legend: <font color=\"ff0000\">50%+</font> <font color=\"00ff00\">30%+</font> <font

color=\"0000ff\">less than 30%</font>");
-            html1.append("<table border=0 width=\"100%\">");
-           
-            for(L2DropCategory cat:getTemplate().getDropData())
-              for(L2DropData drop : cat.getAllDrops())
-              {
-                 String name = ItemTable.getInstance().getTemplate(drop.getItemId()).getName();
-   
-                 if(drop.getChance() >= 600000)
-                    html1.append("<tr><td><font color=\"ff0000\">" + name + "</font></td><td>" +

(drop.isQuestDrop()?"Quest":(cat.isSweep()?"Sweep":"Drop")) + "</td></tr>");
-                 else if(drop.getChance() >= 300000)
-                    html1.append("<tr><td><font color=\"00ff00\">" + name + "</font></td><td>" +

(drop.isQuestDrop()?"Quest":(cat.isSweep()?"Sweep":"Drop")) + "</td></tr>");
-                 else
-                    html1.append("<tr><td><font color=\"0000ff\">" + name + "</font></td><td>" +

(drop.isQuestDrop()?"Quest":(cat.isSweep()?"Sweep":"Drop")) + "</td></tr>");
-              }
-          
-           html1.append("</table>");
-           html1.append("</body></html>");
-
-            html.setHtml(html1.toString());
-            player.sendPacket(html);
+               try 
+      {
+         L2Character MyActiveChar = client.getActiveChar();
+         if((MyActiveChar.getTarget()!=null) && (MyActiveChar.getTarget() instanceof L2NpcInstance))
+         {
+            L2NpcInstance target2 = (L2NpcInstance) MyActiveChar.getTarget();
+            if(target2 instanceof L2MonsterInstance)
+            {
+               int npcId=target2.getNpcId();
+               L2NpcTemplate npcData = NpcTable.getInstance().getTemplate(npcId);
+                          
+               NpcHtmlMessage activeCharReply = new NpcHtmlMessage(5);
+               TextBuilder replyMSG = new TextBuilder("<html><title>" + npcData.name + "

Droplist</title>");
+               replyMSG.append("<body>");
+               replyMSG.append("<table>");
+                         
+                   for(L2DropCategory cat:npcData.getDropData())
+               for(L2DropData drop : cat.getAllDrops())
+               {
+                  if(drop.getItemId() != 57)
+                  {
+                     if(cat.isSweep())
+                     {
+                        if(((drop.getChance()/10000.0)*Config.RATE_DROP_SPOIL)>100)

replyMSG.append("<tr><td>" + drop.getMaxDrop() + "<font color=\"ffff00\">x</font><font color=\"00ff00\">" +

ItemTable.getInstance().getTemplate(drop.getItemId()).getName() + "</font> <font color=\"0000ff\">[</font><font

color=\"ffff00\">100%</font><font color=\"0000ff\">]</font><font color=\"ff0000\"> SPOIL</font></td></tr>");
+                        else replyMSG.append("<tr><td>" + drop.getMaxDrop() + "<font

color=\"ffff00\">x</font><font color=\"00ff00\">" + ItemTable.getInstance().getTemplate(drop.getItemId()).getName() +

"</font> <font color=\"0000ff\">[</font><font color=\"ffff00\">" + ((drop.getChance()/10000.0)*Config.RATE_DROP_SPOIL) +

"%</font><font color=\"0000ff\">]</font><font color=\"ff0000\"> SPOIL</font></td></tr>");
+                     }
+                     else
+                     {
+                        if(((drop.getChance()/10000.0)*Config.RATE_DROP_ITEMS)>100)

replyMSG.append("<tr><td>" + drop.getMaxDrop() + "<font color=\"ffff00\">x</font><font color=\"00ff00\">" +

ItemTable.getInstance().getTemplate(drop.getItemId()).getName() + "</font> <font color=\"0000ff\">[</font><font

color=\"ffff00\">100%</font><font color=\"0000ff\">]</font></td></tr>");
+                        else replyMSG.append("<tr><td>" + drop.getMaxDrop() + "<font

color=\"ffff00\">x</font><font color=\"00ff00\">" + ItemTable.getInstance().getTemplate(drop.getItemId()).getName() +

"</font> <font color=\"0000ff\">[</font><font color=\"ffff00\">" + ((drop.getChance()/10000.0)*Config.RATE_DROP_ITEMS) +

"%</font><font color=\"0000ff\">]</font></td></tr>");
+                     }
+                  }
+               }
+                         
+               replyMSG.append("</table>");
+               replyMSG.append("</body></html>");
+                      
+               activeCharReply.setHtml(replyMSG.toString());       
+               player.sendPacket(activeCharReply);
+            }
+            else
+            {
+               SystemMessage sm = new SystemMessage(SystemMessage.S1_S2);
+               sm.addString("No ha seleccionado un Mob");
+               sendPacket(sm);
+            }
+         }
+         else
+         {
+            SystemMessage sm = new SystemMessage(SystemMessage.S1_S2);
+            sm.addString("No ha seleccionado un Mob");
+            sendPacket(sm);
+         }
+      }
+      finally
+      {
+      }
        }
       
        // Send a Server->Client ActionFailed to the L2PcInstance in order to avoid that the client wait another packet

Este parche hace que los mobs solo muestren el drop y spoil y sus respectivos %, pero no deja que puedas ver los stats de los mismos, solo e suna formula para saber que y con que % exacto se dropean los items.

NOTA: Esta hecho y provado por mi en el server l2j interlude y funciona perfectamente.
Volver arriba Ir abajo
Ver perfil de usuario
Pepegolas



Cantidad de envíos : 40
Fecha de inscripción : 14/05/2007

MensajeTema: Re: Drop In Game   Miér Jun 20, 2007 6:41 pm

q crack!!! muchas asias a ver si el admin opina q debe ponerlo!! estaria genial
Volver arriba Ir abajo
Ver perfil de usuario
codicia



Cantidad de envíos : 31
Fecha de inscripción : 23/06/2007

MensajeTema: Re: Drop In Game   Lun Jun 25, 2007 11:14 pm

affraid me kede bokiahierto realmente sos un grosso mam, y tambien me das un poco de miedito nos e por q pale scratch
Volver arriba Ir abajo
Ver perfil de usuario
Contenido patrocinado




MensajeTema: Re: Drop In Game   Hoy a las 5:35 pm

Volver arriba Ir abajo
 
Drop In Game
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» BF3: DICE revela todo el contenido y fecha de END GAME. + Arma Nueva!
» game face nueva tecnologia de ea
» cambiador de versiones ESO - Game ranger
» Quedada para 2010 FIFA World Cup South Africa Game Wii
» Game of Thrones

Permisos de este foro:No puedes responder a temas en este foro.
L2 Ethernal :: Server :: Sugerencias-
Cambiar a: