[Help] Resets

total4o

Active Member
Joined
Jul 23, 2009
Messages
216
Reaction score
25
Здравейте има някакъв бъг чрез който си правят колкото си искат ресове в сървъра ми.. Ето как става (копирвам хронологията на едно момче което ми каза за бъга)
[00:11:50] Destiny of a thug: znachi
[00:11:51] Destiny of a thug: probvai
[00:11:54] Destiny of a thug: zaredi si zen
[00:11:56] Destiny of a thug: 1vo
[00:11:58] Destiny of a thug: da imash za res
[00:12:02] Destiny of a thug: switchni
[00:12:04] Destiny of a thug: vlez v site
[00:12:06] Destiny of a thug: resni geroq
[00:12:13] Destiny of a thug: dai f11 vlez v heroto
[00:12:22] Destiny of a thug: posle pak switch i res
[00:12:27] Destiny of a thug: i vish dali stava
[00:12:28] Destiny of a thug: :)
[00:12:35] Destiny of a thug: mislq si che go ima buga

Ползвам файлове на Darksteam 97d+99i Бета25
 
Всичко това нещо идва от уеб сайта ти (ако го има). Няма проверка на акаунта дали е в игра или не.
 
Сложи това в модула за рескане и пробвай :)


$onlinecheck=mssql_fetch_row(mssql_query("Select ConnectStat From MEMB_STAT Where memb___id='тук напиши променливата, която ти съхранява името на акаунта на човека който си реска героя '"));
if ($onlinecheck[0]!=0){
echo "<p class='red'>Your Account is Online!</p>";
exit;
}

ако не се получи просто дай модула за рескане :):)
 
Ще ми помогнете ли да направя тази проверка?

