Jump to content

[Share]Level Zones Areas με Commands.


Recommended Posts

Καλησπέρα. Μοιράζομαι το εξής!!!

 

Commands: .lvl20 / .lvl40 / .lvl60 / .lvl75

 

For Interlude.

config:
# Specified reward item rnd qty
ChampionRewardItemQty = 1
+
+# ----------------------------------------------
+#  Level Up Areas
+# ----------------------------------------------
+# Custom Level Zones. (.lvl20)
+Lvl20CommandAllow = True
+# Enter your spawn Location.
+lvl20_X = x
+lvl20_Y = y
+lvl20_Z = z
+Level20Messenge = You are in 20 Level Area.
+
+# Custom Level Zones. (.lvl40)
+Lvl40CommandAllow = True
# Enter your spawn Location.
+lvl40_X = x
+lvl40_Y = y
+lvl40_Z = z
+Level20Messenge = You are in 40 Level Area.
+
+# Custom Level Zones. (.lvl60)
+Lvl60CommandAllow = True
# Enter your spawn Location.
+lvl60_X = x
+lvl60_Y = y
+lvl60_Z = z
++Level20Messenge = You are in 60 Level Area.
+
+# Custom Level Zones. (.lvl75)
+Lvl75CommandAllow = True
# Enter your spawn Location.
+lvl75_X = x
+lvl75_Y = y
+lvl75_Z = z
+Level20Messenge = You are in 75 Level Area.
+
=====
Index: sf/l2j/config.java
       public static int L2JMOD_CHAMPION_REWARD_QTY;
+	public static String LVL20_MESSAGE;
+	public static String LVL40_MESSAGE;
+	public static String LVL60_MESSAGE;
+	public static String LVL75_MESSAGE;
+    public static boolean LVL20_COMMAND_ALLOW;
+    public static boolean LVL40_COMMAND_ALLOW;
+    public static boolean LVL60_COMMAND_ALLOW;
+    public static boolean LVL75_COMMAND_ALLOW;
+	public static int LVL20_X;
+	public static int LVL20_Y;
+	public static int LVL20_Z;
+	public static int LVL40_X;
+	public static int LVL40_Y;
+	public static int LVL40_Z;
+	public static int LVL60_X;
+	public static int LVL60_Y;
+	public static int LVL60_Z;
+	public static int LVL75_X;
+	public static int LVL75_Y;
+	public static int LVL75_Z;


                  L2JMOD_CHAMPION_REWARD_QTY            = Integer.parseInt(L2JModSettings.getProperty("ChampionRewardItemQty", "1"));
