Jump to content

Question

Posted

How i can change title for npc? (L2j-Sunrise) I try from stats/npc/custom. But isn't from there. I set my title and 

usingServerSideTitle="true". 

Spoiler

76KkBV8.png

Anything i do, no work. it is coded?

6 answers to this question

Recommended Posts

  • 0
Posted
4 minutes ago, 0flee said:

How i can change title for npc? (L2j-Sunrise) I try from stats/npc/custom. But isn't from there. I set my title and 

usingServerSideTitle="true". 

  Hide contents

76KkBV8.png

Anything i do, no work. it is coded?

( system ) npcname-e.dat   

  • 0
Posted

check on npc ai/instance code that npc
and check in npcinfopacket too, if you use usingServerSideTitle="true" title info is sended from npcinfopacket, you can trace from this file to ai/instance that npc

  • 0
Posted
Spoiler

package ai.sunriseNpc.DelevelManager;

import l2r.gameserver.data.xml.impl.ExperienceData;
import l2r.gameserver.data.xml.impl.ItemData;
import l2r.gameserver.model.actor.L2Npc;
import l2r.gameserver.model.actor.instance.L2PcInstance;
import l2r.gameserver.network.SystemMessageId;
import l2r.gameserver.network.serverpackets.NpcHtmlMessage;
import l2r.gameserver.network.serverpackets.SocialAction;

import gr.sr.configsEngine.configs.impl.CustomNpcsConfigs;

import ai.npc.AbstractNpcAI;

/**
 * @author L2jSunrise Team
 * @Website www.l2jsunrise.com
 */
public class DelevelManager extends AbstractNpcAI
{
    private static final int NPC = CustomNpcsConfigs.DELEVEL_NPC_ID;
    private static final int ITEM_ID = CustomNpcsConfigs.DELEVEL_ITEM_ID;
    private static final int ITEM_COUNT_PER_LEVEL = CustomNpcsConfigs.DELEVEL_ITEM_AMOUNT;
    private static final boolean DYNAMIC_PRICES = CustomNpcsConfigs.DELEVEL_DYNAMIC_PRICE;
    
    private int getDelevelPrice(final L2PcInstance player)
    {
        return DYNAMIC_PRICES ? ITEM_COUNT_PER_LEVEL * player.getLevel() : ITEM_COUNT_PER_LEVEL;
    }
    
    public DelevelManager()
    {
        super(DelevelManager.class.getSimpleName(), "ai/sunriseNpc");
        addStartNpc(NPC);
        addFirstTalkId(NPC);
        addTalkId(NPC);
    }
    
    @Override
    public String onAdvEvent(final String event, final L2Npc npc, final L2PcInstance player)
    {
        if (!CustomNpcsConfigs.ENABLE_DELEVEL_MANAGER)
        {
            player.sendMessage("Delevel manager npc is disabled by admin");
            sendMainHtmlWindow(player, npc);
            return "";
        }
        
        if (event.equalsIgnoreCase("level"))
        {
            if (player.getLevel() < 80)
            {
                player.sendMessage("Sorry, you must have minim " + 80 + " level.");
                sendMainHtmlWindow(player, npc);
                return "";
            }
            
            if (player.isInCombat())
            {
                player.sendMessage("Cannot use while in combat.");
                sendMainHtmlWindow(player, npc);
                return "";
            }
            
            if (player.getKarma() > 0)
            {
                player.sendMessage("Cannot use while hava karma.");
                sendMainHtmlWindow(player, npc);
                return "";
            }
            
            if (player.isEnchanting())
            {
                player.sendMessage("Cannot use while Enchanting.");
                sendMainHtmlWindow(player, npc);
                return "";
            }
            
            if (player.isAlikeDead())
            {
                player.sendMessage("Cannot use while Dead or Fake Death.");
                sendMainHtmlWindow(player, npc);
                return "";
            }
            
            if (player.destroyItemByItemId("Delevel", ITEM_ID, getDelevelPrice(player), player, true))
            {
                player.setExp(player.getStat().getExpForLevel(player.getLevel()));
                // sets exp to 0%, if you don't like people abusing this by
                // deleveling at 99% exp, comment the previous line
                player.removeExpAndSp(player.getExp() - ExperienceData.getInstance().getExpForLevel(player.getLevel() - 30), 0);
                player.broadcastPacket(new SocialAction(player.getObjectId(), 20016)); // Hero Animation
                player.sendMessage("Your level has been decreased.");
                player.addItem("Here it is your reward!", 9142, 1, null, true);
            }
            else
            {
                player.sendPacket(SystemMessageId.INCORRECT_ITEM_COUNT);
            }
            
            sendMainHtmlWindow(player, npc);
            return "";
        }
        return "";
    }
    
