Jump to content

Question

8 answers to this question

Recommended Posts

  • 0
Posted

If you have access to the source files just look in the EnterWorld.java file and change it manually. If you only have the compiled ones then there is nothing you can do to get rid of it.

  • 0
Posted

This is the enterworld.java and i cant find that text :O

 

/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
* 
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
* 
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.gameserver.network.clientpackets;

import java.io.UnsupportedEncodingException;
import java.util.logging.Logger;

import com.l2jserver.Base64;
import com.l2jserver.Config;
import com.l2jserver.gameserver.Announcements;
import com.l2jserver.gameserver.GmListTable;
import com.l2jserver.gameserver.LoginServerThread;
import com.l2jserver.gameserver.SevenSigns;
import com.l2jserver.gameserver.TaskPriority;
import com.l2jserver.gameserver.cache.HtmCache;
import com.l2jserver.gameserver.communitybbs.Manager.RegionBBSManager;
import com.l2jserver.gameserver.datatables.AdminCommandAccessRights;
import com.l2jserver.gameserver.datatables.GMSkillTable;
import com.l2jserver.gameserver.datatables.MapRegionTable;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.CastleManager;
import com.l2jserver.gameserver.instancemanager.ClanHallManager;
import com.l2jserver.gameserver.instancemanager.CoupleManager;
import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager;
import com.l2jserver.gameserver.instancemanager.DimensionalRiftManager;
import com.l2jserver.gameserver.instancemanager.FortManager;
import com.l2jserver.gameserver.instancemanager.FortSiegeManager;
import com.l2jserver.gameserver.instancemanager.InstanceManager;
import com.l2jserver.gameserver.instancemanager.MailManager;
import com.l2jserver.gameserver.instancemanager.PetitionManager;
import com.l2jserver.gameserver.instancemanager.QuestManager;
import com.l2jserver.gameserver.instancemanager.SiegeManager;
import com.l2jserver.gameserver.instancemanager.TerritoryWarManager;
import com.l2jserver.gameserver.model.L2Clan;
import com.l2jserver.gameserver.model.L2ItemInstance;
import com.l2jserver.gameserver.model.L2Object;
import com.l2jserver.gameserver.model.L2World;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.instance.L2ClassMasterInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.entity.ClanHall;
import com.l2jserver.gameserver.model.entity.Couple;
import com.l2jserver.gameserver.model.entity.Fort;
import com.l2jserver.gameserver.model.entity.FortSiege;
import com.l2jserver.gameserver.model.entity.L2Event;
import com.l2jserver.gameserver.model.entity.Siege;
import com.l2jserver.gameserver.model.entity.TvTEvent;
import com.l2jserver.gameserver.model.quest.Quest;
import com.l2jserver.gameserver.model.quest.QuestState;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.communityserver.CommunityServerThread;
import com.l2jserver.gameserver.network.communityserver.writepackets.WorldInfo;
import com.l2jserver.gameserver.network.serverpackets.Die;
import com.l2jserver.gameserver.network.serverpackets.EtcStatusUpdate;
import com.l2jserver.gameserver.network.serverpackets.ExBasicActionList;
import com.l2jserver.gameserver.network.serverpackets.ExBirthdayPopup;
import com.l2jserver.gameserver.network.serverpackets.ExGetBookMarkInfoPacket;
import com.l2jserver.gameserver.network.serverpackets.ExNoticePostArrived;
import com.l2jserver.gameserver.network.serverpackets.ExNotifyPremiumItem;
import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
import com.l2jserver.gameserver.network.serverpackets.ExStorageMaxCount;
import com.l2jserver.gameserver.network.serverpackets.ExVoteSystemInfo;
import com.l2jserver.gameserver.network.serverpackets.FriendList;
import com.l2jserver.gameserver.network.serverpackets.HennaInfo;
import com.l2jserver.gameserver.network.serverpackets.ItemList;
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jserver.gameserver.network.serverpackets.PledgeShowMemberListAll;
import com.l2jserver.gameserver.network.serverpackets.PledgeShowMemberListUpdate;
import com.l2jserver.gameserver.network.serverpackets.PledgeSkillList;
import com.l2jserver.gameserver.network.serverpackets.PledgeStatusChanged;
import com.l2jserver.gameserver.network.serverpackets.QuestList;
import com.l2jserver.gameserver.network.serverpackets.ShortCutInit;
import com.l2jserver.gameserver.network.serverpackets.SkillCoolTime;
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;


/**
* Enter World Packet Handler<p>
* <p>
* 0000: 03 <p>
* packet format rev87 bddddbdcccccccccccccccccccc
* <p>
*/
public class EnterWorld extends L2GameClientPacket
{
private static final String _C__03_ENTERWORLD = "[C] 03 EnterWorld";

private static Logger _log = Logger.getLogger(EnterWorld.class.getName());

private int[][] tracert = new int[5][4];

public TaskPriority getPriority()
{
	return TaskPriority.PR_URGENT;
}

@Override
protected void readImpl()
{
	readB(new byte[32]);	// Unknown Byte Array
	readD();				// Unknown Value
	readD();				// Unknown Value
	readD();				// Unknown Value
	readD();				// Unknown Value
	readB(new byte[32]);	// Unknown Byte Array
	readD();				// Unknown Value
	for (int i = 0; i < 5; i++)
		for (int o = 0; o < 4; o++)
			tracert[i][o] = readC();
}

@Override
protected void runImpl()
{
	L2PcInstance activeChar = getClient().getActiveChar();

	if (activeChar == null)
	{
		_log.warning("EnterWorld failed! activeChar returned 'null'.");
		getClient().closeNow();
		return;
	}

	String[] adress = new String[5];
	for (int i = 0; i < 5; i++)
		adress[i] = tracert[i][0]+"."+tracert[i][1]+"."+tracert[i][2]+"."+tracert[i][3];

	LoginServerThread.getInstance().sendClientTracert(activeChar.getAccountName(), adress);

	getClient().setClientTracert(tracert);

	// Restore to instanced area if enabled
	if (Config.RESTORE_PLAYER_INSTANCE)
		activeChar.setInstanceId(InstanceManager.getInstance().getPlayerInstance(activeChar.getObjectId()));
	else
	{
		int instanceId = InstanceManager.getInstance().getPlayerInstance(activeChar.getObjectId());
		if (instanceId > 0)
			InstanceManager.getInstance().getInstance(instanceId).removePlayer(activeChar.getObjectId());
	}

	if (L2World.getInstance().findObject(activeChar.getObjectId()) != null)
	{
		if (Config.DEBUG)
			_log.warning("User already exists in Object ID map! User "+activeChar.getName()+" is a character clone.");
	}

	// Apply special GM properties to the GM when entering
	if (activeChar.isGM())
	{
		if (Config.GM_STARTUP_INVULNERABLE && AdminCommandAccessRights.getInstance().hasAccess("admin_invul", activeChar.getAccessLevel()))
			activeChar.setIsInvul(true);

		if (Config.GM_STARTUP_INVISIBLE && AdminCommandAccessRights.getInstance().hasAccess("admin_invisible", activeChar.getAccessLevel()))
			activeChar.getAppearance().setInvisible();

		if (Config.GM_STARTUP_SILENCE && AdminCommandAccessRights.getInstance().hasAccess("admin_silence", activeChar.getAccessLevel()))
			activeChar.setSilenceMode(true);

		if (Config.GM_STARTUP_DIET_MODE && AdminCommandAccessRights.getInstance().hasAccess("admin_diet", activeChar.getAccessLevel()))
		{
			activeChar.setDietMode(true);
			activeChar.refreshOverloaded();
		}

		if (Config.GM_STARTUP_AUTO_LIST && AdminCommandAccessRights.getInstance().hasAccess("admin_gmliston", activeChar.getAccessLevel()))
			GmListTable.getInstance().addGm(activeChar, false);
		else
			GmListTable.getInstance().addGm(activeChar, true);

		if (Config.GM_GIVE_SPECIAL_SKILLS)
			GMSkillTable.getInstance().addSkills(activeChar);
	}

	// Set dead status if applies
	if (activeChar.getCurrentHp() < 0.5)
		activeChar.setIsDead(true);

	boolean showClanNotice = false;

	// Clan related checks are here
	if (activeChar.getClan() != null)
	{
		activeChar.sendPacket(new PledgeSkillList(activeChar.getClan()));

		notifyClanMembers(activeChar);

		notifySponsorOrApprentice(activeChar);

		ClanHall clanHall = ClanHallManager.getInstance().getClanHallByOwner(activeChar.getClan());

		if (clanHall != null)
		{
			if (!clanHall.getPaid())
				activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.PAYMENT_FOR_YOUR_CLAN_HALL_HAS_NOT_BEEN_MADE_PLEASE_MAKE_PAYMENT_TO_YOUR_CLAN_WAREHOUSE_BY_S1_TOMORROW));
		}

