Jump to content

Automatic Random Zone Changer


Recommended Posts

Hello forum, i was searching around and i saw on many forum's peoples selling this code for gold. (30-40 euro) rolf...
That's who we are, sad...

So this is one "Gift" from me for the new year.

On this code you have the listed options:

  • You can add as many zones you want.
  • You can setup for each zone the running time.
  • (On the current diff i have use Giran Arena and Gludin Arena).
  • Gatekeeper command : <a action="bypass -h npc_%objectId%_pvp">Random Zone</a>
  • The codes required more then 1 zone.


Ofc you can add your own configs like "Auto Flag" "Auto Nobles" and whatever you want.. take this share like platform and work on it.
DIFF is coded on aCis 381 revision - Feel free to adapt it in whatever revision or project you need.

Credits : StinkyMadness
Code r381: Here

Edited by StinkyMadness
  • Like 7
  • Thanks 3
  • Upvote 1
Link to comment
Share on other sites

6 hours ago, N0K3 said:

Hi stinky, I really liked this change, however, by adding I'm getting this nullpointer.
Could you give me some help on?

https://imgur.com/FSe7h5y

Give a close view on your RandomZone.xml you did something wrong there.

Link to comment
Share on other sites

Change this code.

 

 public void selectNextZone()
+   {
+       int nextZoneId = Rnd.get(1, getTotalZones());
+       while (getZoneId() == nextZoneId)
+           nextZoneId = Rnd.get(1, getTotalZones());
+       _zoneId = nextZoneId;
+      
+       _timer = getCurrentZone().getTime() + 10;
+   }

You can do better

Link to comment
Share on other sites

1 hour ago, StinkyMadness said:

Give a close view on your RandomZone.xml you did something wrong there.

What's puzzling me is that things seem to be all right there.
RandomZone.xml in the zone folder and inside it contains this, just like your example.

<?xml version="1.0" encoding="UTF-8"?>
<list>
   <zone shape="Cuboid" minZ="-3752" maxZ="-352"><!-- gludin_pvp -->
       <stat name="id" val="1" />
       <stat name="name" val="Gludin Arena" />
       <stat name="time" val="30" /><!-- time in seconds -->
       <stat name="locs" val="-88339,141802,-3649;-87894,142231,-3649" />
       <node X="-88411" Y="141732" />
       <node X="-87429" Y="142708" />
   </zone>
   <zone shape="Cuboid" minZ="-3850" maxZ="-350"><!-- giran_pvp_battle -->
       <stat name="id" val="2" />
       <stat name="name" val="Giran Arena" />
      <stat name="time" val="30" /><!-- time in seconds -->
       <stat name="locs" val="73306,142440,-3775;72646,142403,-3775" />
       <node X="72493" Y="142263" />
       <node X="73493" Y="143261" />
   </zone>
</list>

 

Edited by N0K3
I was able to identify it was something with the type, because my zones had L2 prefix at the beginning and I needed to adapt RandomZone to my source, thanks for the support.
Link to comment
Share on other sites

1 hour ago, Kara` said:

You can do better

indeed. something like that would be more clean

 

private static void selectNextZone()
{
	final int maxSize = getTotalZones();
	_zoneId = _zoneId >= maxSize ? 1 : _zoneId++;
	_timer = getCurrentZone().getTime() + 10;
}

public static int getTotalZones()
{
	return ZoneManager.getInstance().getAllZones(RandomZone.class).stream().filter(zone -> zone != null).collect(Collectors.toList()).size();
}

 

Link to comment
Share on other sites

20 minutes ago, melron said:

something like that would be more clean

I believe it's supposed to be truly random, not seemingly. But yeah, one after another is also a way.

 

Zones count, simply: ZoneManager.getInstance().getAllZones(RandomZone.class).size();

Link to comment
Share on other sites

4 minutes ago, Kara` said:

RandomZone selectedZone = ZoneManager.getInstance().getAllZones(RandomZone.class).stream().findAny();

