Jump to content

Recommended Posts

Posted

SORRY dn to iksera!!!

 

an xriasto tpt alo mporw na apef8in8w edo i 8a to klisis to shara??? :D

το shara όχι δεν θα το κλείσω.
Posted

καλά πες μου ακριβώς το request σου, για να κάτσω να το δουλέψω με ένα παιδί.

Loipon tha sto pw me paradigma

eimai sto cementery me bot kai famaro

me vlepei kapoios kai me kanei target kai pataei .report

kai emfanizete se emena ena parathiro me enan kodiko

egw prepei na grapsw afton ton kodiko kai na patiso ok mesa se 30 second

alios tha paw Jail gia 15 lepta

 

Posted

Ey Ey Ey 8a mporouse kapios na m dosi ena link IIII crystalia na m ftiaksi tn code gia enan kalo class master!!! psaxnw kamia oritsa k den vrika!!!

 

gia tn akrivia vrika afto:

ala den katalavenw etsi pos ksekinaei o code

---> package net.sf.l2j.gameserver.model.actor.instance; <--- (den leei se pio java arxio vazw tn code)

epsaksa sto l2pcinstance.java ala den ixe tpt apo afta mesa (L2JServer Interlude) opote an ginete voi8iste!!!

thx KAI KALIMERA!!! :D Kai ~!~paw gia ipno~!~

 

@@ -14,20 +14,22 @@
  */
package net.sf.l2j.gameserver.model.actor.instance;

-import java.util.Collection;
+
+
+import javolution.text.TextBuilder;
import net.sf.l2j.Config;
-import net.sf.l2j.gameserver.ai.CtrlIntention;
import net.sf.l2j.gameserver.datatables.CharTemplateTable;
+import net.sf.l2j.gameserver.datatables.NpcTable;
+import net.sf.l2j.gameserver.model.L2World;
import net.sf.l2j.gameserver.model.base.ClassId;
import net.sf.l2j.gameserver.model.base.ClassLevel;
import net.sf.l2j.gameserver.model.base.PlayerClass;
import net.sf.l2j.gameserver.model.quest.Quest;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
-import net.sf.l2j.gameserver.network.serverpackets.MyTargetSelected;
+import net.sf.l2j.gameserver.network.serverpackets.ExShowScreenMessage;
import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
-import net.sf.l2j.gameserver.network.serverpackets.ValidateLocation;
import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate;
import net.sf.l2j.gameserver.util.StringUtil;

@@ -46,10 +48,22 @@
	private static final int[] SECOND_CLASS_IDS = {2, 3, 5, 6, 9, 8, 12, 13,
                 14, 16, 17, 20, 21, 23, 24, 27, 28, 30, 33, 34, 36, 37, 40, 41,
                 43, 46, 48, 51, 52, 55, 57};
+		public static L2ClassMasterInstance ClassMaster = new L2ClassMasterInstance(31228, NpcTable.getInstance().getTemplate(31228));
+		static
+		{
+			L2World.getInstance().storeObject(ClassMaster);
+		}
         private static final int[] THIRD_CLASS_IDS = {88, 89, 90, 91, 92, 93,
                 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
                 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118};

+
+        		
+	static
+        {
+        	L2World.getInstance().storeObject(ClassMaster);
+        }
+
	/**
	 * @param template
	 */
@@ -57,130 +71,341 @@
	{
		super(objectId, template);
	}