		for (Siege siege : SiegeManager.getInstance().getSieges())
		{
			if (!siege.getIsInProgress())
				continue;

			if (siege.checkIsAttacker(activeChar.getClan()))
			{
				activeChar.setSiegeState((byte)1);
				activeChar.setSiegeSide(siege.getCastle().getCastleId());
			}

			else if (siege.checkIsDefender(activeChar.getClan()))
			{
				activeChar.setSiegeState((byte)2);
				activeChar.setSiegeSide(siege.getCastle().getCastleId());
			}
		}

		for (FortSiege siege : FortSiegeManager.getInstance().getSieges())
		{
			if (!siege.getIsInProgress())
				continue;

			if (siege.checkIsAttacker(activeChar.getClan()))
			{
				activeChar.setSiegeState((byte)1);
				activeChar.setSiegeSide(siege.getFort().getFortId());
			}

			else if (siege.checkIsDefender(activeChar.getClan()))
			{
				activeChar.setSiegeState((byte)2);
				activeChar.setSiegeSide(siege.getFort().getFortId());
			}
		}

		sendPacket(new PledgeShowMemberListAll(activeChar.getClan(), activeChar));
		sendPacket(new PledgeStatusChanged(activeChar.getClan()));

		// Residential skills support
		if (activeChar.getClan().getHasCastle() > 0)
			CastleManager.getInstance().getCastleByOwner(activeChar.getClan()).giveResidentialSkills(activeChar);

		if (activeChar.getClan().getHasFort() > 0)
			FortManager.getInstance().getFortByOwner(activeChar.getClan()).giveResidentialSkills(activeChar);

