Jump to content

[Share][GR]Ευκαιρία leader να βοηθησει τα members του κανοντας απλα Pvp


Recommended Posts

Πολυ καλο και για low,mid αλλα και για pvp rate servers.

Μπορει να γινει και με database connections , εγω το εκανα χωρις.

 

Ολοι οι clanleaders θελουν να βοηθησουν τα members τους να ντυθουν, αλλα δεν εχουν παντα τα items να τους δωσουν. Ε λοιπον με αυτο θα μπορουν να βοηθησουν τα members τους κανοντας pvp. Οταν ενας clanleader παρει 6 pvp στη σειρα , ολα τα members της clan παιρνουν reward.Ολα ομως, ειτε ειναι online , ειτε offline.Ετσι θα μπορουν να βοηθανε τα members τους κανοντας pvp. Οσοι ηταν offline , οταν μπενουν ενημερωνωνται για το reward επισης και το παιρνουν φυσικα.

 

Καντε στον φακελο data ενα αρχειο .txt με ονομα members και αφηστε το κενο.


### Eclipse Workspace Patch 1.0
#P Chr.6GMS
Index: java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java
===================================================================
--- java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java	(revision 5263)
+++ java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java	(working copy)
@@ -46,6 +46,7 @@
import net.sf.l2j.gameserver.model.L2Effect;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.model.L2World;
+import net.sf.l2j.gameserver.model.LeaderHelp;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.entity.ClanHall;
import net.sf.l2j.gameserver.model.entity.Couple;
@@ -251,6 +252,13 @@

         SevenSigns.getInstance().sendCurrentPeriodMsg(activeChar);
         Announcements.getInstance().showAnnouncements(activeChar);
+        
+        if(LeaderHelp.isMember(activeChar))
+        {
+        	activeChar.getInventory().addItem("", 2807, 25, activeChar, null);
+        	activeChar.sendMessage("You rewarded with items for your clan's leader pvps rows");
+        	LeaderHelp.remove(activeChar.getName());
+        }

		Quest.playerEnter(activeChar);
		activeChar.sendPacket(new QuestList());
Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(revision 5263)
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -105,6 +105,7 @@
import net.sf.l2j.gameserver.model.L2SkillLearn;
import net.sf.l2j.gameserver.model.L2Summon;
import net.sf.l2j.gameserver.model.L2World;
+import net.sf.l2j.gameserver.model.LeaderHelp;
import net.sf.l2j.gameserver.model.MacroList;
import net.sf.l2j.gameserver.model.PcFreight;
import net.sf.l2j.gameserver.model.PcInventory;
@@ -364,6 +365,8 @@

	private boolean _isIn7sDungeon = false;

+	private int _leaderSpree = 0;
+	
     private boolean _inJail = false;
     private long _jailTimer = 0;
     private ScheduledFuture<?> _jailTask;
@@ -1010,6 +1013,7 @@
		_newbie = isNewbie;
	}

