Jump to content
  • Announcements

    • Xmat

      Pravidlo pro postování v TTT

      Do sekce Tipy, triky, tutoriály nepatří žádné dotazy.   Postujte sem vaše návody, tipy a různé další věci jež uznáte za vhodné sdělit zdejšímu osazenstvu, ale veškeré dotazy směřujte do sekce Všeobecná diskuse.
    • Replik

      Seznam návodů a důležitých témat v této sekci

      Pro lepší přehlednost jsem vytvořil tento seznam, který vás, méně zkušené, lépe provede touto sekcí. Věřím, že zde najdete, co hledáte. Vypsané jsou návody, které jsou oficiálně uznané jako návody. Běžné diskuze, které neposkytují postupy a rady zvěřejněny nejsou.   Instalace vlastního MaNGOS Serveru Díky těmto návodům budete (měli by jste být) schopni vytvořit a následně spustit váš vlastní server. Nastavení je pro verze s i bez datadisku.   Instalace MaNGOS Serveru (bez datadisku TBC) - Autor Benny Instalace MaNGOS Serveru (s datadiskem TBC) - Autor Malfik Instalace MaNGOS Serveru v prostředí Linux - Autor charlie Instalace MaNGOS Serveru v prostředí Linux - Autor kupkoid   Chyby a jejich řešení při přihlašování k serveru - Autor Cybe   Zálohování uživatelských dat   Dávkový soubor (BAT soubor) pro vytvoření SQL záloh - Autor Replik   Kompilování - tvoření vlastních release (revizí)   Tvorba kompilací pro Win32 (MangoScript) - Autor bLuma   Ostatní - těžko zařaditelné, ale neznamená to, že nejsou dobré   VIP Systém - Autor charlie Tvorba Webových stránek pro MaNGOS - Autor zahuba Tvorba teleportačních NPC (MangoScript) - Autor Replik Registrační web (původně předělaná SPORA) Funkční pro Antrix i MaNGOS - Autor Replik Nastavení a spuštění Minimanager pro MaNGOS - Autor BlackMartin Nastavení MaNGOS Website - Autor Artorius   Samozřejmě jsou zde i jiné návody, ale tyto jsou nejvíce používané, proto věřím, že vám budou nápomocné. Tuto sekci budeme upravovat podle potřeby. Pokud by jste něco nenašli nebo si nevěděli rady, hledejte na fóru a teprve potom založte vlastní topik. Pokud nějaký autor vytvoří kvalitní návod a chtěl by ho zveřejnit i v tomto seznamu, doporučuji, aby mi napsal zprávu skrze PM.   Díky a přeji hezký den na WoWResource   Replik
    • Aristo

      Příspěvky tam, kde nemají co dělat

      Dodržujte zákaz přispívání do topiků s repaky pokud si to zakladatelé nepřejí!! Opakované psaní příspěvků bude trestáno warnem.
    • Aristo

      Používání spoilerů

      Poslední dobou má většina uživatelů fora zvláštní nutkání postovat extrémně dlouhé texty nebo kódy, které zabírají v nejedenom případu i 80% obsahu celé stránky a hodně tak zvedají nepřehlednost v topiku. Chtěl bych všechny uživatele požádat, aby při postování citací, jakýchkoliv kódů, errorů, atp... delších než 30 řádků používali funkci spoileru.   Funkci vyvoláte příkazem [spoiler] text [/spoiler]   Ukázka:  
Sign in to follow this  
Filo

Online mapa

Recommended Posts

Zdarec muzete sem nekdo napsat navod jak ji rozjet?

 

v readme je:

Installation: 
Copy contents of archive in a directory of yours http server. 
Execute batch file zones_and_maps.sql in your realm SQL base (realmd) - it will create the table of coordinates of locations and the table of maps. 

Set variables in heading of a file pomm.php: 
$host="localhost";            // HOST for Mangos database
$user="mangos";            // USER for Mangos database
$password="mangos";            // PASS for Mangos database
$db="mangos";                // Mangos database NAME
$dbr="realmd";                // Realm database NAME
$database_encoding = 'CP1251'; // Set encoding
$img_base = "img/";            // Image dir
$server = "localhost";        // Server adress (for realm status)
$port = "8085";            // Server port (for realm status)

Set in file mangosd.conf
PlayerSaveInterval = 30000    // Interval of save player data in milliseconds