		showClanNotice = activeChar.getClan().isNoticeEnabled();
	}

	if (TerritoryWarManager.getInstance().getRegisteredTerritoryId(activeChar) > 0)
	{
		if (TerritoryWarManager.getInstance().isTWInProgress())
			activeChar.setSiegeState((byte)1);
		activeChar.setSiegeSide(TerritoryWarManager.getInstance().getRegisteredTerritoryId(activeChar));
	}

	// Updating Seal of Strife Buff/Debuff
	if (SevenSigns.getInstance().isSealValidationPeriod() && SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_STRIFE) != SevenSigns.CABAL_NULL)
	{
		int cabal = SevenSigns.getInstance().getPlayerCabal(activeChar.getObjectId());
		if (cabal != SevenSigns.CABAL_NULL)
		{
			if (cabal == SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_STRIFE))
				activeChar.addSkill(SkillTable.FrequentSkill.THE_VICTOR_OF_WAR.getSkill());
			else
				activeChar.addSkill(SkillTable.FrequentSkill.THE_VANQUISHED_OF_WAR.getSkill());
		}
	}
	else
	{
		activeChar.removeSkill(SkillTable.FrequentSkill.THE_VICTOR_OF_WAR.getSkill());
		activeChar.removeSkill(SkillTable.FrequentSkill.THE_VANQUISHED_OF_WAR.getSkill());
	}

	if (Config.ENABLE_VITALITY && Config.RECOVER_VITALITY_ON_RECONNECT)
	{
		float points = Config.RATE_RECOVERY_ON_RECONNECT * (System.currentTimeMillis() - activeChar.getLastAccess()) / 60000;
		if (points > 0)
			activeChar.updateVitalityPoints(points, false, true);
	}

	activeChar.checkRecoBonusTask();

	activeChar.broadcastUserInfo();

	// Send Macro List
	activeChar.getMacroses().sendUpdate();

	// Send Item List
	sendPacket(new ItemList(activeChar, false));

	// Send GG check
	activeChar.queryGameGuard();

	// Send Teleport Bookmark List
	sendPacket(new ExGetBookMarkInfoPacket(activeChar));

	// Send Shortcuts
	sendPacket(new ShortCutInit(activeChar));

	// Send Action list
	activeChar.sendPacket(ExBasicActionList.getStaticPacket(activeChar));

	// Send Skill list
	activeChar.sendSkillList();

	// Send Dye Information
	activeChar.sendPacket(new HennaInfo(activeChar));

	Quest.playerEnter(activeChar);

	if (!Config.DISABLE_TUTORIAL)
		loadTutorial(activeChar);

	for (Quest quest : QuestManager.getInstance().getAllManagedScripts())
	{
		if (quest != null && quest.getOnEnterWorld())
			quest.notifyEnterWorld(activeChar);
	}
	activeChar.sendPacket(new QuestList());

	if (Config.PLAYER_SPAWN_PROTECTION > 0)
		activeChar.setProtection(true);

	activeChar.spawnMe(activeChar.getX(), activeChar.getY(), activeChar.getZ());

	if (L2Event.active && L2Event.connectionLossData.containsKey(activeChar.getName()) && L2Event.isOnEvent(activeChar))
		L2Event.restoreChar(activeChar);
	else if (L2Event.connectionLossData.containsKey(activeChar.getName()))
		L2Event.restoreAndTeleChar(activeChar);

	// Wedding Checks
	if (Config.L2JMOD_ALLOW_WEDDING)
	{
		engage(activeChar);
		notifyPartner(activeChar,activeChar.getPartnerId());
	}

	if (activeChar.isCursedWeaponEquipped())
	{
		CursedWeaponsManager.getInstance().getCursedWeapon(activeChar.getCursedWeaponEquippedId()).cursedOnLogin();
	}

	activeChar.updateEffectIcons();

	activeChar.sendPacket(new EtcStatusUpdate(activeChar));

	//Expand Skill
	activeChar.sendPacket(new ExStorageMaxCount(activeChar));

	sendPacket(new FriendList(activeChar));

	SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.FRIEND_S1_HAS_LOGGED_IN);
	sm.addString(activeChar.getName());
	for (int id : activeChar.getFriendList())
	{
		L2Object obj = L2World.getInstance().findObject(id);
		if (obj != null)
			obj.sendPacket(sm);
	}

	sendPacket(SystemMessage.getSystemMessage(SystemMessageId.WELCOME_TO_LINEAGE));

	activeChar.sendMessage(getText("VGhpcyBzZXJ2ZXIgdXNlcyBMMkosIGEgcHJvamVjdCBmb3VuZGVkIGJ5IEwyQ2hlZg==\n"));
	activeChar.sendMessage(getText("YW5kIGRldmVsb3BlZCBieSB0aGUgTDJKIERldiBUZWFtIGF0IGwyanNlcnZlci5jb20=\n"));

	if (Config.DISPLAY_SERVER_VERSION)
	{
		if (Config.SERVER_VERSION != null)
			activeChar.sendMessage(getText("TDJKIFNlcnZlciBWZXJzaW9uOg==")+" "+Config.SERVER_VERSION);

		if (Config.DATAPACK_VERSION != null)
			activeChar.sendMessage(getText("TDJKIERhdGFwYWNrIFZlcnNpb246")+" "+Config.DATAPACK_VERSION);
	}
	activeChar.sendMessage(getText("Q29weXJpZ2h0IDIwMDQtMjAxMQ==\n"));

	SevenSigns.getInstance().sendCurrentPeriodMsg(activeChar);
	Announcements.getInstance().showAnnouncements(activeChar);

	if (showClanNotice)
	{
		NpcHtmlMessage notice = new NpcHtmlMessage(1);
		notice.setFile(activeChar.getHtmlPrefix(), "data/html/clanNotice.htm");
		notice.replace("%clan_name%", activeChar.getClan().getName());
		notice.replace("%notice_text%", activeChar.getClan().getNotice().replaceAll("\r\n", "<br>"));
		notice.disableValidation();
		sendPacket(notice);
	}
	else if (Config.SERVER_NEWS)
	{
		String serverNews = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/servnews.htm");
		if (serverNews != null)
			sendPacket(new NpcHtmlMessage(1, serverNews));
	}

	if (Config.PETITIONING_ALLOWED)
		PetitionManager.getInstance().checkPetitionMessages(activeChar);

	if (activeChar.isAlikeDead()) // dead or fake dead
	{
		// no broadcast needed since the player will already spawn dead to others
		sendPacket(new Die(activeChar));
	}

	activeChar.onPlayerEnter();

	sendPacket(new SkillCoolTime(activeChar));
	sendPacket(new ExVoteSystemInfo(activeChar));

	for (L2ItemInstance i : activeChar.getInventory().getItems())
	{
		if (i.isTimeLimitedItem())
			i.scheduleLifeTimeTask();
		if (i.isShadowItem() && i.isEquipped())
			i.decreaseMana(false);
	}

	for (L2ItemInstance i : activeChar.getWarehouse().getItems())
	{
		if (i.isTimeLimitedItem())
			i.scheduleLifeTimeTask();
	}

	if (DimensionalRiftManager.getInstance().checkIfInRiftZone(activeChar.getX(), activeChar.getY(), activeChar.getZ(), false))
		DimensionalRiftManager.getInstance().teleportToWaitingRoom(activeChar);

	if (activeChar.getClanJoinExpiryTime() > System.currentTimeMillis())
		activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_MEMBERSHIP_TERMINATED));

	// remove combat flag before teleporting
	if (activeChar.getInventory().getItemByItemId(9819) != null)
	{
		Fort fort = FortManager.getInstance().getFort(activeChar);

		if (fort != null)
			FortSiegeManager.getInstance().dropCombatFlag(activeChar, fort.getFortId());
		else
		{
			int slot = activeChar.getInventory().getSlotFromItem(activeChar.getInventory().getItemByItemId(9819));
			activeChar.getInventory().unEquipItemInBodySlot(slot);
			activeChar.destroyItem("CombatFlag", activeChar.getInventory().getItemByItemId(9819), null, true);
		}
	}

	// Attacker or spectator logging in to a siege zone. Actually should be checked for inside castle only?
	if (!activeChar.isGM()
			// inside siege zone
			&& activeChar.isInsideZone(L2Character.ZONE_SIEGE)
			// but non-participant or attacker
			&& (!activeChar.isInSiege() || activeChar.getSiegeState() < 2))
		activeChar.teleToLocation(MapRegionTable.TeleportWhereType.Town);

	if (Config.ALLOW_MAIL)
	{
		if (MailManager.getInstance().hasUnreadPost(activeChar))
			sendPacket(ExNoticePostArrived.valueOf(false));
	}

	RegionBBSManager.getInstance().changeCommunityBoard();
	CommunityServerThread.getInstance().sendPacket(new WorldInfo(activeChar, null, WorldInfo.TYPE_UPDATE_PLAYER_STATUS));

	TvTEvent.onLogin(activeChar);

	if (Config.WELCOME_MESSAGE_ENABLED)
		activeChar.sendPacket(new ExShowScreenMessage(Config.WELCOME_MESSAGE_TEXT, Config.WELCOME_MESSAGE_TIME));

	L2ClassMasterInstance.showQuestionMark(activeChar);

	int birthday = activeChar.checkBirthDay();
	if (birthday == 0)
	{
		activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOUR_BIRTHDAY_GIFT_HAS_ARRIVED));
		activeChar.sendPacket(new ExBirthdayPopup());
	}
	else if (birthday != -1)
	{
		sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_S1_DAYS_UNTIL_YOUR_CHARACTERS_BIRTHDAY);
		sm.addString(Integer.toString(birthday));
		activeChar.sendPacket(sm);
	}

	if(!activeChar.getPremiumItemList().isEmpty())
		activeChar.sendPacket(new ExNotifyPremiumItem());
}

/**
 * @param activeChar
 */
private void engage(L2PcInstance cha)
{
	int _chaid = cha.getObjectId();

	for(Couple cl: CoupleManager.getInstance().getCouples())
	{
		if (cl.getPlayer1Id()==_chaid || cl.getPlayer2Id()==_chaid)
		{
			if (cl.getMaried())
				cha.setMarried(true);

			cha.setCoupleId(cl.getId());

			if (cl.getPlayer1Id()==_chaid)
				cha.setPartnerId(cl.getPlayer2Id());

			else
				cha.setPartnerId(cl.getPlayer1Id());
		}
	}
}

/**
 * @param activeChar partnerid
 */
private void notifyPartner(L2PcInstance cha, int partnerId)
{
	if (cha.getPartnerId() != 0)
	{
		int objId = cha.getPartnerId();

		try
		{
			L2PcInstance partner = L2World.getInstance().getPlayer(objId);

			if (partner != null)
				partner.sendMessage("Your Partner has logged in.");

			partner = null;
		}
		catch (ClassCastException cce)
		{
			_log.warning("Wedding Error: ID "+objId+" is now owned by a(n) "+L2World.getInstance().findObject(objId).getClass().getSimpleName());
		}
	}
}

/**
 * @param activeChar
 */
private void notifyClanMembers(L2PcInstance activeChar)
{
	L2Clan clan = activeChar.getClan();

	// This null check may not be needed anymore since notifyClanMembers is called from within a null check already. Please remove if we're certain it's ok to do so.
	if (clan != null)
	{
		clan.getClanMember(activeChar.getObjectId()).setPlayerInstance(activeChar);
		SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.CLAN_MEMBER_S1_LOGGED_IN);
		msg.addString(activeChar.getName());
		clan.broadcastToOtherOnlineMembers(msg, activeChar);
		msg = null;
		clan.broadcastToOtherOnlineMembers(new PledgeShowMemberListUpdate(activeChar), activeChar);
	}
}