+                LVL20_COMMAND_ALLOW = Boolean.parseBoolean(L2JModSettings.getProperty("Lvl20CommandAllow", "false"));
+                LVL40_COMMAND_ALLOW = Boolean.parseBoolean(L2JModSettings.getProperty("Lvl40CommandAllow", "false"));
+                LVL60_COMMAND_ALLOW = Boolean.parseBoolean(L2JModSettings.getProperty("Lvl60CommandAllow", "false"));
+                LVL75_COMMAND_ALLOW = Boolean.parseBoolean(L2JModSettings.getProperty("Lvl75CommandAllow", "false"));
+                LVL20_X = Integer.parseInt(L2JModSettings.getProperty("lvl20_X", "x));
+                LVL20_Y = Integer.parseInt(L2JModSettings.getProperty("lvl20_Y", "y"));
+                LVL20_Z = Integer.parseInt(L2JModSettings.getProperty("lvl20_Z", "z"));
+                LVL40_X = Integer.parseInt(L2JModSettings.getProperty("lvl40_X", "x));
+                LVL40_Y = Integer.parseInt(L2JModSettings.getProperty("lvl40_Y", "y"));
+                LVL40_Z = Integer.parseInt(L2JModSettings.getProperty("lvl40_Z", "z"));
+                LVL60_X = Integer.parseInt(L2JModSettings.getProperty("lvl60_X", "x"));
+                LVL60_Y = Integer.parseInt(L2JModSettings.getProperty("lvl60_Y", "y"));
+                LVL60_Z = Integer.parseInt(L2JModSettings.getProperty("lvl60_Z", "z"));
+                LVL75_X = Integer.parseInt(L2JModSettings.getProperty("lvl75_X", "x"));
+                LVL75_Y = Integer.parseInt(L2JModSettings.getProperty("lvl75_Y", "y"));
+                LVL75_Z = Integer.parseInt(L2JModSettings.getProperty("lvl75_Z", "z"));
+                LVL20_MESSAGE = L2JModSettings.getProperty("Level20Messenge", "You have been teleported to Farm Zone 1!");
+                LVL40_MESSAGE = L2JModSettings.getProperty("Level40Messenge", "You have been teleported to Farm Zone 2!");
+                LVL60_MESSAGE = L2JModSettings.getProperty("Level60Messenge", "You have been teleported to PvP Zone 1!");
+                LVL75_MESSAGE = L2JModSettings.getProperty("Level75Messenge", "You have been teleported to PvP Zone 2!");




=====
Index: net.sf.l2j.gameserver.handler.VoicedCommandHandler.java

import java.util.logging.Logger;

+import net.sf.l2j.gameserver.handler.voicedcommandhandlers.LevelZones;

import javolution.util.FastMap;


private VoicedCommandHandler()
{
	_datatable = new FastMap<String, IVoicedCommandHandler>();
+		if(Config.LVL20_COMMAND_ALLOW || Config.LVL40_COMMAND_ALLOW || Config.LVL60_COMMAND_ALLOW || Config.LVL75_COMMAND_ALLOW)
+		{
+			registerVoicedCommandHandler(new LevelZones());
+		}
}

public void registerVoicedCommandHandler(IVoicedCommandHandler handler)

 

Εδώ δημιουργούμε ένα καινούριο Class με όνομα LevelZone.java

=====
Index: net.sf.l2j.gameserver.handler.voicedcommandhandlers.LevelZones.java

/*
* 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.handler.voicedcommandhandlers;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.serverpackets.SetupGauge;
import net.sf.l2j.gameserver.ThreadPoolManager;

@SuppressWarnings("unused")
public class LevelZones implements net.sf.l2j.gameserver.handler.IVoicedCommandHandler
{
private static final String[] VOICED_COMMANDS =
{
		"lvl20", "lvl40", "lvl60", "lvl75"
};

@Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
	int placex;
	int placey;
	int placez;
	String message;

	if(command.equalsIgnoreCase("lvl20") && Config.LVL20_COMMAND_ALLOW)
	{
		placex = Config.LVL20_X;
		placey = Config.LVL20_Y;
		placez = Config.LVL20_Z;
		message = Config.LVL20_MESSAGE;
	}
	else if(command.equalsIgnoreCase("lvl40") && Config.LVL40_COMMAND_ALLOW)
	{
		placex = Config.LVL40_X;
		placey = Config.LVL40_Y;
		placez = Config.LVL40_Z;
		message = Config.LVL40_MESSAGE;
	}
	else if(command.equalsIgnoreCase("lvl60") && Config.LVL60_COMMAND_ALLOW)
	{
		placex = Config.LVL60_X;
		placey = Config.LVL60_Y;
		placez = Config.LVL60_Z;
		message = Config.LVL60_MESSAGE;
	}
	else if(command.equalsIgnoreCase("lvl75") && Config.LVL75_COMMAND_ALLOW)
	{
		placex = Config.LVL75_X;
		placey = Config.LVL75_Y;
		placez = Config.LVL75_Z;
		message = Config.LVL75_MESSAGE;
	}
	else
		return false;

	if(activeChar.isInJail())
	{
		activeChar.sendMessage("Sorry,you are in Jail!");
		return false;
	}
	else if(activeChar.isInOlympiadMode())
	{
		activeChar.sendMessage("Sorry,you are in the Olympiad now.");
		return false;
	}
	else if(activeChar.isInDuel())
	{
		activeChar.sendMessage("Sorry,you are in a duel!");
		return false;
	}
	else if(activeChar.inObserverMode())
	{
		activeChar.sendMessage("Sorry,you are in the observation mode.");
		return false;
	}
	else if(activeChar.isFestivalParticipant())
	{
		activeChar.sendMessage("Sorry,you are in a festival.");
		return false;
	}
	else if(!Config.ALT_GAME_KARMA_PLAYER_CAN_USE_GK && activeChar.getKarma() > 0)
	{
		activeChar.sendMessage("Sorry,PK player can't use this.");
		return false;
	}
	else if(activeChar.isDead())
	{
		activeChar.sendMessage("Sorry,Dead player can't teleport.");			
                        return false;
	}
	else if(activeChar.isFakeDeath())
	{
		activeChar.sendMessage("Sorry,on fake death mode can't use this.");
		return false;
	}
	else if(activeChar.atEvent)
	{
		activeChar.sendMessage("Sorry,you are on event now.");
		return false;
	}

	SetupGauge sg = new SetupGauge(SetupGauge.BLUE, 15000);
	activeChar.sendPacket(sg);
	sg = null;
	activeChar.setIsImobilised(true);

	ThreadPoolManager.getInstance().scheduleGeneral(new teleportTask(activeChar, placex, placey, placez, message), 15000);

	return true;
}

@Override
public String[] getVoicedCommandList()
{
	return VOICED_COMMANDS;
}

class teleportTask implements Runnable
{
	private final L2PcInstance _activeChar;
	private final int _x;
	private final int _y;
	private final int _z;
	private final String _message;

	teleportTask(L2PcInstance activeChar, int x, int y, int z, String message)
	{
		_activeChar = activeChar;
		_x = x;
		_y = y;
		_z = z;
		_message = message;
	}

	@Override
	public void run()
	{
		if(_activeChar == null)
			return;

		_activeChar.teleToLocation(_x, _y, _z);
		_activeChar.sendMessage(_message);
		_activeChar.setIsImobilised(false);
	}
}
}

Link to comment
Share on other sites

Καλησπέρα. Μοιράζομαι το εξής!!!

 

Commands: .lvl20 / .lvl40 / .lvl60 / .lvl75

 

For Interlude.

config:
# Specified reward item rnd qty
ChampionRewardItemQty = 1
+
+# ----------------------------------------------
+#  Level Up Areas
+# ----------------------------------------------
+# Custom Level Zones. (.lvl20)
+Lvl20CommandAllow = True
+# Enter your spawn Location.
+lvl20_X = x
+lvl20_Y = y
+lvl20_Z = z
+Level20Messenge = You are in 20 Level Area.
+
+# Custom Level Zones. (.lvl40)
+Lvl40CommandAllow = True
# Enter your spawn Location.
+lvl40_X = x
+lvl40_Y = y
+lvl40_Z = z
+Level20Messenge = You are in 40 Level Area.
+
+# Custom Level Zones. (.lvl60)
+Lvl60CommandAllow = True
# Enter your spawn Location.
+lvl60_X = x
+lvl60_Y = y
+lvl60_Z = z
++Level20Messenge = You are in 60 Level Area.
+
+# Custom Level Zones. (.lvl75)
+Lvl75CommandAllow = True
# Enter your spawn Location.
+lvl75_X = x
+lvl75_Y = y
+lvl75_Z = z
+Level20Messenge = You are in 75 Level Area.
+
=====
Index: sf/l2j/config.java
       public static int L2JMOD_CHAMPION_REWARD_QTY;
+	public static String LVL20_MESSAGE;
+	public static String LVL40_MESSAGE;
+	public static String LVL60_MESSAGE;
+	public static String LVL75_MESSAGE;
+    public static boolean LVL20_COMMAND_ALLOW;
+    public static boolean LVL40_COMMAND_ALLOW;
+    public static boolean LVL60_COMMAND_ALLOW;
+    public static boolean LVL75_COMMAND_ALLOW;
+	public static int LVL20_X;
+	public static int LVL20_Y;
+	public static int LVL20_Z;
+	public static int LVL40_X;
+	public static int LVL40_Y;
+	public static int LVL40_Z;
+	public static int LVL60_X;
+	public static int LVL60_Y;
+	public static int LVL60_Z;
+	public static int LVL75_X;
+	public static int LVL75_Y;
+	public static int LVL75_Z;


                  L2JMOD_CHAMPION_REWARD_QTY            = Integer.parseInt(L2JModSettings.getProperty("ChampionRewardItemQty", "1"));
+                LVL20_COMMAND_ALLOW = Boolean.parseBoolean(L2JModSettings.getProperty("Lvl20CommandAllow", "false"));
+                LVL40_COMMAND_ALLOW = Boolean.parseBoolean(L2JModSettings.getProperty("Lvl40CommandAllow", "false"));
+                LVL60_COMMAND_ALLOW = Boolean.parseBoolean(L2JModSettings.getProperty("Lvl60CommandAllow", "false"));
+                LVL75_COMMAND_ALLOW = Boolean.parseBoolean(L2JModSettings.getProperty("Lvl75CommandAllow", "false"));
+                LVL20_X = Integer.parseInt(L2JModSettings.getProperty("lvl20_X", "x));
+                LVL20_Y = Integer.parseInt(L2JModSettings.getProperty("lvl20_Y", "y"));
+                LVL20_Z = Integer.parseInt(L2JModSettings.getProperty("lvl20_Z", "z"));
+                LVL40_X = Integer.parseInt(L2JModSettings.getProperty("lvl40_X", "x));
+                LVL40_Y = Integer.parseInt(L2JModSettings.getProperty("lvl40_Y", "y"));
+                LVL40_Z = Integer.parseInt(L2JModSettings.getProperty("lvl40_Z", "z"));
+                LVL60_X = Integer.parseInt(L2JModSettings.getProperty("lvl60_X", "x"));
+                LVL60_Y = Integer.parseInt(L2JModSettings.getProperty("lvl60_Y", "y"));
+                LVL60_Z = Integer.parseInt(L2JModSettings.getProperty("lvl60_Z", "z"));
+                LVL75_X = Integer.parseInt(L2JModSettings.getProperty("lvl75_X", "x"));
+                LVL75_Y = Integer.parseInt(L2JModSettings.getProperty("lvl75_Y", "y"));
+                LVL75_Z = Integer.parseInt(L2JModSettings.getProperty("lvl75_Z", "z"));
+                LVL20_MESSAGE = L2JModSettings.getProperty("Level20Messenge", "You have been teleported to Farm Zone 1!");
+                LVL40_MESSAGE = L2JModSettings.getProperty("Level40Messenge", "You have been teleported to Farm Zone 2!");
+                LVL60_MESSAGE = L2JModSettings.getProperty("Level60Messenge", "You have been teleported to PvP Zone 1!");
+                LVL75_MESSAGE = L2JModSettings.getProperty("Level75Messenge", "You have been teleported to PvP Zone 2!");




=====
Index: net.sf.l2j.gameserver.handler.VoicedCommandHandler.java

import java.util.logging.Logger;

+import net.sf.l2j.gameserver.handler.voicedcommandhandlers.LevelZones;

import javolution.util.FastMap;


private VoicedCommandHandler()
{
	_datatable = new FastMap<String, IVoicedCommandHandler>();
+		if(Config.LVL20_COMMAND_ALLOW || Config.LVL40_COMMAND_ALLOW || Config.LVL60_COMMAND_ALLOW || Config.LVL75_COMMAND_ALLOW)
+		{
+			registerVoicedCommandHandler(new LevelZones());
+		}
}

public void registerVoicedCommandHandler(IVoicedCommandHandler handler)

 

Εδώ δημιουργούμε ένα καινούριο Class με όνομα LevelZone.java

=====
Index: net.sf.l2j.gameserver.handler.voicedcommandhandlers.LevelZones.java

/*
* 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.handler.voicedcommandhandlers;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.serverpackets.SetupGauge;
import net.sf.l2j.gameserver.ThreadPoolManager;

@SuppressWarnings("unused")
public class LevelZones implements net.sf.l2j.gameserver.handler.IVoicedCommandHandler
{
private static final String[] VOICED_COMMANDS =
{
		"lvl20", "lvl40", "lvl60", "lvl75"
};

@Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
	int placex;
	int placey;
	int placez;
	String message;

	if(command.equalsIgnoreCase("lvl20") && Config.LVL20_COMMAND_ALLOW)
	{
		placex = Config.LVL20_X;
		placey = Config.LVL20_Y;
		placez = Config.LVL20_Z;
		message = Config.LVL20_MESSAGE;
	}
	else if(command.equalsIgnoreCase("lvl40") && Config.LVL40_COMMAND_ALLOW)
	{
		placex = Config.LVL40_X;
		placey = Config.LVL40_Y;
		placez = Config.LVL40_Z;
		message = Config.LVL40_MESSAGE;
	}
	else if(command.equalsIgnoreCase("lvl60") && Config.LVL60_COMMAND_ALLOW)
	{
		placex = Config.LVL60_X;
		placey = Config.LVL60_Y;
		placez = Config.LVL60_Z;
		message = Config.LVL60_MESSAGE;
	}
	else if(command.equalsIgnoreCase("lvl75") && Config.LVL75_COMMAND_ALLOW)
	{
		placex = Config.LVL75_X;
		placey = Config.LVL75_Y;
		placez = Config.LVL75_Z;
		message = Config.LVL75_MESSAGE;
	}
	else
		return false;

	if(activeChar.isInJail())
	{
		activeChar.sendMessage("Sorry,you are in Jail!");
		return false;
	}
	else if(activeChar.isInOlympiadMode())
	{
		activeChar.sendMessage("Sorry,you are in the Olympiad now.");
		return false;
	}
	else if(activeChar.isInDuel())
	{
		activeChar.sendMessage("Sorry,you are in a duel!");
		return false;
	}
	else if(activeChar.inObserverMode())
	{
		activeChar.sendMessage("Sorry,you are in the observation mode.");
		return false;
	}
	else if(activeChar.isFestivalParticipant())
	{
		activeChar.sendMessage("Sorry,you are in a festival.");
		return false;
	}
	else if(!Config.ALT_GAME_KARMA_PLAYER_CAN_USE_GK && activeChar.getKarma() > 0)
	{
		activeChar.sendMessage("Sorry,PK player can't use this.");
		return false;
	}
	else if(activeChar.isDead())
	{
		activeChar.sendMessage("Sorry,Dead player can't teleport.");			
                        return false;
	}
	else if(activeChar.isFakeDeath())
	{
		activeChar.sendMessage("Sorry,on fake death mode can't use this.");
		return false;
	}
	else if(activeChar.atEvent)
	{
		activeChar.sendMessage("Sorry,you are on event now.");
		return false;
	}

	SetupGauge sg = new SetupGauge(SetupGauge.BLUE, 15000);
	activeChar.sendPacket(sg);
	sg = null;
	activeChar.setIsImobilised(true);

	ThreadPoolManager.getInstance().scheduleGeneral(new teleportTask(activeChar, placex, placey, placez, message), 15000);

	return true;
}

@Override
public String[] getVoicedCommandList()
{
	return VOICED_COMMANDS;
}

class teleportTask implements Runnable
{
	private final L2PcInstance _activeChar;
	private final int _x;
	private final int _y;
	private final int _z;
	private final String _message;

	teleportTask(L2PcInstance activeChar, int x, int y, int z, String message)
	{
		_activeChar = activeChar;
		_x = x;
		_y = y;
		_z = z;
		_message = message;
	}

	@Override
	public void run()
	{
		if(_activeChar == null)
			return;

		_activeChar.teleToLocation(_x, _y, _z);
		_activeChar.sendMessage(_message);
		_activeChar.setIsImobilised(false);
	}
}
}

 

Polu wreo Baggos sunexise thn kalh douleia kai ta shares :)

Link to comment
Share on other sites

@GOld3x den xreiazetai na kaneis Quote kai na gemhzeis to page me auto. Mporeis na peis oti 8eleis sxetika me auto xwris na kaneis Quote. Tzampa spam to opoio einai anousio

@Baggos polu wraio file kai epsaxna kati tetoio. Euxaristw para polu!

Link to comment
Share on other sites

Δεν θα ήταν καλύτερο με level check?

 

Δηλαδή για να πάει στην zone για level 25 θα πρέπει να είναι 20 με 30 level.

 

Anyway, πολύ καλή δουλειά!

Link to comment
Share on other sites

Δεν θα ήταν καλύτερο με level check?

 

Δηλαδή για να πάει στην zone για level 25 θα πρέπει να είναι 20 με 30 level.

 

Anyway, πολύ καλή δουλειά!

Σαφώς και θα ήτανε καλύτερο, όμως αν χρησιμοποιήσει κάποιος τον κώδικα, θα έχει και τα ίδια areas στην Gatekeeper, οπότε τσάμπα το μπλοκάρουμε από εδώ.

Link to comment
Share on other sites

@GOld3x den xreiazetai na kaneis Quote kai na gemhzeis to page me auto. Mporeis na peis oti 8eleis sxetika me auto xwris na kaneis Quote. Tzampa spam to opoio einai anousio

[*]Mathe ti ine to spam

[*]den s ftew egw pou dn xes na kaneis scroll down...

 

Spam ine auto pou kanw twra :) sorry baggos

Link to comment
Share on other sites

[*]Mathe ti ine to spam

[*]den s ftew egw pou dn xes na kaneis scroll down...

 

Spam ine auto pou kanw twra :) sorry baggos

Mia xara ta 3erw kai ta 2 e3upnakia.

Kai btw mhn pianesai apo tis le3eis. Cu

 

Link to comment
Share on other sites

Είσαι σίγουρος ότι δουλεύει;

αμφιβάλλω εάν δουλεύει έτσι όπως το βλέπω.

 

Κάτι άλλο,θα σου πω γιατί είναι λάθος.

 

Εάν κάποιος πάει σε αυτήν την zone πχ του 20 lvl και πάει εκεί;

θα μπει κανονικά μέσα(να πάει με τα πόδια πχ,όχι με το command).

Το ίδιο και για τα άλλα.

 

για να μην αναφέρω το ότι δεν υπάρχει levelcheck :P

 

Ο ποιο εύκολος τρόπος για να αποφύγεις το πρώτο που είπα,είναι να κάνεις 4 διαφορετικά zone.

Όπου εκεί θα γίνετε το levelcheck,οπότε αν κάποιος πάει εκεί(είτε με τα πόδια είτε με οτιδήποτε) και δεν είναι x lvl δεν θα μπορεί να μπει(θα γίνετε teleport πίσω στην giran π.χ).

 

 

ΥΓ:Το μήνυμα σου τώρα το είδα,μόλις τώρα μπήκα,ήμουνα για cafe.

 

Link to comment
Share on other sites

Δουλεύει κανονικά ναι. Δοκιμασμένο, δοκίμασε το και εσύ.

Όμως όσο για τα άλλα που είπες, δεν κατάλαβα γιατί να μπει levelcheck?

Αυτό που έκανα απλά, από όπου και να είσαι, σε πάει στο χ location. Ακόμη και να μπει level check, σίγουρα στην Gatekeeper θα υπάρχουν αυτά τα Areas, θα τα βάλει ο Admin 100%.

 

Δεν είναι κάτι, απλά είσαι στο χ μέρος και θέλεις να πας να exp στα 40lvl π.χ, απλά αντί για Gatekeeper, πας με το .lvl40

Link to comment
Share on other sites

Δουλεύει κανονικά ναι. Δοκιμασμένο, δοκίμασε το και εσύ.

Όμως όσο για τα άλλα που είπες, δεν κατάλαβα γιατί να μπει levelcheck?

Αυτό που έκανα απλά, από όπου και να είσαι, σε πάει στο χ location. Ακόμη και να μπει level check, σίγουρα στην Gatekeeper θα υπάρχουν αυτά τα Areas, θα τα βάλει ο Admin 100%.

 

Δεν είναι κάτι, απλά είσαι στο χ μέρος και θέλεις να πας να exp στα 40lvl π.χ, απλά αντί για Gatekeeper, πας με το .lvl40

δεν σκέφτεσαι σωστά.

 

πάρε για παράδειγμα έναν mid rate,x20~ που θα θέλει κανα 3-4 μερες π.χ για να γίνεις 80/85.

 

τι θα γίνει εάν εγώ είμαι 80 και πάω στην συγκεκριμένη περιοχή και αρχίζω και παίρνω πκ?(στην περιοχή των 20αριδων π.χ).

 

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

Link to comment
Share on other sites

δεν σκέφτεσαι σωστά.

 

πάρε για παράδειγμα έναν mid rate,x20~ που θα θέλει κανα 3-4 μερες π.χ για να γίνεις 80/85.

 

τι θα γίνει εάν εγώ είμαι 80 και πάω στην συγκεκριμένη περιοχή και αρχίζω και παίρνω πκ?(στην περιοχή των 20αριδων π.χ).

 

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

Πες μου έναν low rate server, που έχει Protection στο θέμα των level up areas. :P

Σπάνιο πιστεύω.... όμως αν το θέμα είναι το levelcheck, ας γίνει.

Link to comment
Share on other sites

Πες μου έναν low rate server, που έχει Protection στο θέμα των level up areas. :P

Σπάνιο πιστεύω.... όμως αν το θέμα είναι το levelcheck, ας γίνει.

δεν είναι μόνο το levelcheck,σου είπα τι πρέπει να κάνεις.

 

το levelcheck θα τον αποτρέψει να χρησιμοποιήσει το command,τι θα γίνει εάν πάει με τα πόδια;

Link to comment
Share on other sites

δεν είναι μόνο το levelcheck,σου είπα τι πρέπει να κάνεις.

 

το levelcheck θα τον αποτρέψει να χρησιμοποιήσει το command,τι θα γίνει εάν πάει με τα πόδια;

Ναι, θα προσπαθήσω μέχρι αύριο να είναι κάπως έτσι.

Όμως, στο κώδικα πες βάζω levelcheck, η area όμως πως θα γίνει με levelcheck?

Link to comment
Share on other sites

Ναι, θα προσπαθήσω μέχρι αύριο να είναι κάπως έτσι.

Όμως, στο κώδικα πες βάζω levelcheck, η area όμως πως θα γίνει με levelcheck?

πρέπει να φτιάξεις 4 διαφορετικά zones,και στο καθένα να βάλεις διαφορετικό levelcheck.

επίσης πρέπει να φτιάξεις τα coordinates,και το zones.xml.

 

δες πως φτιάχνετε μια zone,και ίσως τα καταφέρεις.

 

δεν θα σου πω ψέματα,είναι αρκετά πολύπλοκο για έναν καινούργιο..

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...