Карта онлайна

Теги:
 
+
-
edit
 

Balancer

администратор
★★★★★
Вот, то, что на http://la2.balancer.ru/online/map/

Пользуется моей CMS, но итак всё наглядно, переписать легко на голый PHP.

code php
  1. <?
  2.     function lbr_module_online_map($db_name = 'l2jdb')
  3.     {
  4.         $GLOBALS['cms']['cache_disabled'] = false;
  5.  
  6.         $cache = &new Cache();
  7.        
  8.         if($cache->get('LBR:DB',"$db_name-online"))
  9.             return $cache->last();
  10.  
  11.         $map = "";
  12.  
  13.         $MAP_MIN_X = -131072;
  14.         $MAP_MAX_X = 228608;
  15.         $MAP_MIN_Y = -256144;
  16.         $MAP_MAX_Y = 262144;
  17.        
  18.         $db = &new DataBase($db_name);
  19.        
  20.         list($map_img_w, $map_img_h) = getimagesize("{$_SERVER['DOCUMENT_ROOT']}/l2jz/modules/map/i/mediumMap.jpg");
  21.        
  22.         foreach($db->get_array("SELECT char_name, x, y FROM characters WHERE online > 0") as $row)
  23.         {
  24.             $m_x = intval($map_img_w*($row['x']-$MAP_MIN_X)/($MAP_MAX_X-$MAP_MIN_X)-3);
  25.             $m_y = intval($map_img_h*($row['y']-$MAP_MIN_Y)/($MAP_MAX_Y-$MAP_MIN_Y)-3);
  26.  
  27.             $map .= "<div style=\"position:absolute;top:{$m_y}px;left:{$m_x}px\"><img src=\"/l2jz/modules/map/i/points/monster.gif\" title=\"{$row['char_name']}\"></div>";
  28.         }
  29.  
  30. $out = <<< __EOT__
  31. <div align="center">
  32. <table border="0" cellpadding="0" cellspacing="0" width="461">
  33.   <tr width="{$map_img_w}" height="1"><td colSpan="2" width="{$map_img_w}" height="1"><img src="/l2jz/i/tdot.gif" width="{$map_img_w}" height="1"></td></tr>
  34.   <tr width="{$map_img_w}" height="{$map_img_h}">
  35.     <td valign="top" height="{$map_img_h}" width="1"><img src="/l2jz/i/tdot.gif" width="1" height="{map_img_h}"></td>
  36.     <td valign="top" height="{$map_img_h}" width="{$map_img_w}">
  37.       <div style="position:absolute">
  38.         <img src="http://la2.balancer.ru/l2jz/modules/map/i/bigMap.jpg" width="{$map_img_w}" height="{$map_img_h}" border="1" style="border-color:#000000;" style="position:absolute;top:0px;left:0px;"/>
  39.         $map
  40.       </div>
  41.     </td>
  42.   </tr>
  43. </table>
  44. </div>
  45. __EOT__;
  46.    
  47.         return $cache->set($out, 300);
  48.     }
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
+
-
edit
 

Diamond

втянувшийся

А если добавить туда телнет? :)
Наверное можно добиться отображения в реальном времени, а не с синхронизацией раз в 5-10 минут (хз скока там).
 
+
-
edit
 

Balancer

администратор
★★★★★
Megawolf> А если добавить туда телнет? :)
Megawolf> Наверное можно добиться отображения в реальном времени, а не с синхронизацией раз в 5-10 минут (хз скока там).

Лучше тогда уже сделать сабж на встроенном Web-сервере. Тогда вообще будут координаты в реальном времени.

Но это будет хуже. Будет возможность злоупотребления :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
+
-
edit
 
Тогда уж не телнет а форт...
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
+
-
edit
 

phoptik

разработчик L2J Fortress

Нее думаю обновление в реальном времени зло, сразу же найдутся те, кто сможет этим воспользоваться. Да и если бы я играл, то мне бы не понравилось, что за мной могут следить :)
 
+
-
edit
 

Balancer

администратор
★★★★★
Можно не выводить имя игрока, только само наличие :)

А ещё лучше - чтобы игрок сам мог разрешить показ на карте своего имени и уровня при его желании :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
+
-
edit
 

phoptik

разработчик L2J Fortress

Мне кажется игроку будет полезней смотреть на такой карте в реалтайме за каким-нибудь NPC или мобом, то есть такая интерактивная карта по мобам и NPC. Часто бывает сложно найти, т.к его или убили или увели или вообще нет спавна. А используя такую карту можно определить есть ли в мире такой обьект и где он :)
 
UA SoulKeeper #12.12.2006 02:32
+
-
edit
 

SoulKeeper

разработчик L2J Fortress

имхо, полезность оно представляет только для гм-ской братии. Игроки же будут пользоватся таким для ПК\Паровозов.
Разыскивается десятка с два датапакеров :) http://la2.wrk.ru/forum/viewtopic.php?id=50882  
+
-
edit
 

CyClon

втянувшийся
:) Неплохая вещь, хоть задумка и старая. Токо нужно точки сделать помельче, ибо вместо 20 точек получается одна, но жирная :)))

http://lineage2.mediazona.ru/library/map/all - прям как тут 8-)
L2JF User  

в начало страницы | новое
 
Поиск
Поддержка
Поддержи форум!
ЯндексЯндекс. ДеньгиХочу такую же кнопку
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru