Jump to content
  • 0

Respawn On Custom Zone.


Question

Posted (edited)

I use clan war zone : http://www.maxcheaters.com/topic/145845-clan-war-zone-l2jfrozen/?hl=%2Bclan+%2Bzone
I have a problem with character's respawn when he dies, i want him to respawn inside the zone but instead of that he teleports to the nearest town.
I tried the on ondie character:
 

character.teleToLocation(133059, -14748, -1023 +Rnd.get(-500,500), 130351, -13881, -1023 +Rnd.get(-500,500), 138516, -15510, -1023 +Rnd.get(-500,500));

but i get error on .teleToLocation, i must be missing or messed up something

Here is the xml zone:
 

<zone id='200000' type='ClanWarZone' shape='Cuboid' minZ='-3800' maxZ='3200'>
 		
 		<stat name='spawnX' val='131376'/>
 		<stat name='spawnY' val='-15203'/>
 		<stat name='spawnZ' val='-995'/>
                <spawn X='133059' Y='-14748' Z='-1023'/>
		<spawn X='130351' Y='-13881' Z='-1023'/>
		<spawn X='138516' Y='-15510' Z='-1023'/>
		<spawn X='139994' Y='-14989' Z='-572'/>
		<spawn X='131359' Y='-15124' Z='-98'/>
		<spawn X='132601' Y='-15310' Z='-577'/>
		<spawn X='133484' Y='-16095' Z='-946'/>
 	</zone>
Edited by Rio

9 answers to this question

Recommended Posts

  • 0
Posted

is with config like you can use X,Y,Z and again X,Y,Z

elso is working with much location

and from here static int radius = 100 you can use radius in respawn

post error

frozenSettings.property
==============================
find
NewPlayerEffect = false
paste
SpawnLoc = 150111,144740,-12248,150111,144740,-12248


================================
Config.java
================================
find
	public static boolean NEW_PLAYER_EFFECT;
paste
	+public static int[][] SPAWN_LOCATION;

find
	NEW_PLAYER_EFFECT = Boolean.parseBoolean(frozenSettings.getProperty("NewPlayerEffect", "True"));
paste
	+SPAWN_LOCATION = parseItemsList(frozenSettings.getProperty("SpawnLoc", "150111,144740,-12248"));


find
			LOGGER.warn("Could not load HexID file (" + HEXID_FILE + "). Hopefully login will give us one.");
		}
	}
paste
+    private static int[][] parseItemsList(String line)
+    {
+            final String[] propertySplit = line.split(";");
+            if (propertySplit.length == 0)
+                    return null;
+
+            int i = 0;
+            String[] valueSplit;
+            final int[][] result = new int[propertySplit.length][];
+            for (String value : propertySplit)
+            {
+                    valueSplit = value.split(",");
+                    if (valueSplit.length != 3)
+                    {
+                            return null;
+                    }
+
+                    result[i] = new int[3];
+                    try
+                    {
+                            result[i][0] = Integer.parseInt(valueSplit[0]);
+                    }
+                    catch (NumberFormatException e)
+                    {
+                            return null;
+                    }
+                    try
+                    {
+                            result[i][1] = Integer.parseInt(valueSplit[1]);
+                    }
+                    catch (NumberFormatException e)
+                    {
+                            return null;
+                    }
+                    try
+                    {
+                            result[i][2] = Integer.parseInt(valueSplit[2]);
+                    }
+                    catch (NumberFormatException e)
+                    {
+                            return null;
+                    }
+                    i++;
+            }
+            return result;
+    }