Code:
<?php
session_start();
$request = $_SERVER['REQUEST_METHOD'];
if ($request == 'GET'){
	header("Location: $domein/index/home");
}
define('IN_VALID',True);
require('config.php');
if((isset($_POST['name']))){
$username = $_SESSION['uid'];
$name = addslashes(htmlspecialchars($_POST['name']));

$sqlx = "Select Class from Character WHERE AccountID = '$_SESSION[uid]' AND Name = '$name'";
$resultx = mssql_query($sqlx) or die ('Немога да изпълня заявката!');
while($rowx = mssql_fetch_assoc($resultx)){
$classx = $rowx['Class'];
}
if($classx == '0' OR $classx == '1') { $respts = "650"; } //sm
if($classx == '16' OR $classx == '17') { $respts = "470"; } //bk 
if($classx == '32' OR $classx == '33') { $respts = "500"; } //elf
if($classx == '48') { $respts = "680"; } //mg

$accountstatus = mssql_query("SELECT ConnectStat FROM MEMB_STAT WHERE memb___id='".$name."'") or die ('Немога да изпълня заявката!');
$row = mssql_fetch_assoc($accountstatus);

$characterinfo = mssql_query("SELECT cLevel,Resets,Money,LevelUpPoint,Class From Character where Name='".$name."'") or die ('Немога да изпълня заявката!');
$charinfo = mssql_fetch_assoc($characterinfo) or die ('Немога да изпълня заявката!');

$reseets = $charinfo['Resets']; // 1
$money = $charinfo['Money']; // 2 
$upts = $charinfo['LevelUpPoint']; // 3
$level = $charinfo['cLevel']; // 4
$resets = ($reseets + 1);

	if ($web['ExtraReset'] == 'Yes'){
	$resetmoeny = ($money - ($web['resetmoney']) * ($resets));
	$resetpoints = $respts * $resets;
	}else{
		$resetmoeny = ($money - ($web['resetmoney']));
		$resetpoints = $respts * $resets;
	}
	
//print_r($charinfo);

if(empty($name)){
	$error = 'Не сте избрали герой или нямате такъв';
	$_SESSION['error'] = $error;
	header("Location: $domein/index/resetchar");
}else{
	if($row == 1){
	$error = 'Акаунта е в игра и неможете да резетнете героят си!';
	$_SESSION['error'] = $error;
	header("Location: $domein/index/resetchar");
	}else{
		 if ($resetmoeny < 0){
			if($web['ExtraReset'] == 'Yes'){
				$extrareset = ($web['resetmoney'] * $resets);
			}else{
				$extrareset = ($web['resetmoney']);
			}
			$error = 'На '.$name.' му трявбат '.number_format($extrareset).' Zen за резет!';
			$_SESSION['error'] = $error;
			header("Location: $domein/index/resetchar");
		}else{
			if ($resets > $web['maxresets']){
            $error = 'Резет лимита е ' .$web['maxresets']. ' неможете да резетнете героят си!';
			$_SESSION['error'] = $error;
			header("Location: $domein/index/resetchar");
				}elseif ($level < $web['resetlevel']){
					$error = 'Левелът за резет е '.$web['resetlevel'].' вие сте ' .$level. '';
					$_SESSION['error'] = $error;
					header("Location: $domein/index/resetchar");
				}else{
						if (($web['resetmode'] == 'No')){ // Keep stats
							$sql = "UPDATE Character SET [clevel]='1',[experience]='0',[money]='$resetmoeny',[LevelUpPoint]='$resetpoints',[resets]='$resets' WHERE name='".$name."'";
							$result = mssql_query($sql) or die ('Немога да изпълня заявката :(');
						}elseif (($web['resetmode'] == 'Yes')){ // Reset Stats
							$sql = "UPDATE Character SET [strength]='25',[dexterity]='25',[vitality]='25',[energy]='25',[clevel]='1',[experience]='0',[money]='$resetmoeny',[LevelUpPoint]='$resetpoints',[resets]='$resets' WHERE name='".$name."'";
							$result = mssql_query($sql) or die ('Немога да изпълня заявката :(');
						}
						if($web['clear_iventory'] == 'Yes' && $web['clear_skills'] == 'Yes'){
							$sql = "UPDATE Character SET [inventory]=CONVERT(varbinary(1080), null),[magiclist]=CONVERT(varbinary(180), null) WHERE name='".$name."'";
							$result = mssql_query($sql) or die ('Немога да изпълня заявката :(');
						}elseif ($web['clear_iventory'] == 'No' && $web['clear_skills'] == 'No'){
							$sql = "Select name from character where name='".$name."'";
							$result = mssql_query($sql) or die ('Немога да изпълня заявката :(');
						}elseif ($web['clear_iventory'] == 'Yes' && $web['clear_skills'] == 'No'){
							$sql = "UPDATE Character SET [inventory]=CONVERT(varbinary(1080), null) WHERE name='".$name."'";
							$result = mssql_query($sql) or die ('Немога да изпълня заявката :(');
						}elseif ($web['clear_iventory'] == 'No' && $web['clear_skills'] == 'Yes'){
							$sql = "UPDATE Character SET [magiclist]=CONVERT(varbinary(180), null) WHERE name='".$name."'";
							$result = mssql_query($sql) or die ('Немога да изпълня заявката :(');
							}
							$success = 'Вашият герой е резетнат успешно :)';
							$_SESSION['success'] = $success;
							header("Location: $domein/index/resetchar");
						}
					}
				}				
			}		
		}else{
			$error = 'Не сте избрали герой или нямате такъв!';
			$_SESSION['error'] = $error;
			header("Location: $domein/index/resetchar");
		}
?>
 
