Καταρχήν πρέπει να κάνετε checkout το svn του project που έχετε επιλέξει, αλλά μην κάνετε build.
Ας πάρουμε ένα τυχαίο java code
Index: /trunk/L2_GameServer_It/java/config/other.properties
===================================================================
#Amount of adena that a new character is given
#Default is 0
StartingAdena = 0
+
+# Set true for custom spawn location.
+CustomSpawn = false
+SpawnX = x
+SpawnY = y
+SpawnZ = z
Index: /trunk/L2_GameServer_It/java/net/sf/l2j/Config.java
===================================================================
public static float RAID_MIN_RESPAWN_MULTIPLIER;
/** Mulitplier for Raid boss maximum time respawn */
public static float RAID_MAX_RESPAWN_MULTIPLIER;
/** Amount of adenas when starting a new character */
public static int STARTING_ADENA;
+
+ public static boolean SPAWN_CHAR;
+ public static int SPAWN_X;
+ public static int SPAWN_Y;
+ public static int SPAWN_Z;
+
@@
RAID_MIN_RESPAWN_MULTIPLIER = Float.parseFloat(otherSettings.getProperty("RaidMinRespawnMultiplier", "1.0"));
RAID_MAX_RESPAWN_MULTIPLIER = Float.parseFloat(otherSettings.getProperty("RaidMaxRespawnMultiplier", "1.0"));
STARTING_ADENA = Integer.parseInt(otherSettings.getProperty("StartingAdena", "100"));
+
+ SPAWN_CHAR = Boolean.parseBoolean(otherSettings.getProperty("CustomSpawn", "false"));
+ SPAWN_X = Integer.parseInt(otherSettings.getProperty("SpawnX", ""));
+ SPAWN_Y = Integer.parseInt(otherSettings.getProperty("SpawnY", ""));
+ SPAWN_Z = Integer.parseInt(otherSettings.getProperty("SpawnZ", ""));
Index: /trunk/L2_GameServer_It/java/net/sf/l2j/gameserver/clientpackets/CharacterCreate.java
===================================================================
@@ -177,7 +177,13 @@
-
- newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ);
-
+ if (Config.SPAWN_CHAR)
+ {
+ newChar.setXYZInvisible(Config.SPAWN_X, Config.SPAWN_Y, Config.SPAWN_Z);
+ }
+ else
+ {
+ newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ);
+ }
+
+
του xAddytzu.
1) Θα αρχίσουμε να "κόβουμε" το code σε μικρά κομματάκια.
Πρώτα πηγαίντε /trunk/L2_GameServer_It/java/config/other.properties
και πατήστε control + f, (Θα προσπαθήτε κάθε φορά να κάνετε search μια κοντινή γραμμή κοντά στα lines με τα + ή τα -) βρείτε λοιπόν το
StartingAdena = 0
με το control + f και βάλτε απο κάτω
+
+# Set true for custom spawn location.
+CustomSpawn = false
+SpawnX = x
+SpawnY = y
+SpawnZ = z
Αρχήστε να σβήνετε τα + απο μπροστά και τελειώσατε με το 1ο part.
2) Τώρα πηγαίντε στο
/trunk/L2_GameServer_It/java/net/sf/l2j/Config.java
και κάντε search μια κοντινή line, π.χ
/** Amount of adenas when starting a new character */
και προσθέστε
+
+ public static boolean SPAWN_CHAR;
+ public static int SPAWN_X;
+ public static int SPAWN_Y;
+ public static int SPAWN_Z;
και πάλι σβήστε τα + από μπροστά.
Ύστερα βρέιτε αυτό
STARTING_ADENA = Integer.parseInt(otherSettings.getProperty("StartingAdena", "100"));
που είναι κοντά σε αυτό που θέλου με να προσθέσουμε. Και ξανά προσθέστε αυτές τις γραμμές απο κάτω
+
+ SPAWN_CHAR = Boolean.parseBoolean(otherSettings.getProperty("CustomSpawn", "false"));
+ SPAWN_X = Integer.parseInt(otherSettings.getProperty("SpawnX", ""));
+ SPAWN_Y = Integer.parseInt(otherSettings.getProperty("SpawnY", ""));
+ SPAWN_Z = Integer.parseInt(otherSettings.getProperty("SpawnZ", ""));
και σβήστε τα +.
3) και τελευταίο part. Πηγαίντε
/trunk/L2_GameServer_It/java/net/sf/l2j/gameserver/clientpackets/CharacterCreate.java
και βρείτε
newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ);
. ΤΩΡΑ ΠΟΥ ΈΧΕΙ - ΔΙΑ ΓΡΑΦΟΥΜΕ ΑΥΤΑ ΠΟΥ ΜΑΣ ΛΕΕΙ. Δηλαδή διαγράφουμε την γραμμή
newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ);
και τα κενά πάνω και κάτω απο αυτή. Στη συνέχεια προσθέστε αυτές τις γραμμές
+ if (Config.SPAWN_CHAR)
+ {
+ newChar.setXYZInvisible(Config.SPAWN_X, Config.SPAWN_Y, Config.SPAWN_Z);
+ }
+ else
+ {
+ newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ);
+ }
+
+
σβήστε και πάλι τα + και τελειώσατε.
Είναι πολύ απλό, αν έχετε όρεξη μπορείτε να κάνετε τα πάντα.
Guide από εμένα.