-
+										
	@Override
	public void onAction(L2PcInstance player)
	{
-		if (!canTarget(player)) return;
+		if (Config.DEBUG)
+					_log.fine("ClassMaster activated");

-		// Check if the L2PcInstance already target the L2NpcInstance
-		if (getObjectId() != player.getTargetId())
-		{
-			// Set the target of the L2PcInstance player
-			player.setTarget(this);
+		ClassId classId = player.getClassId();

-			// Send a Server->Client packet MyTargetSelected to the L2PcInstance player
-			player.sendPacket(new MyTargetSelected(getObjectId(), 0));
-
-			// Send a Server->Client packet ValidateLocation to correct the L2NpcInstance position and heading on the client
-			player.sendPacket(new ValidateLocation(this));
+		int jobLevel = 0;
+						int level = player.getLevel();
+						ClassLevel lvl = PlayerClass.values()[classId.getId()].getLevel();
+						switch (lvl)
+						{
+							case First: 
+								jobLevel = 1;
+								break;
+							case Second:
+								jobLevel = 2;
+								break;
+							case Third:
+								jobLevel = 3;
+								break;
+							default:
+								jobLevel = 4;
		}
-		else
+						
+												if (!Config.ALLOW_CLASS_MASTERS)
+													jobLevel = 3;
+										
+												if(player.isGM())
		{
-			if (!canInteract(player))
+													showChatWindowChooseClass(player);
+																						}
+																						else if (((level >= 20 && jobLevel == 1 ) ||
+																							(level >= 40 && jobLevel == 2 )) && Config.ALLOW_CLASS_MASTERS)
+																						{
+																							TextBuilder village = new TextBuilder("<html><body>");
+																							village.append("<center><table width=\"270\" border=\"0\" bgcolor=\"111111\">");
+																							village.append("<tr><td width=\"170\"><font color=\"5772d6\">L</font><font color=\"5772d6\">2</font><font color=\"5772d6\">R</font><font color=\"5772d6\">e</font><font color=\"5772d6\">a</font><font color=\"5772d6\">c</font><font color=\"5772d6\">t</font><font color=\"5772d6\">i</font><font color=\"5772d6\">o</font><font color=\"5772d6\">n</font></td>");
+																							village.append("<td width=\"100\" align=\"center\"><font color=\"5772d6\">Players</font><font color=\"5772d6\">:</font><font color=\"5772d6\"> " +L2World.getInstance().getAllPlayers().size()+ "</font></font></td></tr>");
+																							village.append("</table><table width=\"270\" border=\"0\">");
+																							village.append("</table>"); 
+																							village.append("<br></br>");
+																							village.append("<tr><td><center>L2Reaction</center></td></tr>");
+																							village.append("<br></br>");
+																							village.append("<tr><td><font color=\"00FF00\">MaxCheaters Class Master</font></td></tr>");
+																							village.append("<br></br>");
+																							village.append("<tr><td><font color=\"00FF00\">---------------------------------------------------</font></td></tr>");
+																							if (player.getClassId() == ClassId.fighter)
+																							{
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 1\">Advance to "+CharTemplateTable.getInstance().getClassNameById(1)+"</a></font></center><br>");
+																					       village.append("<br></br>");
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 4\">Advance to "+CharTemplateTable.getInstance().getClassNameById(4)+"</a></font></center><br>");	
+																					       village.append("<br></br>");
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 7\">Advance to "+CharTemplateTable.getInstance().getClassNameById(7)+"</a></font></center><br>");	
+																							}
+																							if (player.getClassId() == ClassId.warrior)
+																							{
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 2\">Advance to "+CharTemplateTable.getInstance().getClassNameById(2)+"</a></font></center><br>");
+																					       village.append("<br></br>");
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 3\">Advance to "+CharTemplateTable.getInstance().getClassNameById(3)+"</a></font></center><br>");	
+																							}
+																							if (player.getClassId() == ClassId.knight)
+																							{
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 5\">Advance to "+CharTemplateTable.getInstance().getClassNameById(5)+"</a></font></center><br>");
+																					       village.append("<br></br>");
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 6\">Advance to "+CharTemplateTable.getInstance().getClassNameById(6)+"</a></font></center><br>");	
+																							}
+																							if (player.getClassId() == ClassId.rogue)
+																							{
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 8\">Advance to "+CharTemplateTable.getInstance().getClassNameById(8)+"</a></font></center><br>");
+																					       village.append("<br></br>");
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 9\">Advance to "+CharTemplateTable.getInstance().getClassNameById(9)+"</a></font></center><br>");	
+																							}
+																							if (player.getClassId() == ClassId.mage)
+																							{
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 11\">Advance to "+CharTemplateTable.getInstance().getClassNameById(11)+"</a></font></center><br>");
+																					       village.append("<br></br>");
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 15\">Advance to "+CharTemplateTable.getInstance().getClassNameById(15)+"</a></font></center><br>");	
+																							}
+																							if (player.getClassId() == ClassId.wizard)
+																							{
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 12\">Advance to "+CharTemplateTable.getInstance().getClassNameById(12)+"</a></font></center><br>");
+																					       village.append("<br></br>");
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 13\">Advance to "+CharTemplateTable.getInstance().getClassNameById(13)+"</a></font></center><br>");	
+																					       village.append("<br></br>");
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 14\">Advance to "+CharTemplateTable.getInstance().getClassNameById(14)+"</a></font></center><br>");	
+																							}
+																							if (player.getClassId() == ClassId.cleric)
+																							{
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 16\">Advance to "+CharTemplateTable.getInstance().getClassNameById(16)+"</a></font></center><br>");
+																					       village.append("<br></br>");
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 17\">Advance to "+CharTemplateTable.getInstance().getClassNameById(17)+"</a></font></center><br>");	
+																							}
+																							if (player.getClassId() == ClassId.elvenFighter)
+																							{
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 19\">Advance to "+CharTemplateTable.getInstance().getClassNameById(19)+"</a></font></center><br>");
+																					       village.append("<br></br>");
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 22\">Advance to "+CharTemplateTable.getInstance().getClassNameById(22)+"</a></font></center><br>");	
+																							}
+																							if (player.getClassId() == ClassId.elvenKnight)
+																							{
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 20\">Advance to "+CharTemplateTable.getInstance().getClassNameById(20)+"</a></font></center><br>");
+																					       village.append("<br></br>");
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 21\">Advance to "+CharTemplateTable.getInstance().getClassNameById(21)+"</a></font></center><br>");	
+																							}
+																							if (player.getClassId() == ClassId.elvenScout)
+																							{
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 23\">Advance to "+CharTemplateTable.getInstance().getClassNameById(23)+"</a></font></center><br>");
+																					       village.append("<br></br>");
+																							village.append("<center><font color=\"CCFF00\"><a action=\"bypass -h npc_"+getObjectId()+"_change_class 24\">Advance to "+CharTemplateTable.getInstance().getClassNameById(24)+"</a></font></center><br>");	
+																							
.....(exi k sinexia den xorage :P )

