Jump to content
  • 0

[HELP] Spawnlist heading field


Question

Posted

Hey Everybody,

 

I'm wondering if anybody can explain a bit how the field 'heading' in spawnlists works. I understand it has to do with it's orentation in the world, but I'm a bit confused as to exactly how. I've come across http://l2jserver.com/old-forum/print.php?threadid=19502&page=1&sid=89e0e7b2d6409b8bb9e1ad26aeff132e but that doesn't really shed any light.

 

0OdsZ.jpg

 

Obviously I'd like to have the npc as flush against the wall as possible, so I want to manually put the values in instead of just spawning it haphazardly in the world.

7 answers to this question

Recommended Posts

  • 0
Posted

An easy way to spawn something with good heading is to use //spawn command ingame. If you target nothing, it will spawn according your actual heading.

 

About heading, that's just degrees, and so far (from what I rem) that goes from 0 to 65000. Following that rule, you can expect the following to be true.

 

              32500 (back)

16250(right side)      48750 (left side)

          0    65000 (face)

 

If the max heading value isn't 65k, well do changes according... You got the point.

 

About what direction is supposed to show 0 (east west north south) to be honest, I have no idea. Just test ingame.

 

PS : config.developer setted to true show your actual position (and heading). It can be useful to you if you don't want to use //spawn.

 

Regards, Tk.

  • 0
Posted

An easy way to spawn something with good heading is to use //spawn command ingame. If you target nothing, it will spawn according your actual heading.

 

About heading, that's just degrees, and so far (from what I rem) that goes from 0 to 65000. Following that rule, you can expect the following to be true.

 

              32500 (back)

16250(right side)      48750 (left side)

          0    65000 (face)

 

If the max heading value isn't 65k, well do changes according... You got the point.

 

About what direction is supposed to show 0 (east west north south) to be honest, I have no idea. Just test ingame.

 

PS : config.developer setted to true show your actual position (and heading). It can be useful to you if you don't want to use //spawn.

 

Regards, Tk.

 

Hi Tryskell,

 

Thanks for the help. Afterwards I searched for heading in the project and found:

// Calculate and set the heading of the L2Character
int heading = (int) (Math.atan2(-sin, -cos) * 10430.378350470452724949566316381);
heading += 32768;
setHeading(heading);

 

Discovering yea, the heading is polar coordinates. The max here I believe is 32768, when I do half of that the rotation is 180 degrees. I'm trying to place my buffers flush with the church in Dion where it's not on 90 degree angles, so I guess I have to do a bit of math first.

 

Thanks again for the reply.

  • 0
Posted

Well, I confirm with a player you can obtain 65303 and such number. I'm bad on math so don't speak of polar, sinus or cosinus :D.

 

On L2Npc you got such formulas :

mob.setHeading(Rnd.nextInt(61794));

which means too the number is around 60k max for NPC too.

 

You can too simply check spawnlist.sql and check what is the biggest heading written inside. Lol.

 

Btw, my formula about heading is as following :

 

	public final static int calculateHeadingFrom(int obj1X, int obj1Y, int obj2X, int obj2Y)
{
	double angleTarget = Math.toDegrees(Math.atan2(obj2Y - obj1Y, obj2X - obj1X));
	if (angleTarget < 0)
		angleTarget = 360 + angleTarget;
	return (int) (angleTarget * 182.044444444);
}

 

And guess what, 360 * 182,044444444 equals 65536.

  • 0
Posted

Well, I confirm with a player you can obtain 65303 and such number. I'm bad on math so don't speak of polar, sinus or cosinus :D.

 

On L2Npc you got such formulas :

mob.setHeading(Rnd.nextInt(61794));

which means too the number is around 60k max for NPC too.

 

You can too simply check spawnlist.sql and check what is the biggest heading written inside. Lol.

 

Btw, my formula about heading is as following :

 

	public final static int calculateHeadingFrom(int obj1X, int obj1Y, int obj2X, int obj2Y)
{
	double angleTarget = Math.toDegrees(Math.atan2(obj2Y - obj1Y, obj2X - obj1X));
	if (angleTarget < 0)
		angleTarget = 360 + angleTarget;
	return (int) (angleTarget * 182.044444444);
}

 

And guess what, 360 * 182,044444444 equals 65536.

 

Well that makes sense too, but it's still weird. I actually did my math based on (degree) * 91.02; 360 * 91.02 = 32768 and 720 * 91.02 = 65534.4 (close nuff); Though your example is basically mine doubled. I'll just assume that yours is correct. By my values I manged to line the buffers up ok:

 

J9BPl.jpg

 

  • 0
Posted

Well dunno which pack you're using, my calcul came from my IL pack refactored using L2J Freya (8 months old).

 

Seems you use old IL not refactored.

 