+	

	public void setBaseClass(int baseClass)
	{
@@ -4176,6 +4180,9 @@
			{
				pk.kills.add(getName());
			}
+			
+			if(isClanLeader() && _leaderSpree > 0)
+				_leaderSpree = 0;

			// Clear resurrect xp calculation
			setExpBeforeDeath(0);
@@ -4448,6 +4455,37 @@
     {
         // Add karma to attacker and increase its PK counter
         setPvpKills(getPvpKills() + 1);
+        
+        if(isClanLeader()){
+        	_leaderSpree++;
+        	if(_leaderSpree == 6){
+        		sendMessage("You rewarded with 6 pvps in a row");
+        		getInventory().addItem("", 2807, 25, this, null);
+        		L2ClanMember[] m = null;
+				if(getClan().getMembersCount() < 2)
+        			sendMessage("You rewarded successfully but only you.");
+        		else{
+        			m = getClan().getMembers();
+				    for(L2ClanMember s : m){
+				    	if(s.isOnline()){
+				    		L2PcInstance j = s.getPlayerInstance();
+				    		j.sendMessage("Your clan leader rewarded with 6 pvps in a row so you rewarded and you");
+				    		j.getInventory().addItem("", 2807, 25, j, null);
+				    	}
+				    	else{
+				    		LeaderHelp.clanRewards.add(s.getName());
+				    	}
+				    }	
+				    if(LeaderHelp.clanRewards.isEmpty())
+				    {}
+				    else{
+				     LeaderHelp.addMembers();
+				    }
+        		
+        		_leaderSpree = 0;
+        			}
+        	}
+        }

         // Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
         sendPacket(new UserInfo(this));
Index: java/net/sf/l2j/gameserver/model/LeaderHelp.java
===================================================================
--- java/net/sf/l2j/gameserver/model/LeaderHelp.java	(revision 0)
+++ java/net/sf/l2j/gameserver/model/LeaderHelp.java	(revision 0)
@@ -0,0 +1,84 @@
+package net.sf.l2j.gameserver.model;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.LineNumberReader;
+import java.util.StringTokenizer;
+import java.util.logging.Level;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import javolution.util.FastList;
+
+public class LeaderHelp{
+	
+	public static FastList<String> clanRewards = new FastList<String>();
+	static File file = new File(Config.DATAPACK_ROOT, "data/members.txt");
+	
+	public static boolean isMember(L2PcInstance j){
+		if(clanRewards.contains(j.getName()))
+			return true;
+		return false;
+	}
+	
+	public static void addMembers(){
+		FileWriter save = null;
+		try
+		{
+			save = new FileWriter(file);
+			for (int i = 0; i < clanRewards.size(); i++)
+			{
+				save.write(clanRewards.get(i));
+				save.write("\r\n");
+			}
+			save.flush();
+			save.close();
+			save = null;
+		}
+		catch (IOException e)
+		{
+			e.printStackTrace();
+		}
+	}
+	
+	public static void remove(String n){
+		clanRewards.remove(n);
+		addMembers();
+	}
+	
+	public static void onStart(){
+		LineNumberReader l = null;
+		try
+		{
+			String line = null;
+			l = new LineNumberReader(new FileReader(file));
+			while ( (line = l.readLine()) != null)
+			{
+				StringTokenizer st = new StringTokenizer(line,"\n\r");
+				if (st.hasMoreTokens())
+				{
+					String t = st.nextToken();
+					clanRewards.add(t);
+				}
+			}
+
+		}
+		catch (IOException e1)
+		{
+			e1.printStackTrace();
+		}
+		finally
+		{
+			try
+			{
+				l.close();
+			}
+			catch (Exception e2)
+			{
+			}
+		}
+	}
+	
+}
\ No newline at end of file
Index: java/net/sf/l2j/gameserver/GameServer.java
===================================================================
--- java/net/sf/l2j/gameserver/GameServer.java	(revision 5263)
+++ java/net/sf/l2j/gameserver/GameServer.java	(working copy)
@@ -221,6 +221,7 @@
import net.sf.l2j.gameserver.model.L2Manor;
import net.sf.l2j.gameserver.model.L2PetDataTable;
import net.sf.l2j.gameserver.model.L2World;
+import net.sf.l2j.gameserver.model.LeaderHelp;
import net.sf.l2j.gameserver.model.entity.Hero;
import net.sf.l2j.gameserver.model.entity.TvTManager;
import net.sf.l2j.gameserver.network.L2GameClient;
@@ -604,6 +605,7 @@
			CoupleManager.getInstance();

         TaskManager.getInstance();
+        LeaderHelp.onStart();

		GmListTable.getInstance();

Link to comment
Share on other sites

mpravo file polu kalo alla tha gunotan polu kalutero ean to ekanes san Event

Ti enow ? na to ekanes me Start kai End na to ksekunouses esei stis 5 to apogeuma kai na teleiwne stis 8 kwpes etsi i apo configs false true

pantos polu kalo tha to dokimasw

Link to comment
Share on other sites

mpravo file polu kalo alla tha gunotan polu kalutero ean to ekanes san Event

Ti enow ? na to ekanes me Start kai End na to ksekunouses esei stis 5 to apogeuma kai na teleiwne stis 8 kwpes etsi i apo configs false true

pantos polu kalo tha to dokimasw

 

den xriazete na to kani auto kai etsi mia xara einai

Link to comment
Share on other sites

Είναι κομπλε δεν λέω,αλλα δεν καταλαβαίνω γιατί δυσκολεύεις τη ζωή σου στους τελευταίους σου κώδικες..

Δεν υπάρχει λόγος για .txt όταν γίνεται ΠΟΛΥ πιο εύκολα με db connections,δεν λεω με τον τρόπο που το κάνεις εσύ είναι πιο advanced,αλλά κατα την γνώμη μου δεν υπάρχει λόγος να το κάνεις αυτό..

 

Link to comment
Share on other sites

Είναι κομπλε δεν λέω,αλλα δεν καταλαβαίνω γιατί δυσκολεύεις τη ζωή σου στους τελευταίους σου κώδικες..

Δεν υπάρχει λόγος για .txt όταν γίνεται ΠΟΛΥ πιο εύκολα με db connections,δεν λεω με τον τρόπο που το κάνεις εσύ είναι πιο advanced,αλλά κατα την γνώμη μου δεν υπάρχει λόγος να το κάνεις αυτό..

πιστεψε με , το να δωσεις items σε clan members δεν ειναι τοσο απλο με database connections. πηγα να το κανω στην αρχη και ψηλο μπερδευτηκα αν θες προσπαθησε το και εσυ και θα καταλαβεις τι εννοω στη μεση του κωδικα περιπου..

 

και επισης πρεπει να μαθενω να κοιταω και τι ειναι πιο ελαφρυ για το συστημα , οχι τι ειναι πιο ευκολο.

Link to comment
Share on other sites

Κανένα antibot protection δεν παίζει; μπορεί κάποιος να φτιάξει 150 char για να πάρει 150 φορές το reward.

Link to comment
Share on other sites

Κανένα antibot protection δεν παίζει; μπορεί κάποιος να φτιάξει 150 char για να πάρει 150 φορές το reward.

εχει γινει share αυτο το θεωρουσα δεδομενο.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   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

    • Good luck with ur server looks decent the legend is back 🙂
    • The Photoshop Pen Tool, denoted by a pen nib icon, is a versatile tool for precise selections and paths. Click to create anchor points, drag for curves, and close paths to make selections. Refine with the Direct Selection Tool. Useful for intricate designs, cutouts, and precise selections in just a few clicks.
    • My experience with the "Developer" Ban L2JDEV.   On September 22nd, after much effort, I made the terrible decision to work with this individual. At first, everything went smoothly, even pleasantly one could say. In summary, from September 22nd to the present date, he has delivered 2 versions of the pack. The first one seemed like a beta made by someone inexperienced in development. The second one was an even older version. The latest version delivered on December 1st is an older version of ACIS and has nothing to do with what I initially purchased. There were some "improvements" he claimed to have made regarding the drop system, which, in reality, doesn't work at all; it's a delay in time. He asked for 2 more days to add everything I wanted, and, adapting to that pack because time was running out, on December 5th, he claimed he was sick (classic). On December 6th, I informed him of some issues with his drop MOD. On December 7th, I began calling and messaging him to find out what was happening, but to this date, I have never received a response from him. He is always online but never shows up. I will leave a couple of YouTube links with the entire conversation from day one through Discord and WhatsApp, including images of payments and everything else, in case someone is interested in the matter. I know time and money won't be returned with this post, but besides venting, I would appreciate everyone's support in spreading this to prevent more people from being scammed by this individual.       Minha experiência com o "Desenvolvedor" Ban L2JDEV.   Em 22 de setembro, após muito esforço, tomei a terrível decisão de trabalhar com este indivíduo. No início, tudo correu bem, até agradavelmente, poderia-se dizer. Em resumo, do dia 22 de setembro até a presente data, ele entregou 2 versões do pacote. O primeiro parecia uma versão beta feita por alguém inexperiente no mundo do desenvolvimento. O segundo era uma versão ainda mais antiga. A última versão entregue em 1º de dezembro é uma versão mais antiga do ACIS e não tem nada a ver com o que eu comprei inicialmente. Houve algumas "melhorias" que ele afirmou ter feito no sistema de drop, que na realidade não funciona de maneira alguma; é um atraso no tempo. Ele pediu mais 2 dias para adicionar tudo o que eu queria, adaptando-me a esse pacote porque o tempo estava se esgotando. Em 5 de dezembro, ele respondeu que estava doente (clássico). Em 6 de dezembro, informei sobre alguns problemas com o MOD de drop dele. Em 7 de dezembro, comecei a ligar e escrever para saber o que estava acontecendo, mas até a presente data, nunca recebi uma resposta dele. Ele está sempre online, mas nunca se manifesta. Deixarei alguns links do YouTube com toda a conversa desde o primeiro dia pelo Discord e WhatsApp, incluindo imagens dos pagamentos e tudo o mais, caso alguém esteja interessado no assunto. Eu sei que o tempo e o dinheiro não serão recuperados com este post, mas além de desabafar, eu apreciaria o apoio de todos para divulgar isso e evitar que mais pessoas sejam enganadas por este indivíduo.         Mi experiencia con el "Desarrollador" Ban L2JDEV.   el 22 de septiembre después de mucho esfuerzo, tome la terrible decisión de trabajar con este individuo, al principio todo fue fluido, hasta agradable se podría decir. Haciendo resumen, desde el 22 de septiembre a la fecha, me ha entregado 2 versiones del pack, el primero que parecía beta hecha por algún pasante por el mundo del desarrollo. Y el segundo una versión mas antigua... la ultima versión entregada el 1ro de diciembre es una versión mas antigua del acis y no tenia nada que ver con lo que había comprado al principio, unas "mejoras" de parte de el con el tema del drop, cosa que no funciona para nada, es un retraso en el tiempo. Me pidió 2 días mas para agregar todo lo que yo quería, adaptándome a ese pack porque ya el tiempo me ganaba, el 5 de diciembre me responde que estuvo enfermo, clásica. El día 6 le informo de unos problemas con su MOD de drop. el día 7 empiezo a llamarlo y a escribirle para saber que pasaba, cosa que hasta la fecha nunca he tenido una respuesta de su parte. Siempre esta en lineal, solo no da la cara. Dejare un par de links de youtube, con toda la conversación desde el primer día por discord y WhatsApp, imagenes los pagos y todo el resto por si alguien esta interesado en el tema. Se que el tiempo ni el dinero serán retornados con este post, pero además de desahogarme, agradecería el apoyo de todos para regar esto y evitar que mas gente sea estafada por este individuo Links:       
    • THE PROBLEM SOLVED!    YOU CAN LOCK THE TOPIC!          Reset PC connection, and everything will be fine, if anyone will meet a problem like that. 
  • Topics

×
×
  • Create New...