Jump to content

Recommended Posts

Posted

This is a exshowscreenmessage, like you go to towns and a window apear "Giran Town".

 

You will be able to put anything you want.

 

This tested at l2j.

 

go java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java

 

First add this import;

 

import net.sf.l2j.gameserver.network.serverpackets.ExShowScreenMessage;

 

and then add this (delete the other message from l2j and put this);

 

ExShowScreenMessage welcomemessage = new ExShowScreenMessage("Welcome to The MaxCheaters",10000); //10000 = 10 seconds 
     activeChar.sendPacket(welcomemessage); 

 

Well this is good idea you can use this method, at pvp showing the damage apear of window for example...etc ;P

 

 

NOTE: This no need any client modding ;]!

 

Regard Cobra.

 

p.s: My pc crashed ;P so i don't have eclipse //cry! I will update the post better wen my pc come back ^.^

 

Well some updates i donne it for il i test it at l2jdot :];

 

Index: C:/Documents and Settings/l2/workspace/L2Dot_IL_GameServer/java/net/sf/l2j/Config.java
===================================================================
--- C:/Documents and Settings/l2/workspace/L2Dot_IL_GameServer/java/net/sf/l2j/Config.java	(revision 512)
+++ C:/Documents and Settings/l2/workspace/L2Dot_IL_GameServer/java/net/sf/l2j/Config.java	(working copy)
@@ -1599,6 +1599,8 @@
	public static boolean ALLOW_LOW_LEVEL_TRADE;

	public static boolean SHOW_HTML_WELCOME;
+	
+	public static boolean SHOW_SCREEN_MESSAGE;

	/** Chat filter */
	public static boolean USE_CHAT_FILTER;
@@ -3403,6 +3405,7 @@
				ALLOW_LOW_LEVEL_TRADE = Boolean.parseBoolean(L2dotSettings
						.getProperty("AllowLowLevelTrade", "True"));
				SHOW_HTML_WELCOME = Boolean.parseBoolean(L2dotSettings.getProperty("ShowWelcomeHTML", "False"));
+				SHOW_SCREEN_MESSAGE = Boolean.parseBoolean(L2dotSettings.getProperty("ShowScreenMessage", "False"));
				ALLOW_POTS_IN_PVP = Boolean.parseBoolean(L2dotSettings
						.getProperty("AllowPotsInPvP", "True"));
				ALLOW_SOE_IN_PVP = Boolean.parseBoolean(L2dotSettings.getProperty("AllowSoEInPvP", "True"));