/**
 * @param activeChar
 */
private void notifySponsorOrApprentice(L2PcInstance activeChar)
{
	if (activeChar.getSponsor() != 0)
	{
		L2PcInstance sponsor = L2World.getInstance().getPlayer(activeChar.getSponsor());

		if (sponsor != null)
		{
			SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.YOUR_APPRENTICE_S1_HAS_LOGGED_IN);
			msg.addString(activeChar.getName());
			sponsor.sendPacket(msg);
		}
	}
	else if (activeChar.getApprentice() != 0)
	{
		L2PcInstance apprentice = L2World.getInstance().getPlayer(activeChar.getApprentice());

		if (apprentice != null)
		{
			SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.YOUR_SPONSOR_C1_HAS_LOGGED_IN);
			msg.addString(activeChar.getName());
			apprentice.sendPacket(msg);
		}
	}
}

/**
 * @param string
 * @return
 * @throws UnsupportedEncodingException
 */
private String getText(String string)
{
	try
	{
		String result = new String(Base64.decode(string), "UTF-8");
		return result;
	}
	catch (UnsupportedEncodingException e)
	{
		return null;
	}
}

private void loadTutorial(L2PcInstance player)
{
	QuestState qs = player.getQuestState("255_Tutorial");

	if (qs != null)
		qs.getQuest().notifyEvent("UC", null, player);
}

/* (non-Javadoc)
 * @see com.l2jserver.gameserver.clientpackets.ClientBasePacket#getType()
 */
@Override
public String getType()
{
	return _C__03_ENTERWORLD;
}

@Override
protected boolean triggersOnActionRequest()
{
	return false;
}
}

  • 0
Posted

[*]activeChar.sendMessage(getText("VGhpcyBzZXJ2ZXIgdXNlcyBMMkosIGEgcHJvamVjdCBmb3VuZGVkIGJ5IEwyQ2hlZg==\n"));

[*]activeChar.sendMessage(getText("YW5kIGRldmVsb3BlZCBieSB0aGUgTDJKIERldiBUZWFtIGF0IGwyanNlcnZlci5jb20=\n"));

[*]activeChar.sendMessage(getText("Q29weXJpZ2h0IDIwMDQtMjAxMQ==\n"));

 

but you should NOT do it.That's against l2j's policy.By removing their credits its like you dont respect their work.

If you 'll do it,shame on you.

  • 0
Posted

Im not removeing the L2jserver credits, i just want to remove L2Chef etc..

 

Removing any of the credits is a kick in the face to those who took the time to create the emulator. Doing so shows a lack of respect to the creators and is against their policy.

 