1 line code instead of 8

With that line, I believe you can pick the same zone, right? So, it's not what you really want. You must be sute the next zone is different :thinking:

Link to comment
Share on other sites

3 minutes ago, SweeTs said:

With that line, I believe you can pick the same zone, right? So, it's not what you really want. You must be sute the next zone is different :thinking:

Didn't know we need also that check.

 

RandomZone selectedZone = ZoneManager.getInstance().getAllZones(RandomZone.class).stream().filter(s -> s.getId() != getCurrentZone().getId()).findAny().orElse(null);

In null you can add to return the same zone if no other exist. I write it in notepad++ so i cannot know if syntax is ok

 

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now



  • Posts

    • DISCORD :   utchiha_market   telegram    https://t.me/utchiha_market   SELLIX STORE :   https://utchiha-market.mysellix.io/   Join the server for more products :   https://discord.gg/hoodservices
    • When it comes to encrypting passwords, using a strong hashing algorithm like SHA-256 or bcrypt is recommended. These algorithms help ensure that passwords are securely stored and protected from being easily decrypted.
    • ***CLExt L2OFF Extender Premium Account Save - Auto Login***   We would like to sell account panel for save accounts for server owners or self player.  You can login and save your id and pass accounts or delete it etc.       Price: 100 euro.   ***CLExt L2OFF Extender Premium Auto-Farm Macro System*** We would like to sell Auto-Farm Macro System for server owners or self player.  You can add your potions and your macro to farm your character with your standars.       Price: 100 euro.   If you like to order send me DM or skype zoumhs999.
    • Diablo III, the action-packed hack-and-slash RPG developed by Blizzard Entertainment, has captivated gamers worldwide since its release in 2012. Now, imagine a world where Diablo III's source code is opened up to the community, inviting developers and enthusiasts alike to enhance and refine this beloved game. This topic delves into the possibilities, challenges, and community desires surrounding the idea of Diablo III as an open-source project.   Key Points: 1. Defining Diablo III: Diablo III is an action role-playing game set in the dark fantasy world of Sanctuary. Players traverse through randomized dungeons, battling hordes of demons and collecting loot to strengthen their characters. With its compelling storyline, addictive gameplay mechanics, and rich lore, Diablo III has amassed a dedicated fanbase over the years.   2. Open Source Potential: Opening up the source code of Diablo III could unlock a wealth of opportunities for the game's future. Community developers could introduce new features, enhance existing gameplay elements, and address long-standing issues. The modding community, known for its creativity and innovation, could breathe new life into the game by creating custom content, game modes, and user interface improvements. 3. Community Interest: The question arises - would the gaming community welcome the idea of Diablo III becoming open source? Many players are eager to see the game evolve beyond its current state, with enhancements such as improved balance, expanded end-game content, and enhanced multiplayer features. By involving the community in the development process, Diablo III could foster a stronger sense of ownership and collaboration among its players. 4. Challenges and Considerations: While the concept of Diablo III as an open source is enticing, it also presents several challenges. Ensuring the integrity of the game's balance and preventing cheating would be paramount concerns. Additionally, coordinating development efforts and maintaining a cohesive vision for the game could prove challenging in a community-driven environment. However, with proper oversight and collaboration, these obstacles can be overcome. 5. Is Diablo III an MMORPG? Diablo III is often categorized as an action RPG rather than a traditional MMORPG (massively multiplayer online role-playing game). While it does feature online multiplayer elements, including cooperative play and player-versus-player combat, it lacks the persistent open world typically associated with MMORPGs. Instead, Diablo III focuses on instanced dungeons and smaller-scale multiplayer interactions. The Benefits of Improvement: Improving Diablo III through open-source development could revitalize the game, attracting new players and re-engaging existing fans. By embracing community-driven innovation, Diablo III could remain relevant and enjoyable for years to come. Additionally, fostering an active modding community could extend the game's longevity and create new opportunities for player expression and creativity.   Source code  
  • Topics

×
×
  • Create New...