presne to mam takhle:<?php
/* 
    POMM  v1.1
    Player Online Map for MangOs

    Show online players position on map.
    Show tooltip with location, race, class and level of player.
    Show realm status.

    By mirage666 ([email protected] icq# 152263154)

    Based on PosInfo (Created by gotisch, Modifications made by Kilandor And Greenseed)
*/

$host="213.192.22.96";            // HOST for Mangos database
$user="mangos";            // USER for Mangos database
$password="heslo k DB";            // PASS for Mangos database
$db="mangos";                // Mangos database NAME
$dbr="realmd";                // Realm database NAME
$database_encoding = 'CP1251'; // Set encoding
$img_base = "mangos/img/";            // Image dir
$server = "213.192.22.96";        // Server adress (for realm status)
$port = "3724";            // Server port (for realm status)

$def = Array(
    'character_race' => Array(
        1 => 'Human',
        2 => 'Orc',
        3 => 'Dwarf',
        4 => 'Night Elf',
        5 => 'Undead',
        6 => 'Tauren',
        7 => 'Gnome',
        8 => 'Troll',
        9 => 'Goblin',
    ),

    'character_class' => Array(
        1 => 'Warrior',
        2 => 'Paladin',
        3 => 'Hunter',
        4 => 'Rogue',
        5 => 'Priest',
        7 => 'Shaman',
        8 => 'Mage',
        9 => 'Warlock',
        11 => 'Druid',
    ),
);

class DBLayer
{
    var $link_id;
    var $query_result;
    var $saved_queries = array();
    var $num_queries = 0;

    function DBLayer($db_host, $db_username, $db_password, $db_name)
    {
        $this->link_id = @mysql_connect($db_host, $db_username, $db_password, true);

        if ($this->link_id)
        {
            if (@mysql_select_db($db_name, $this->link_id))
                return $this->link_id;
            else
                error('Unable to select database. MySQL reported: '.mysql_error(), __FILE__, __LINE__);
        }
        else
            error('Unable to connect to MySQL server. MySQL reported: '.mysql_error(), __FILE__, __LINE__);
    }

    function query($sql)
    {
        $this->query_result = @mysql_query($sql, $this->link_id);

        if ($this->query_result)
        {
            ++$this->num_queries;
            return $this->query_result;
        }
        else
        {
            return false;
        }
    }


    function result($query_id = 0, $row = 0)
    {
        return ($query_id) ? @mysql_result($query_id, $row) : false;
    }


    function fetch_assoc($query_id = 0)
    {
        return ($query_id) ? @mysql_fetch_assoc($query_id) : false;
    }


    function fetch_row($query_id = 0)
    {
        return ($query_id) ? @mysql_fetch_row($query_id) : false;
    }


    function num_rows($query_id = 0)
    {
        return ($query_id) ? @mysql_num_rows($query_id) : false;
    }


    function affected_rows()
    {
        return ($this->link_id) ? @mysql_affected_rows($this->link_id) : false;
    }


    function insert_id()
    {
        return ($this->link_id) ? @mysql_insert_id($this->link_id) : false;
    }


    function get_num_queries()
    {
        return $this->num_queries;
    }


    function get_saved_queries()
    {
        return $this->saved_queries;
    }


    function free_result($query_id = false)
    {
        return ($query_id) ? @mysql_free_result($query_id) : false;
    }


    function escape($str)
    {
        if (function_exists('mysql_real_escape_string'))
            return mysql_real_escape_string($str, $this->link_id);
        else
            return mysql_escape_string($str);
    }


    function error()
    {
        $result['error_sql'] = @current(@end($this->saved_queries));
        $result['error_no'] = @mysql_errno($this->link_id);
        $result['error_msg'] = @mysql_error($this->link_id);

        return $result;
    }


    function close()
    {
        if ($this->link_id)
        {
            if ($this->query_result)
                @mysql_free_result($this->query_result);

            return @mysql_close($this->link_id);
        }
        else
            return false;
    }
}


function get_player_position($x,$y,$m) {
$xpos = round(($x / 1000) * 17.7,0);
$ypos = round(($y / 1000) * 17.7,0);
switch ($m)
{
   case 1:
    $pos['x'] = 154 - $ypos;
    $pos['y'] = 258 - $xpos;
    break;
   case 0:
    $pos['x'] = 572 - $ypos;
    $pos['y'] = 174 - $xpos;
    break;
   default:
    $pos['x'] = 572 - $ypos;
    $pos['y'] = 174 - $xpos;
}
return $pos;
}