Yea, it's just the normal l2j interlude distro from the old nightlies folder.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • L2Lusty 50x Essence High Version Open day 27/06  12:00 GMT London WebSite: https://l2lusty.com/ General Information If you are looking for a High Five retail server, this project is not for you, our gameplay and farming system is based on the Essence version. If you are looking for something new and different to play, this server is for you. Our server is using its own version that mixes High Five and the latest Essence version. With this, we have a good part of the items from the Lineage2 Essence version, with classes and bosses from High Five. An auto-balance system in onlympiad games, which will bring greater equality in combats. We added the Chaos Zone and Peace Zone events, for a better LCoin farm, these events are 24h and can be accessed with the commands .chaos or .peace. All essence items are purchased in our alt+b and cost an average of 300k LCoins. LCoins are obtained by killing any mob, with better drops in the Chaos zone and the Peace Zone. Server Version High Five + Essence Game Play Experience 50x Spoil 8x Drop 8x Adena 8x Normal Enchant 50% (+3 to +12) (40% 12 to 20) Blessed Enchant 50% (+3 to +12) (40% 12 to 20) Safe Enchant +3 Max Enchant +20 Max Windows / IP 6 Accounts Anti-Bot system ON Champions System ON TerritoryWar Saturday 20:00 Siege Every Sunday Olympiads 18:00 / 23:50 Oly End Days 1, 11 and 22 Max Register 1 For IP Minimum Players for Start 4 Players Subclass FREE MAX LVL 85 SHOP GRADE-S Party Diff 30 Level 55/85   Essence Items Price   Items Lvl 1 300k / 1.200kk LCoins Upgrade to Lvl 2 2 items Lvl 1 + 2b Adenas Upgrade to Lvl 3 2 items Lvl 2 + 2b Adenas Upgrade to Lvl 4 2 items Lvl 3 + 2b Adenas Upgrade Chance 25%   Exchange Items   As in other MMORPGs, we have a system of exchanging items for better items.       GrandBoss All Grand Boss Time Fixed Raids Status 50% Change Drop Queen Ant / Core / Orfen / Baium Queen ant Level: 80 Every day 18:30 / Drop Jewel 40% Core Level: 80 Every day 18:40 / Drop Jewel 90% Orfem Level: 80 Every day 18:50 / Drop Jewel 90% Baium Level: 80 Every Friday 18:00 / Drop Jewel 100% Beleth Every Friday 22:00 / Drop Jewel 100% Valakas Every Saturday 18:00 / Drop Jewel 100% Antharas Every Sunday 17:00 / Drop Jewel 100% Max Character in Zone Boss 1 For IP   Instances Party All Intances 5 Players Raids Status 50% Zaken Day 61 5 Players / Jewel Chance 10% Zaken Day Hard 83 5 Players / Jewel Chance Normal / 10% / Blessed 1.9% Zaken Nightmare 61 5 Players / Jewel Chance 90% Frintezza 5 Players / Jewel Chance 40% Freya Normal 5 Players / Jewel Chance 40% Freya Hard 5 Players / Jewel Chance 40% Tiat 5 Players / Weapon Chance 10%   Instances Solo   All Intances Drop S84 Up Crystal Level 10 / 17 Baylor Solo Drop Moirai Set / Vesper Weapons Darion Solo Weapon Chance 1% Tiat Solo Weapon Chance 1% Frintezza Solo Jewel Chance 2% Freya Solo Jewel Chance 2% Zaken Solo Jewel Chance 2% Core Solo Jewel Chance 2% Orfen Solo Jewel Chance 2% Beleth Solo Jewel Chance 1%   Special Events Event Boss Lindvior Every day 16:40 - 22:40 Event Pig Invazion Every day 15:40 - 23:40 Event Dragon Invazion Every day 18:40 - 01:40 Event City War Every day 19:40 - 02:40   Commands .ach .achievements Opens the achievements interface .buffshield (anti-buff) .away .back (stay away / back) .menu .cfg (Character control panel) .combine .talisman (Combine all Talismans) .dressme (Visual Armor Added +1000 HP) .party .invite .partylist Our custom party creation system .offline (off line shop) .repair (repair character) .siege (See the siege time or register your clan) .stats (character status)   .offbuff (Open store buffs) .autofarm (Open Auto Farm Interface) .report (Report a suspicious bot player) .buffshop (Invoke a summon to sell your buffs.) .vote (Opens our vote system.) .aa (Exchange your seal stones for AA automatically.) .oly (Shows all players who are first in the oly ranking.) .status (See a player's status, he has to be in your target) .seeres (Look at a player's resistance, he has to be in his target) .equip (See all of a player's items, they have to be in their target) .regoly (Register with oly wherever you are.) .bagclean Delete all items from your inventory, use it knowing that you will lose everything that is not equipped!   WebSite: https://l2lusty.com/
    • Our sales are ongoing. Bump. 22 June 2025 Telegram: ContactDiscordAccS
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock