function get_mapAreaData($areaId, $pointsList = 0) { global $gAreaCoord; $area = getRenderAreaData($areaId); if (empty($area)) { echo "{$lang['map_no_found']} {$areaId}<br>"; return; } $map = array(); // Данные карты $mapId = $area[0]; $areaY1 = $area[2]; $areaY2 = $area[3]; $areaX1 = $area[4]; $areaX2 = $area[5]; $map['header'] = $area[1] == 0 ? getMapName($mapId) : getAreaName($area[1]); $map['width'] = 1002; $map['height'] = 668; $map['coord'] = 0; $map['image'] = "images/map_image/areas/" . $area[6]; if ($pointsList) { foreach ($pointsList as &$point) { $posMap = $point['map']; $posX = $point['position_x']; $posY = $point['position_y']; if ($area[1] == 0) { transformAreaCoordinates($posMap, $posX, $posY); } if ($mapId == $posMap and $areaY1 >= $posY and $areaY2 <= $posY and $areaX1 >= $posX and $areaX2 <= $posX) { $x = ($posX - $areaX1) / ($areaX2 - $areaX1); // 0-1 on image $y = ($posY - $areaY1) / ($areaY2 - $areaY1); // 0-1 on image $map['points'][] = getPointData($areaId, $point, $x, $y); } } } return $map; }
<?php include_once 'include/map_data.php'; $areaId = intval(@$_REQUEST['jsarea']); $area_data = getRenderAreaData($areaId); $list = $dDB->select('SELECT \'n\' AS `type`, `guid`, `id`, `map`, `spawnMask`, `phaseMask`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `DeathState`, `MovementType` FROM `creature` WHERE `map` = ?d AND `position_x` > ?d AND `position_x` < ?d AND `position_y` > ?d AND `position_y` < ?d', $area_data[0], $area_data[5], $area_data[4], $area_data[3], $area_data[2]); $data = get_mapAreaData($areaId, $list); echo php2js($data);
<?php include_once "include/map_data.php"; $text = ''; $ajaxptr = ''; $map = @$_REQUEST['map'] == '' ? -1 : intval(@$_REQUEST['map']); $area = intval(@$_REQUEST['area']); $width = intval(@$_REQUEST['width']) ? intval(@$_REQUEST['width']) : 900; if ($area) { $a = getRenderAreaData($area); $map = $a[0]; } //***************************************************************************** // Create points list //***************************************************************************** $pointsList = new mapPoints(); if ($npc_id = intval(@$_REQUEST['npc'])) { $ajaxptr .= "&npc={$npc_id}"; $pointsList->addNpc($npc_id, $map); $text = '<center>' . getCreatureName($npc_id) . '</center>'; } if ($obj_id = intval(@$_REQUEST['obj'])) { $ajaxptr .= "&obj={$obj_id}"; $pointsList->addGo($obj_id, $map); $text = '<center>' . getGameobjectName($obj_id) . '</center>'; } if ($point = @$_REQUEST['point']) { $ajaxptr .= '&point=' . $point; $p = split(':', $point); $pointsList->addPoint(@$p[0], @$p[1], @$p[2], @$p[3]); $text = '<br>';
RenderError($lang['area_not_found']); } else { $baseLink = '?zone=' . $entry; if (@$_REQUEST['npc']) { $baseLink .= "&npc={$npc_id}"; } if (@$_REQUEST['obj']) { $baseLink .= "&obj={$obj_id}"; } if (@$_REQUEST['width']) { $baseLink .= "&width={$width}"; } $zentry = $area['zone_id'] ? $area['zone_id'] : $entry; $map = $area['map_id']; $zone = getArea($zentry); $area_data = @getRenderAreaData($gZoneToAreaImage[$zentry]); if ($area_data && !isset($_REQUEST['mark'])) { if ($ajaxmode == 0) { if ($lang['www_zone']) { echo "<a href=\"" . sprintf($lang['www_zone'], $entry) . "\" target=\"_blank\"\">" . sprintf($lang['www_zone'], $entry) . "</a><br>"; } if ($zentry != $entry) { echo $area['name'] . '<br>'; } echo "<div id=mapper>"; } $pointsList = new mapPoints(); if ($npc_id) { $pointsList->addNpc($npc_id, $map); } if ($obj_id) {