function get_map_name($mapid){
    global $host, $user, $password, $db, $dbr, $database_encoding;
    $mangos_db = new DBLayer($host, $user, $password, $dbr);
    $mangos_db->query("SET NAMES $database_encoding");
    $query = $mangos_db->query("SELECT * FROM `maps` WHERE `map_id`=$mapid");
    $result = $mangos_db->fetch_assoc($query);
    $mangos_db->close();
    unset($mangos_db);
    return $result['map_name'];
    } 

function get_zone_name($mapid, $x, $y){
    global $host, $user, $password, $db, $dbr, $database_encoding;
    $mangos_db = new DBLayer($host, $user, $password, $dbr);
    $mangos_db->query("SET NAMES $database_encoding");
    $query = $mangos_db->query("SELECT * FROM `zone_coordinates` ORDER BY `priory`");
    $zmap=get_map_name($mapid);
    while($result = $mangos_db->fetch_assoc($query))
    {

    if ($result['map']==$mapid AND $result['y_min'] < $x  AND $result['y_max'] > $x AND $result['x_max'] < $y  AND $result['x_min'] > $y) $zmap=$result['name'];
    }
    $mangos_db->close();
    unset($mangos_db);
    return $zmap;
    } 

function test_realm(){
    global $server, $port;
    $s = @fsockopen("$server", $port, $ERROR_NO, $ERROR_STR,(float)0.5);
    if($s){@fclose($s);return true;} else return false;
}

function get_realm_name(){
    global $host, $user, $password, $db, $dbr, $database_encoding;
    $mangos_db = new DBLayer($host, $user, $password, $dbr);
    $mangos_db->query("SET NAMES $database_encoding");
    $query = $mangos_db->query("SELECT * FROM `realmlist`");
    $result = $mangos_db->fetch_assoc($query);
    $mangos_db->close();
    unset($mangos_db);
    return($result['name']);
}


// Main part

$onlineplayers=0;
if (test_realm()) $point=$img_base."realm_on.gif"; else $point=$img_base."realm_off.gif";
$map="<img src=\"$point\" style=\"position: absolute; border: 0px; left: 245; top: 0;\" onClick=\"location='".$_SERVER['PHP_SELF']."'\"/>\n";

    $mangos_db = new DBLayer($host, $user, $password, $db);
    $mangos_db->query("SET NAMES $database_encoding");
    $query = $mangos_db->query("SELECT * FROM `character` WHERE `online`='1' ORDER BY `name`");
    while($result = $mangos_db->fetch_assoc($query))
    {
        $char_data = explode(' ',$result['data']);
        $char_gender = dechex($char_data[36]);
        $char_gender = str_pad($char_gender,8, 0, STR_PAD_LEFT);
        $char_gender = $char_gender{3};

      $race = $result['race'];
      $class = $result['class'];

      $x = round($result['position_x'],0);
      $y = round($result['position_y'],0);
      $pos = get_player_position($result['position_x'],$result['position_y'],$result['map']);
      $point = $img_base."allia.gif";
      $left = $pos['x'] . "px";
      $top = $pos['y'] . "px";

      $img_race="<img src=\'img/".$result['race']."-".$char_gender.".gif\' style=\'float:center\' border=\'0\' />";
      $img_class="<img src=\'img/".$result['class'].".gif\' style=\'float:center\' border=\'0\' />";

      if($race == "2" or $race =="5" or $race == "6" or $race == "8") $point = $img_base."horde.gif";

$racename=$def['character_race'][$result['race']];
$classname=$def['character_class'][$result['class']];

$zname=get_zone_name($result['map'], $result['position_x'], $result['position_y']);

$map .= "<img src=\"$point\" style=\"position: absolute; border: 0px; left: $left; top: $top;\" onmouseover=\"this.T_TITLE='$result[name]';return escape('$zname<br/>$img_race $img_class<br/>$racename<br/>$classname<br/>$char_data[34] lvl')\" />\n";
$onlineplayers++;
    }
    $mangos_db->close();
    unset($mangos_db);

