refactor and errors
This commit is contained in:
@@ -0,0 +1,191 @@
|
||||
<?php
|
||||
|
||||
use Core\Config;
|
||||
use Core\Db;
|
||||
|
||||
class LocationResponse
|
||||
{
|
||||
private const MSG = [
|
||||
'your-position' => 'Ваше местоположение',
|
||||
'move-bk' => 'Проход через <b>Бойцовский клуб</b>',
|
||||
'move-zalu4' => 'Проход через <b>Зал паладинов</b>',
|
||||
'move-map_halls' => 'Проход через <b>Залы</b>',
|
||||
'move-to-sek4' => 'Проход через <b>Рыцарский</b> или <b>Торговый</b> зал',
|
||||
'move-sek5' => 'Проход через <b>Торговый зал</b>',
|
||||
'move-sek6' => 'Проход через <b>Рыцарский зал</b>',
|
||||
];
|
||||
|
||||
private static function thisInfRm($id): array
|
||||
{
|
||||
$rm = Db::getRow('select id, name from room where code = ?', [$id]);
|
||||
|
||||
if (isset($rm['id'])) {
|
||||
$rown = Db::getValue('select count(*) from users where online > unix_timestamp() - 120 and room = ?', [$rm['id']]);
|
||||
return [$id, $rm['name'], $rown];
|
||||
}
|
||||
return ['false', 'Здание было разрушено', 0];
|
||||
}
|
||||
|
||||
public static function init(
|
||||
int $tmGo,
|
||||
int $tmGol,
|
||||
$roomFile,
|
||||
$roomName,
|
||||
): string {
|
||||
$r = match ($roomFile) {
|
||||
'bk' => [
|
||||
'status' => 'success',
|
||||
'location' => [
|
||||
'bg' => 'navig',
|
||||
'left' => '241',
|
||||
'top' => '128',
|
||||
],
|
||||
'goto' => [
|
||||
['id' => 'map_bk', 'params' => [false, self::MSG['your-position']]],
|
||||
['id' => 'map_klub1', 'params' => self::thisInfRm('1.180.0.15')],
|
||||
['id' => 'map_klub2', 'params' => self::thisInfRm('1.180.0.225')],
|
||||
['id' => 'map_klub3', 'params' => self::thisInfRm('1.180.0.2')],
|
||||
['id' => 'map_klub4', 'params' => self::thisInfRm('1.180.0.4')],
|
||||
['id' => 'map_klub5', 'params' => self::thisInfRm('1.180.0.5')],
|
||||
['id' => 'map_klub6', 'params' => self::thisInfRm('1.180.0.16')],
|
||||
['id' => 'map_klub7', 'params' => self::thisInfRm('1.180.0.9')],
|
||||
],
|
||||
'buttons' => [
|
||||
['Возврат', 'main.php?homeworld=true'],
|
||||
['Карта клуба', 'main.php?clubmap=true'],
|
||||
['Форум', "window.open('" . Config::get('forum') . "', 'forum', 'location=yes,menubar=yes,status=yes,resizable=yes,toolbar=yes,scrollbars=yes,scrollbars=yes')"],
|
||||
['Подсказка', "window.open('/encicl/help/top1.html', 'help', 'height=300,width=500,location=no,menubar=no,status=no,toolbar=no,scrollbars=yes')"],
|
||||
],
|
||||
],
|
||||
'zv1' => [
|
||||
'status' => 'success',
|
||||
'location' => [
|
||||
'bg' => 'navig',
|
||||
'left' => '154',
|
||||
'top' => '148',
|
||||
],
|
||||
'goto' => [
|
||||
['id' => 'map_bk', 'params' => self::thisInfRm('1.180.0.3')],
|
||||
['id' => 'map_klub1', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub2', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub3', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub4', 'params' => [false, self::MSG['your-position']]],
|
||||
['id' => 'map_klub5', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub6', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub7', 'params' => [false, self::MSG['move-bk']]],
|
||||
],
|
||||
],
|
||||
'zv2' => [
|
||||
'status' => 'success',
|
||||
'location' => [
|
||||
'bg' => 'navig',
|
||||
'left' => '395',
|
||||
'top' => '142',
|
||||
],
|
||||
'goto' => [
|
||||
['id' => 'map_bk', 'params' => self::thisInfRm('1.180.0.3')],
|
||||
['id' => 'map_klub1', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub2', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub3', 'params' => [false, self::MSG['your-position']]],
|
||||
['id' => 'map_klub4', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub5', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub6', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub7', 'params' => [false, self::MSG['move-bk']]],
|
||||
],
|
||||
],
|
||||
'zv3' => [
|
||||
'status' => 'success',
|
||||
'location' => [
|
||||
'bg' => 'navig',
|
||||
'left' => '337',
|
||||
'top' => '79',
|
||||
],
|
||||
'goto' => [
|
||||
['id' => 'map_bk', 'params' => self::thisInfRm('1.180.0.3')],
|
||||
['id' => 'map_klub1', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub2', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub3', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub4', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub5', 'params' => [false, self::MSG['your-position']]],
|
||||
['id' => 'map_klub6', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub7', 'params' => [false, self::MSG['move-bk']]],
|
||||
],
|
||||
],
|
||||
'zv4' => [
|
||||
'status' => 'success',
|
||||
'location' => [
|
||||
'bg' => 'navig',
|
||||
'left' => '139',
|
||||
'top' => '79',
|
||||
],
|
||||
'goto' => [
|
||||
['id' => 'map_bk', 'params' => self::thisInfRm('1.180.0.3')],
|
||||
['id' => 'map_klub1', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub2', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub3', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub4', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub5', 'params' => [false, self::MSG['move-bk']]],
|
||||
['id' => 'map_klub6', 'params' => [false, self::MSG['your-position']]],
|
||||
['id' => 'map_klub7', 'params' => [false, self::MSG['move-bk']]],
|
||||
],
|
||||
],
|
||||
'zalu' => [
|
||||
'status' => 'success',
|
||||
'location' => [
|
||||
'bg' => 'navig1',
|
||||
'left' => '337',
|
||||
'top' => '117',
|
||||
],
|
||||
'goto' => [
|
||||
['id' => 'map_halls', 'params' => [false, self::MSG['your-position']]],
|
||||
['id' => 'map_zalu3', 'params' => [false, self::MSG['move-zalu4']]],
|
||||
['id' => 'map_zalu4', 'params' => self::thisInfRm('1.180.0.16')],
|
||||
['id' => 'map_zalu6', 'params' => [false, self::MSG['move-zalu4']]],
|
||||
['id' => 'map_zalu7', 'params' => self::thisInfRm('1.180.0.3')],
|
||||
|
||||
],
|
||||
],
|
||||
'zalu_pal' => [
|
||||
'status' => 'success',
|
||||
'location' => [
|
||||
'bg' => 'navig1',
|
||||
'left' => '163',
|
||||
'top' => '28',
|
||||
],
|
||||
'goto' => [
|
||||
['id' => 'map_halls', 'params' => self::thisInfRm('1.180.0.15')],
|
||||
['id' => 'map_zalu3', 'params' => self::thisInfRm('1.180.0.xx')],
|
||||
['id' => 'map_zalu4', 'params' => [false, self::MSG['your-position']]],
|
||||
['id' => 'map_zalu6', 'params' => self::thisInfRm('1.180.0.0')],
|
||||
['id' => 'map_zalu7', 'params' => [false, self::MSG['move-map_halls']]],
|
||||
],
|
||||
],
|
||||
'bk2' => [
|
||||
'status' => 'success',
|
||||
'location' => [
|
||||
'bg' => 'navig3',
|
||||
'left' => '162',
|
||||
'top' => '125',
|
||||
],
|
||||
'goto' => [
|
||||
['id' => 'map_2stair', 'params' => [false, self::MSG['your-position']]],
|
||||
['id' => 'map_sec1', 'params' => self::thisInfRm('1.180.0.3')],
|
||||
['id' => 'map_sec2', 'params' => self::thisInfRm('1.180.0.xx')],
|
||||
['id' => 'map_sec3', 'params' => [false, self::MSG['move-sek5']]],
|
||||
['id' => 'map_sec4', 'params' => [false, self::MSG['move-to-sek4']]],
|
||||
['id' => 'map_sec5', 'params' => self::thisInfRm('1.180.0.221')],
|
||||
['id' => 'map_sec6', 'params' => self::thisInfRm('1.180.0.224')],
|
||||
['id' => 'map_sec7', 'params' => [false, self::MSG['move-sek6']]],
|
||||
],
|
||||
],
|
||||
default => [],
|
||||
};
|
||||
if (!empty($r)) {
|
||||
$r['location']['name'] = $roomName;
|
||||
$r['location']['tgo'] = $tmGo * 10;
|
||||
$r['location']['tgo1'] = $tmGol * 10;
|
||||
}
|
||||
$r = json_encode($r);
|
||||
return $r ?: '';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user