download link: http://www.maxcheaters.com/forum/index.php?topic=90270.0

Posted

καλά πες μου ακριβώς το request σου, για να κάτσω να το δουλέψω με ένα παιδί.

Loipon tha sto pw me paradigma

eimai sto cementery me bot kai famaro

me vlepei kapoios kai me kanei target kai pataei .report

kai emfanizete se emena ena parathiro me enan kodiko

egw prepei na grapsw afton ton kodiko kai na patiso ok mesa se 30 second

alios tha paw Jail gia 15 lepta

ok?

Posted

crystalia mporis plz na m stilis to code gia mass sub class dld na pas mono se enan high priest k na mporis na kanis ola ta sub :) aa episis ama mporis ena code p na exoun dikeoma gia hero voice k i leader ton clan me castle :)

Posted

crystalia mporis plz na m stilis to code gia mass sub class dld na pas mono se enan high priest k na mporis na kanis ola ta sub :) aa episis ama mporis ena code p na exoun dikeoma gia hero voice k i leader ton clan me castle :)

gia to proto pou zitises Here

to deftero den to vrika..

Posted

einai sketo java code?i xriazete kapoio html,sql,client side?


Uparxei kanena etimo i mporei kapoios na mou ftia3ei


opoios mporei kai an einai grigoro as mou ftia3ei kanena..kai an tou aresei as ftia3ei kai kana parapanw (dwarf/human/orc) :D


Thnx In advance

υπάρχει ήδη στο L2jFrozen.
Posted

crystalia mporis plz na m stilis to code gia mass sub class dld na pas mono se enan high priest k na mporis na kanis ola ta sub :) aa episis ama mporis ena code p na exoun dikeoma gia hero voice k i leader ton clan me castle :)

το πρώτο στο έδωσε ο UnSponsored. το 2ο θα το κάνω share σε λίγο.
Posted

(telika crystalia mporis na me voi8isis me tn class master???)

 

20/7/12. 4:49πμ. update: den pirazi to vrika

 

kane afto p zitaei o sexomaniokos einai k gamw tous code to need kai egw!!! :D

Posted

καλά πες μου ακριβώς το request σου, για να κάτσω να το δουλέψω με ένα παιδί.

Loipon tha sto pw me paradigma

eimai sto cementery me bot kai famaro

me vlepei kapoios kai me kanei target kai pataei .report

kai emfanizete se emena ena parathiro me enan kodiko

egw prepei na grapsw afton ton kodiko kai na patiso ok mesa se 30 second

alios tha paw Jail gia 15 lepta

ok?

Guest
This topic is now closed to further replies.



  • Posts

    • Hello community, I’d like to share an improved version of the L2smr editor for StaticMeshes, focused on solving some workflow issues I found in the original tool. CreditsThis project is based on the original acmi/L2smr repository https://github.com/acmi/L2smr , created by acmi, and I updated it to Java 17 with some additional features. Issues in the original L2smr Too many windows: each StaticMesh opened in a new one → cluttered desktop. No search: navigating through hundreds of StaticMeshActors was slow and tedious. Added improvements Flexible views Single Window Mode: reuse one window instead of opening new ones. Multiple Window Mode: still available for those who prefer having several views open simultaneously. Real-time Search Field Instant filtering as you type. Case-insensitive search. “Reset” button to quickly clear the search.     Installation and Execution: Clone the repository: git clone https://github.com/Jeep12/l2smr.git cd l2smr        2.Build the project:   ./gradlew build        3. Run the application:     ./run.bat      Or simply double-click on run.bat.     The run.bat script automatically extracts JavaFX from the included javafx-17.0.2.zip file in the javafx/ directory, sets up the required libraries, and launches the application. You don’t    need to install JavaFX separately.      Repository: https://github.com/Jeep12/l2smr     Maybe these features already existed in another version or fork, and they might not be very big changes, but since I didn’t know about them and found them necessary, I decided to          implement them myself and wanted to share them.      
    • no....Mobius L2Clientdat and L2FileEditor can do that...but still cant works with TaiWanese Grand Crusade ,especially Armorgrp.dat and Armorgrp-Classic.dat
    • L2GOLD - Halcyon x45 Project Classic Interlude   C6 - Classic Interlude: Protocol 110     Is a complete copy of L2Gold in Classic [110 Protocol] with L2OFF files.   Fully L2Gold Features - Daily Quest - Daily Mining Quest - Ancient Weapons -Refine System  -Rebirth System -Fully configurable everything you want -Gold stats/Gold skills/Gold items working 100% -Zones 100% alike  -Unique donations system (npc or voicedcommand .donate) - On Enchant success announcement ( if +16 for weapon, 8 for armor , 7 for jewel) - Announce of Castle Lord - Announce of Hero  - Olympiad Max A grade - Olympiad Buffs on matches changed to Gold Alike - Working fully Dreadbane   - AI Mods: Static Time for RB   Automated Events: Squash Watermelon RB Event High rate  (those are fully automated)   Server is running a Test Server: Online to anyone can test it.   Game Client: https://www.mediafire.com/file/1d8xe18rvgi04lx/L2_Classic_Interlude_Client_V2.rar/file   Game Patch: https://www.mediafire.com/file/3z4b8ezy93h2z1g/L2Halcyon+Gold+Patch.rar/file   GM Accounts: ID: root pass root [ accounts go from  root1 until root20 ]   Regular Accounts Registrations: http://84.247.164.27/?page=register   Some Screenshots: https://imgur.com/a/o7TxzTN   Contact me here via PM (only serious buyers).    Price of the product: Fully Server Pack + Source ( 250 Euros )
    • ✨ A Service with Vibes  Vibe SMS ✨   Vibe SMS is not just a platform for working with numbers. We’ve built it to be simple, convenient, and stress-free, so your tasks get done without hassle. We value real communication: we listen to your ideas, provide support, and make sure everyone feels calm and confident. With us, you’re not just a client  you’re part of a space built on trust, support, and a human touch. Vibe SMS is a place where people matter and where we create an atmosphere you’ll want to stay in.   Website link — https://vibe-sms.net/ Our Telegram channel — https://t.me/vibe_sms
  • 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