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  
warring

Uprava PHP Scriptu Online hracu ( pridani profesi )

Recommended Posts

Cawko nevite nekdo jak do tohoto scriptu přidat informace o to kdo ma jakou profesi ( 2 profese )

 

 

SCRIPT

 

 

<?php

/// Nstavení pristupu do DB \\\

/// Coded by Warring \\\ ?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Online Hrači</title>

<style type="text/css">

<!--

body

{

line-height: 1.2em;

}

 

#box-table-a

{

font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;

font-size: 12px;

margin: 45px;

text-align: center;

border-collapse: collapse;

}

#box-table-a th

{

font-size: 13px;

font-weight: normal;

padding: 4px;

background: #474747;

font-weight:bold;

border-right: 2px solid #fff;

border-left: 2px solid #fff;

border-bottom: 2px solid #fff;

color: #999999;

}

#box-table-a td

{

padding: 6px;

background: #d9d9d9;

border-bottom: 1px solid #fff;

color: #666666;

font-weight:bold;

border-right: 2px solid #fff;

border-left: 2px solid #fff;

border-top: 2px solid #fff;

text-shadow:1px 1px 0 #FFFFFF;

}

.cervena {color: #FF0000}

.zelena {color: #009900}

.modra {color: #0000FF}

-->

</style>

</head>

 

<body>

<table id="box-table-a">

<thead>

<tr>

<th scope="col" style="min-width: 80px;">ID Postavy</th>

<th scope="col" style="min-width: 80px;">ID Accountu</th>

<th scope="col" style="min-width: 200px;">Postava</th>

<th scope="col" style="min-width: 80px;">Level</th>

<th scope="col" style="min-width: 80px;">HP</th>

<th scope="col" style="min-width: 80px;">Peníze</th>

<th scope="col" style="min-width: 80px;">Race</th>

<th scope="col" style="min-width: 80px;">Class</th>

<th scope="col" style="min-width: 80px;">Killy</th>

<th scope="col" style="min-width: 80px;">Honory</th>

<th scope="col" style="min-width: 80px;">Arena Pointy</th>

<th scope="col" style="min-width: 80px;">Latence</th>

</tr>

</thead>

<tbody>

<?php

$ip = "127.0.0.1";

$name = "root";

$heslo = "";

$chardb = "characters";

mysql_connect("$ip", "$name", "$heslo") or die("Nelze se připojit k MySQL: " . mysql_error());

mysql_select_db("$chardb") or die("Nelze vybrat databázi: ". mysql_error());

mysql_query("SET NAMES 'utf8';");

 

$vysledek=mysql_query("select * from characters where online = '1' order by name ");

$radku=mysql_num_rows($vysledek);

$i=1;

while ($zaznam=MySQL_Fetch_Array($vysledek)):

echo "<tr>";

echo '<td>'.$zaznam["guid"]."</td>";

echo '<td>'.$zaznam["account"]."</td>";

echo '<td>'.$zaznam["name"]."</td>";

if($zaznam["level"]<=80) echo "<td>".$zaznam["level"]."</td>"; else echo "<td><span class='zelena'>GameMaster</span></td>";

if($zaznam["health"]<=1000000) echo "<td>".$zaznam["health"]."</td>"; else echo "<td><span class='modra'>Nad Milion Hp</span></td>";

echo "<td>".$zaznam["money"] / 10000 ." <SUB><img src=img/gold.png width='13' height='13'></SUB></td>";

echo "<td>"."<img src=img/".$zaznam["race"]."-".$zaznam["gender"].".gif>"."</td>";

echo "<td>"."<img src=img/".$zaznam["class"].".gif>"."</td>";

if($zaznam["totalKills"]<=1000) echo "<td>".$zaznam["totalKills"]."</td>"; else echo "<td><span class='cervena'>Monster Killer </span><span class='zelena'><SUB><SUP>1000+</SUP></SUB></span></td>";

if($zaznam["totalHonorPoints"]<=75000) echo "<td>".$zaznam["totalHonorPoints"]."</td>"; else echo "<td><span class='cervena'>Full Honory </span><span class='zelena'><SUB><SUP>75000</SUP></SUB></span></td>";

echo "<td>".$zaznam["arenaPoints"]."</td>";

echo "<td>".$zaznam["latency"]."</td>";

echo "</tr>";

$i++;

endwhile;

 

?>

</tbody>

</table>

</body>

</html>

 

 

 

Vse funguje jak má ale chce to tak jeste pridat ty dve profese

 

 

 

Jedná se o Jádro TC2

Share this post


Link to post
Share on other sites

Proč hledat složitě když to jde jednoduše. Pokud vidim dobře Coded by Warring, tzn. že počítám, že znalosti v php máš když si to tedy dělal sám a nevidím důvod proč bys tedy nedokázal připsat další výpis dat z DB pomocí s¨svojí DB či wiki -> http://www.trinitycore.org/w/DB:Characters a upravil to pomocí switch funkce z číselné hodnoty na slovní stejně jako je to u class, race :)

  • Upvote 3

Share this post


Link to post
Share on other sites

Díky warde nakopnul jsi mne do práce a poradil jako vždy davam +rep

 

 

Sakra nejde mi to :(

 

Mohl by ses na to kouknout ?

 

a případně dopsat ?

Edited by warring

Share this post


Link to post
Share on other sites

Pomoci spellu to sice taky jde ale elegantnejsi reseni je pomoci skillu.

Kdyz si podle wowheadu najdes IDcka skillu a k nim pripises nazev profese klidne ti to sepisi. To je otazka pul minuty, ale na to hledani Idcek cas nemam.

 

Tabulka: http://www.trinitycore.org/w/Character_skills_tc2

Edited by ntdrt

Share this post


Link to post
Share on other sites

Jedna z mnoha moznosti:

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
   <meta http-equiv="content-language" content="cz-cs" />
   <meta name="author" content="code by Tomáš Kolinger, design by n/a" />
   <meta name="description" content="DESCRIPTION" />
   <meta name="keywords" content="KEYWORDS" />
   <meta name="copyright" content="2011, Tomáš Kolinger" />
   <meta name="robots" content="index, follow" />
   <title>Online hráči</title>
 </head>
 <body>
   <table>
     <tr><th>ID Postavy</th><th>ID Účtu</th><th>Jméno</th><th>Rasa</th><th>Povolání</th><th>Level</th><th>Profese</th></tr>
     <?php
       mysql_connect("localhost", "local", "local");
       mysql_select_db("tc_characters");

       $races = array(
         1  => "human",
         2  => "orc",
         3  => "dwarf",
         4  => "night elf",
         5  => "undead",
         6  => "tauren",
         7  => "gnome",
         8  => "troll",
         10 => "blood elf",
         11 => "draene",
       );
       $classes = array(
         1  => "warrior",
         2  => "paladin",
         3  => "hunter",
         4  => "rogue",
         5  => "priest",
         6  => "death knight",
         7  => "shaman",
         8  => "mage",
         9  => "warlock",
         11 => "druid",
       );  
       $proffesionsNames = array(
         129 => "First Aid",
         164 => "Blacksmithing",
         165 => "Leatherworking",
         171 => "Alchemy",
         182 => "Herbalism",
         185 => "Cooking",
         186 => "Mining",
         197 => "Tailoring",
         202 => "Engineering",
         333 => "Enchanting",
         356 => "Fishing",
         393 => "Skinning",
         755 => "Jewelcrafting",
         773 => "Inscription",
       );       
       $proffesionsList = array_flip($proffesionsNames); 
       $proffesionsList = implode(", ", $proffesionsList);                         
       $characters = mysql_query("SELECT guid, account, name, race, class, level FROM characters WHERE online = 1");
       while($character = mysql_fetch_assoc($characters)){
         $proffesions = mysql_query("SELECT skill, value FROM character_skills WHERE skill IN(".$proffesionsList.") AND guid = ".$character["guid"]);
         echo "<tr>";
         echo "<td>".$character["guid"]."</td>";
         echo "<td>".$character["account"]."</td>";
         echo "<td>".$character["name"]."</td>";
         echo "<td>".$races[$character["race"]]."</td>";
         echo "<td>".$classes[$character["class"]]."</td>";
         echo "<td>".$character["level"]." lvl</td>";
         echo "<td>";
         while($proffesion = mysql_fetch_assoc($proffesions)){
           echo $proffesionsNames[$proffesion["skill"]]."(".$proffesion["value"].") ";
         }
         echo "</td>";
         echo "</tr>\n";
       }
     ?>
   </table>
 </body>
</html>

 

 

Ten dotaz by chtel ale nejak upravit, mozna sloucit s tim prvnim - trochu optimalizace ale uz musim jit pracovat.

 

BTW: NETESTOVANO! Nemam pri ruce databazi kde by nekdo mel profese.. Ale na 95% to fungovat bude.

Edited by ntdrt

Share this post


Link to post
Share on other sites

ten script hazi error sice sem nepochopil chybu na řádku 64

 

$proffesions = mysql_query("SELECT skill, value FROM character_skills WHERE skill IN($proffesionsList) AND guid = ".$character["guid"]);

ale i přes cca 140 pokusu zakomponovat do meho scriptu profese to vzdy padlo neśpěchem :( chce to wladasse nebo wardika

Share this post


Link to post
Share on other sites

Script ktery jsem napsal me funguje bez problemu. Takze chyba bude jinde.

Jinak kdyby si napsal jaky script a jaka chyba to je tak by to slo resit mnohem lepe a hned.

 

BTW: Nemyslim si ze Wladass a nebo Wardik vi vice. Zkus to pochopit jak to funguje a hlavne se nauc cist chyby, neber radky ale spise obsah chyby, pokud neumis anglicky muzes pouzit nejaky translator.

Share this post


Link to post
Share on other sites

MŮJ KOD - BEZ CHYBY

<?php
/// Nstavení pristupu do DB \\\
/// Coded by Warring	 \\\ ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Online Hrači</title>
<style type="text/css">
<!--
body
{
line-height: 1.2em;
}

#box-table-a
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
text-align: center;
border-collapse: collapse;
}
#box-table-a th
{
font-size: 13px;
font-weight: normal;
padding: 4px;
background: #474747;
font-weight:bold;
border-right: 2px solid #fff;
border-left: 2px solid #fff;
border-bottom: 2px solid #fff;
color: #999999;
}
#box-table-a td
{
padding: 6px;
background: #d9d9d9; 
border-bottom: 1px solid #fff;
color: #666666;
font-weight:bold;
border-right: 2px solid #fff;
border-left: 2px solid #fff;
border-top: 2px solid #fff;
text-shadow:1px 1px 0 #FFFFFF;
}
.cervena {color: #FF0000}
.zelena {color: #009900}
.modra {color: #0000FF}
-->
</style>
</head>

<body>
<table id="box-table-a">
<thead>
<tr>
<th scope="col" style="min-width: 80px;">ID Postavy</th>
<th scope="col" style="min-width: 80px;">ID Accountu</th>
<th scope="col" style="min-width: 99px;">Postava</th>
<th scope="col" style="min-width: 80px;">Level</th>
<th scope="col" style="min-width: 80px;">HP</th>
<th scope="col" style="min-width: 80px;">Peníze</th>
<th scope="col" style="min-width: 80px;">Race</th>
<th scope="col" style="min-width: 80px;">Class</th>
<th scope="col" style="min-width: 80px;">Killy</th>	
<th scope="col" style="min-width: 80px;">Honory</th>	
<th scope="col" style="min-width: 80px;">Arena Pointy</th>	
<th scope="col" style="min-width: 80px;">Latence</th>
</tr>
</thead>
<tbody>
<?php
$ip = "127.0.0.1";
$name = "root";
$heslo = "";
$chardb = "characters";
mysql_connect("$ip", "$name", "$heslo") or die("Nelze se připojit k MySQL: " . mysql_error());
mysql_select_db("$chardb") or die("Nelze vybrat databázi: ". mysql_error()); 
mysql_query("SET NAMES 'utf8';");

$vysledek=mysql_query("select * from characters where online = '1' order by name ");
$radku=mysql_num_rows($vysledek);
$i=1;
while ($zaznam=MySQL_Fetch_Array($vysledek)):
echo "<tr>";
echo '<td>'.$zaznam["guid"]."</td>";
echo '<td>'.$zaznam["account"]."</td>";
echo '<td>'.$zaznam["name"]."</td>";
if($zaznam["level"]<=80)	echo "<td>".$zaznam["level"]."</td>"; else echo "<td><span class='zelena'>GameMaster</span></td>";
if($zaznam["health"]<=999999)	echo "<td>".$zaznam["health"]."</td>"; else echo "<td><span class='zelena'>Moc </span><SUB><SUP><span class='cervena'>1.000.000+</SUP></SUB></span></td>";
if($zaznam["money"] <=1999999999)	echo "<td>".$zaznam["money"]/ 10000 ." G</td>"; else echo "<td><span class='zelena'>Moc</span> <SUB><SUP><span class='cervena'>200.000+</SUP></SUB></span></td>";
echo "<td>"."<img src=img/".$zaznam["race"]."-".$zaznam["gender"].".gif>"."</td>";
echo "<td>"."<img src=img/".$zaznam["class"].".gif>"."</td>";
if($zaznam["totalKills"]<=1000)	echo "<td>".$zaznam["totalKills"]."</td>"; else echo "<td><span class='cervena'>Monster Killer </span><span class='zelena'><SUB><SUP>1000+</SUP></SUB></span></td>";
if($zaznam["totalHonorPoints"]<=75000)	echo "<td>".$zaznam["totalHonorPoints"]."</td>"; else echo "<td><span class='cervena'>Full Honory </span><span class='zelena'><SUB><SUP>75000</SUP></SUB></span></td>";
echo "<td>".$zaznam["arenaPoints"]."</td>";
echo "<td>".$zaznam["latency"]."</td>";
echo "</tr>";
$i++;
endwhile;

?>
</tbody>
</table>
</body>
</html>

 

STAŽENÝ KOD Z TOHOTO TEAMA S PODPOROU PROFESI - HAZI ERROR

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
   <meta http-equiv="content-language" content="cz-cs" />
   <meta name="author" content="code by Tomáš Kolinger, design by n/a" />
   <meta name="description" content="DESCRIPTION" />
   <meta name="keywords" content="KEYWORDS" />
   <meta name="copyright" content="2011, Tomáš Kolinger" />
   <meta name="robots" content="index, follow" />
   <title>Online hráči</title>
 </head>
 <body>
   <table>
     <tr><th>ID Postavy</th><th>ID Účtu</th><th>Jméno</th><th>Rasa</th><th>Povolání</th><th>Level</th><th>Profese</th></tr>
     <?php
       mysql_connect("127.0.0.1", "root", "123456");
       mysql_select_db("characters");

       $races = array(
         1  => "human",
         2  => "orc",
         3  => "dwarf",
         4  => "night elf",
         5  => "undead",
         6  => "tauren",
         7  => "gnome",
         8  => "troll",
         10 => "blood elf",
         11 => "draene",
       );
       $classes = array(
         1  => "warrior",
         2  => "paladin",
         3  => "hunter",
         4  => "rogue",
         5  => "priest",
         6  => "death knight",
         7  => "shaman",
         8  => "mage",
         9  => "warlock",
         11 => "druid",
       );  
       $proffesionsNames = array(
         129 => "First Aid",
         164 => "Blacksmithing",
         165 => "Leatherworking",
         171 => "Alchemy",
         182 => "Herbalism",
         185 => "Cooking",
         186 => "Mining",
         197 => "Tailoring",
         202 => "Engineering",
         333 => "Enchanting",
         356 => "Fishing",
         393 => "Skinning",
         755 => "Jewelcrafting",
         773 => "Inscription",
       );      
       $proffesionsList = array_flip($proffesionsNames);
       $proffesionsList = implode(", ", $proffesionsList);                        
       $characters = mysql_query("SELECT guid, account, name, race, class, level FROM characters WHERE >);
       while($character = mysql_fetch_assoc($characters)){
         $proffesions = mysql_query("SELECT skill, value FROM character_skills WHERE skill IN($proffesionsList) AND guid = ".$character["guid"]);
         echo "<tr>";
         echo "<td>".$character["guid"]."</td>";
         echo "<td>".$character["account"]."</td>";
         echo "<td>".$character["name"]."</td>";
         echo "<td>".$races[$character["race"]]."</td>";
         echo "<td>".$classes[$character["class"]]."</td>";
         echo "<td>".$character["level"]." lvl</td>";
         echo "<td>";
         while($proffesion = mysql_fetch_assoc($proffesions)){
           echo $proffesionsNames[$proffesion["skill"]]."(".$proffesion["value"].") ";
         }
         echo "</td>";
         echo "</tr>\n";
       }
     ?>
   </table>
 </body>
</html>

 

ERROR NA ŘÁDKU 64

$proffesions = mysql_query("SELECT skill, value FROM character_skills WHERE skill IN($proffesionsList) AND guid = ".$character["guid"]);

 

VYPSANÝ ERROR

Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\indexx.php on line 64 

Share this post


Link to post
Share on other sites

Chyba je jasna a je tady, v :

$characters = mysql_query("SELECT guid, account, name, race, class, level FROM characters WHERE >);

Umazal si kus SQL dotazu:

$characters = mysql_query("SELECT guid, account, name, race, class, level FROM characters WHERE online = 1");

 

Takze chyba neni u me ale jak jsem rikal u tebe, nemuzes jen tak neco umazat -.-.

Viz funkcni kod: http://source.tomas-kolinger.eu/~47/

 

TO Hkarta:

Obe moznosti co jsi napsal skonci syntax chybou - jsou spatne.

AND guid = ".$character["guid"]."); - retezec ukoncis, vlozis promenou z pole a zacinas dalsi retezec ktery neni ukonceny

AND guid = $character[guid]); - uplna blbost, neukonceni retezce, navic text bez uvozovek ci apostrofu je bran jako definice...

Share this post


Link to post
Share on other sites

To ti moc nepomuzu. Script je napsab dobre a neni tam chyba natoz kupa chyb.

 

Priste dodej tvuj zdrojak co ti ty chyby hazi.

Share this post


Link to post
Share on other sites

Napíše sem tedy někdo celý funkční script? Docela by se mi to hodilo pro jeden WoW server :)

Share this post


Link to post
Share on other sites

funkcni script mas nahore, viz moje prispevky, to jen tady warring s tim strasne zapasi

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  

×