Zase byla dlouhá chvíle, tak jsem napsal Web Teleportera pro Mangos.
V základu jsou nastaveny teleporty do všech hlavních měst.
Pokud by byl zájem, tak mužu připsat do další místa.
Pro nastavení připojení k databázy editujte hodnoty proměnných na začátku kódu.
cena teleportu je v základu nastavena na 10g
character musí být offline
Všechno jsem to testoval a mělo by to fungovat.
<?php
$user = 'root'; // Jméno uživatele pro připojení do databáze MySQL
$pass = 'hesloveslo'; // Heslo uživatele pro připojení do databáze MySQL
$realmd = 'realmd'; // Jméno Databáze s Accounty
$characters = 'characters'; // Jméno Databáze s Characters
$ip = '127.0.0.1'; // IP adresa serveru MySQL
$cena = '100000'; // Cena za teleport v cooperech (10000 = 1g)
?>
<table align="center" width="210">
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
<tr><td>Account</td><td><input type="text" name="ucet"></td></tr>
<tr><td>Character</td><td><input type="text" name="jmenopostavy"></td></tr>
<tr><td>Heslo</td><td><input type="password" name="heslokacc"></td></tr>
<tr><td>Místo</td><td><select name="misto">
<option value="">-- vyber místa --</option>
<option value="shattrath">Shattrath City</option>
<option value="sw">Stormwind</option>
<option value="ironforge">Ironforge</option>
<option value="darnassus">Darnassus</option>
<option value="og">Orgrimmar</option>
<option value="thunderbluff">Thunder Bluff</option>
<option value="undercity">Undercity</option>
</td></tr>
<tr><td></td><td><input type="submit" Value="Teleportovat"></td></tr>
</form>
<tr><td colspan="2" align="center"><strong>
<?php
$account = addslashes($_POST['ucet']);
$character = addslashes($_POST['jmenopostavy']);
$password = addslashes($_POST['heslokacc']);
$lokace = addslashes($_POST['misto']);
function sha_password($account,$password){
$account = strtoupper($account);
$password = strtoupper($password);
return SHA1($account.':'.$password);
}
if ($account == "" || $character == "" || $password == "" || $lokace == ""):
echo "Je nutno vyplnit všechny údaje";
else:
$account = strtoupper($account);
$heslo = sha_password($account, $password);
$dbconn = mysql_connect($ip, $user, $pass) or die ("Spojení nebylo uspěšné");
mysql_select_db($realmd, $dbconn) or die ("Nepovedlo se vybrat databázy $realmd");
$acc_dotaz_sql = "SELECT id, username, sha_pass_hash FROM account WHERE username='".$account."' AND sha_pass_hash='".$heslo."'";
$acc_dotaz_sql_vysledek = mysql_query($acc_dotaz_sql, $dbconn);
$row = mysql_fetch_array($acc_dotaz_sql_vysledek);
if ($row["id"] == ""):
echo "Chybně zadané ACC nebo Heslo";
else:
$acc = $row["id"];
mysql_select_db($characters, $dbconn) or die ("Nepovedlo se vybrat databázy $characters");
$hrac_dotaz_sql = "SELECT guid, account, CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 1398), ' ', -1) AS UNSIGNED) AS `money`, name, online FROM characters WHERE account='".$acc."' AND name='".$character."' AND online=0";
$hrac_dotaz_sql_vysledek = mysql_query($hrac_dotaz_sql, $dbconn);
$radek = mysql_fetch_array($hrac_dotaz_sql_vysledek);
$charguid = $radek["guid"];
if ($charguid == ""):
echo "Špatně zadaný název characteru, nebo jste online";
else:
if ($radek["money"] < $cena ):
echo "Nedostatek peněz";
else:
$penizky = $radek["money"];
switch($lokace):
case shattrath:
$x = "-1522";
$y = "5313";
$z = "9";
$map = "530";
break;
case sw:
$x = "-8833";
$y = "628";
$z = "94";
$map = "0";
break;
case ironforge:
$x = "-5039";
$y = "-809";
$z = "495";
$map = "0";
break;
case darnassus:
$x = "9953";
$y = "2233";
$z = "1332";
$map = "1";
break;
case og:
$x = "1328";
$y = "-4379";
$z = "26";
$map = "1";
break;
case thunderbluff:
$x = "-1345";
$y = "195";
$z = "61";
$map = "1";
break;
case undercity:
$x = "1897";
$y = "236";
$z = "55";
$map = "0";
break;
endswitch;
$odecet = $penizky-$cena;
$sqlko = "update `characters` set `data`=CONCAT(CAST(SUBSTRING_INDEX(`data`, ' ', 1397) AS CHAR), ' ', $odecet, ' ',
CAST(SUBSTRING_INDEX(`data`, ' ', -(1528-1398) - 1)AS CHAR)),
position_x='$x', position_y='$y', position_z='$z', map='$map' where guid='$charguid'";
mysql_query($sqlko);
echo "Character $character byl Teleportován";
endif;
endif;
endif;
mysql_close();
endif;
?>
</strong></td></tr>
<tr><td colspan="2" align="center">1)Teleport stojí <? $vgoldech = $cena/10000; echo $vgoldech;?> zlatých<br>2) Character musí být Offline.</td></tr>
</table>
Paralelní verze na wiki http://wiki.wowresource.eu/index.php/Web_T..._za_pen%C3%ADze