echo "<html><head><title>Online ".$onlineplayers." players on ".get_realm_name()."</title>
<style type=\"text/css\">
<!--
body {
        margin-left: 0px;
        margin-top: 0px;
        margin-right: 0px;
        margin-bottom: 0px;
        color: #EABA28;
        background-color: #000000;
}
#world {
        position: absolute;
        height: 525px;
        width: 784px;
        left: 50%;
        margin-left: -392px;
        background-image: url(".$img_base."map.jpg);
        z-index: 2;
}
-->
</style>
</head>
<body>
<div id=\"world\">" . $map . "</div>
<script language=\"JavaScript\" type=\"text/javascript\" src=\"wz_tooltip1.js\"></script>
</body></html>";
?>

 

vse jsem udelal,a proste se mi to nechce nacist..a pak to po nejake dobe vypise chybu:

Fatal error: Call to undefined function: error() in /3w/czechian.net/m/moon-shineq/mangos/pomm.php on line 70

 

Filo

Edited by kupkoid

Share this post


Link to post
Share on other sites

ta mapa nejde otevrit, mam asi stejny problem, poradte nekdo kdo tu mapu ma a rozjel to.....

Edited by Cybe

Share this post


Link to post
Share on other sites

ta mapa nejde otevrit, mam asi stejny problem, poradte nekdo kdo tu mapu ma a rozjel to.....

 

Já tu mapu rozjel a pohoda. Takže tady to je:

Tady si stáhni přímo mapu ať víme na čem sme :)

http://www.uploadtemple.com/view.php/1163491526.rar

 

Takže, rozbal si to někam na tvůj počítač, ale nejlépe tam kde máš apache server, aby jsi k tomu mohl přistupovat z netu, takže pokud se nepletu je to složka "htdocs"

 

Nastavení se provádí v souboru pomm_conf.php a bude takovéto

$host="localhost";            // HOST for Mangos database
$user="root";            // USER for Mangos database
$password="root";            // PASS for Mangos database
$db="mangos";                // NAME of Mangos database
$hostr="localhost";            // HOST for Realm database
$userr="root";            // USER for Realm database
$passwordr="root";        // PASS for Realm database
$dbr="realmd";                // NAME of Realm database
$database_encoding = 'CP1251'; // Set encoding
$img_base = "img/";            // Image dir
$server = "localhost";        // Server adress (for realm status)
$port = "8085";                // Server port (for realm status) 8085 or 3724
$time= "20";                // Update time (seconds), 0 - not update.
$show_time="1";                // Show update timer 1 - on, 0 - off

 

Přes web si to zobrazíš nejlépe takto:

 

java script: window.open('http://tvoje_domena/mapa/pomm.php', '_blank', 'width=784, height=525, resizable=no'), undefined;

 

Tady je příklad u mě:

<a href="java script: window.open('http://replios.ath.cx/mapa/pomm.php', '_blank', 'width=784, height=525, resizable=no'), undefined;">GPS Hráčů</a>

 

Snad ti to půjde :)

Edited by Replik

Share this post


Link to post
Share on other sites

Já tu mapu rozjel a pohoda. Takže tady to je:

Snad ti to půjde :)

 

Když se snažim mapu umístěnou na hostingu (ne free) otevřít, vypíše tuto chybu:

Error: Unable to connect to MySQL server. MySQL reported: Access denied for user 'root'@'localhost' (using password: YES). 

nicméně je schopný rozpoznat to jestli je server off, nebo on. Nastavení cofigu co se týče IP adres, jmen apod je správný. dtb má povolený přístup z venčí, takže nechápu v čem je problém.

 

Když sem nainstaloval apache na server a hodil do něj mapu, tak je nelze otevřít, protože to sou soubory *.php, tedy to potřebuje spolu s apachem nějaký mysql jak sem tak pochopil, ale to nainstalovat nemůžu, protože nejde mít dvě nezávislí mysql, jakmile ji nainstaluju, zruší to spojení mangosu s původní mysql s dtb.

 

pro úplnost uvádim konfig file pomm 1.3 za předpokladu že user je root, pass je aaa a IP je 11.111.11.11 co se týče řádků host a hostr byli použity i server IP 11.111.11.11 spojení se i tak nepodařilo.

 