but you should NOT do it.That's against l2j's policy.By removing their credits its like you dont respect their work.

If you 'll do it,shame on you.

 

I agree 100% and hate people who change such things.

Guest
This topic is now closed to further replies.


  • Posts

    • Dear partners! At the moment, we are in great need of the following items: TikTok Ads and Google Ads advertising accounts with an ad limit starting from $100. Countries: Europe, USA, Asia Contact us via the contacts in the thread or in this post. We look forward to cooperating! Active links to SOCNET stores: Digital Goods Store (Website): Go Store Telegram Bot: Go – convenient access to the store via Telegram messenger. Telegram Bot for purchasing Telegram Stars: Go – fast and profitable purchase of stars in Telegram. SMM Panel: Go – promotion of your social media accounts. We would like to present to you the current list of promotions and special offers for purchasing our products and services: 1. Promo code OCTOBER2025 (8% discount) for purchases in our store (Website, bot) in September! You can also use the first-purchase promo code: SOCNET (15% discount) 2. Get $1 credited to your store balance or a 10–20% discount — simply write your username after registration on our website using the following format: "SEND ME BONUS, MY USERNAME IS..." — you need to post it in our forum thread! 3. Get $1 for your first SMM Panel trial — just open a ticket titled “Get Trial Bonus” on our website (Support). 4. Weekly Telegram Stars giveaways in our Telegram channel and in our Stars purchasing bot! News: ➡ Telegram Channel: https://t.me/accsforyou_shop ➡ WhatsApp Channel: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord Server: https://discord.gg/y9AStFFsrh Contacts & Support: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ Email: solomonbog@socnet.store
    • Dear partners! At the moment, we are in great need of the following items: TikTok Ads and Google Ads advertising accounts with an ad limit starting from $100. Countries: Europe, USA, Asia Contact us via the contacts in the thread or in this post. We look forward to cooperating! Active links to SOCNET stores: Digital Goods Store (Website): Go Store Telegram Bot: Go – convenient access to the store via Telegram messenger. Telegram Bot for purchasing Telegram Stars: Go – fast and profitable purchase of stars in Telegram. SMM Panel: Go – promotion of your social media accounts. We would like to present to you the current list of promotions and special offers for purchasing our products and services: 1. Promo code OCTOBER2025 (8% discount) for purchases in our store (Website, bot) in September! You can also use the first-purchase promo code: SOCNET (15% discount) 2. Get $1 credited to your store balance or a 10–20% discount — simply write your username after registration on our website using the following format: "SEND ME BONUS, MY USERNAME IS..." — you need to post it in our forum thread! 3. Get $1 for your first SMM Panel trial — just open a ticket titled “Get Trial Bonus” on our website (Support). 4. Weekly Telegram Stars giveaways in our Telegram channel and in our Stars purchasing bot! News: ➡ Telegram Channel: https://t.me/accsforyou_shop ➡ WhatsApp Channel: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord Server: https://discord.gg/y9AStFFsrh Contacts & Support: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ Email: solomonbog@socnet.store
    • Hey everyone, I’m thrilled to introduce our upcoming server, Dragon‑Network, built on the powerful Interlude+ chronicle and crafted for serious PvP, balanced progression and community fun. Below you’ll find all the key details — rates, features, event structure, and why this will be your next home for Lineage 2. 📅 Grand Opening November 21, 2025 — mark the date, rally your friends, prepare your gear. The realm opens, and the wars begin. ⚙️ Rates & Server Setup XP: 10× Chronicle: Interlude+ (expanded from our previous server) PvP-focused content, daily events, and reward-rich systems These core settings ensure you’ll feel progress and power, without losing the depth of classic Interlude. 🎯 Features & Highlights Based on our features page: Alternative class change quests: skip the lengthy standard quests by collecting tradable items dropped by monsters. Dragon-Network Full Interlude+ content: Kamaloka, Labyrinth, Pailaka quests, Hellbound Island, S80 items, Attribute system, Isle of Prayer hunting zone, siegeable fortresses and more. Dragon-Network Daily Team vs Team (TvT) events: prove your worth, climb the ranks and earn valuable rewards. Dragon-Network Balanced PvP mechanics: custom sub-stack features, armor mastery rules, optimized skill effects — all to keep the fight fair and skill-based. Dragon-Network Other extras: Raid Bosses with defined respawn times, rich loot systems, improved QOL features like improved buffs, combo songs/dances, tattoo system, etc. Dragon-Network 🎮 Why This Server Matters You’re playing Interlude+, but with modern enhancements — classic content with new mechanics, not a simple resurrect of the old. PvP and events are daily and structured, so you don’t wait weeks to engage. We’ve designed progression to be meaningful: rewards, class changes, content unlocks all move you forward without feeling pay-to-win. Community-first: Whether you enter solo or with friends, you’ll find team action, clans forming, and events where everyone has a chance to shine. 🗺 What to Do Next Visit our website: dragon-network.eu (check out the “Features” tab for full details) Prepare your Master Account, get your clan or buddies ready. On launch day (Nov 21), log in early, grab your spot, participate in the first TvT, and start building your legacy. Get ready — the gates open soon. The grind begins. The battles await. Will you rise to become legend on Dragon-Network? 🐉 Feel free to ask any questions below or share this post with your friends. Let’s make this launch one to remember.
    • NFT gifts on Telegram are already here! Buy Stars at SOCNET — the black background can be yours today! Purchase existing gifts in the official store using Telegram Stars, pay for subscriptions, donate to games and projects, pay for Premium, and react to messages in channels! Low prices, many payment methods, and other cool and unique features! Try it today — SOCNET STARS BOT Active links to SOCNET stores: Digital Goods Store (Website): Go Store Telegram Bot: Go – convenient access to the store via Telegram messenger. Telegram Bot for purchasing Telegram Stars: Go – fast and beneficial purchase of stars in Telegram. SMM Panel: Go – promotion of your social media accounts. We would like to present to you the current list of promotions and special offers for purchasing our products and services: 1. Promo code OCTOBER2025 (8% discount) for purchases in our store (Website, bot) in September! You can also use the first-purchase promo code: SOCNET (15% discount) 2. Get $1 credited to your store balance or a 10–20% discount — simply write your username after registration on our website in the following format: "SEND ME BONUS, MY USERNAME IS..." — you need to post it in our forum thread! 3. Get $1 for your first SMM Panel trial: just open a ticket titled “Get Trial Bonus” on our website (Support). 4. Weekly Telegram Stars giveaways in our Telegram channel and in our Stars purchasing bot! News: ➡ Telegram Channel: https://t.me/accsforyou_shop ➡ WhatsApp Channel: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord Server: https://discord.gg/y9AStFFsrh Contacts & Support: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ Email: solomonbog@socnet.store
    • NFT gifts on Telegram are already here! Buy Stars at SOCNET — the black background can be yours today! Purchase existing gifts in the official store using Telegram Stars, pay for subscriptions, donate to games and projects, pay for Premium, and react to messages in channels! Low prices, many payment methods, and other cool and unique features! Try it today — SOCNET STARS BOT Active links to SOCNET stores: Digital Goods Store (Website): Go Store Telegram Bot: Go – convenient access to the store via Telegram messenger. Telegram Bot for purchasing Telegram Stars: Go – fast and beneficial purchase of stars in Telegram. SMM Panel: Go – promotion of your social media accounts. We would like to present to you the current list of promotions and special offers for purchasing our products and services: 1. Promo code OCTOBER2025 (8% discount) for purchases in our store (Website, bot) in September! You can also use the first-purchase promo code: SOCNET (15% discount) 2. Get $1 credited to your store balance or a 10–20% discount — simply write your username after registration on our website in the following format: "SEND ME BONUS, MY USERNAME IS..." — you need to post it in our forum thread! 3. Get $1 for your first SMM Panel trial: just open a ticket titled “Get Trial Bonus” on our website (Support). 4. Weekly Telegram Stars giveaways in our Telegram channel and in our Stars purchasing bot! News: ➡ Telegram Channel: https://t.me/accsforyou_shop ➡ WhatsApp Channel: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord Server: https://discord.gg/y9AStFFsrh Contacts & Support: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ Email: solomonbog@socnet.store
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock