Jump to content

Press On Item , And it show HTML Code !


Kràtos

Recommended Posts

Well i was working on this .... and finaly i made it ....!!

 

You can add any item You want ... and wen the player press on it ... it show you some HTML , like Buffer ,teleport etc you can choose :)

 

Well let's start , This code made at l2jfree ... well you can make it and for other packs tested on l2j and work ..:) Just change the imports!

 

Go to gameserver/handler/itemhandlers and create one file like balloni.java  (ppl From Greece Don't Laugh :P )

 

And put this code inside of file ;

 

package com.l2jfree.gameserver.handler.itemhandlers;

import com.l2jfree.Config;
import com.l2jfree.gameserver.handler.IItemHandler;
import com.l2jfree.gameserver.GameServer;
import com.l2jfree.gameserver.cache.HtmCache;
import com.l2jfree.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfree.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jfree.gameserver.handler.IItemHandler;
import com.l2jfree.gameserver.model.L2ItemInstance;
import com.l2jfree.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfree.gameserver.model.actor.instance.L2PlayableInstance;



/**
* @author Cobra
*
*/
public class Balloni implements IItemHandler
{
private static final int[] ITEM_IDS = { 10639 };

public void useItem(L2PlayableInstance playable, L2ItemInstance item)
    {
      if (!(playable instanceof L2PcInstance))
         return;
      L2PcInstance activeChar = (L2PcInstance)playable;
       int itemId = item.getItemId();
      
   if (itemId == 10639)
       {
	String htmFile = "data/html/Teleport/Balloni.htm";
	String htmContent = HtmCache.getInstance().getHtm(htmFile);

		NpcHtmlMessage infoHtml = new NpcHtmlMessage(1);
		infoHtml.setHtml(htmContent);
		activeChar.sendPacket(infoHtml);
       }
    }



    public int[] getItemIds()
    {
    	return ITEM_IDS;
    }
}   

 

Well those done ... now we need to regist those to gameserver/handler ItemHandler.java open it and regist the Balloni like registerItemHandler(new Balloni());

 

Compile Your core and you are done ...!!

 

I have put the mouse coin for this but feel free to change it :P

 

I think is useful for some ppl ... more thinks with java = - your lags on server :)

 

Well cye in next java Modify!

 

Best Regards Cobra!

 

 

 

 

Link to comment
Share on other sites

So this is like GvE ?

or maybe like this http://www.maxcheaters.com/forum/index.php?topic=37372.0

 

PS: Its html :)

Nope .. you can change this to any htlm you want to put !

 

p.s: Is not htlm but htm ! huh!

Link to comment
Share on other sites

Nope .. you can change this to any htlm you want to put !

 

p.s: Is not htlm but htm ! huh!

yes thats what i mean

 

PS : im talking about your title it's html code not htlm ^^

Link to comment
Share on other sites

LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOL

 

Amazing Share !

 

+1 Karma For This By Me!

 

i will test it soon ! and i add this on my pack :D

 

Thanks Cobra You Are The Best !

Link to comment
Share on other sites

PS : im talking about your title it's html code not htlm ^^

 

Oh thanks for the correction :P

 

LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOL

 

Amazing Share !

 

+1 Karma For This By Me!

 

i will test it soon ! and i add this on my pack :D

 

Thanks Cobra You Are The Best !

 

Well thanks for the karma also we need more java modify .. no lags :)

Link to comment
Share on other sites

When server loading i get this error:

Exception in thread "main" java.lang.NullPointerException
        at com.l2jfree.gameserver.handler.ItemHandler.registerItemHandler(ItemHa
ndler.java:122)
        at com.l2jfree.gameserver.handler.ItemHandler.<init>(ItemHandler.java:10
4)
        at com.l2jfree.gameserver.handler.ItemHandler.getInstance(ItemHandler.ja
va:45)
        at com.l2jfree.gameserver.GameServer.<init>(GameServer.java:352)
        at com.l2jfree.gameserver.GameServer.main(GameServer.java:444)

Link to comment
Share on other sites

When server loading i get this error:

Exception in thread "main" java.lang.NullPointerException
        at com.l2jfree.gameserver.handler.ItemHandler.registerItemHandler(ItemHa
ndler.java:122)
        at com.l2jfree.gameserver.handler.ItemHandler.<init>(ItemHandler.java:10
4)
        at com.l2jfree.gameserver.handler.ItemHandler.getInstance(ItemHandler.ja
va:45)
        at com.l2jfree.gameserver.GameServer.<init>(GameServer.java:352)
        at com.l2jfree.gameserver.GameServer.main(GameServer.java:444)

 

Check  if you have register the Balloni at gameserver/handler ItemHandler.java

 

Like registerItemHandler(new Balloni()); Maybe for that reason it give you this error!

Link to comment
Share on other sites

Check  if you have register the Balloni at gameserver/handler ItemHandler.java

 

Like registerItemHandler(new Balloni()); Maybe for that reason it give you this error!

Yes, i registered it.

EDIT:

Anyway i got working code. Thanks to Vaness11 from l2jfree forum.

package com.l2jfree.gameserver.handler.itemhandlers;