$host="localhost";            // HOST for Mangos database
$user="root";            // USER for Mangos database
$password="aaa";            // PASS for Mangos database
$db="mangos";                // NAME of Mangos database
$hostr="localhost";            // HOST for Realm database
$userr="root";            // USER for Realm database
$passwordr="aaa";        // PASS for Realm database
$dbr="realmd";                // NAME of Realm database
$database_encoding = 'CP1251'; // Set encoding
$img_base = "img/";            // Image dir
$server = "11.111.11.11";        // Server adress (for realm status)
$port = "8085";                // Server port (for realm status) 8085 or 3724
$time= "20";                // Update time (seconds), 0 - not update.
$show_time="1";                // Show update timer 1 - on, 0 - off

 

Tak kdopak ví řešení? :) thx

Share this post


Link to post
Share on other sites

Aha sorry, uz neumim cist :-D precetl jsem si to jako: hostingu ( na free ) misto (ne free) :)) a o jakej hosting se jedna ? :)

 

BTW: Zkousel jsi vubec se pripojit z nejakeho jineho pocitace pres navicat na sve IP, jestli jsi to konfguroval vse dobre ? Kolikrat se mi stalo, ze jsem si byl jistej, potom sem to zkusil a neslo to :-D

Edited by Blizz

Share this post


Link to post
Share on other sites

Nezkoušel, nicméně nastavení configu je OK ne? Nemam žádný individuelní nastavení, v tuhle chvíli je všechno prakticky default, zaráží mě, že nikdo nemá podobnej problém. Hosting ufouni.cz myslim...

Share this post


Link to post
Share on other sites

Mno, tak tento hosting neznam, jen neco malo jsem o nem neco slysel, ale fakt nevim, jake sluzby poskytuji, ale radim ti si zajit k nejakemu kamosovi a skusit se lognout do svoji DB z jeho PC, jestli to ams fakt dobre udelane , jestli ti to pujde, tak se domluv s tim hosterem, abyy ti zmenil nastaveni.... BTW: mozna ze ti to nejde, protoze uzivatel root je jen pro localhosta, ale tim si nejsem jistej, vytvor si v navicatu noveho uzivatele a dej mu vsechny prava, mozna ze to pak pujde :)

Share this post


Link to post
Share on other sites

Takže poskyovatel spojení neblokuje, z jiného PC se do dtb nelze připojit..... na pozadí neběží žádnej proces kterej by mohl blokovat přístup, přístub do dtb z venčí je povolenej fak nechápu jak to máte, že Vám to běhá.

Share this post


Link to post
Share on other sites

Pokud webhosting neblokuje vzdalenou MySQL databazi tak chyba je v ni u tebe. Pokud port 3306 mas otevreny (a zrejme ano podle hlasky)

Tak chybu hledej v nastaveni opravneny usera root, ktery v zakladu je limitovan na localhosta (ano mysql vede ip/domenovy filtr na pripojeni)

 

Musis si pridat dalsiho usera a nebo upravit roota na pripojeni z webhostingove ip/domeny / ze vsech ip... S cimz souviseji urcita rizika utoku zvenci.

 

Informace o mysql tykajici se useru http://dev.mysql.com/doc/refman/5.0/en/use...management.html najdes tam i potrebne nastaveni z jake ip se lze pripojit, kdyz budes chvili cist ;)

Edited by bLuma

Share this post


Link to post
Share on other sites

pic lidi, hejte vim, že už je to docela hloupý ale tak trochu mi to vrtá hlavou. Všem to jede, takže si myslim, že nebude problém dyž mi to někdo vysvětlí..... thx

 

Stav je následující:

- Provider hostingu nic neblokuje - ověřeno.

- Do dtb se z jinýho PC připojim ať jako root, nebo i s nově vytvořenym acc s plnými právy k dtb - ověřeno.

-nastavení mapy je korektní - je uvedeno někde v příspěvku výše......

Ta božská mapa stále hlásí chybu že se nemůže připojit k dtb, přístup zamítnut.

Share this post


Link to post
Share on other sites

mas to fakt nejake divne, ale ostatnim to funguje, protoze to hostoji ten web na serveru, i kdyz maji domenu treba neco.com, tak to ma vetsina jen na sve IP hozenou DNS bo jak se to pise

Share this post


Link to post
Share on other sites

dyž to dam na server tak apche samotnej to neotevře jako php dyž se na to připojim, a dyž teda s tim instaluju ňeco MySQL aby se to dalo otevřít dyž se na to někdo připojí, tak mi to přebije, resp. odpojí původní mysql na kterym sou dtb mangosu....

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×