<?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,"Ключ не подходит ни к одной двери");