Jump to content
  • 0

l2mythras pack


Question

10 answers to this question

Recommended Posts

  • 0
Posted (edited)
3 hours ago, sotid said:

L2ClassMasterInstance.java propably.

this file not exist in this pack 100% :D just ClassMasterInstance and look like this 

 

package npc.model;

import l2f.gameserver.Config;
import l2f.gameserver.cache.Msg;
import l2f.gameserver.data.xml.holder.ItemHolder;
import l2f.gameserver.model.Player;
import l2f.gameserver.model.base.ClassId;
import l2f.gameserver.model.instances.MerchantInstance;
import l2f.gameserver.network.serverpackets.MagicSkillUse;
import l2f.gameserver.network.serverpackets.NpcHtmlMessage;
import l2f.gameserver.network.serverpackets.SocialAction;
import l2f.gameserver.network.serverpackets.components.SystemMsg;
import l2f.gameserver.templates.item.ItemTemplate;
import l2f.gameserver.templates.npc.NpcTemplate;
import l2f.gameserver.utils.HtmlUtils;
import l2f.gameserver.utils.Util;

import java.util.StringTokenizer;


public final class ClassMasterInstance extends MerchantInstance
{
    /**
     * L2Phoenix (just here was Mythras) <------------------------------
     */
    private static final long serialVersionUID = -6206315361251464210L;

    public ClassMasterInstance(int objectId, NpcTemplate template)
    {
        super(objectId, template);
    }

    private String makeMessage(Player player)
    {
        ClassId classId = player.getClassId();
        int jobLevelTemp = 0;
        switch (classId.getLevel())
        {
            case 1:
                jobLevelTemp = 1;
                break;
            case 2:
                jobLevelTemp = 2;
                break;
            case 3:
                jobLevelTemp = 3;
                break;
            default:
                jobLevelTemp = 0;
                break;
        }
        int jobLevel = classId.getLevel();
        int level = player.getLevel();
        
        StringBuilder html = new StringBuilder();
        if (Config.ALLOW_CLASS_MASTERS_LIST.isEmpty() || !Config.ALLOW_CLASS_MASTERS_LIST.contains(jobLevelTemp))
            jobLevel = 4;
            
        if ((level >= 20 && jobLevel == 1 || level >= 40 && jobLevel == 2 || level >= 76 && jobLevel == 3) && Config.ALLOW_CLASS_MASTERS_LIST.contains(jobLevelTemp))
        {
            ItemTemplate item = ItemHolder.getInstance().getTemplate(Config.CLASS_MASTERS_PRICE_ITEM);
            if (Config.CLASS_MASTERS_PRICE_LIST[jobLevel] > 0)
                html.append("Price: ").append(Util.formatAdena(Config.CLASS_MASTERS_PRICE_LIST[jobLevel])).append(" ").append(item.getName()).append("<br1>");
            for (ClassId cid : ClassId.VALUES)
            {
                // Inspector is heir trooper and warder, but to replace it as a profession can not be
                // As this subclass. Inherited from their parents in order to obtain skills.
                if (cid == ClassId.inspector)
                    continue;
                if (cid.childOf(classId) && cid.getLevel() == classId.getLevel() + 1)
                    html.append("<a action=\"bypass -h npc_").append(getObjectId()).append("_change_class ").append(cid.getId()).append(" ").append(Config.CLASS_MASTERS_PRICE_LIST[jobLevel]).append("\">").append(HtmlUtils.htmlClassName(cid.getId())).append("</a><br>");
            }
            player.sendPacket(new NpcHtmlMessage(player, this).setHtml(html.toString()));
        }
        else
            switch (jobLevel)
            {
            case 1:
                html.append("Come back here when you reached level 20 to change your class.");
                break;
            case 2:
                html.append("Come back here when you reached level 40 to change your class.");
                break;
            case 3:
                html.append("Come back here when you reached level 76 to change your class.");
                break;
            case 0:
                html.append("There is no class changes for you any more.");
                break;
            default:
                html.append("There is no class changes for you right now !");
                break;
            }
        return html.toString();
    }

    @Override
    public void showChatWindow(Player player, int val, Object... arg)
    {
        NpcHtmlMessage msg = new NpcHtmlMessage(player, this);
        msg.setFile("custom/31860.htm");
        msg.replace("%classmaster%", makeMessage(player));
        msg.replace("%nick%", player.getName());
        player.sendPacket(msg);
    }

    @Override
    public void onBypassFeedback(Player player, String command)
    {
        if (!canBypassCheck(player, this))
            return;

        StringTokenizer st = new StringTokenizer(command);
        if (st.nextToken().equals("change_class"))
        {
            int val = Integer.parseInt(st.nextToken());
            long price = Long.parseLong(st.nextToken());
            if (player.getInventory().destroyItemByItemId(Config.CLASS_MASTERS_PRICE_ITEM, price, "ClassMasterInstance"))
                changeClass(player, val);
            else if (Config.CLASS_MASTERS_PRICE_ITEM == 57)
                player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
            else
                player.sendPacket(SystemMsg.INCORRECT_ITEM_COUNT);
        }
        else
            super.onBypassFeedback(player, command);
    }