    @Override
    public String onFirstTalk(final L2Npc npc, final L2PcInstance player)
    {
        sendMainHtmlWindow(player, npc);
        return "";
    }
    
    private void sendMainHtmlWindow(L2PcInstance player, L2Npc npc)
    {
        final NpcHtmlMessage html = getHtmlPacket(player, npc, "main.htm");
        html.replace("%MINLVL%", String.valueOf(80));
        html.replace("%PLAYER%", player.getName());
        html.replace("%DELEVEL_PRICE%", String.valueOf(getDelevelPrice(player)));
        html.replace("%ITEM_NAME%", ItemData.getInstance().getTemplate(ITEM_ID).getName());
        
        player.sendPacket(html);
    }
    
    private NpcHtmlMessage getHtmlPacket(L2PcInstance player, L2Npc npc, String htmlFile)
    {
        final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId());
        packet.setHtml(getHtm(player, player.getHtmlPrefix(), htmlFile));
        return packet;
    }
}
 

Here it is code, maybe it is more ok to change path to scripts folder. But i don;t know to change code

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

    • Opening December 6th at 19:00 (GMT +3)! Open Beta Test from November 30th!   https://l2soe.com/   🌟 Introducing L2 Saga of Eternia: A Revolution in Lineage 2 High Five! 🌟   Dear Lineage 2 enthusiasts, Prepare to witness the future of private servers! L2 Saga of Eternia is not just another High Five project—it’s a game-changing experience designed to compete with the giants of the Lineage 2 private server scene. Built for the community, by the community, we’re here to raise the bar in quality, innovation, and longevity. What Sets Us Apart? 💎 No Wipes, Ever Say goodbye to the fear of losing your progress. Our server is built to last and will never close. Stability and consistency are our promises to you. ⚔️ Weekly New Content Our dedicated development team ensures fresh challenges, events, and updates every week. From custom quests to exclusive features, there will always be something exciting to explore. 💰 No Pay-to-Win Skill and strategy matter most here. Enjoy a balanced gameplay environment where your achievements come from effort, not your wallet. 🌍 A Massive Community With 2000+ players expected, join a vibrant and active community of like-minded adventurers ready to conquer the world of Aden. 🏆 Fair and Competitive Gameplay Our systems are designed to promote healthy competition while avoiding abusive mechanics and exploits. 🔧 Professional Development From advanced bug fixes to carefully curated content, we pride ourselves on smooth performance, no lag, and unparalleled server quality. Key Features Chronicle: High Five with unique interface Rate: Dynamic x10 rates Class Balance: Carefully fine-tuned for a fair experience PvP Focused: PvP Ranking & aura display effect for 3 Top PvPers every week Custom Events: Seasonal and permanent events to keep you engaged Additional Features:   Custom Endgame Content: Introduce unique dungeons, raids, or zones unavailable in other servers. Player-Driven Economy: Implement a strong market system and avoid overinflated drops or rewards. Epic Siege Battles: Announce special large-scale sieges and PvP events. Incentives for Streamers and Clans: Attract influencers and big clans to boost server publicity. Roadmap Transparency: Share a public roadmap of planned updates to build trust and excitemen   Here you can read all the features: https://l2soe.com/features   Video preview: Join the Revolution! This is your chance to be part of something legendary. L2 Saga of Eternia is not just a server; it’s a movement to redefine what Lineage 2 can be. Whether you’re a seasoned veteran or a newcomer to the world of Aden, we invite you to experience Lineage 2 at its finest.   Official Launch Date: December 6th 2024 Website: https://l2soe.com/ Facebook: https://www.facebook.com/l2soe Discord: https://discord.com/invite/l2eternia   Let’s build the ultimate Lineage 2 experience together. See you in-game! 🎮
    • That's like a tutorial on how to run l2 on MacOS Xd but good job for the investigation. 
    • small update: dc robe set sold   wts adena 1kk = 1.5$ 
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchihamkt.mysellix.io/ Join our server for more products : https://discord.gg/hood-services https://campsite.bio/utchihaamkt
    • Why adena in this sever so expensive 🙂
  • Topics

×
×
  • Create New...