Web Teleporter za peníze

Z WoWResource Wiki
Přejít na: navigace, hledání

Níže uvedený script vytvoří formulář na teleportaci hráčů do hlavních měst za peníze. - hráč musí být offline

<?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>

Návod

  • Nastavte přihlašovací údaje do databáze a cenu za teleport. Převodní vztah činní 1g = 10000
$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)