import com.l2jfree.gameserver.handler.IItemHandler;
import com.l2jfree.gameserver.cache.HtmCache;
import com.l2jfree.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfree.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jfree.gameserver.model.L2ItemInstance;
import com.l2jfree.gameserver.model.actor.instance.L2PlayableInstance;


/**
* @author Cobra
*
*/
public class Balloni implements IItemHandler
{
private static final int[] ITEM_IDS = { 10639 };

public void useItem(L2PlayableInstance playable, L2ItemInstance item)
    {
      if (!(playable instanceof L2PcInstance))
         return;
      L2PcInstance activeChar = (L2PcInstance)playable;
       int itemId = item.getItemId();
      
   if (itemId == 10639)
       {
	String htmFile = "data/html/Teleport/Balloni.htm";
	String htmContent = HtmCache.getInstance().getHtm(htmFile);

		NpcHtmlMessage infoHtml = new NpcHtmlMessage(1);
		infoHtml.setHtml(htmContent);
		activeChar.sendPacket(infoHtml);
       }
    }



    public int[] getItemIds()
    {
    	return ITEM_IDS;
    }
}  

But with this item you can't teleport. The bypass -h npc_%objectid%_goto doesnt work with items. So any solution?

Link to comment
Share on other sites

the prob with all this is ..

 

all is dead (links), u must create new event handler for items at

 

requesttobypasstoserver.java

 

for links only (dont work for tp/bufer/gmshop) only to go next page

 

make this

 

after this

else if (_command.startsWith("player_help "))
		{
			playerHelp(activeChar, _command.substring(12));

 

Put This

 

else if (_command.startsWith("player_Balloni "))
		{
			playerBalloni(activeChar, _command.substring(12));

 

After go Down and after this

 

private void playerHelp(L2PcInstance activeChar, String path)
{
        if (path.indexOf("..") != -1)
            return;
        
        StringTokenizer st = new StringTokenizer(path);
        String[] cmd = st.nextToken().split("#");
        
        if (cmd.length > 1)
        {
        	int itemId = 0;
        	itemId = Integer.parseInt(cmd[1]);
        	String filename = "data/html/help/"+cmd[0];
        	NpcHtmlMessage html = new NpcHtmlMessage(1,itemId);
        	html.setFile(filename);
        	activeChar.sendPacket(html);
        }
        else
        {
        	String filename = "data/html/help/"+path;
        	NpcHtmlMessage html = new NpcHtmlMessage(1);
        	html.setFile(filename);
        	activeChar.sendPacket(html);
        }
}

 

ADD THIS

 

private void playerBalloni(L2PcInstance activeChar, String path)
{
        if (path.indexOf("..") != -1)
            return;
        
        StringTokenizer st = new StringTokenizer(path);
        String[] cmd = st.nextToken().split("#");
        
        if (cmd.length > 1)
        {
        	int itemId = 0;
        	itemId = Integer.parseInt(cmd[1]);
        	String filename = "data/html/Teleport/"+cmd[0];
        	NpcHtmlMessage html = new NpcHtmlMessage(1,itemId);
        	html.setFile(filename);
        	activeChar.sendPacket(html);
        }
        else
        {
        	String filename = "data/html/Teleport/"+path;
        	NpcHtmlMessage html = new NpcHtmlMessage(1);
        	html.setFile(filename);
        	activeChar.sendPacket(html);
        }
}

 

at HTML file as action put this

 

<a action="bypass -h player_Balloni name.htm#name">

 

Remember: This is only link for next html page nothing more u cant teleport/takebuff/gmshop

Link to comment
Share on other sites

Yes, i registered it.

EDIT:

Anyway i got working code. Thanks to Vaness11 from l2jfree forum.

package com.l2jfree.gameserver.handler.itemhandlers;

import com.l2jfree.gameserver.handler.IItemHandler;
import com.l2jfree.gameserver.cache.HtmCache;
import com.l2jfree.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfree.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jfree.gameserver.model.L2ItemInstance;
import com.l2jfree.gameserver.model.actor.instance.L2PlayableInstance;


/**
* @author Cobra
*
*/
public class Balloni implements IItemHandler
{
private static final int[] ITEM_IDS = { 10639 };

public void useItem(L2PlayableInstance playable, L2ItemInstance item)
    {
      if (!(playable instanceof L2PcInstance))
         return;
      L2PcInstance activeChar = (L2PcInstance)playable;
       int itemId = item.getItemId();
      
   if (itemId == 10639)
       {
	String htmFile = "data/html/Teleport/Balloni.htm";
	String htmContent = HtmCache.getInstance().getHtm(htmFile);

		NpcHtmlMessage infoHtml = new NpcHtmlMessage(1);
		infoHtml.setHtml(htmContent);
		activeChar.sendPacket(infoHtml);
       }
    }



    public int[] getItemIds()
    {
    	return ITEM_IDS;
    }
}  

But with this item you can't teleport. The bypass -h npc_%objectid%_goto doesnt work with items. So any solution?

 

You need to create a bypass HTLM like  <a action="bypass -h npc_%objectId%_Balloni">Teleport</a>

Link to comment
Share on other sites

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
Reply to this topic...

×   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.




×
×
  • Create New...