Jump to content
  • 0

help distance spawn


Question

Posted

hello all i need little help with spawn guard

my problem is i try make guard spawn like distance radius

from center flag but some time's guard is stay in one location

or guard no have big distance guard -> guard.

 

so i need make some like this and i need little help

HSINfRX.jpg

 

my code is this

 

	public Npc addSpawn(int npcId, int x, int y, int z, int heading, int RadiusGuard, int RadiusFlag)
	{
		try
		{
			final NpcTemplate template = NpcTable.getInstance().getTemplate(npcId);
			if (template == null)
				return null;
						
			final L2Spawn spawn = new L2Spawn(template);
			
			//Distance position
			final int offset = (100 + RadiusGuard + RadiusFlag);
			final int minRadius = (RadiusFlag + 30);
			
			int newX = Rnd.get(minRadius * 2, offset * 2); // x
			int newY = Rnd.get(newX, offset * 2); // distance
			newY = (int) Math.sqrt(newY * newY - newX * newX); // y
			if (newX > offset + minRadius)
				newX = x + newX - offset;
			else
				newX = x - newX + minRadius;
			if (newY > offset + minRadius)
				newY = y + newY - offset;
			else
				newY = y - newY + minRadius;
			
			spawn.setLoc(newX, newY, z + 20, heading);
			spawn.setRespawnState(true);
			spawn.setRespawnDelay(35);
			final Npc npc = spawn.doSpawn(false);
			//better from Rnd code
			
			return npc;
		}
		catch (Exception e1)
		{
			LOG.warning("Could not spawn Faction Guard Id " + npcId);
			return null;
		}
	}

 

5 answers to this question

Recommended Posts

  • 1
Posted (edited)

i followed @Nightw0lf's post while i ignored the moving part and modified @Kara`'s code since acis got similar code.

 

so here you are...

 

 

https://pastebin.com/vgeMcJX7

Edited by melron
  • 0
Posted

You want a random location around the flag? 

 

		int centerX = npc.getX();
        int centerY = npc.getY();

		double x, y, q, r;

		q = Rnd.get() * 2 * Math.PI;
		r = Math.sqrt(Rnd.get());
		x = _rad * r * Math.cos(q) + centerX;
		y = _rad * r * Math.sin(q) + centerY;

		return new int[]
		{
			(int) x,
			(int) y,
			GeoEngine.getInstance().getHeight((int) x, (int) y, _z1)
		};

 

  • 0
Posted

you could spawn them into the center and make them walk to outside of circle 2 per 60degree for 100 distance (archers)  2 per 40 degree for 200 distance (fighters) it should be more fun (you could add 3-4 waves

  • 0
Posted
5 hours ago, Kara` said:

You want a random location around the flag? 

 


		int centerX = npc.getX();
        int centerY = npc.getY();

		double x, y, q, r;

		q = Rnd.get() * 2 * Math.PI;
		r = Math.sqrt(Rnd.get());
		x = _rad * r * Math.cos(q) + centerX;
		y = _rad * r * Math.sin(q) + centerY;

		return new int[]
		{
			(int) x,
			(int) y,
			GeoEngine.getInstance().getHeight((int) x, (int) y, _z1)
		};

 

i dont know how can make a code like this is hard for me..
any else can help make spawn like distance radius

Guest
This topic is now closed to further replies.


  • Posts

    • NEW SEASON GRAND OPENING FROM - 10/07/2026, FRIDAY, 20:00 +3 GMT !
    • System folder is indeed missing @eMommy
    • No complicated KYC, instant setup after purchase!  Boost your connection speed and secure your privacy today!  Official Website: https://novproxy.com?kwd=tt-max
    • I don't know this guy and I don't care about him or the server. What I want to say I already do it. And yes, it does seem like he has some mental problems to make up these stories. 
    • L2JForge Edition Update Revision: V1.0.119  Update: 15 June – 1 July 2026  Fixes & Improvements Fixed PawnShop pagination and inactive Community Board actions. Added thread-safe caching to the PawnShop system. Fixed MMOTopVote vote tracking. Fixed PvP Event participant cleanup. Restored the missing PvP Ranking broadcast. Improved CTF flag handling and zone validation. Added Try Skin / Hat Preview handlers to the Community Board. Improved character skin appearance refreshes without requiring a restart. Improved NPC positioning to reduce train and collision abuse. Fixed Seal of Ruler casting from invalid artifact positions. Added stricter castle artifact, range and height validation. Fixed character restoration stability during Enter World. Reworked Community Board Home, Shop, Bosses and Events sections. Added live Raid/Epic Boss status and respawn information. Added upcoming PvP and GvG event schedules. Integrated character services, settings and statistics into the Community Board. Moved Vote Rewards from a voiced command into the Character Menu in Community Board. Removed the obsolete Achievements / .rewards system.  Removed unused multilingual resources and simplified datapack loading. Improved datapack startup and HTML cache stability. Added automatic build revision and build-date metadata. Reorganized runtime libraries and standardized generated server jars. Refined the Player, Creature, GameClient, Clan and Frintezza systems. Performed extensive source cleanup and reliability improvements. Updated build configuration and repository exclusions.  Work in Progress Development continues with additional gameplay fixes, performance improvements, system cleanup and more upgrades already in progress..
  • 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..