Просмотр файла game/2/plugin/i.key.zhm2.dat

Размер файла: 2.6Kb
<?php

// открывает и запирает дверь в комнате в таверне, изменяя файл с выходами loc_d/c.2.hran
// записи о посетителях хранятся в c.2.sklad у n.Savaron в tav=user:time|user:time|user:time|user:time
// к закрытым дверям приписываем [закрыто] и ссылку заменяем на самого себя

loadloc("c.2.sklad");
if ($loc!="c.2.hran" && $loc!="c.2.x1080x539") msg("Вы должны быть в своем хранилище");
if (!isset($l_i["c.2.sklad"]["n.Savaron"])) msg("Хранителя нет на месте, пока он не появится, вы не можете использовать ключ");

if (strpos($l_i["c.2.sklad"]["n.Savaron"]["tav"],$login.":")!==false) {
	// загружаем статус дверей
	$tc=array(0,0,0,0);	// какие закрыты
	if (strpos($l_tt["c.2.hran"]["d"],"c.2.x1087x543")===false) $tc[0]=1;
	if (strpos($l_tt["c.2.hran"]["d"],"c.2.x1080x539")===false) $tc[1]=1;
	if (strpos($l_tt["c.2.hran"]["d"],"c.2.x1080x532")===false) $tc[2]=1;
	if (strpos($l_tt["c.2.hran"]["d"],"c.2.x1087x528")===false) $tc[3]=1;

	// проверим, не вышло ли время
	$t=intval(preg_replace('/.*'.$login.':(\d+).*/',"\\1",$l_i["c.2.sklad"]["n.Savaron"]["tav"]));
	$tav=explode("|",$l_i["c.2.sklad"]["n.Savaron"]["tav"]);
	$tr=explode(":",$tav[1]);
	if (time()<$t) {
		if ($tr[0]!=$login) msg("Это не ваше хранилище");
		$tc[1]=!$tc[1];
		if (!$tc[1]) {
			addjournal($loc,$login,"Вы открыли дверь в хранилище 2");
			addjournal($loc,"all",$char[0]." открыл дверь в хранилище 2",$login);
			}else {
				addjournal($loc,$login,"Вы заперли дверь в хранилище 2");
				addjournal($loc,"all",$char[0]." запер дверь в хранилище 2",$login);
				if ($game["floc"]==$loc) {unset($l_i[$loc]["i.flag"]); $l_i["c.2.hran"]["i.flag"]="флаг лидерства|1|0"; $game["floc"]="c.2.hran"; $tl=$game["fid"]; $game["fid"]=""; if (isset($l_i[$loc][$tl])) {calcparam($loc,$tl); if($tl==$login) $char=explode("|",$l_i[$loc][$login]["char"]);}}
				}

		}else{	// открываем дверь, удаляем юзера
			$tc[1]=0;
			$tav[1]="";
			$l_i["c.2.sklad"]["n.Savaron"]["tav"]=implode("|",$tav);
			addjournal($loc,$login,"Срок аренды кончился");
			}

	// сохраняем новый файл
	$new="Хранилище|0|в кладовую|c.2.sklad";

	$new.="|дверь в хранилище 1";
	if ($tc[0]) $new.=" [закрыто]|c.2.hran"; else $new.="|c.2.x1087x543";
	$new.="|дверь в хранилище 2";
	if ($tc[1]) $new.=" [закрыто]|c.2.hran"; else $new.="|c.2.x1080x539";
	$new.="|дверь в хранилище 3";
	if ($tc[2]) $new.=" [закрыто]|c.2.hran"; else $new.="|c.2.x1080x532";
	$new.="|дверь в хранилище 4";
	if ($tc[3]) $new.=" [закрыто]|c.2.hran"; else $new.="|c.2.x1087x528";

	$l_tt["c.2.hran"]["d"]=$new;
	$loc_c = explode("|",$l_tt[$loc]["d"]);
	$l_tt["c.2.hran"]["save"]=1;

	} else addjournal($loc,$login,"Ключ не подходит ни к одной двери");