View file game/1/f_site_accobn.dat

File size: 3.01Kb
<?php

// продление аккаунта $sid на 3 дня с тек. момента

if (substr($login,0,2)!="u.") $login="u.".$login;
$login=strtolower($login);

if (!$agry) msg("Вы действительно ходите обнулить своего персонажа?<br/><a href=\"$PHP_SELF?site=accobn&login=$login&p=$p&agry=1\">Да, я согласен</a><br/><br/><a href=\"f_connect.php?login=$login&p=$p\">Нет, я передумал</a>");

require_once("datafunc.php");

	$res=GetGameTime(substr($login,2), $p, $t);
	if ($res) msg($res,"Ошибка",0,"none");
	if (time()<=$t) msg("Обнулять аккаунт можно только по истечении оплаченного периода","Ошибка",0,"none");

	// принудительно в оффлайн
	if (file_exists("online/".$login) && filesize("online/".$login)!=1) {
		$tmp = file("online/".$login);
		$tmp[0]=trim($tmp[0]);
		loadloc($tmp[0]);
		if (isset($l_i[$tmp[0]][$login])) { // в оффлайн
			$auser = $l_i[$tmp[0]][$login];
			$auser["journal"] = "";
			$auser["loc"] = $tmp[0];
			$auser["time"]=time();
			unset($auser["msgt"]);
			unset($auser["trade"]);
			$tp=explode("|",$auser["user"]);
			if ($auser["user"] && $auser["char"] && $auser["skills"] && $auser["war"]) $res=SetData(substr($login,2),$tp[0],serialize($auser));
			addnpc($login,$tmp[0],"");
			unset($l_i[$tmp[0]][$login]);
			}
		}
	@unlink("online/".$login);

// загружаем...
$data="";
$res=GetData(substr($login,2),$p,$data);
if ($res) msg("Ошибка при загрузке: ".$res,"Ошибка",0,'none');
if (!$data) msg ("Отсутствуют данные игрока, сообщите логин администрации","Ошибка",0,'none');

$auser=unserialize($data);
if (!$auser) {$data=preg_replace('/s:(?:\d+):"(.*?)";/e',"calcser('\\1')",$data);$auser=unserialize($data);}
$tuser=explode("|",$auser["user"]); 
if ($p!=$tuser[0]) {$tuser[0]=$p; $auser["user"]=implode("|",$tuser);}

$t=time()+$freedays*24*3600;
$tuser[6]=$t;
$auser["user"]=implode("|",$tuser);

// обнуляем персонаж, в user принудительно ставим флаг, чтоб не давать потом 150 монет
$tuser[9]=1;
$auser["user"]=implode("|",$tuser);
$tchar=explode("|",$auser["char"]); 
$auser["char"]=$tchar[0]."|20|20|20|20|1|1||0|0|0||";
$auser["skills"]="1|1|1|0|2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0";
$auser["items"]="";
$auser["equip"]="";
$auser["bank"]="";
$auser["magic"]="";
$auser["priem"]="";
unset($auser["war"]);

	// добавим в локацию, чтобы посчитать параметры war
	loadloc($auser["loc"]);
	$l_i[$auser["loc"]][$login] = $auser;
	calcparam($auser["loc"],$login);
	$auser=$l_i[$auser["loc"]][$login];
	unset($l_i[$auser["loc"]][$login]);

// сохраняем...
if ($auser["user"] && $auser["char"] && $auser["skills"] && $auser["war"]) SetData(substr($login,2),$p,serialize($auser)); else $res="Неверный формат";
if ($res) msg("Ошибка при сохранении персонажа: ".$res,"Ошибка",0,'none');


// продлеваем на три дня
$res=SetGameTime(substr($login,2), $p, $t);
if ($res) msg($res,"Ошибка",0,"none");

msg("Ваш аккаунт продлен на три дня, считая с текущего момента, до ".date("d/m Y H:i",$t)." включительно, после чего будет заблокирован до внесения оплаты.<br/><a href=\"$PHP_SELF?site=connect2&login=$login&p=$p\">Начать игру</a>","Продление аккаунта",0,'none');