Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Brak zapisu dla jednej klasy


  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 Tiger_pl

    Profesjonalista

  • Zbanowany

Reputacja: 15
Początkujący

  • Postów:161
  • GG:
  • Lokalizacja:Warszawa
Offline

Napisano 19.01.2012 16:19

Mam taki problem z zapisem expa dla jednej (ostatniej) klasy.Chodzi tu o Klasę Skoczek.
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ępne
Wie 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, Dołączona grafika 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





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych