Jump to content

Recommended Posts

Posted

Χερετώ Για άλλη μια φόρα το Maxcheaters είχα να κάνω δουλεία εδώ και πάρα πολυ καιρό λόγο κάποιον προβλημάτων που υπήρχαν!!! Τώρα επειδή επέστρεψα ξανά στην παρέα του Maxcheaters αποφάσισα να σας κάνω share αυτό το οποίο μου έχετε ζητήσει εδω και πάρα πολυ καιρό....Ας Μην τρώω τον χρόνο σας ας ξεκινίσουμε κατευθείαν!!

 

Λοιπόν βήμα πρώτο πρέπει  να έχουμε το pack μας έτοιμο δλδ εννοώ να έχουμε κάνει Dowload τα Files μας σε ένα οποιοδίποτε σημείο που εμείς θέλουμε και να έχουμε διαλέξει το project μας...Εγώ Δίαλεξα L2j Interlude

 

Βήμα δεύτερο διαλέγουμε τον Κώδικα που θέλουμε να περάσουμε!!! Εγώ διάλεξα αυτον Εδω

 

Index: java/com/Ovenus/gameserver/handler/skillhandlers/Continuous.java
===================================================================
--- java/com/Ovenus/gameserver/handler/skillhandlers/Continuous.java	(revision 2)
+++ java/com/Ovenus/gameserver/handler/skillhandlers/Continuous.java	(working copy)
@@ -92,6 +92,9 @@
			{
				continue;
			}
+			// With Mystic Immunity you can't be buffed/debuffed
+			if (target.isBuffShieldOn())
+				continue;
			// Player holding a cursed weapon can't be buffed and can't buff
			if (skill.getSkillType() == L2Skill.SkillType.BUFF && !(activeChar instanceof L2ClanHallManagerInstance))
			{
Index: java/com/Ovenus/gameserver/handler/skillhandlers/Disablers.java
===================================================================
--- java/com/Ovenus/gameserver/handler/skillhandlers/Disablers.java	(revision 2)
+++ java/com/Ovenus/gameserver/handler/skillhandlers/Disablers.java	(working copy)
@@ -144,6 +144,8 @@
				// or dead
				continue;
			}
+			if (target.isBuffShieldOn())
+				continue;
			switch (type)
			{
				case BETRAY:
Index: java/com/Ovenus/gameserver/model/L2Character.java
===================================================================
--- java/com/Ovenus/gameserver/model/L2Character.java	(revision 2)
+++ java/com/Ovenus/gameserver/model/L2Character.java	(working copy)
@@ -28,6 +28,7 @@
import javolution.util.FastList;
import javolution.util.FastMap;
import javolution.util.FastTable;
+
import com.Ovenus.Config;
import com.Ovenus.gameserver.GameTimeController;
import com.Ovenus.gameserver.GeoData;
@@ -144,6 +145,7 @@
	// Data Field
	private List<L2Character> _attackByList;
	private volatile boolean _isCastingNow = false;
+	private boolean _buffShield = false;
	// private L2Character _attackingChar;
	private L2Skill _lastSkillCast;
	private boolean _isAfraid = false; // Flee in a random direction
@@ -7576,6 +7578,19 @@
		return _showSummonAnimation;
	}