public class L2ClanWarZone extends L2ZoneType
{
	+static int radius = 100;
	+static int[][] spawn_loc = Config.SPAWN_LOCATION;

find your onDieInside
and use my
  @Override
   public void onDieInside(L2Character character)
   {
	 + if (character instanceof L2PcInstance)
	 + {
	 +	  final L2PcInstance activeChar = ((L2PcInstance) character);
	 +	  
         + int[] loc = spawn_loc[Rnd.get(spawn_loc.length)];
         + activeChar.teleToLocation(loc[0]+Rnd.get(-radius,radius), loc[1]+Rnd.get(-radius,radius), loc[2]);
	 + }
   }
  • 0
Posted (edited)

Check your PM's for the code.

 

(Sorry but I do not want to give this code public).

Edited by 'Baggos'
  • 0
Posted

 

I use clan war zone : http://www.maxcheaters.com/topic/145845-clan-war-zone-l2jfrozen/?hl=%2Bclan+%2Bzone

I have a problem with character's respawn when he dies, i want him to respawn inside the zone but instead of that he teleports to the nearest town.

I tried the on ondie character:

 

character.teleToLocation(133059, -14748, -1023 +Rnd.get(-500,500), 130351, -13881, -1023 +Rnd.get(-500,500), 138516, -15510, -1023 +Rnd.get(-500,500));

but i get error on .teleToLocation, i must be missing or messed up something

Here is the xml zone:

 

<zone id='200000' type='ClanWarZone' shape='Cuboid' minZ='-3800' maxZ='3200'>
 		
 		<stat name='spawnX' val='131376'/>
 		<stat name='spawnY' val='-15203'/>
 		<stat name='spawnZ' val='-995'/>
                <spawn X='133059' Y='-14748' Z='-1023'/>
		<spawn X='130351' Y='-13881' Z='-1023'/>
		<spawn X='138516' Y='-15510' Z='-1023'/>
		<spawn X='139994' Y='-14989' Z='-572'/>
		<spawn X='131359' Y='-15124' Z='-98'/>
		<spawn X='132601' Y='-15310' Z='-577'/>
		<spawn X='133484' Y='-16095' Z='-946'/>
 	</zone>

just go to  RequestRestartPoint.java (gameserver.network.clientpackets)

 

search for 

if (activeChar.isInJail())
_requestedPointType = 27;
else if (activeChar.isFestivalParticipant())
_requestedPointType = 4;

make something like:

 

if (activeChar.isInJail())
_requestedPointType = 27;
else if (activeChar.isFestivalParticipant())
_requestedPointType = 4; 
else if(activeChar.isInsideClanwarZone())
_requestedPointType = 372;

find 

 

case 27: // to jail
if (!activeChar.isInJail())
return;
loc = new Location(-114356, -249645, -2984);
break;

add above your new switch case:

 

case 372: 
if(activeChar.isInsideClanwarZone())
{
loc = new Location(yourlocx+rndshits, yourlocy+rndshits, yourlocz+rndshits);


}
break;
  • 0
Posted (edited)

case 372: 
if(activeChar.isInsideClanwarZone())
{
loc = new Location(yourlocx+rndshits, yourlocy+rndshits, yourlocz+rndshits);


}
break;

what should i set in +rndshits?   

Do i have to make it like this for multi respawn locations?

loc = new Location(-114356+rndshits, -249645,+rndshits, -2984+rndshits);

Edited by Rio
  • 0
Posted
case 372: 
if(activeChar.isInsideClanwarZone())
{
loc = new Location(yourlocx+rndshits, yourlocy+rndshits, yourlocz+rndshits);


}
break;

what should i set in +rndshits?   

Do i have to make it like this for multi respawn locations?

loc = new Location(-114356+rndshits, -249645,+rndshits, -2984+rndshits);

 

+Rnd.get(-400,400)

  • 0
Posted

Use command /loc add your location where is 100 tha means the positions where player will teleported..if you set to 0 all players will teleported to the same range that means all will be stucked there :p

loc = new Location(114356, -249645, -2984,100);
  • 0
Posted (edited)

Thank you guys! You helped me to understand how the code works.
Problem solved!

Edited by Rio
Guest
This topic is now closed to further replies.


  • Posts

