New l2j geoengine rework.

This commit is contained in:
MobiusDevelopment
2021-03-28 21:17:00 +00:00
parent fb5a0626cd
commit 061bc41de8
1388 changed files with 61022 additions and 193387 deletions

View File

@@ -6,37 +6,52 @@
# at different folder/harddrive ("C:/Program Files/Lineage II/system/geodata/"), default: ./data/geodata/
GeoDataPath = ./data/geodata/
# Specifies the geodata files type. Default: L2J
# L2J: Using L2J geodata files (filename e.g. 22_16.l2j)
# L2OFF: Using L2OFF geodata files (filename e.g. 22_16_conv.dat)
GeoDataType = L2J
# =================================================================
# Path finding
# Pathfinding
# =================================================================
# When line of movement check fails, the pathfinding algoritm is performed to look for
# an alternative path (e.g. walk around obstacle), default: true
PathFinding = true
# an alternative path (e.g. walk around obstacle), default: True
PathFinding = True
# Pathfinding array buffers configuration, default: 100x6;128x6;192x6;256x4;320x4;384x4;500x2
PathFindBuffers = 100x6;128x6;192x6;256x4;320x4;384x4;500x2
# Pathfinding array buffers configuration, default: 500x10;1000x10;3000x5;5000x3;10000x3
PathFindBuffers = 500x10;1000x10;3000x5;5000x3;10000x3
# Weight for nodes without obstacles far from walls
LowWeight = 0.5
# Movement weight, when moving from one to another axially and diagonally, default: 10 and 14
MoveWeight = 10
MoveWeightDiag = 14
# Weight for nodes near walls
MediumWeight = 2
# When movement flags of target node is blocked to any direction, use this weight instead of MoveWeight or MoveWeightDiag.
# This causes pathfinding algorithm to avoid path construction exactly near an obstacle, default: 30
ObstacleWeight = 30
# Weight for nodes with obstacles
HighWeight = 3
# Weight of the heuristic algorithm, which is giving estimated cost from node to target, default: 12 and 18
# For proper function must be higher than MoveWeight.
HeuristicWeight = 12
HeuristicWeightDiag = 18
# Weight for diagonal movement.
# Default: LowWeight * sqrt(2)
DiagonalWeight = 0.707
# Maximum number of generated nodes per one path-finding process, default 3500
MaxIterations = 3500
# =================================================================
# Line of Sight
# =================================================================
# Line of sight start at X percent of the character height, default: 75
PartOfCharacterHeight = 75
# Maximum height of an obstacle, which can exceed the line of sight, default: 32
MaxObstacleHeight = 32
# =================================================================
# Other
# =================================================================
# Correct player Z after falling through the ground.
CorrectPlayerZ = False
# When a character falls, he takes damages.
# Default: True
FallDamage = True

File diff suppressed because it is too large Load Diff

View File

@@ -23,8 +23,8 @@ a - Prerequisites
b - Make it work
----------------------------------------------
To make geodata working:
* unpack your geodata files into "/data/geodata" folder
* open "/config/main/GeoEngine.ini" with your favorite text editor and then edit following config:
- CoordSynchronize = 2
* If you do not use any geodata files, the server will automatically change this setting to -1.
To make geodata work:
* unpack your geodata files into "/data/geodata" folder (or any other folder)
* open "/config/main/GeoEngine.ini" with your favorite text editor and then edit following configs:
- GeoDataPath = set path to your geodata, if elsewhere than "./data/geodata/"
- GeoDataType = set the geodata format, which you are using.

View File

@@ -620,7 +620,7 @@ public class Antharas extends Quest
final int ry = Rnd.get(112400, 116000);
final int rdt = ((_antharas.getX() - rx) * (_antharas.getX() - rx)) + ((_antharas.getY() - ry) * (_antharas.getY() - ry));
final Location randomLocation = new Location(rx, ry, -7704);
if (GeoEngine.getInstance().canSeeTarget(_antharas, randomLocation) && (rdt < dt))
if (GeoEngine.getInstance().canSeeLocation(_antharas, randomLocation) && (rdt < dt))
{
x = rx;
y = ry;