Try:
PHP:
<?php
session_start();
$request = $_SERVER['REQUEST_METHOD'];
if ($request == 'GET'){
	header("Location: $domein/index/home");
}
define('IN_VALID',True);
require('config.php');
if((isset($_POST['name']))){
$username = $_SESSION['uid'];
$name = addslashes(htmlspecialchars($_POST['name']));

$sqlx = "Select Class from Character WHERE AccountID = '$_SESSION[uid]' AND Name = '$name'";
$resultx = mssql_query($sqlx) or die ('Немога да изпълня заявката!');
while($rowx = mssql_fetch_assoc($resultx)){
$classx = $rowx['Class'];
}
if($classx == '0' OR $classx == '1') { $respts = "650"; } //sm
if($classx == '16' OR $classx == '17') { $respts = "470"; } //bk 
if($classx == '32' OR $classx == '33') { $respts = "500"; } //elf
if($classx == '48') { $respts = "680"; } //mg

$accountstatus = mssql_query("SELECT * FROM MEMB_STAT WHERE memb___id='".$username."' and ConnectStat='1'") or die ('Немога да изпълня заявката!');
$row = mssql_num_rows($accountstatus);

$characterinfo = mssql_query("SELECT cLevel,Resets,Money,LevelUpPoint,Class From Character where Name='".$name."'") or die ('Немога да изпълня заявката!');
$charinfo = mssql_fetch_assoc($characterinfo) or die ('Немога да изпълня заявката!');

$reseets = $charinfo['Resets']; // 1
$money = $charinfo['Money']; // 2 
$upts = $charinfo['LevelUpPoint']; // 3
$level = $charinfo['cLevel']; // 4
$resets = ($reseets + 1);

	if ($web['ExtraReset'] == 'Yes'){
	$resetmoeny = ($money - ($web['resetmoney']) * ($resets));
	$resetpoints = $respts * $resets;
	}else{
		$resetmoeny = ($money - ($web['resetmoney']));
		$resetpoints = $respts * $resets;
	}
	
//print_r($charinfo);

if(empty($name)){
	$error = 'Не сте избрали герой или нямате такъв';
	$_SESSION['error'] = $error;
	header("Location: $domein/index/resetchar");
}else{
	if($row >= 1){
	$error = 'Акаунта е в игра и неможете да резетнете героят си!';
	$_SESSION['error'] = $error;
	header("Location: $domein/index/resetchar");
	}else{
		 if ($resetmoeny < 0){
			if($web['ExtraReset'] == 'Yes'){
				$extrareset = ($web['resetmoney'] * $resets);
			}else{
				$extrareset = ($web['resetmoney']);
			}
			$error = 'На '.$name.' му трявбат '.number_format($extrareset).' Zen за резет!';
			$_SESSION['error'] = $error;
			header("Location: $domein/index/resetchar");
		}else{
			if ($resets > $web['maxresets']){
            $error = 'Резет лимита е ' .$web['maxresets']. ' неможете да резетнете героят си!';
			$_SESSION['error'] = $error;
			header("Location: $domein/index/resetchar");
				}elseif ($level < $web['resetlevel']){
					$error = 'Левелът за резет е '.$web['resetlevel'].' вие сте ' .$level. '';
					$_SESSION['error'] = $error;
					header("Location: $domein/index/resetchar");
				}else{
						if (($web['resetmode'] == 'No')){ // Keep stats
							$sql = "UPDATE Character SET [clevel]='1',[experience]='0',[money]='$resetmoeny',[LevelUpPoint]='$resetpoints',[resets]='$resets' WHERE name='".$name."'";
							$result = mssql_query($sql) or die ('Немога да изпълня заявката :(');
						}elseif (($web['resetmode'] == 'Yes')){ // Reset Stats
							$sql = "UPDATE Character SET [strength]='25',[dexterity]='25',[vitality]='25',[energy]='25',[clevel]='1',[experience]='0',[money]='$resetmoeny',[LevelUpPoint]='$resetpoints',[resets]='$resets' WHERE name='".$name."'";
							$result = mssql_query($sql) or die ('Немога да изпълня заявката :(');
						}
						if($web['clear_iventory'] == 'Yes' && $web['clear_skills'] == 'Yes'){
							$sql = "UPDATE Character SET [inventory]=CONVERT(varbinary(1080), null),[magiclist]=CONVERT(varbinary(180), null) WHERE name='".$name."'";
							$result = mssql_query($sql) or die ('Немога да изпълня заявката :(');
						}elseif ($web['clear_iventory'] == 'No' && $web['clear_skills'] == 'No'){
							$sql = "Select name from character where name='".$name."'";
							$result = mssql_query($sql) or die ('Немога да изпълня заявката :(');
						}elseif ($web['clear_iventory'] == 'Yes' && $web['clear_skills'] == 'No'){
							$sql = "UPDATE Character SET [inventory]=CONVERT(varbinary(1080), null) WHERE name='".$name."'";
							$result = mssql_query($sql) or die ('Немога да изпълня заявката :(');
						}elseif ($web['clear_iventory'] == 'No' && $web['clear_skills'] == 'Yes'){
							$sql = "UPDATE Character SET [magiclist]=CONVERT(varbinary(180), null) WHERE name='".$name."'";
							$result = mssql_query($sql) or die ('Немога да изпълня заявката :(');
							}
							$success = 'Вашият герой е резетнат успешно :)';
							$_SESSION['success'] = $success;
							header("Location: $domein/index/resetchar");
						}
					}
				}				
			}		
		}else{
			$error = 'Не сте избрали герой или нямате такъв!';
			$_SESSION['error'] = $error;
			header("Location: $domein/index/resetchar");
		}
?>


	
Reply With Quote