    • Good day! Due to the increasing number of questions, "Do you provide services for the client?" - I decided to answer with a separate topic. I provide services for editing/modifying the client and individual files, namely: 1. Transfer/Creation/Editing locations, geodata.   2. All kinds of work with NPCs, including transfer, animation, adding effects to them and logos.   3. Actually, Transfer/Creation/Edit any EFFECTS, including Abnormal Effects.   4. Any work with weapons, armor, accessories and everything related to it.   5. Create or edit textures, including dynamic textures.   6. Creating a Lobby Screen, Lobby Char Selection (character selection window) and Lobby Char Creation (character creation window). What I don't do: 1. Coding in any form (except for CB).   I started publishing my work recently, here - YouTube And here - RuTube If required, I respect confidentiality. Any other questions? Welcome to Telegram or PM.
    • 🎮https://discord.gg/yyVRtna9RB 🌎https://l2-forever.com L2 Forever was the best mid rates PvP server back in C4 and C5 and we want to give players the same experience with Interlude!   # L2-Forever * EXP: 50x * Adena: 200x * Spoil: 5x * Drops: 5x   # ENCHANTS *Safe Enchant : 3 *Max. Enchant : 20 *Normal Scroll chance : 65% *Blessed Scroll chance : 70%   # NEW PLAYERS * Start with Coupons allowing you to get free top D-grade * Start at level 20 * Main Town Giran Harbor   # BOOSTED AREA'S * Execution Grounds [ 20 - 40] * Cruma Tower [40-52] * Antharas Lair [52-61] * Antharas Heart [61-80] * Giran Harbor - Shopping Area   # END GAME FARMING AREAS * Monastery of Silence and Primeval Island customized for group farm # PLATINUM ARMORS * Platinum Armors get dropped by raids, allowing everyone to obtain a set and not only donators * Many Raids all over the L2 world drop parts of the Platinum Armors   # BUFFS * Buff duration is set at 1 hour for normal buffs (Buffs and Songs / Dances) * Town Buffers in all main towns with all available buffs Giran Harbor (GH) is the place to be for all your trades and item needs! Platinum Armors   # FOREVER ITEMS * Unique Forever weapons & armors # UNIQUE L2 FOREVER AUGMENTATION SYSTEM * We don't use retail augmentations, we use our own unique system and glows!   # OTHER CUSTOM FEATURES * Global Gatekeeper * NPC Class Changer * Auction House * Unique Augmenter * Subclass with Adena or from Cabrio * Nobless - Barakiel * Useless S weapon Special abilities like (Cheap shot) are changed
    • 🎮https://discord.gg/yyVRtna9RB 🌎https://l2-forever.com L2 Forever was the best mid rates PvP server back in C4 and C5 and we want to give players the same experience with Interlude!   # L2-Forever * EXP: 50x * Adena: 200x * Spoil: 5x * Drops: 5x   # ENCHANTS *Safe Enchant : 3 *Max. Enchant : 20 *Normal Scroll chance : 65% *Blessed Scroll chance : 70%   # NEW PLAYERS * Start with Coupons allowing you to get free top D-grade * Start at level 20 * Main Town Giran Harbor   # BOOSTED AREA'S * Execution Grounds [ 20 - 40] * Cruma Tower [40-52] * Antharas Lair [52-61] * Antharas Heart [61-80] * Giran Harbor - Shopping Area   # END GAME FARMING AREAS * Monastery of Silence and Primeval Island customized for group farm # PLATINUM ARMORS * Platinum Armors get dropped by raids, allowing everyone to obtain a set and not only donators * Many Raids all over the L2 world drop parts of the Platinum Armors   # BUFFS * Buff duration is set at 1 hour for normal buffs (Buffs and Songs / Dances) * Town Buffers in all main towns with all available buffs Giran Harbor (GH) is the place to be for all your trades and item needs! Platinum Armors   # FOREVER ITEMS * Unique Forever weapons & armors # UNIQUE L2 FOREVER AUGMENTATION SYSTEM * We don't use retail augmentations, we use our own unique system and glows!   # OTHER CUSTOM FEATURES * Global Gatekeeper * NPC Class Changer * Auction House * Unique Augmenter * Subclass with Adena or from Cabrio * Nobless - Barakiel * Useless S weapon Special abilities like (Cheap shot) are changed
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchihamkt.mysellix.io/ Join our server for more products : https://discord.gg/uthciha-services https://campsite.bio/utchihaamkt
  • Topics

×
×
  • Create New...