formatTick(Util::toInt($turntime), true);
}
//FIXME: template로 이동.
?>
접속제한
= WebUtil::printCSS('../d_shared/common.css') ?>
= WebUtil::printDist('ts', 'common', true) ?>
접속 제한중입니다. 1턴 이내에 너무 많은 갱신을 하셨습니다. (다음 접속 가능 시각 : = $turntime ?>)
(자신의 턴이 되면 다시 접속 가능합니다. 당신의 건강을 위해 잠시 쉬어보시는 것은 어떨까요? ^^)
";
return $str;
}
function JSOptionsForCities(callable $infoCall = null){
$result = [];
foreach (CityConst::all() as $city) {
$item = [$city->id, $city->name];
if($infoCall){
$item[2] = $infoCall($city);
}
$result[] = $item;
}
return $result;
}
function optionsForCities(callable $infoCall = null)
{
if (!$infoCall) {
return join('', array_map(function ($city) {
return "";
}, CityConst::all()));
}
$infoList = [];
$noInfoList = [];
foreach (CityConst::all() as $city) {
$info = $infoCall($city);
if (!$info) {
$noInfoList[] = "";
continue;
}
$infoList[] = "";
}
return join('', array_merge($infoList, $noInfoList));
}
function Submit($url, $msg = "", $msg2 = "")
{
echo "a"; // 파폭 버그 때문
echo "
";
}
function GetNationColors()
{
$colors = array(
"#FF0000", "#800000", "#A0522D", "#FF6347", "#FFA500", "#FFDAB9", "#FFD700", "#FFFF00",
"#7CFC00", "#00FF00", "#808000", "#008000", "#2E8B57", "#008080", "#20B2AA", "#6495ED", "#7FFFD4",
"#AFEEEE", "#87CEEB", "#00FFFF", "#00BFFF", "#0000FF", "#000080", "#483D8B", "#7B68EE", "#BA55D3",
"#800080", "#FF00FF", "#FFC0CB", "#F5F5DC", "#E0FFFF", "#FFFFFF", "#A9A9A9"
);
return $colors;
}
function backButton()
{
return "
";
}
function gatewayButton()
{
return "
";
}
function CoreBackButton()
{
return "
";
}
function closeButton()
{
return "
";
}
function JSCitiesBasedOnDistance(int $cityNo, int $maxDistance = 1): array{
$distanceList = searchDistance($cityNo, $maxDistance, true);
$result = [];
for ($dist = 1; $dist <= $maxDistance; $dist++) {
$result[$dist] = $distanceList[$dist] ?? [];
}
return $result;
}
function printCitiesBasedOnDistance(int $cityNo, int $maxDistance = 1): string
{
$distanceList = searchDistance($cityNo, $maxDistance, true);
$result = [];
for ($dist = 1; $dist <= $maxDistance; $dist++) {
$cityList = array_map(function ($cityID) {
return CityConst::byID($cityID)->name;
}, $distanceList[$dist] ?? []);
$cityStr = join(', ', $cityList);
switch ($dist) {
case 1:
$color = "magenta";
break;
case 2:
$color = "orange";
break;
default:
$color = "yellow";
break;
}
$result[] = "{$dist}칸 떨어진 도시 : {$cityStr}";
}
return join("
\n", $result);
}
function info($type = 0)
{
$db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env');
$admin = $gameStor->getValues(['year', 'month', 'turnterm', 'maxgeneral']);
$termtype = "{$admin['turnterm']}분 턴";
$gencount = $db->queryFirstField('SELECT count(no) FROM general WHERE npc < 2');
$npccount = $db->queryFirstField('SELECT count(no) FROM general WHERE npc >= 2');
switch ($type) {
case 0:
return "현재 : {$admin['year']}年 {$admin['month']}月 ($termtype 서버)
등록 장수 : 유저 {$gencount} / {$admin['maxgeneral']} 명 + NPC {$npccount} 명";
case 1:
return "현재 : {$admin['year']}年 {$admin['month']}月 ($termtype 서버) 등록 장수 : 유저 {$gencount} / {$admin['maxgeneral']} 명 + NPC {$npccount} 명";
case 2:
return "현재 : {$admin['year']}年 {$admin['month']}月 ($termtype 서버)";
case 3:
return "등록 장수 : 유저 {$gencount} / {$admin['maxgeneral']} 명 + NPC {$npccount} 명";
}
}