    private void changeClass(Player player, int val)
    {
        if (player.getClassId().getLevel() == 3)
            player.sendPacket(Msg.YOU_HAVE_COMPLETED_THE_QUEST_FOR_3RD_OCCUPATION_CHANGE_AND_MOVED_TO_ANOTHER_CLASS_CONGRATULATIONS); // ??? 3 ?????
        else
            player.sendPacket(Msg.CONGRATULATIONS_YOU_HAVE_TRANSFERRED_TO_A_NEW_CLASS); // ??? 1 ? 2 ?????

        player.setClassId(val, false, false);
        player.broadcastPacket(new SocialAction(player.getObjectId(), SocialAction.VICTORY));
        final MagicSkillUse msu = new MagicSkillUse(player, player, 2527, 1, 0, 500);
        player.broadcastPacket(msu);
        player.broadcastCharInfo();
    }
}

Edited by Prostyle1990
  • 0
Posted
6 minutes ago, Akar0 said:

64750758f7baa88f7565eb7986111609.png

Man thanks for fast answer but already modified all files from the server with my new name of server , im done with this pack i also added many things many dress me many items etc ... system patch changed , i see my name of my new server on all window just in this one when change class appear still mythras :D :D :D if u have 2 min to take a look on my project :D

  • 0
Posted

If you know how to use Eclipse, you can edit it in 2 seconds, its not hard to do it with a minimal knowledge of eclipse. If it still showing the same, you are doing something wrong.

 

That file you are trying to edit, it must be edit on Level21.html and _255_Tutorial.java, just it.

 

If it didn't help, please do not trying to use this pack for you "project" and go buy a pack to Nevermore "Sunrise Project" where you can get real support.

 

 

  • 0
Posted
On 22/3/2018 at 7:27 PM, Akar0 said:

If you know how to use Eclipse, you can edit it in 2 seconds, its not hard to do it with a minimal knowledge of eclipse. If it still showing the same, you are doing something wrong.

 

That file you are trying to edit, it must be edit on Level21.html and _255_Tutorial.java, just it.

 

If it didn't help, please do not trying to use this pack for you "project" and go buy a pack to Nevermore "Sunrise Project" where you can get real support.

 

 

Hello men i did thats changes and in my eclipse appear the name of my server in the _255_tutorial.java but in the server appears the same sh1t L2AvA bla bla bla i changed the others but class change are the same 

  • 0
Posted

take the new libs that you created after the built (propably->workspace/gameserver/built/gameserver.rar/gameserver/lib)

and put them on your server's lib ,server files/gameserver/lib

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • TG Support: https://t.me/buyingproxysup | Channel: https://t.me/buyingproxycom Discord support: #buyingproxy | Server: Join the BuyingProxy Discord Server! Create your free account here  
    • I've purchased the Samurai interface. Everything went smoothly, and the interface is excellent. Highly recommended!
    • For quick reference, I’ve been using the D12 dice roller when testing dice mechanics—clean design and instant results help a lot. It might give you a solid visual template to work from as you build your own games.
    • 🪙 GoldRush — High Five x20 🪙   A fresh High Five server focused on active progression, fair competition, and a healthy player-driven economy.   GoldRush is built for players who want a fresh spin on our beloved game that is connected to today's world via Web3 marketplace.    🏅 Gold Bar & Marketplace • Gold Bars are part of the server's custom economy — they can be used in Marketplace or Cosmetics shop. • Tokens are optional and used only for server Marketplace features.   ⚙️ Server Rates • EXP: 20x • SP: 20x • Adena: 10x • Normal Drop Chance: 8x • Spoil Chance: 12x • Raid Drop Chance: 3x • Quest Item Drop Amount: 5x • Quest EXP/SP Reward: 10x • Quest Adena Reward: 5x   ✨ Enchant Rates • Max Enchant: Weapons +16 / Armors +12 • +0 to +3 armor / weapon = 100% safe • +0 to +4 full body armor = 100% safe • +4 to +6 = 66% • +7 to +9 = 60% • +10 to +12 = 54% • +13 to +14 = 48% • +15 to +16 = 42%   🛒 Alt+B Services GoldRush includes useful Alt+B services: • GM Shop up to Dynasty • Buffer 1h • Teleports • Drop Search • Rankings   🎒 Auto-Loot • Normal mob drops: auto-loot • Adena: auto-loot • Raid drops: stay on the ground • Herbs: stay on the ground   🧙 Class Progression • 1st and 2nd professions are free with shadow weapon reward. • 3rd profession: 5kk • Auto Learn Skills • Subclass - No Quest • Noblesse - Full Quest     ⚔️ Olympiad • Hero period: 1 week • Olympiad time: 18:00–00:00 server time • Match duration: 5 minutes • Max enchant in Olympiad: +6   🏰 Sieges Castle sieges take place on Sundays at 16:00 and 20:00 GMT+3. The first siege will happen 2 weeks after launch.   🐉 Grand Boss Respawn Queen Ant: 24h + 2h random Core: 30h + 2h random Orfen: 48h + 2h random Baium: 120h + 3h random Antharas: 120h + 24h random Valakas: 120h + 24h random Beleth: 120h + 24h random   ⚔️ Fair Play Bots are strictly forbidden and will result in a ban without warning. Dualbox is limited to 1 box. GoldRush is built around a healthy player-to-player economy. Website : https://www.goldrushpvp.xyz/ Discord : https://discord.com/invite/v3zRZVV6ka Guide of how to make an account on our web3 server!  
    • Patch notes of update v1.0 is done regarding some feedbacks. Added Special Buffs category to the buffer. Queen Cat, Seraphim and Dwarf equipment buffs are now available. Special buffs last 1 hour and can be saved in schemes. Players can now Shift+Click monsters to check drops and spoil directly in-game.
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..