View file game/2/f_logout.dat

File size: 4.61Kb
<?php

if ($login!=$g_admin && $gm!=$gm_id && $l_i[$loc][$login]["srv"]>time()-120) msg("<small><b>Персонаж не может быть сохранен. Подождите  ".round(($l_i[$loc][$login]["srv"]-time()+120)/60+1)." мин. и попробуйте снова.<br/><a href=\"$PHP_SELF?sid=$sid\">В игру</a></b></small>");
$l_i[$loc][$login]["srv"]=time();
require_once("datafunc.php");

// если никого рядом нет, то можем удалить персонажа
$b=0;
foreach(array_keys($l_i[$loc]) as $j) if ($j!=$login) if ((substr($j,0,2)=='u.') || substr($j,0,2)=='n.') {$b=1; break;}
if (!$b) for ($i=2;$i<count($loc_c);$i+=2) if ($loc_c[$i+1]!=$loc){
	if (count($l_i[$loc_c[$i+1]])>0) {
		$keys=array_keys($l_i[$loc_c[$i+1]]);
		foreach($keys as $j) if ((substr($j,0,2)=='u.') || substr($j,0,2)=='n.') {$b=1; break;}
		}
	};

if (isset($l_i[$loc][$login])) {
	                        if ($game["floc"]==$loc && $game["fid"]==$login) {addjournal($loc,"all",$char[0]." бросил знамя!",$login); if($loc=="x1087x543" || $loc=="x1080x539" || $loc=="x1080x532" || $loc=="x1087x528") $loc1="x1095x532"; else $loc1=$loc; $l_i[$loc1]["i.flag"]="знамя войны|1|0"; $game["floc"]=$locl; $game["fid"]=""; calcparam($loc,$login);}

	                        if ($game["floc"]==$loc && $game["fid"]==$login) {addjournal($loc,"all",$char[0]." бросил знамя!",$login); if ($loc=="z.x1087x543z1" || $loc=="z.x1080x539z1" || $loc=="z.x1087x528z1" || $loc=="z.x1080x532z1" || $loc=="z.1.sklad" || $loc=="z.1.hran")$loc1="c.1.in"; else $loc1=$loc; $l_i[$loc1]["i.flag"]="знамя войны|1|0"; $game["floc"]=$locl; $game["fid"]=""; calcparam($loc,$login);}
	                        if ($game["floc"]==$loc && $game["fid"]==$login) {addjournal($loc,"all",$char[0]." бросил знамя!",$login); if ($loc=="z.x1087x543z2" || $loc=="z.x1080x539z2" || $loc=="z.x1087x528z2" || $loc=="z.x1080x532z2" || $loc=="z.2.sklad" || $loc=="z.2.hran")$loc1="c.2.in"; else $loc1=$loc; $l_i[$loc1]["i.flag"]="знамя войны|1|0"; $game["floc"]=$locl; $game["fid"]=""; calcparam($loc,$login);}
	                        if ($game["floc"]==$loc && $game["fid"]==$login) {addjournal($loc,"all",$char[0]." бросил знамя!",$login); if ($loc=="z.x1087x543z3" || $loc=="z.x1080x539z3" || $loc=="z.x1087x528z3" || $loc=="z.x1080x532z3" || $loc=="z.3.sklad" || $loc=="z.3.hran")$loc1="c.3.in"; else $loc1=$loc; $l_i[$loc1]["i.flag"]="знамя войны|1|0"; $game["floc"]=$locl; $game["fid"]=""; calcparam($loc,$login);}
	                        if ($game["floc"]==$loc && $game["fid"]==$login) {addjournal($loc,"all",$char[0]." бросил знамя!",$login); if ($loc=="z.x1087x543z4" || $loc=="z.x1080x539z4" || $loc=="z.x1087x528z4" || $loc=="z.x1080x532z4" || $loc=="z.4.sklad" || $loc=="z.4.hran")$loc1="c.4.in"; else $loc1=$loc; $l_i[$loc1]["i.flag"]="знамя войны|1|0"; $game["floc"]=$locl; $game["fid"]=""; calcparam($loc,$login);}
	                        if ($game["floc"]==$loc && $game["fid"]==$login) {addjournal($loc,"all",$char[0]." бросил знамя!",$login); if ($loc=="z.x1087x543z5" || $loc=="z.x1080x539z5" || $loc=="z.x1087x528z5" || $loc=="z.x1080x532z5" || $loc=="z.5.sklad" || $loc=="z.5.hran")$loc1="c.5.in"; else $loc1=$loc; $l_i[$loc1]["i.flag"]="знамя войны|1|0"; $game["floc"]=$locl; $game["fid"]=""; calcparam($loc,$login);}


	$auser = $l_i[$loc][$login];
	$auser["journal"] = "";
	$auser["loc"] = $loc;
	$auser["time"]=time();
	unset($auser["msgt"]);
	unset($auser["macrol"]);
	unset($auser["trade"]);
	unset($auser["inf"]);
	unset($auser["lsay1"]);
	$tp=explode("|",$auser["user"]);
	if ($auser["user"] && $auser["char"] && $auser["skills"] && $auser["war"]) $res=SetData(substr($login,2),$tp[0],serialize($auser)); else $res="<small><b>Неверный формат.</b></small>";
	} else $res="<small><b>Нет данных</b></small>";

if ($res) msg("<p><small><b>Ошибка при сохранении персонажа: ".$res."<br/>Рекомендуем вам оставаться онлайн и регулярно пытаться сохраниться, иначе весь опыт, найденные предметы и т.д. с последнего сохранения, когда покидали игру, будут потеряны.<br/><anchor>Назад<prev/></anchor></b></small>","Ошибка",0);

if (!$b) {
	addnpc($login,$loc,"");
	@unlink("online/".$login);
	$b="<small><b><a href=\"f_newserver.php?login=".$login."&p=".$p."\">Сменить сервер</a><br/>Так как рядом никого нет, то ваш персонаж только что покинул игру, теперь его не смогут в ваше отсутствие убить или обворовать.<br/>Удачного дня, ".$char[0]."!<br/><a href=\"$PHP_SELF\">На главную</a></b></small>";
	$login="";
	} else {
		$b="<small><b>Если вы сейчас покинете игру, то ваш персонаж останется в игре еще минимум на ".round($g_logout/60)." минут, так как рядом кто-то есть.</b></small>";
		}

msg("<p><small><b>Персонаж сохранен успешно.</b></small><br/>".$b,"Сохранение",0);