+	
+	public final void enableBuffShield(boolean value)
+	{
+		_buffShield = value;
+	}
+
+	public boolean isBuffShieldOn()
+	{
+
+		return (_buffShield);
+			
+	}
+	
	/**
	 * @param showSummonAnimation
	 *            The showSummonAnimation to set.
Index: java/com/Ovenus/gameserver/model/L2Effect.java
===================================================================
--- java/com/Ovenus/gameserver/model/L2Effect.java	(revision 2)
+++ java/com/Ovenus/gameserver/model/L2Effect.java	(working copy)
@@ -51,7 +51,7 @@

	public static enum EffectType
	{
-		BUFF, BUFFIMMUNITY, CHARGE, DMG_OVER_TIME, HEAL_OVER_TIME, COMBAT_POINT_HEAL_OVER_TIME, MANA_DMG_OVER_TIME, MANA_HEAL_OVER_TIME, RELAXING, STUN, ROOT, SLEEP, HATE, FAKE_DEATH, CONFUSION, CONFUSE_MOB_ONLY, MUTE, FEAR, ILENT_MOVE, SEED, PARALYZE, STUN_SELF, PSYCHICAL_MUTE, REMOVE_TARGET, TARGET_ME, SILENCE_MAGIC_PHYSICAL, BETRAY, NOBLESSE_BLESSING, SOUL_OF_THE_PHOENIX, SALVATION, PETRIFICATION, BLUFF, INVUL, INTERRUPT, CHARM_OF_LUCK, SIGNET_GROUND, SIGNET_EFFECT, SIGNET, IMMOBILEUNTILATTACKED, DEBUFF, PROTECTION_BLESSING, CHARMOFCOURAGE, SILENT_MOVE, CHANCE_SKILL_TRIGGER
+		BUFF, BUFFIMMUNITY, CHARGE, DMG_OVER_TIME, HEAL_OVER_TIME, COMBAT_POINT_HEAL_OVER_TIME, MANA_DMG_OVER_TIME, MANA_HEAL_OVER_TIME, RELAXING, STUN, ROOT, SLEEP, HATE, FAKE_DEATH, CONFUSION, CONFUSE_MOB_ONLY, MUTE, FEAR, ILENT_MOVE, SEED, PARALYZE, STUN_SELF, PSYCHICAL_MUTE, REMOVE_TARGET, TARGET_ME, SILENCE_MAGIC_PHYSICAL, BETRAY, NOBLESSE_BLESSING, SOUL_OF_THE_PHOENIX, SALVATION, PETRIFICATION, BLUFF, INVUL, INTERRUPT, CHARM_OF_LUCK, SIGNET_GROUND, SIGNET_EFFECT, SIGNET, IMMOBILEUNTILATTACKED, DEBUFF, PROTECTION_BLESSING, CHARMOFCOURAGE, SILENT_MOVE, CHANCE_SKILL_TRIGGER, PREVENT_BUFF
	}

	private static final Func[] _emptyFunctionSet = new Func[0];
Index: java/com/Ovenus/gameserver/skills/effects/EffectAntiBuffShield.java
===================================================================
--- java/com/Ovenus/gameserver/skills/effects/EffectAntiBuffShield.java	(revision 0)
+++ java/com/Ovenus/gameserver/skills/effects/EffectAntiBuffShield.java	(revision 0)
@@ -0,0 +1,71 @@
+package com.Ovenus.gameserver.skills.effects;
+
+import com.Ovenus.gameserver.model.L2Effect;
+import com.Ovenus.gameserver.model.L2Effect.EffectType;
+import com.Ovenus.gameserver.skills.Env;
+
+/**
+ * An effect that prevents player to be buffed. Doesn't work when: <LI>
+ * Self-buffing</LI> <LI>Flagged/Karma</LI> <LI>Duelling</LI>
+ * 
+ * @author Ovenus
+ */
+public final class EffectAntiBuffShield extends L2Effect
+{
+	/**
+	 * @param env
+	 * @param template
+	 */
+	public EffectAntiBuffShield(Env env, EffectTemplate template)
+	{
+		super(env, template);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.Ovenus.gameserver.model.L2Effect#getEffectType()
+	 */
+	@Override
+	public EffectType getEffectType()
+	{
+		return EffectType.PREVENT_BUFF;
+	}
+
+	
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.Ovenus.gameserver.model.L2Effect#onActionTime()
+	 */
+	@Override
+	public boolean onActionTime()
+	{
+		return false;
+	}
+	
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.Ovenus.gameserver.model.L2Effect#onStart()
+	 */
+	@Override
+	public void onStart()
+	{
+		getEffected().enableBuffShield(true);
+		return;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.Ovenus.gameserver.model.L2Effect#onExit()
+	 */
+	@Override
+	public void onExit()
+	{
+		getEffected().enableBuffShield(false);
+	}
+
+
+}

 

Γιατί δίαλεξα αυτον εδώ τον Κώδικα διότι αν κοιτάξετε προσεκτικά δεν υπάρχει path με όνομα

"java/com/Ovenus/gameserver/handler/skillhandlers/Continuous.java" εμείς απο ότι βλέπετε και στην παρακάτω εικόνα έχουμε

"net/sf/l2j/gameserver/handler/skillhanders/Coninuous.java"

 

nh17hy.jpg

 

Γιατί γίνετε αυτό διότι κάθε μα κάθε project έχει την δικία του διαδρομή...Στον Epillogue έχει γίνει "com/l2jserver/gameserver....."και τα λοιπά.. Η l2jBrazil έχει αλλη διαδρομή "com/it/br/gameserver...."Δεν μας απασχολουν ποτέ οι πρώτες διαδρομές μας απασχολεί πάντα απο το gameserver και κάτω δλδ στην δικία μας περίπτωση δεν μας ενδιαφέρει το "java/com/Ovenus/" εμάς στην L2j είναι "net/sf/l2j" ας συνεχίσω παρακάτω για να μης σας μπερδέψω....

Τώρα ανοίγουμε το αρχείο Continuous.java και πιγένουμε να περάσουμε το πρώτο κομάτι:

 

Μεσα στο Continuous.java μας λεέι να πάμε και να περάσουμε αυτο εδώ απο όσο ξέρετε περνάμε πάντα τα + και σβήνουμε τα -

η και καμία φορά κάνουμε αντικατάσταση το - με το + θα σας τα δέιξω ολα....

+			// With Mystic Immunity you can't be buffed/debuffed
+			if (target.isBuffShieldOn())
+				continue;

Στην ουσία οταν δούμε το Share μας λεει να πάμε και να προσθέσουμε ανάμεσα απο το :

                       {
				continue;
			}

και το

// Player holding a cursed weapon can't be buffed and can't buff
			if (skill.getSkillType() == L2Skill.SkillType.BUFF && !(activeChar instanceof L2ClanHallManagerInstance))
			{

 

τον κώδικα

+			// With Mystic Immunity you can't be buffed/debuffed
+			if (target.isBuffShieldOn())
+				continue;

Το οποίο όταν το δούμε όλο είναι ετσι :

		{
				continue;
			}
+			// With Mystic Immunity you can't be buffed/debuffed
+			if (target.isBuffShieldOn())
+				continue;
			// Player holding a cursed weapon can't be buffed and can't buff
			if (skill.getSkillType() == L2Skill.SkillType.BUFF && !(activeChar instanceof L2ClanHallManagerInstance))
			{

Τώρα πάμε στο Eclipse μας και ψάχνουμε για το "// Player holding a cursed weapon can't be buffed and can't buff"

γιατί διάλεξα αυτήν την γραμμή και όχι την γραμμή που λέει : "continue;" διότι μέσα στο project σίγουρα υπάρχει και άλλο "continue;" οπότε δεν θα ξέρουμε αν το 1 η το 5 "continue;" που θα βρίσκαμε θα ήταν στο σωστό σημείο για να περάσουμε τον κώδικα μας οπότε δίαλεξα το άλλο που σίγουρα αν υπάρχει μέσα στο Project μας θα μας το εμφανίσει ακριβώς όπως είναι !!!Υπάρχει περίπτωση πολη πιθανή και αυτή, να μην υπάρχει κάθολου η συγκεκριμένη γραμμή  μεσα στο project μας...Τι θα κάνουμε σε αυτή την περίπτωση θα σας δέιξω πιο κάτω... Ας δούμε τώρα στην εικόνα οτι όντως βρέθηκε το συγκεκριμένο κομμάτι μέσα στο Project μας....

 

width=1024 height=714http://i56.tinypic.com/28ti71j.jpg[/img]

 

Το αμέσως επόμενο βήμα είναι να πάμε να περάσουμε αυτό εδώ το κομάτι

 

+			// With Mystic Immunity you can't be buffed/debuffed
+			if (target.isBuffShieldOn())
+				continue;

 

πάνω απο τό

 


			// Player holding a cursed weapon can't be buffed and can't buff
			if (skill.getSkillType() == L2Skill.SkillType.BUFF && !(activeChar instanceof L2ClanHallManagerInstance))
			{

 

Δηλαδή θα γίνει έτσι

 

10xf0v9.jpg

 

Απο ότι βλέπετε και ποιο πάνω υπάρχουν κόκκινες γραμμές δηλαδή λάθη στον κώδικα μας αυτο συμβαίνει διότι υπάρχουν τα "+"

Όταν σβήσετε τα "+" θα γίνει έτσι!!!

1z149zt.jpg

 

Τι συμβαίνει τώρα εδώ εξακολουθέι και υπάρχει ενα ακόμα λαθος!!!! Γιατι αυτό?? Διότι ακόμα δεν έχουμε περάσει τον υπόλοιπο κώδικα μας και έτσι δεν βρίσκει πουθενά σε όλο το project μας δηλωμένο το "isBuffShieldOn" Οπότε συνεχίζουμε παρακάτω και θα δούμε οτι στο τέλος το προβλημά μας θα έχει λυθει επιτυχώς....

 

Κάνουμε Save το java αρχείο μας και συνεχίζουμε στο επόμενω μέρος...!!

 

Τώρα βρισκόμαστε σε αυτό εδώ το σημείο και είμαστε έτοιμη να συνεχίσουμε παρακάτω:

width=400 height=768http://i52.tinypic.com/wj9cat.jpg[/img]

 

Το επόμενω μας λέει να πάμε στο "java/com/Ovenus/gameserver/handler/skillhandlers/Disablers.java"

παλι τα ίδια αλλα απο όσο είδαμε και πρίν είναι παρα πολύ απλό και έτσι εμείς θα πάμε στο :

"net/sf/l2j/gameserver/handler/skillhandlers/Disablers.java"

width=400 height=768http://i52.tinypic.com/k96gr8.jpg[/img]

 

Ανοίγουμε το αρχείο μας και πάμε να περάσουμε τώρα αυτο εδώ το κομμάτι :

+			if (target.isBuffShieldOn())
+				continue;

 

Μας λέει πάλι να πάμε να το περάσουμε ανάμεσα απο το :

 

				// or dead
				continue;
			}

 

και το :

 

			switch (type)
			{
				case BETRAY:

 

Πάμε ξανά και ψάχνουμε για την λέξη που είμαστε πιο σίγουρη οτι θα υπάρχει την : "case BETRAY:"

k46s1g.jpg

 

Αφού το βρίκαμε και αυτό τότε περνάμε αυτο :

+			if (target.isBuffShieldOn())
+				continue;

Εκει που είπαμε...Ο κώδικας μας θα πρέπει να γίνει ετσι :

 

2i9qjk8.jpg

 

Τώρα πηγαίνουμε και ξανασβήνουμε τα "+" και θα γίνει έτσι:

 

9jkpqt.jpg

 

Έχουμε πάλι το ίδιο λάθος γιατι όπως είπαμε και πριν δεν έχουμε τελειώσει με τον κώδικα μας!!!

Κάνουμε Save και κλίνουμε και αυτο το αρχέιο Java....

 

Τώρα είμαστε σε αυτό εδώ το σημείο!!!!:

width=400 height=768http://i52.tinypic.com/wj9cat.jpg[/img]

 

Συνεχίζουμε στο επόμενω κομμάτι και μας λέει να πάμε στο :

 

"java/com/Ovenus/gameserver/model/L2Character.java" πάλι η ίδια διαδρομή εμείς την αλλάζουμε όπως είδαμε ανάλογα με το δικό μας project σε "net/sf/l2j/gameserver/model/L2Character.java"

 

width=400 height=768http://i52.tinypic.com/wklefc.jpg[/img]

 

Ανοίγουμε το αρχείο με όνομα L2Character.java και μας λέει να πάμε στα imports και να αφήσουμε ενα "Κενο"

 

import javolution.util.FastList;
import javolution.util.FastMap;
import javolution.util.FastTable;
+
import com.Ovenus.Config;
import com.Ovenus.gameserver.GameTimeController;
import com.Ovenus.gameserver.GeoData;

 

Εδώ θέλει λίγη προσοχή διότι αν δείτε τα δικά μας import είναι

 

import net.sf.l2j.Config;

import net.sf.l2j.gameserver.GameTimeController;

import net.sf.l2j.gameserver.GeoData;

 

Υπαρχει Μεγάλη διαφορά στα import... την οποία και θα πούμε παρακάτω τώρα ας αφήσουμε το "κενό" που μας ζηταέι και συνεχίζουμε παρακάτω!!

 

Τώρα μας λέει να πάμε και να περάσουμε αυτη εδώ την γραμμή : ("+  private boolean _buffShield = false;")

// Data Field
	private List<L2Character> _attackByList;
	private volatile boolean _isCastingNow = false;
+	private boolean _buffShield = false;
	// private L2Character _attackingChar;
	private L2Skill _lastSkillCast;
	private boolean _isAfraid = false; // Flee in a random direction

 

Πάμε και κάνουμε αναζήτηση μέσα στον κώδικα το "// Data Field" και κάτω απο το private volatile boolean _isCastingNow = false;

μας λέει να περάσουμε το private boolean _buffShield = false; αν δείτε όμως μέσα στο project μας δεν έχουμε το : private volatile boolean _isCastingNow = false; Τι κάνουμε?? Απλώς κοιτάμε και βλέπουμε οτι δεν υπάρχει το private volatile boolean _isCastingNow = false; αλλα υπάρχει το private List<L2Character> _attackByList; οπότε τι κάνουμε ??? Περνάμε την γραμμή μας κάτω απο το : private List<L2Character> _attackByList; και γίνετε έτσι:

 

w8aiz8.jpg

 

Σβήνουμε το "+" και γίνετε έτσι:

 

2425swl.jpg

 

Τώρα συνεχίζουμε το επόμενο βήμα είναι :

 

	return _showSummonAnimation;
	}

+	
+	public final void enableBuffShield(boolean value)
+	{
+		_buffShield = value;
+	}
+
+	public boolean isBuffShieldOn()
+	{
+
+		return (_buffShield);
+			
+	}
+	
	/**
	 * @param showSummonAnimation
	 *            The showSummonAnimation to set.

 

Λοιπόν εδώ είναι το πρόβλημμα για το οποίο σας έλεγα οτι θα μιλίσουμε παρακάτω απο ότι βλέπετε οσο και ψάξετε δεν θα βρείτε πουθενά ούτε το :

          return _showSummonAnimation;
	}

 

Αλλα ούτε και το :

/**
	 * @param showSummonAnimation
	 *            The showSummonAnimation to set.

 

Τι θα κάνουμε εδώ θα κοιτάξουμε την γραμμή ???? Ας πάμε να δούμε μας λέει να πάμε στην γραμμή "-7576,6 +7578,19 @@"

 

απο ότι όμως βλεπετε και στην εικόνα η γραμμές μας τελειώνουν στο : 6191....

 

izt9n4.jpg

 

Άλλο ένα πρόβλημα τι θα κάνουμε τώρα?????

 

Διαβάζουμε τι κάνει το κομμάτι του κωδικά μας και μας λέει οτι :

+	
+	public final void enableBuffShield(boolean value)
+	{
+		_buffShield = value;
+	}
+
+	public boolean isBuffShieldOn()
+	{
+
+		return (_buffShield);
+			

 

οτι κάνουμε enableBuffShield το μας δίνει _buffShield = value;

αν το isBuffShieldOn ειναι ανοικτό τότε μας επιστρέφει το buff...

 

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


/**
 * Enable a skill (remove it from _disabledSkills of the L2Character).<BR><BR>
 *
 * <B><U> Concept</U> :</B><BR><BR>
 * All skills disabled are identified by their skillId in <B>_disabledSkills</B> of the L2Character <BR><BR>
 *
 * @param skillId The identifier of the L2Skill to enable
 *
 */

 

Αυτο που μας νοίαζει ποιο πολύ είναι αυτο εδώ :

"@param skillId The identifier of the L2Skill to enable"

 

και έτσι διαπιστόνουμε οτι θα μπορέσουμε να περάσουμε τον κωδικά μας εκει πέρα!!!

 

Το σημείο είναι έτσι :

 

infkg5.jpg

 

Θα το περάσουμε κάτω απο αυτό εδώ διότι:

public void enableSkill(int skillId)
{
	if (_disabledSkills == null) return;

	_disabledSkills.remove(new Integer(skillId));

	if (this instanceof L2PcInstance)
		removeTimeStamp(skillId);
}

 

To public void enableSkill(int skillid)

δηλώνη κάτι και στην συνέχεια μεσα

στις {εδω μέσα κάνει κάτι οποτε εμείς πρέπει να το περάσουμε ειτε πάνω απο το  "public void enableSkill(int skillid)"}

η στο τελείωμα τις αγγυλης... οπότε θα το κάνουμε έτσι :

 

2hyxabk.jpg

 

Σβήνουμε τα "+" Και βλέπουμε όπως και στην εικόνα οτι δεν υπάρχει κανένα λάθος ....

 

13z5uo6.jpg

 

Κάνουμε Save το αρχείο java μας και φτάνουμε στο προ τελευταίο σημείο....

 

Μας λέει να πάμε στο "java/com/Ovenus/gameserver/model/L2Effect.java" αλλά εμείς θα πάμε στο

"net/sf/l2j/gameserver/model/L2Effect.java" όπως στην εικόνα :

 

width=401 height=768http://i56.tinypic.com/eja8aq.jpg[/img]

 

Ανοίγουμε το αρχείο και βρίσκουμε το :

 

public static enum EffectType

 

2rpcmeh.jpg

 

και μας λέει να σβήσουμε το :

-		BUFF, BUFFIMMUNITY, CHARGE, DMG_OVER_TIME, HEAL_OVER_TIME, COMBAT_POINT_HEAL_OVER_TIME, MANA_DMG_OVER_TIME, MANA_HEAL_OVER_TIME, RELAXING, STUN, ROOT, SLEEP, HATE, FAKE_DEATH, CONFUSION, CONFUSE_MOB_ONLY, MUTE, FEAR, ILENT_MOVE, SEED, PARALYZE, STUN_SELF, PSYCHICAL_MUTE, REMOVE_TARGET, TARGET_ME, SILENCE_MAGIC_PHYSICAL, BETRAY, NOBLESSE_BLESSING, SOUL_OF_THE_PHOENIX, SALVATION, PETRIFICATION, BLUFF, INVUL, INTERRUPT, CHARM_OF_LUCK, SIGNET_GROUND, SIGNET_EFFECT, SIGNET, IMMOBILEUNTILATTACKED, DEBUFF, PROTECTION_BLESSING, CHARMOFCOURAGE, SILENT_MOVE, CHANCE_SKILL_TRIGGER

 

29220l5.jpg

 

εδώ είναι η λεγόμενη αντικατάσταση τι γίνετε εδώ σβήνουμε ολη αυτη την γραμμή και στο ίδιο σημείο που είμαστε κάνουμε

επικόλληση το :

 

BUFF, BUFFIMMUNITY, CHARGE, DMG_OVER_TIME, HEAL_OVER_TIME, COMBAT_POINT_HEAL_OVER_TIME, MANA_DMG_OVER_TIME, MANA_HEAL_OVER_TIME, RELAXING, STUN, ROOT, SLEEP, HATE, FAKE_DEATH, CONFUSION, CONFUSE_MOB_ONLY, MUTE, FEAR, ILENT_MOVE, SEED, PARALYZE, STUN_SELF, PSYCHICAL_MUTE, REMOVE_TARGET, TARGET_ME, SILENCE_MAGIC_PHYSICAL, BETRAY, NOBLESSE_BLESSING, SOUL_OF_THE_PHOENIX, SALVATION, PETRIFICATION, BLUFF, INVUL, INTERRUPT, CHARM_OF_LUCK, SIGNET_GROUND, SIGNET_EFFECT, SIGNET, IMMOBILEUNTILATTACKED, DEBUFF, PROTECTION_BLESSING, CHARMOFCOURAGE, SILENT_MOVE, CHANCE_SKILL_TRIGGER, PREVENT_BUFF

 

width=702 height=768http://i56.tinypic.com/1z5huet.jpg[/img]

 

και σβήνουμε το "+" και είμαστε εντάξει!

Κάνουμε Save το αρχείο μας και φτάσαμε στο τελευταίο βήμα!!!!!!!

 

Εδώ μας λέει να πάμε στο : "java/com/Ovenus/gameserver/skills/effects/EffectAntiBuffShield.java"

εμείς πηγαίνουμε στο :"net/sf/l2j/gameserver/skills/effects/EffectAntiBuffShield.java"

Αλλα και να πάμε θα διαπιστώσουμε οτι δεν υπάρχει αρχείο με το όνομα "EffectAntiBuffShield.java"

τι κάνουμε εδώ πιγαίνουμε πάρα πολυ απλά και αντιγράφουμε ενα άλλο αρχειο .java που υπάρχει εκει όπως στην εικόνα:

 

width=612 height=768http://i52.tinypic.com/332y0l5.jpg[/img]

 

τώρα πηγένουμε και πατάμε δεξί Click πάνω στην διαδρομή : "net/sf/l2j/gameserver/skills/effects"  και πατάμε επικόλληση...

 

width=527 height=768http://i55.tinypic.com/23i80fo.jpg[/img]

 

και τώρα μας λεέι να δώσουμε ένα όνομα στο αρχέιο μας δείτε την εικόνα:

 

width=810 height=768http://i51.tinypic.com/2vwtmq9.jpg[/img]

 

εμείς εδώ θα δώσουμε ώς όνομα αρχείου αυτο που δεν βρίκαμε πριν δλδ το :"EffectAntiBuffShield.java"

 

width=960 height=768http://i54.tinypic.com/5nozl2.jpg[/img]

 

Σβήνουμε το .java και πατάμε "Οκ" όπως στην εικόνα:

 

width=758 height=768http://i56.tinypic.com/4dieg.jpg[/img]

 

Τώρα βλέπουμε τον κώδικα και τον κάνουμε αντιγραφή:

 

+package com.Ovenus.gameserver.skills.effects;
+
+import com.Ovenus.gameserver.model.L2Effect;
+import com.Ovenus.gameserver.model.L2Effect.EffectType;
+import com.Ovenus.gameserver.skills.Env;
+
+/**
+ * An effect that prevents player to be buffed. Doesn't work when: <LI>
+ * Self-buffing</LI> <LI>Flagged/Karma</LI> <LI>Duelling</LI>
+ * 
+ * @author Ovenus
+ */
+public final class EffectAntiBuffShield extends L2Effect
+{
+	/**
+	 * @param env
+	 * @param template
+	 */
+	public EffectAntiBuffShield(Env env, EffectTemplate template)
+	{
+		super(env, template);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.Ovenus.gameserver.model.L2Effect#getEffectType()
+	 */
+	@Override
+	public EffectType getEffectType()
+	{
+		return EffectType.PREVENT_BUFF;
+	}
+
+	
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.Ovenus.gameserver.model.L2Effect#onActionTime()
+	 */
+	@Override
+	public boolean onActionTime()
+	{
+		return false;
+	}
+	
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.Ovenus.gameserver.model.L2Effect#onStart()
+	 */
+	@Override
+	public void onStart()
+	{
+		getEffected().enableBuffShield(true);
+		return;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.Ovenus.gameserver.model.L2Effect#onExit()
+	 */
+	@Override
+	public void onExit()
+	{
+		getEffected().enableBuffShield(false);
+	}
+
+
+}

 

Ανοίγουμε το αρχέιο μας με όνομα EffectAntiBuffShield.java:

 

πατάμε Ctrl + A τα επιλέγουμε όλα δλδ και στην συνέχεια κανουμε επικόλληση ολον τον java code όπως στην εικόνα :

 

width=690 height=768http://i52.tinypic.com/sv5hzc.jpg[/img]

 

Σβήνουμε όλα τα "+" και θα γίνει έτσι :

 

213pwqr.jpg

 

Αλλα εξακολουθούν να υπάρχουν κάποια ακόμα λάθη αυτο γίνετε διότι τα imports είναι έτσι :

package com.Ovenus.gameserver.skills.effects;

import com.Ovenus.gameserver.model.L2Effect;
import com.Ovenus.gameserver.model.L2Effect.EffectType;
import com.Ovenus.gameserver.skills.Env;

 

Ενώ θα έπρεπε να ηταν έτσι :

 

package net.sf.l2j.gameserver.skills.effects;

import net.sf.l2j.gameserver.model.L2Effect;
import net.sf.l2j.gameserver.model.L2Effect.EffectType;
import net.sf.l2j.gameserver.skills.Env;

 

Και γιατί αυτο??? Διότι όπως είπαμε πριν το path δεν ήταν "com.Ovenus.gameserver.skills.effects" στο project μας ...

Σε εμάς είναι έτσι :"net.sf.l2j.gameserver.skills.effects" και για αυτο είχαμε αυτα τα λάθη εφόσον είχαμε σβήσει τα "+"....

 

Τελειώνοντας να θυμάστε οτι πάντα πρέπει οταν περνάτε εναν κώδικα οτι τα imports πρέπει να είναι πάντα τα ίδια με το project σας γιατί αλλιώς δεν θα λειτουργήσει.... Καντε Compile και τρέξτε τον Server σας και δείτε τα αποτελέσματα

 

P.S

(Ο συγκεκριμένος code θέλει και client mode απλα τον χρισιμοποίησα ποιο πολύ διότι εδω μέσα έχει παρα μα πάρα πολλες απορίες που ελπιζω να σας έλισα...Ορίστε και 2 Photo για να το δείτε οτι δουλέυει)

 

Photo 1 :

 

width=803 height=768http://i53.tinypic.com/1zyftbq.jpg[/img]

 

Photo 2 :

 

width=766 height=768http://i53.tinypic.com/19kxts.jpg[/img]

 

Τέλος και με αυτο το Guide ελπίζω να σας φανεί χρίσιμο και να καταλάβετε τι κάνατε λαθος τοσο καιρό και δεν τα καταφέρνατε....

Θα ήθελα σας παρακαλώ αν μπορείτε να μην κάνετε αρνητικά σχόλια και αυτό το λεω διότι στο Guide μου το προηγούμενο ειχα ακούσει οτι είχα πάρει απο άλλα Guides και τα είχα βάλει όλα σε ένα ...Ελπίζω να μην μου πείτε και το ίδιο για αυτό !!!!

 

Ξέχασα να πω όλα τα Gredits σε εμένα δεν έχω κάνει κάποιο C/P..Σας χερετώ και θα τα χαναπούμε σύντομα....

 

Best Regards,

 

Papaditsa!!!!!

Posted

Εντάξει έγραψες για άλλη μια φορά! Μπράβο σου είναι άψογο!! Αν είναι δυνατόν τώρα κάποιος να ρωτήσει για το πώς θα περάσει Java Code. Και κάτι ακόμα προσωπική μου άποψη πρέπει να γίνει Sticky!

Posted

haha  pigena na sou dwsw karma, alal ida pws idi sou exoun dwsei 3 atoma LOL XD

 

Poli wreo guide, ilikrina xrisimo kai  me leptomeries....  xerome pou girises :)

Posted

Eyxaristw olous gia ta kala sas logia kai zhtw sygnwmh gia tin apousia mou !!!!! Tha sunexisw oso mporw na help !

εδω σου εδωσαν 3 ατομα karma

Aλλα πολυ κουραστικο ρε φιλε,μεγαλο

 

Posted

Gys Sas euxaristw olous...Ontws einai megalo to guide alla gia na ta exigisw ola etsi eprepe na ginei !!! Euxaristw gia to karma kai tha sunexisw na ftiaxnw kai alla osa mporw gia nas boithisw!

Posted

aporo giati kathese kai kaneis share kai boithas ola ta axrista noobs pou einai sto forum. Oi perissoteroi apo aytous pou boithas einai klasikoi leechers pou karpononte ton kopo alonon.

Posted

aporo giati kathese kai kaneis share kai boithas ola ta axrista noobs pou einai sto forum. Oi perissoteroi apo aytous pou boithas einai klasikoi leechers pou karpononte ton kopo alonon.

+1

an kai gw etsi ksekinisa eftasa se simeio na kserw kapia pragmata plewn kai mporw na voithaw alous..asxeto to onoma sou Leluche an vgaleis to lu menei to Leche exei kamia sxesh?

 

Τέλος και με αυτο το Guide ελπίζω να σας φανεί χρίσιμο και να καταλάβετε τι κάνατε λαθος τοσο καιρό και δεν τα καταφέρνατε....

Θα ήθελα σας παρακαλώ αν μπορείτε να μην κάνετε αρνητικά σχόλια και αυτό το λεω διότι στο Guide μου το προηγούμενο ειχα ακούσει οτι είχα πάρει απο άλλα Guides και τα είχα βάλει όλα σε ένα ...Ελπίζω να μην μου πείτε και το ίδιο για αυτό !!!!

file mou apsogo opos kai ta ipolipa POSTS sou liga kai kala pou lene.

toso analitiko pou eipa poles fores "ma einai dinatwn na min to gnwrizei kapios auto" kai omos epidi einai kai epiases ta kalitera merei gia enan newbie aksizeis sigxaritiria..!

gia to meros (mh xesw)"copy/paste" an ekfrastw tha faw ban. elpizw na katalavaineis.

kai pali poli kali douleia keep up ;)

Posted

file mou apsogo opos kai ta ipolipa POSTS sou liga kai kala pou lene.

toso analitiko pou eipa poles fores "ma einai dinatwn na min to gnwrizei kapios auto" kai omos epidi einai kai epiases ta kalitera merei gia enan newbie aksizeis sigxaritiria..!

gia to meros (mh xesw)"copy/paste" an ekfrastw tha faw ban. elpizw na katalavaineis.

kai pali poli kali douleia keep up ;)

 

Euxaristw para para poli gia ta kala sou logia !!! Kai katalaba ti ennoeis ;)

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

    • ✔ We offer more services than listed. Prices of goods may vary depending on country, warranty, phone number, and other factors. We are available 24/7. ⠀⠀⠀⠀⠀⠀⣀⣠⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⣴⡿⠋⠉⠉⠻⢿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠹⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⣿⡄⠀⠀⠀⠀⠀⠀⢸⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠸⣷⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⢀⣀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢻⣇⠀⠀⠀⠀⠀⢸⣿⣿⡿⠿⠿⠟⠛⠛⠻⢿⣿⣶⣄⠀⠀⠀ ⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣤⣤⣤⠀⠈⠻⣿⣇⠀⠀ ⠀⠀⠀⠀⢀⣾⡏⠀⠀⠀⠀⠀⠀⠀⣴⡿⠋⠉⠀⠀⠀⠀⠀⠀⠀⢹⡿⠀⠀ ⠀⠀⣀⣤⣼⣿⠀⠀⠀⠀⠀⠀⠀⢸⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣷⣄⠀ ⢠⣾⠟⠋⠉⠋⠀⠀⠀⠀⠀⠀⠀⠈⣿⣦⣀⣀⣀⣤⣤⣶⣶⠿⠋⠁⢹ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡟⢉⣿⠋⠉⠉⠉⠁⠀⠀⠀⠀⢸⣿⠀ ⢸⣿⠀⠀⠀⠀⠀⢀⣀⣀⣤⣴⠿⠋⠀⠘⣷⡀⠀⠀⠀⠀⠀⠀⢀⣴⣿⠏⠀ ⢸⣿⡄⠀⠀⠀⠀⠈⠉⠉⠁⠀⠀⠀⠀⠀⣸⣿⢶⣤⣤⣴⡶⠿⠛⠙⣿ ⠈⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⣽⣿⠀ ⠀⠘⣿⣆⠀⠀⠀⠀⣠⣤⡀⠀⠀⠀⠀⠈⠻⣧⣀⡀⠀⠀⠀⣀⣠⣴⡿⠇⠀ ⠀⠀⠘⢿⣿⣦⣤⣴⡿⠻⠿⣷⣦⣤⣤⣤⣴⣾⣿⡿⠿⠿⠿⠟⠛⠉⠀⠀⠀ ⠀⠀⠀⠀⠀⠀
    • Frozen is more popular coz adm can edit npc from client side and no need dig in xml and etc  )
    • Your work is as good as your arrogance. If you didn't break 10 systems to fix 1, I would recommend aCis. Yes, I use aCis and I fixed a lot of things that you left aside to reorganize and rename things. You insist on recommending your broken public project. Don't do that because there are many people who dream of owning a server, and in aCis 409 every dream is broken. I've seen many people break things by using this. aCis 409 doesn't work at the basics. Water movement and flying movements are broken, which is the basics. Seven Sings is completely broken, Sieges need fixing, and worst of all, level 3 and 4 clan quests are bugged, besides other quests that you intentionally broke and still recommend. You are an excellent programmer, but your arrogance in feeling superior to everyone is killing you. Happy New Year to you, and be more transparent and honest when recommending this. I'm not sharing the corrections I made, nor my Geodata system, precisely because of your arrogance. I'll soon post a video of my Geoengine system, which you spent 12 years on and didn't finish. I can send you a list of everything you need to fix, but you're too arrogant for that because you're a superior God and don't accept advice from mortals.
    • Changelog   All notable changes to this project will be documented in this file. [English Version](#english-version) | [Versión en Español](#versión-en-español)   ---   English Version   [1.1.3] - 2026-01-05   Added   Donation System Integration - Integrated comprehensive donation panel into the main CMS - Implemented direct donation system without requiring user login - Added automatic coin crediting directly to character inventory - Created new React component for donation interface with modern design - Implemented real-time coin calculation based on payment method and currency - Added support for multiple payment gateways:   - MercadoPago (ARS)   - PayPal (USD, BRL, EUR)   - PagSeguro (BRL) - Developed new backend endpoint for processing direct donations - Implemented character validation system before payment processing - Added automatic webhook handling for payment confirmations - Created comprehensive logging system for all donation transactions - Implemented bonus system for bulk coin purchases - Added donation history tracking and management   Vote Reward System - Integrated vote reward panel into the CMS - Implemented multi-topsite voting system - Added automatic reward delivery upon vote verification - Created vote tracking and cooldown management - Implemented anti-fraud measures for vote validation - Added vote history and statistics for users - Developed admin panel for vote reward configuration - Implemented automatic vote verification through topsite APIs   Database Enhancements - Created new table structure for donation management (`site_donations`) - Added `auto_credit` field for automatic coin delivery - Implemented balance tracking system (`site_balance`) - Created conversion and transfer logging tables - Added comprehensive indexing for performance optimization - Implemented transaction history tracking   Frontend Improvements - Developed new donation panel component with consistent site design - Added multi-language support (Spanish, English, Portuguese) - Implemented form validation and error handling - Created responsive design for mobile and desktop - Added real-time price calculation display - Implemented loading states and user feedback messages   Backend Infrastructure - Created secure API endpoints for donation processing - Implemented webhook system for payment gateway integration - Added comprehensive error logging and debugging tools - Developed configuration management system - Implemented security measures for sensitive data handling - Added support for sandbox and production environments   Documentation - Created comprehensive production setup guide - Developed security checklist for deployment - Added database setup scripts with detailed instructions - Created API integration documentation - Developed troubleshooting guides - Added configuration examples for all payment gateways   Changed - Updated navigation system to include donation and vote panels - Modified routing to support new panel pages - Enhanced translation system with new text strings - Improved error handling across the application - Updated proxy configuration for backend communication   Security - Implemented credential protection in configuration files - Added example configuration files without sensitive data - Created .htaccess rules for protecting sensitive directories - Implemented webhook signature validation - Added SQL injection prevention measures - Implemented session security enhancements   Technical Details - React 19.2.0 for frontend components - TypeScript for type safety - Vite 6.2.0 for build tooling - PHP 7.4+ for backend processing - SQL Server 2012+ for database management - Integration with MercadoPago SDK - RESTful API architecture   ---   Versión en Español   [1.1.3] - 2026-01-05   Agregado   Integración del Sistema de Donaciones - Integración completa del panel de donaciones al CMS principal - Implementación de sistema de donaciones directas sin requerir inicio de sesión - Agregada acreditación automática de coins directamente al inventario del personaje - Creación de nuevo componente React para interfaz de donaciones con diseño moderno - Implementación de cálculo de coins en tiempo real según método de pago y moneda - Agregado soporte para múltiples pasarelas de pago:   - MercadoPago (ARS)   - PayPal (USD, BRL, EUR)   - PagSeguro (BRL) - Desarrollo de nuevo endpoint backend para procesamiento de donaciones directas - Implementación de sistema de validación de personajes antes del procesamiento de pago - Agregado manejo automático de webhooks para confirmaciones de pago - Creación de sistema completo de logs para todas las transacciones de donación - Implementación de sistema de bonos para compras de coins en volumen - Agregado seguimiento y gestión de historial de donaciones   Sistema de Recompensas por Votación - Integración del panel de recompensas por votación al CMS - Implementación de sistema de votación multi-topsite - Agregada entrega automática de recompensas al verificar votos - Creación de seguimiento de votos y gestión de tiempos de espera - Implementación de medidas anti-fraude para validación de votos - Agregado historial de votos y estadísticas para usuarios - Desarrollo de panel administrativo para configuración de recompensas - Implementación de verificación automática de votos mediante APIs de topsites   Mejoras en Base de Datos - Creación de nueva estructura de tablas para gestión de donaciones (`site_donations`) - Agregado campo `auto_credit` para entrega automática de coins - Implementación de sistema de seguimiento de balance (`site_balance`) - Creación de tablas de registro de conversiones y transferencias - Agregada indexación completa para optimización de rendimiento - Implementación de seguimiento de historial de transacciones   Mejoras en Frontend - Desarrollo de nuevo componente de panel de donaciones con diseño consistente - Agregado soporte multi-idioma (Español, Inglés, Portugués) - Implementación de validación de formularios y manejo de errores - Creación de diseño responsive para móvil y escritorio - Agregada visualización de cálculo de precios en tiempo real - Implementación de estados de carga y mensajes de retroalimentación al usuario   Infraestructura Backend - Creación de endpoints API seguros para procesamiento de donaciones - Implementación de sistema de webhooks para integración con pasarelas de pago - Agregadas herramientas completas de registro de errores y depuración - Desarrollo de sistema de gestión de configuración - Implementación de medidas de seguridad para manejo de datos sensibles - Agregado soporte para entornos sandbox y producción   Documentación - Creación de guía completa de configuración para producción - Desarrollo de checklist de seguridad para despliegue - Agregados scripts de configuración de base de datos con instrucciones detalladas - Creación de documentación de integración de APIs - Desarrollo de guías de solución de problemas - Agregados ejemplos de configuración para todas las pasarelas de pago   Modificado - Actualización del sistema de navegación para incluir paneles de donación y votación - Modificación del enrutamiento para soportar nuevas páginas de paneles - Mejora del sistema de traducciones con nuevas cadenas de texto - Mejora del manejo de errores en toda la aplicación - Actualización de configuración de proxy para comunicación con backend   Seguridad - Implementación de protección de credenciales en archivos de configuración - Agregados archivos de configuración de ejemplo sin datos sensibles - Creación de reglas .htaccess para proteger directorios sensibles - Implementación de validación de firma de webhooks - Agregadas medidas de prevención de inyección SQL - Implementación de mejoras de seguridad en sesiones   Detalles Técnicos - React 19.2.0 para componentes frontend - TypeScript para seguridad de tipos - Vite 6.2.0 para herramientas de construcción - PHP 7.4+ para procesamiento backend - SQL Server 2012+ para gestión de base de datos - Integración con SDK de MercadoPago - Arquitectura API RESTful   ---   Migration Notes / Notas de Migración   For Existing Installations / Para Instalaciones Existentes   **English:** If you are upgrading from a previous version, please follow these steps: 1. Backup your database before applying any changes 2. Run the database migration script (`database_setup.sql`) 3. Update your configuration file with new settings 4. Configure payment gateway credentials 5. Test the donation flow in sandbox mode before going to production 6. Review the security checklist before deployment   **Español:** Si está actualizando desde una versión anterior, siga estos pasos: 1. Realice una copia de seguridad de su base de datos antes de aplicar cambios 2. Ejecute el script de migración de base de datos (`database_setup.sql`) 3. Actualice su archivo de configuración con las nuevas opciones 4. Configure las credenciales de las pasarelas de pago 5. Pruebe el flujo de donaciones en modo sandbox antes de pasar a producción 6. Revise el checklist de seguridad antes del despliegue   ---   Known Issues / Problemas Conocidos   **English:** - Webhook notifications may experience delays during high traffic periods - Some payment gateways require manual configuration of webhook URLs - Character names are case-sensitive in the donation form   **Español:** - Las notificaciones de webhook pueden experimentar retrasos durante períodos de alto tráfico - Algunas pasarelas de pago requieren configuración manual de URLs de webhook - Los nombres de personajes son sensibles a mayúsculas/minúsculas en el formulario de donación   ---   Roadmap / Hoja de Ruta   Planned Features / Características Planeadas   **English:** - Admin dashboard for donation management - Automated refund processing - Subscription-based donations - Gift card system - Enhanced reporting and analytics - Mobile application support   **Español:** - Panel administrativo para gestión de donaciones - Procesamiento automatizado de reembolsos - Donaciones basadas en suscripción - Sistema de tarjetas de regalo - Reportes y análisis mejorados - Soporte para aplicación móvil   ---   Contributors / Contribuidores   This release includes contributions from the development team focused on creating a secure, user-friendly donation and voting system integrated seamlessly with the existing CMS.   Este lanzamiento incluye contribuciones del equipo de desarrollo enfocado en crear un sistema de donaciones y votación seguro y fácil de usar, integrado perfectamente con el CMS existente.   ---   Support / Soporte   **English:** For issues, questions, or feature requests, please refer to: - `PRODUCTION_SETUP_GUIDE.md` for setup instructions - `SECURITY_CHECKLIST.md` for security guidelines - `DONATION_DIRECT_SYSTEM.md` for technical documentation   **Español:** Para problemas, preguntas o solicitudes de características, consulte: - `PRODUCTION_SETUP_GUIDE.md` para instrucciones de configuración - `SECURITY_CHECKLIST.md` para pautas de seguridad - `DONATION_DIRECT_SYSTEM.md` para documentación técnica   ---   License / Licencia   This project maintains its original licensing terms. Please refer to the LICENSE file for details.   Este proyecto mantiene sus términos de licencia originales. Consulte el archivo LICENSE para más detalles.   ---   **Last Updated / Última Actualización:** January 5, 2026   **Version / Versión:** 1.1.3
  • 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..

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