Podaje kod wyciągnięty z pliku class.stats;
<?
require_once 'class.Template.php';
class G_Stats
{
var $connect_id;
/* ---------------------------------------------------------------- */
/* Przechowuje ID poł±czenia z mysql */
/* ---------------------------------------------------------------- */
var $strona = array();
/* ---------------------------------------------------------------- */
/* Przechowuje Dane Strony (Tresc) następnie Przekazuje do Template */
/* ---------------------------------------------------------------- */
var $admin = array(
'login' => NICK',
'haslo' => 'HASŁÓ'
);
/* ---------------------------------------------------------------- */
/* Hasło i Login Admina */
/* ---------------------------------------------------------------- */
var $klasy = array(
1 => 'Czarodziejka',
2 => 'Druid',
3 => 'Paladyn',
4 => 'Zabojczyni',
5 => 'Nekromanta',
6 => 'Barbarzynca',
7 => 'Ninja',
8 => 'Amazonka',
9 => 'Kolos',
10 => 'Zbawca',
11 => 'Siewca',
12 => 'Umarly',
13 => 'Andariel',
14 => 'Demolog',
15 => 'Kameleon',
16 => 'Griswold',
17 => 'Hefasto',
18 => 'Izual',
19 => 'Baal',
20 => 'Diablo',
21 => 'Pijawka',
22 => 'Skoczek',
);
/* ---------------------------------------------------------------- */
/* Klasy Diablo Moda */
/* ---------------------------------------------------------------- */
public function Run()
{
$G_Stats = new G_Stats();
$G_Stats -> zaladuj_baze_danych(Host, User, Pass, Base);
$G_Stats -> buduj_strone();
$G_Stats -> Zakoncz_Budowe_Strony(1); // 0 - Nie zamyka Poł±czenia mysql / 1 - Zamyka Poł±czenie
}
/* ---------------------------------------------------------------- */
/* GłÓwna Funkcja */
/* ---------------------------------------------------------------- */
private function zaladuj_baze_danych($host, $user, $pass, $base)
{
if(!empty($host) && !empty($user) && !empty($pass) && !empty($base))
{
$wybierz = mysql_connect($host, $user, $pass) or die(mysql_error());
$select = mysql_select_db($base) or die(mysql_error());
if($wybierz && $select) $this->connect_id = $wybierz;
}
}
/* ---------------------------------------------------------------- */
/* ٱczy się sie i wybiera bezę danych */
/* ---------------------------------------------------------------- */
public function Zakoncz_Budowe_Strony($key)
{
$key = (int)$key;
if($key == 1) mysql_close($this->connect_id);
$template = new Template(TEMPLATE_ROOT . 'index.html');
foreach($this->strona as $k => $v) $template -> dodaj($k, $v);
$template -> wyswietl();
}
/* ---------------------------------------------------------------- */
/* Wyswietla dane strony z tablicy $strona */
/* ---------------------------------------------------------------- */
public function buduj_strone()
{
switch($_GET['action'])
{
case '':
$this->wyswietl(NULL);
break;
case 'class':
$class = (int)$_GET['class'];
$this->wyswietl('where `klasa`='.$class.'');
break;
case 'show_player':
$player = mysql_real_escape_string($_GET['player']);
$this->wyswietl('where `nick`="'.$player.'"');
break;
case 'share':
$player = mysql_real_escape_string($_POST['name']);
$this->wyswietl('where `nick` LIKE "%'.$player.'%"');
$this->strona['VALUE'] = $player;
break;
case 'acp':
if(!(isset($_SESSION['admin'])))
{
if(isset($_POST['zaloguj'])){
if($_POST['login'] !== $this->admin['login'] ) $err++;
if($_POST['haslo'] !== $this->admin['haslo'] ) $err++;
if($err == 0){
$_SESSION['admin'] = $_POST['login'];
echo '<META HTTP-EQUIV=Refresh CONTENT="0">';
}
}
$this->strona['TRESC'] = '<div class="panel_admina"><center><form action="" method="post"><table class="login" style="width: auto;"><tr><td style="border: 1px solid #1978e3;width: 50px;">Login:</td><td><input type="text" name="login"></td></tr><tr><td style="border: 1px solid #1978e3; width: 50px;">Haslo:</td><td><input type="password" name="haslo"></td></tr><tr><td style="border: 1px solid #1978e3; width: 50px;">Akcja:</td><td><input type="submit" name="zaloguj" value="zaloguj"><input type="reset"></td></tr></form></center></div>';
}
else
{
switch($_GET['go'])
{
case '':
$this->panel_admina('');
break;
case 'usun_gracza':
break;
case 'edytuj_gracza':
if(!isset($_GET['player']))
{
$sql = "SELECT `nick` from `".Diablo_table."` where `klasa`= '1'";
$query = mysql_query($sql);
$panel = '<table><tr class="top"><td>Nick</td><td>Akcja</td></tr>';
while($player = mysql_fetch_array($query))
{
$panel .= '<tr><td>'.$player["nick"].'</td><td><a href="index.php?action=acp&go=edytuj_gracza&player='.$player["nick"].'">Edytuj </a> | <a href="index.php?action=acp&go=daj_expa&player='.$player["nick"].'"> Daj Expa</a> | <a href="index.php?action=acp&go=sumuj&player='.$player["nick"].'"> Sumuj Expa</a></td></tr>';
}
$panel .= '</table>';
$this->panel_admina($panel);
}
else
{
$player = mysql_real_escape_string($_GET['player']);
$panel .= '<center>Edytujesz Gracza o Nicku:<b>' .$player . '</b></center>';
if(isset($_POST['edytuj']))
{
for($i = 1; $i < count($this->klasy)+1; $i++)
{
$lvl = (int)$_POST['lvl' . $i];
$exp = (int)$_POST['exp' . $i];
$str = (int)$_POST['str' . $i];
$int = (int)$_POST['int' . $i];
$agi = (int)$_POST['agi' . $i];
$dex = (int)$_POST['dex' . $i];
mysql_query("UPDATE ".Diablo_table." SET `lvl`='".$lvl."',`exp`='".$exp."',`str`='".$str."',`int`='".$int."',`agi`='".$agi."',`dex`='".$dex."' where `nick`='".$player."' and `klasa`='".$i."'");
}
}
$sql = "SELECT * from `".Diablo_table."` where `nick`='".$player."'";
$query = mysql_query($sql);
$panel .= '<form action="" method="post"><table style="width: 80%;">';
for($i = 1; $i < count($this->klasy)+1; $i++)
{
$sqltwo = "SELECT * from `".Diablo_table."` where `nick`='".$player."' and `klasa`='".$i."'";
$querytwo = mysql_query($sqltwo);
$array = mysql_fetch_array($querytwo);
$panel .=
'<tr>
<td class="nieb">'.$this->klasy[$i].'</td>
</tr>
<tr>
<td>Level</td>
<td>Exp</td>
<td style="width: 30px;">Str</td>
<td style="width: 30px;">Dex</td>
<td style="width: 30px;">Int</td>
<td style="width: 30px;">Agi</td>
</tr>
<tr>
<td><input type="text" name="lvl'.$i.'" value="'.$array["lvl"].'"></td>
<td><input type="text" name="exp'.$i.'" value="'.$array["exp"].'"></td>
<td><input type="text" name="str'.$i.'" value="'.$array["str"].'"></td>
<td><input type="text" name="dex'.$i.'" value="'.$array["dex"].'"></td>
<td><input type="text" name="int'.$i.'" value="'.$array["int"].'"></td>
<td><input type="text" name="agi'.$i.'" value="'.$array["agi"].'"></td>
</tr>';
}
$panel .= '<tr><td class="nieb">Akcja: </td><td><input type="submit" name="edytuj" value="Edytuj Tego Usera"></td></tr></table>';
$this->panel_admina($panel);
}
break;
case 'resetuj_levele':
switch($_GET['act'])
{
case 'tak':
mysql_query("TRUNCATE `".Diablo_table."`");
echo '<META HTTP-EQUIV=Refresh CONTENT="0 url=index.php?action=acp">';
break;
}
$this->panel_admina('<center>Czy na pewno chcesz zresetowac levele?<br><a href="index.php?action=acp&go=resetuj_levele&act=tak">Tak</a><a href="index.php?action=acp" style="margin-left: 30px;">Nie</a>');
break;
case 'wyloguj':
session_destroy();
echo '<META HTTP-EQUIV=Refresh CONTENT="0 url=index.php">';
break;
case 'daj_expa':
$player = mysql_real_escape_string($_GET['player']);
if(isset($_POST['daj']))
{
$ile = (int)$_POST['ile_expa'];
$na_klase = $_POST['na_klase'];
$id = explode("-", $na_klase);
$klasa = $id[1];
$id = $id[0];
$akt_exp = mysql_query("SELECT `exp`, `nick`, `klasa` from `".Diablo_table."` where `nick`='".$player."' and `klasa`='".$id."'");
$exp = mysql_fetch_array($akt_exp);
$exp = $exp["exp"];
$exp_plus = $exp + $ile;
mysql_query("UPDATE `".Diablo_table."` SET `exp`='".$exp_plus."' where `nick`='".$player."' and `klasa`='".$id."'");
$panel .= '<center>Exp zostal przekazany graczowi: <b>' . $player . '</b> Posiada on teraz <b>' . $exp_plus . '</b> na klasie : <b>' . $klasa . '</b>';
}
foreach($this->klasy as $k => $v){
$klasy .= '<option>'.$k.'-'.$v.'</option>';
}
$panel .= '<form action="" method="post">
<table>
<tr class="top"><td>Dla Kogo</td><td>Na Klase</td><td>Ile Expa</td><td>Zakoncz</td></tr>
<tr><td><input type="text" name="dla" value="'.$player.'" disabled="disabled"></td><td><select name="na_klase">'.$klasy.'</select></td><td><input type="text" name="ile_expa"></td><td><input type="submit" name="daj" value="Daj Expa Temu Graczowi"></td>
';
$panel .= '</table></form>';
$this->panel_admina($panel);
break;
case 'sumuj':
$player = mysql_real_escape_string($_GET['player']);
if(isset($_POST['sumuj']))
{
$na_klase = explode("-", $_POST['na_klase']);
$z_klasy = explode("-", $_POST['z_klasy']);
$na_id = $na_klase[0];
$z_id = $z_klasy[0];
$query = mysql_query("SELECT `exp`, `nick`, `klasa` from `".Diablo_table."` where `nick`='".$player."' and `klasa`='".$z_id."'");
$z_exp = mysql_fetch_array($query);
$z_exp = $z_exp["exp"];
$query = mysql_query("SELECT `exp`,`nick`,`klasa` from `".Diablo_table."` where `klasa`='".$na_id."' and `nick`='".$player."'");
$na_exp = mysql_fetch_array($query);
$na_exp = $na_exp["exp"];
$w_sumie = $z_exp + $na_exp;
mysql_query("UPDATE `".Diablo_table."` SET `exp`='1',`lvl`='1',`agi`='0',`str`='0',`dex`='0',`int`='0' where `nick`='".$player."' and `klasa`='".$z_id."'");
mysql_query("UPDATE `".Diablo_table."` SET `exp`='".$w_sumie."' where `nick`='".$player."' and `klasa`='".$na_id."'");
$panel .= '<center>Akcja Przebiegla pomysknie<br>Przeniosles exp gracza :<b> ' .$player. '</b> z klasy :<b>' . $z_klasy[1] . '('.$z_exp.' expa)</b> na klase: <b> ' . $na_klase[1] . '('.$na_exp.' expa)</b>, w sumie gracz <b>' . $player . '</b> posiada na klasie <b> ' . $na_klase[1] . '</b> ' . $w_sumie . ' expa</center>';
}
foreach($this->klasy as $k => $v){
$klasy .= '<option>'.$k.'-'.$v.'';
}
$panel .= '<form action="" method="post">
<table>
<tr class="top">
<td>Komu</td><td>Z Klasy</td><td>Na Klase</td><td>Zakoncz</td>
</tr>
<tr>
<td><input type="text" name="" value="'.$player.'" disabled="disabled"></td>
<td><select name="z_klasy">'.$klasy.'</select></td><td><select name="na_klase">'.$klasy.'</select></td><td><input type="submit" name="sumuj" value="Sumuj Expa Temu Graczowi"></td>
</table></form>';
$this->panel_admina($panel);
break;
}
}
break;
}
}
public function wyswietl($where)
{
if(!empty($where)) $sql = "SELECT * from `".Diablo_table."` ".$where." order by `lvl` DESC, `exp` DESC LIMIT 0,".ILE_GRACZY_NA_STRONE."";
else $sql = "SELECT * from `".Diablo_table."` order by `lvl` DESC, `exp` DESC LIMIT 0,".ILE_GRACZY_NA_STRONE."";
$query = mysql_query($sql);
$this->strona['TRESC'] .= '<table><tr class="top"><td style="width: 15px;">Rank</td><td>Nick</td><td>Klasa</td><td>Level</td><td>Exp</td><td style="width: 30px;">Str</td><td style="width: 30px;" >Dex</td><td style="width: 30px;">Int</td><td style="width: 30px;">Agi</td></tr>';
$i = 1;
while($stats = mysql_fetch_array($query))
{
foreach($this->klasy as $id => $name){
if($stats['klasa'] == $id){
$klasa_name = $name;
}
}
$this->strona['TRESC'] .= '<tr><td>'.$i.'</td><td><a href="index.php?action=show_player&player='.$stats["nick"].'">'.$stats["nick"].'</a></td><td><a href="index.php?action=class&class='.$stats["klasa"].'">'.$klasa_name.'</a></td><td>'.$stats["lvl"].'</td><td>'.$stats["exp"].'</td><td>'.$stats["str"].'</td><td>'.$stats["dex"].'</td><td>'.$stats["int"].'</td><td>'.$stats["agi"].'</td></tr>';
$levele = $levele + $stats['lvl'];
$exp = $exp + $stats['exp'];
$agi = $agi + $stats['agi'];
$str = $str + $stats['str'];
$dex = $dex + $stats['dex'];
$int = $int + $stats['int'];
$i++;
}
$this->strona['TRESC'] .= '<tr class="top"><td></td><td></td><td></td><td>'.$levele.'</td><td>'.$exp.'</td><td>'.$str.'</td><td>'.$dex.'</td><td>'.$int.'</td><td>'.$agi.'</td></table>';
}
public function panel_admina($text)
{
$this->strona['TRESC'] = '<div id="panel_admina"><a href="index.php?action=acp&go=edytuj_gracza">Edytuj Wybranego Gracza</a> <b>|</b> <a href="index.php?action=acp&go=resetuj_levele">Resetuj Levele</a> <b> | </b> <a href="index.php?action=acp&go=wyloguj">Wyloguj</a><br>'.$text.'</div>';
}
}
No i nie wiem co dalej lub gdzie trzeba zmienić by ta ostatnia klasa miala tez zapisywany exp.Wszystkim innym klasom lvl i exp się zapisuje.
w amxx.cfg dalem te flagi w cvarze:
diablo_classes abcdefghijklmnoperw //ktÓre klasy maja być dostępneWie ktoś gdzie moze być problem???
Strona i pliki pog :
© 2011 by Gh0st dla amxx.pl
[uwaga=benio101]Ten temat został zamknięty przez moderatora.
Powód: Autor tematu zbanowany
Jeśli się z tym nie zgadzasz,
raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.Z pozdrowieniami,
Zespół AMXX.PL[/uwaga]
Użytkownik benio101 edytował ten post 24.11.2012 14:14


Dodatki SourceMod



Temat jest zamknięty






