Jump to content

Recommended Posts

Posted

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!

 

 

 

 

Posted

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 :)

Posted

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)

Posted

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!

Posted

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?

Posted

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

Posted

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>

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.




  • Posts

    • Sure. This is the AbnormalStatusWnd.uc file with ability of removing buff with ALT + click https://pastebin.com/iVWpYysq
    • Hello, I add this code here https://maxcheaters.com/topic/248730-agathions-acis-401-does-not-interfere-with-summons-or-pets/.     but i have problem with agathion movement, agathion does not move when the player moves. The player must stop moving for Agathion to come close him.   i think the problem is here at < _followTask = ThreadPool.scheduleAtFixedRate(new Follow(this), 1000, 1000); >>       public void followToOwner()     {                  if (_followTask == null)             _followTask = ThreadPool.scheduleAtFixedRate(new Follow(this), 1000, 1000);                                  int rnd = Rnd.get(-30, +30);         SpawnLocation loc = _owner.getPosition();                          if (!checkIfInRange(1000, this, _owner))             teleport(_owner, 30);                  if (_owner.isMoving())             getAI().tryToFollow(_owner, false);         else         {             if (!checkIfInRange(75, this, _owner))                 getAI().tryToMoveTo(new Location(loc.getX()+rnd, loc.getY()+rnd, loc.getZ()), null);             else if (checkIfInRange(30, this, _owner))                 getAI().tryToIdle();                              if (Config.AGATHION_HEAL_OWNER && !getCast().isCastingNow())             {                 if (_owner.isInOlympiadMode() || _owner.isInDuel() || _owner.getPvpFlag() != 0 || _owner.isInsideZone(ZoneId.PVP) || _owner.getKarma() != 0)                     return;                                  if ((_owner.getStatus().getHpRatio() < Config.AGATHION_PERCENT_TO_HEAL))                     getAI().tryToCast(_owner, 1011, 18);             }             else if (!Config.AGATHION_ONLY_FOLLOW && Config.AGATHION_ALLOW_SOCIAL && !isMoving() && !getCast().isCastingNow())                 broadcastPacket(new SocialAction(this, 1));         }  
    • 🌟 EMERLAND.PW — Open Beta Testing Has Begun! 🎉 Friends! We are excited to announce that the Open Beta Testing of our Lineage 2 Interlude server, based on the new Classic client, has officially started! 🚀 📌 Key Information Server Rates: x50 New client, new possibilities Numerous improvements for a more comfortable gameplay We invite everyone to join the OBT, test the game, and help us make the server even better before the official launch! Your feedback and active participation are very important to us. 🎁 Participation Bonus! After the OBT ends, all active participants will receive a special bonus on their Master Account! 📅 Join now at EMERLAND.PW and become part of our project's history! 🔥 Server Rates Exp/SP: x50 Raid Exp/SP: x50 Adena: x25 Seal Stones: x5 Drop/Spoil: x5 Quest/Quest Adena: x1 RB Drop Rate: x5 Quest Item Drop Rate: x5 Siege Guard Drop Rate: x5 Clan Reputation Rate: x5 Mob Spawn Rate: x2 Manor Rate: x5 ⚙ Server Settings Auto-loot (disabled for bosses) Players with karma cannot use NPC shops Auto skill learning Subclass addition without quest (max. 10 subclasses) Warsmith & Overlord can be added as subclasses Elf & Dark Elf subclasses available for all Heroic skills remain when switching to a subclass Alternative protection for characters after teleport (Celestial Shield for 15 sec) Clan warehouse item withdrawal rights can be given to members, not just CL Catacomb teleportation for Adena Buff limit: 60 (duration: 60 min) Dance/Song limit: 24 (duration: 60 min) Enchanted items can be traded and sold Max enchant level: 20 Multiple character login from one account is allowed Two types of champion mobs: x10, x50 (Drop: 0.5% Gold Einhasad, 5% Silver Shilen) 🛍 In-Game Shop Gear up to B-Grade included Mana Potion, Mana Drug available for Adena Accessories, Costumes, Mounts, Belts, Cloaks – for Silver Shilen & Gold Einhasad (cosmetic only, no P2W) 💰 Main Server Currencies Silver Shilen – earned through events, champion mob drops, voting Gold Einhasad – obtained through server support, events, voting, champion mob drops 🏆 Game Commands .cfg — Game settings .exp — XP to next level .time — Server date & time .clan — Clan panel .relog — Quick relog .ping — Check ping .rb — Raid boss statistics .topclan — Clan rankings .whoiam — Character stats .rcm — Clan recall (CL only) ⚔ In-Game Events The server features 3 events: TvT, DM, CTF. 🔹 Rewards for participation & victories 🕒 Event Schedule (server time .time😞 TvT: 03:00, 08:00, 13:00, 16:00, 19:00, 22:00 DM: 04:00, 10:00, 14:00, 17:00, 20:00, 23:00 CTF: 06:00, 12:00, 15:00, 18:00, 21:00, 00:00 🤖 Auto-Farm Cost: 2 Silver Shilen/hour Limit: 24 hours Activation: .autofarm 🎟 Premium Account Premium boosts all rates x2. 1 day — 1 Gold Einhasad 7 days — 4 Gold Einhasad 30 days — 10 Gold Einhasad ⭐ Server Features Chronicles: Interlude Game Client: Classic Updated Core/Orfen stats (upgraded to level 3) Core Ring 2 lvl: +3% M. Atk, +1 MEN Core Ring 3 lvl: +6% M. Atk, +1 MEN, +1 WIT Orfen Earring 2 lvl: +3% P. Atk, +1 CON Orfen Earring 3 lvl: +6% P. Atk, +1 CON, +1 DEX New Skills Added: Spoilers — Festive Sweeper (AoE sweep) PP, EE, SE, BP — Might of Heaven (PvP skill) Horse Tamers — Hydro Blast (weakened power, 1 Cursed Bone) Cat Tamers — Prominence (weakened power, 1 Cursed Bone) Shadow Tamers — Hurricane (weakened power, 1 Cursed Bone) 🎮 Join us now at EMERLAND.PW and start your adventure today! 🚀
    • Price reduction for Google accounts from 6-12 months after registration - only 0.3157$ each. Top up with Gmail accounts with activated 2FA - 0.3507$ each!
  • Topics

×
×
  • Create New...