Index: C:/Documents and Settings/l2/workspace/L2Dot_IL_GameServer/java/net/sf/l2j/gameserver/network/serverpackets/ExShowScreenMessage.java
===================================================================
--- C:/Documents and Settings/l2/workspace/L2Dot_IL_GameServer/java/net/sf/l2j/gameserver/network/serverpackets/ExShowScreenMessage.java	(revision 0)
+++ C:/Documents and Settings/l2/workspace/L2Dot_IL_GameServer/java/net/sf/l2j/gameserver/network/serverpackets/ExShowScreenMessage.java	(revision 0)
@@ -0,0 +1,88 @@
+/*
+ * 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 net.sf.l2j.gameserver.network.serverpackets;
+
+/**
+ * @author Cobra
+ *
+ */
+public class ExShowScreenMessage extends L2GameServerPacket
+{
+	private int _type;
+	private int _sysMessageId;
+	private int _unk1;
+	private int _unk2;
+	private int _unk3;
+	private int _unk4;
+	private int _size;
+	private int _position;
+	private boolean _effect;
+	private String _text;
+	private int _time;
+
+	public ExShowScreenMessage (String text, int time)
+	{
+		_type = 1;
+		_sysMessageId = -1;
+		_unk1 = 0;
+		_unk2 = 0;
+		_unk3 = 0;
+		_unk4 = 0;
+		_position = 0x02;
+		_text = text;
+		_time = time;
+		_size = 0;
+		_effect = false;
+	}
+
+	public ExShowScreenMessage (int type, int messageId, int position, int unk1, int size, int unk2, int unk3,boolean showEffect, int time,int unk4, String text)
+	{
+		_type = type;
+		_sysMessageId = messageId;
+		_unk1 = unk1;
+		_unk2 = unk2;
+		_unk3 = unk3;
+		_unk4 = unk4;
+		_position = position;
+		_text = text;
+		_time = time;
+		_size = size;
+		_effect = showEffect;
+	}
+	
+	@Override
+	public String getType()
+	{
+		return "[s]FE:39 ExShowScreenMessage";
+	}
+
+	@Override
+	protected void writeImpl()
+	{
+		writeC(0xfe);
+		writeH(0x39);
+		writeD(_type); // 0 - system messages, 1 - your defined text
+		writeD(_sysMessageId); // system message id (_type must be 0 otherwise no effect)
+		writeD(_position); // message position
+		writeD(_unk1); // ?
+		writeD(_size); // font size 0 - normal, 1 - small
+		writeD(_unk2); // ?
+		writeD(_unk3); // ? 
+		writeD(_effect == true ? 1 : 0); // upper effect (0 - disabled, 1 enabled) - _position must be 2 (center) otherwise no effect
+		writeD(_time); // time
+		writeD(_unk4); // ?
+		writeS(_text); // your text (_type must be 1, otherwise no effect)
+	}
+}
\ No newline at end of file
Index: C:/Documents and Settings/l2/workspace/L2Dot_IL_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java
===================================================================
--- C:/Documents and Settings/l2/workspace/L2Dot_IL_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java	(revision 512)
+++ C:/Documents and Settings/l2/workspace/L2Dot_IL_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java	(working copy)
@@ -74,6 +74,8 @@
import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
import net.sf.l2j.gameserver.network.serverpackets.UserInfo;
import net.sf.l2j.gameserver.util.FloodProtector;
+import net.sf.l2j.gameserver.network.serverpackets.ExShowScreenMessage;
+
/**
  * Enter World Packet Handler<p>
  * <p>
@@ -328,6 +331,12 @@
			}
		}

+		if(!Config.SHOW_SCREEN_MESSAGE)
+		{
+		ExShowScreenMessage welcomemessage = new ExShowScreenMessage("Welcome to The L2DOT Project",10000); //10000 = 10 seconds 
+	     activeChar.sendPacket(welcomemessage);
+		}
+		
         if (Hero.getInstance().getHeroes() != null &&
                 Hero.getInstance().getHeroes().containsKey(activeChar.getObjectId()))
             activeChar.setHero(true);
Index: C:/Documents and Settings/l2/workspace/L2Dot_IL_GameServer/config/l2dot.properties
===================================================================
--- C:/Documents and Settings/l2/workspace/L2Dot_IL_GameServer/config/l2dot.properties	(revision 512)
+++ C:/Documents and Settings/l2/workspace/L2Dot_IL_GameServer/config/l2dot.properties	(working copy)
@@ -39,6 +39,9 @@
# Show Welcome.htm When a Player Enters Lineage 2 World?
ShowWelcomeHTML = False

+#Show ScreenMessage By Cobra For Interlude!
+ShowScreenMessage = False
+
# -------------------------------------------------------------
# Custom PVP/PK settings									  -
# -------------------------------------------------------------

-------------------------------------------------------------

 

 

Posted

AWESOME!!

 

and i was searchin' about how to do that..

 

really thanks mate ;)

 

btw, update your java mods list ;p

Posted

mmmmm start to share our good stuff? :)

 

ehehe i see one other post about this... and i see client modding .... ;P

 

So why to use client modding? :P

 

Yeah i know this is good staff //joke ;P

 

Anyway i hope i helped a little :]!

 

@Stef: Thanks :]! I will update it ^.^

 

 

Posted

You can also use the party command leader chat (the leader of more allied parties...cant remember the name).

Posted

You can also use the party command leader chat (the leader of more allied parties...cant remember the name).

Yup thats the name.

Something like:

CreatureSay cs = new CreatureSay(0, SystemChatChannelId.Chat_Commander, "PvP", "I have pwnt you!");

sendPacket(cs);

Btw Cobra don't share things like this, people should find them themselves :P

Guest
This topic is now closed to further replies.



  • Posts

    • Let me give you something for inspiration and get you addicted to bot AI     And a siege 😛     What I have notice helps a lot the LLM to act real, is to give it a real-persons background. So for each LLM in the context beggining, besides the L2 facts, give it a real-life back story "You are a 67 years old retired nurse who plays Lineage 2 while her husband reads his newspaper, you are calm, collected but get mad if insulted". But that makes for a creative bot but its repetitive. So what you can also do, is pick random 20 news sites and for each bot every 2-3 days, initialize a context that is affected by the "news" the bot reads in the "real world".  So for example there's Iran - US war ok ? You take the news, put it in an LLM and ask it, extract the "abstract feelings" that this news piece invokes into you without mentioning anything related to the news. Then you take the result and inject it to the bots LLM prompt after its backstory.  This leads to some VERY human-like behavior from bots. 
    • 🚀 Telonyx Contest Platform Telegram Native Giveaway & Contest System for Modern Communities 💎 White-Label • Self-Hosted • Telegram Mini App • Monetization Ready 🧠 Product Overview Telonyx Contest Platform is a production-ready Telegram Mini App system designed for running modern contests, giveaways and engagement campaigns directly inside Telegram. It replaces outdated bot-based mechanics with a fully interactive application experience — no commands, no chat spam, no external websites. Users interact with a clean, fast and mobile-first interface inside Telegram. ⚡ Core Experience Participants can: • 🚀 instantly join contests inside Telegram Mini App • 🎁 view prizes and participation rules • 📊 track real-time contest status • ✅ verify task completion automatically • 🏆 receive winner results and notifications • 💰 participate in free or paid campaigns Everything is fully native to Telegram. 🧩 Key Platform Capabilities 🎯 Contest Engine • advanced contest creation system • multiple winners and reward tiers • scheduled launches and auto-finish logic • contest duplication and templates • real-time participant tracking • flexible rule configuration 📱 Mini App Interface • modern Telegram Mini App UX • mobile-first optimized layout • fast loading and smooth transitions • participant counter & live status • prize showcase system • one-click participation flow 🔎 Task Verification System Automated validation of participation rules: • Telegram channel subscriptions • sponsor channel requirements • multi-channel verification logic • YouTube subscription checks • TikTok task validation ❌ Zero manual moderation required 🛡 Anti-Fraud & Security Layer • duplicate entry prevention • bot detection system • CAPTCHA integration • rule enforcement engine • participation integrity checks 🏆 Automated Winner Selection • fully automated draw system • transparent winner selection logic • instant result publishing • winner notification system • historical archive of all contests 💎 Telegram Stars Monetization • optional paid participation via Telegram Stars • native Telegram checkout integration • flexible entry pricing per campaign • direct monetization of engagement traffic 🌍 Multi-Language Architecture Built with localization in mind. Supported out of the box: • 🇬🇧 English • 🇷🇺 Russian • 🇺🇦 Ukrainian • 🇹🇷 Turkish • 🇪🇸 Spanish • 🇵🇹 Portuguese • ➕ extensible language system for custom localization All UI layers, notifications and admin panel can be fully translated per deployment. 🎯 Ideal Use Cases 🎮 Gaming Projects / Lineage II Servers • pre-launch hype campaigns • donation reward giveaways • VIP / premium account distribution • promo code campaigns • server opening events 🎥 Streamers & Creators • subscriber engagement campaigns • live stream giveaways • audience growth funnels • partnership promotions 🌐 Communities & Brands • automated engagement systems • viral marketing campaigns • audience retention mechanics 🏗 Architecture & Deployment • Telegram Mini App frontend • FastAPI backend architecture • PostgreSQL database layer • Redis caching system • Docker-based deployment • WebSocket real-time updates • REST API integration layer 📦 Self-hosted deployment — full control over infrastructure and data 🎨 White-Label & Customization Each installation can be fully customized: • complete UI/UX rebranding • project-specific visual identity • custom engagement mechanics • referral & viral systems • loyalty & progression systems • seasonal campaign modules • custom API integrations   💡 Why This Platform Traditional contest bots are limited, noisy and inefficient. Telonyx Contest Platform is a modern engagement layer for Telegram ecosystems — combining UX, automation and monetization in one system. ✔ Higher participation rate ✔ Lower friction ✔ Direct revenue via Telegram Stars ✔ Full control via self-hosted deployment 💼 Commercial Model • Single License (Self-Hosted Deployment) • White-Label Branding Rights • Optional Custom Development • Installation & Setup Service 📩 Contact For demo access, licensing details or custom implementation: @se1dhe @telonyx_dev  
    • https://discord.gg/acvqx9rbhy Added intelligent agent that reads scripts and config and provides infos to players regarding gameplay Like where to farm/max enchants etc etc   Added auto translate to En/ES/BR htmls without api
    • The core strength of Novproxy Perfectly unlock overseas AI large models: 100% pure residential IP, perfectly bypassing various strict risk controls such as ChatGPT, Claude, Midjourney, etc. This is an essential tool for parents to train AI on weekends and during work! Available in 195+ countries/regions worldwide: covering an extremely wide range. Whether it's setting up accounts for cross-border e-commerce, conducting overseas web crawling, or conducting network gray-scale tests, it can all be handled easily. Ultra-fast concurrency: Real residential network, stable and non-blocking, high-concurrency business can also run at full capacity.
    • Thanks for your comment. That's what I'm working on, but it takes a lot of planning and getting it to work. I hope I can pull it off. Right now, I'm working on the Party feature, and I'm also working on AI conversations focused solely on Lineage, meaning the AI will only talk about the game. We'll see how it goes. The idea is to develop the system so thoroughly that there are sieges and the Phantom Players are undetectable, making them seem as realistic as possible. I'm sorry, but I don't see it as a useful modification. I'm also doing modifications on request, so if you're interested, you can send me a PM.
  • 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..