사망, 천통시 장수를 ng_old_generals에 보관
This commit is contained in:
+4
-1
@@ -1917,6 +1917,9 @@ function updateTurntime($no) {
|
|||||||
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name2']}</>{$josaYi} <Y>{$general['name']}</>의 육체에서 <S>유체이탈</>합니다!";
|
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name2']}</>{$josaYi} <Y>{$general['name']}</>의 육체에서 <S>유체이탈</>합니다!";
|
||||||
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
storeOldGeneral($general['no'], $admin['year'], $admin['month']);
|
||||||
|
|
||||||
// 군주였으면 유지 이음
|
// 군주였으면 유지 이음
|
||||||
if($general['level'] == 12) {
|
if($general['level'] == 12) {
|
||||||
nextRuler($general);
|
nextRuler($general);
|
||||||
@@ -2444,7 +2447,7 @@ function deleteNation($general) {
|
|||||||
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<R><b>【멸망】</b></><D><b>{$nation['name']}</b></>{$josaUn} <R>멸망</>했습니다.";
|
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<R><b>【멸망】</b></><D><b>{$nation['name']}</b></>{$josaUn} <R>멸망</>했습니다.";
|
||||||
|
|
||||||
$oldNation = $db->queryFirstRow('SELECT * FROM nation WHERE nation=%i', $general['nation']);
|
$oldNation = $db->queryFirstRow('SELECT * FROM nation WHERE nation=%i', $general['nation']);
|
||||||
$oldNationGenerals = $db->query('SELECT * FROM general WHERE nation=%i', $general['nation']);
|
$oldNationGenerals = $db->queryFirstColumn('SELECT `no` FROM general WHERE nation=%i', $general['nation']);
|
||||||
$oldNation['generals'] = $oldNationGenerals;
|
$oldNation['generals'] = $oldNationGenerals;
|
||||||
|
|
||||||
// 전 장수 재야로 // 전 장수 소속 무소속으로
|
// 전 장수 재야로 // 전 장수 소속 무소속으로
|
||||||
|
|||||||
+47
-5
@@ -688,7 +688,7 @@ function checkMerge() {
|
|||||||
|
|
||||||
// 국가 백업
|
// 국가 백업
|
||||||
$oldNation = $db->queryFirstRow('SELECT * FROM nation WHERE nation=%i', $me['nation']);
|
$oldNation = $db->queryFirstRow('SELECT * FROM nation WHERE nation=%i', $me['nation']);
|
||||||
$oldNationGenerals = $db->query('SELECT * FROM general WHERE nation=%i', $me['nation']);
|
$oldNationGenerals = $db->queryFirstColumn('SELECT `no` FROM general WHERE nation=%i', $me['nation']);
|
||||||
$oldNation['generals'] = $oldNationGenerals;
|
$oldNation['generals'] = $oldNationGenerals;
|
||||||
|
|
||||||
// 자금 통합, 외교제한 5년, 기술유지
|
// 자금 통합, 외교제한 5년, 기술유지
|
||||||
@@ -700,7 +700,7 @@ function checkMerge() {
|
|||||||
'nation'=>$me['nation'],
|
'nation'=>$me['nation'],
|
||||||
'data'=>Json::encode($oldNation)
|
'data'=>Json::encode($oldNation)
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$query = "delete from nation where nation='{$me['nation']}'";
|
$query = "delete from nation where nation='{$me['nation']}'";
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
// 아국 모든 도시들 상대국 소속으로
|
// 아국 모든 도시들 상대국 소속으로
|
||||||
@@ -818,7 +818,7 @@ function checkSurrender() {
|
|||||||
|
|
||||||
// 국가 백업
|
// 국가 백업
|
||||||
$oldNation = $db->queryFirstRow('SELECT * FROM nation WHERE nation=%i', $me['nation']);
|
$oldNation = $db->queryFirstRow('SELECT * FROM nation WHERE nation=%i', $me['nation']);
|
||||||
$oldNationGenerals = $db->query('SELECT * FROM general WHERE nation=%i', $me['nation']);
|
$oldNationGenerals = $db->queryFirstColumn('SELECT `no` FROM general WHERE nation=%i', $me['nation']);
|
||||||
$oldNation['generals'] = $oldNationGenerals;
|
$oldNation['generals'] = $oldNationGenerals;
|
||||||
|
|
||||||
$newGenCount = $gencount + $gencount2;
|
$newGenCount = $gencount + $gencount2;
|
||||||
@@ -1143,6 +1143,45 @@ function checkStatistic() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function convForOldGeneral(array $general, int $year, int $month){
|
||||||
|
return [
|
||||||
|
'server_id'=>UniqueConst::$serverID,
|
||||||
|
'general_no'=>$general['no'],
|
||||||
|
'owner'=>$general['owner'],
|
||||||
|
'name'=>$general['name'],
|
||||||
|
'last_yearmonth'=>$year*100+$month,
|
||||||
|
'turntime'=>$general['turntime'],
|
||||||
|
'data'=>Json::encode($general)
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
function storeOldGeneral(int $no, int $year, int $month){
|
||||||
|
$db = DB::db();
|
||||||
|
$general = $db->queryFirstRow('SELECT * FROM general WHERE `no` = %i', $no);
|
||||||
|
if(!$general){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$data = convForOldGeneral($general, $year, $month);
|
||||||
|
$db->insertUpdate(
|
||||||
|
'ng_old_generals',
|
||||||
|
$data,
|
||||||
|
$data
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function storeOldGenerals(int $nation, int $year, int $month){
|
||||||
|
$db = DB::db();
|
||||||
|
foreach($db->query('SELECT * FROM general WHERE nation = %i',$nation) as $general){
|
||||||
|
$data = convForOldGeneral($general, $year, $month);
|
||||||
|
$db->insertUpdate(
|
||||||
|
'ng_old_generals',
|
||||||
|
$data,
|
||||||
|
$data
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function checkEmperior() {
|
function checkEmperior() {
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
@@ -1229,7 +1268,7 @@ function checkEmperior() {
|
|||||||
$level5 = MYDB_fetch_array($genresult);
|
$level5 = MYDB_fetch_array($genresult);
|
||||||
|
|
||||||
$oldNation = $db->queryFirstRow('SELECT * FROM nation WHERE nation=%i', $nation['nation']);
|
$oldNation = $db->queryFirstRow('SELECT * FROM nation WHERE nation=%i', $nation['nation']);
|
||||||
$oldNationGenerals = $db->query('SELECT * FROM general WHERE nation=%i', $nation['nation']);
|
$oldNationGenerals = $db->queryFirstColumn('SELECT `no` FROM general WHERE nation=%i', $nation['nation']);
|
||||||
$oldNation['generals'] = $oldNationGenerals;
|
$oldNation['generals'] = $oldNationGenerals;
|
||||||
|
|
||||||
$query = "select name,picture,killnum from general where nation='{$nation['nation']}' order by killnum desc limit 5"; // 오호장군
|
$query = "select name,picture,killnum from general where nation='{$nation['nation']}' order by killnum desc limit 5"; // 오호장군
|
||||||
@@ -1291,13 +1330,16 @@ function checkEmperior() {
|
|||||||
$oldNation = $db->queryFirstRow('SELECT * FROM nation WHERE nation=%i', $nation['nation']);
|
$oldNation = $db->queryFirstRow('SELECT * FROM nation WHERE nation=%i', $nation['nation']);
|
||||||
$oldNation['generals'] = $db->query('SELECT * FROM general WHERE nation=%i', $nation['nation']);
|
$oldNation['generals'] = $db->query('SELECT * FROM general WHERE nation=%i', $nation['nation']);
|
||||||
|
|
||||||
|
storeOldGenerals(0, $admin['year'], $admin['month']);
|
||||||
|
storeOldGenerals($nation['nation'], $admin['year'], $admin['month']);
|
||||||
|
|
||||||
$db->insert('ng_old_nations', [
|
$db->insert('ng_old_nations', [
|
||||||
'server_id'=>UniqueConst::$serverID,
|
'server_id'=>UniqueConst::$serverID,
|
||||||
'nation'=>$nation['nation'],
|
'nation'=>$nation['nation'],
|
||||||
'data'=>Json::encode($oldNation)
|
'data'=>Json::encode($oldNation)
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$noNationGeneral = $db->query('SELECT * FROM general WHERE nation=0');
|
$noNationGeneral = $db->queryFirstColumn('SELECT `no` FROM general WHERE nation=0');
|
||||||
$db->insert('ng_old_nations', [
|
$db->insert('ng_old_nations', [
|
||||||
'server_id'=>UniqueConst::$serverID,
|
'server_id'=>UniqueConst::$serverID,
|
||||||
'nation'=>0,
|
'nation'=>0,
|
||||||
|
|||||||
+4
-1
@@ -1812,7 +1812,10 @@ function ConquerCity($admin, $general, $city, $nation, $destnation) {
|
|||||||
// 국가 백업
|
// 국가 백업
|
||||||
$oldNation = $db->queryFirstRow('SELECT * FROM nation WHERE nation=%i', $city['nation']);
|
$oldNation = $db->queryFirstRow('SELECT * FROM nation WHERE nation=%i', $city['nation']);
|
||||||
$oldNationGenerals = $db->query('SELECT * FROM general WHERE nation=%i', $city['nation']);
|
$oldNationGenerals = $db->query('SELECT * FROM general WHERE nation=%i', $city['nation']);
|
||||||
$oldNation['generals'] = $oldNationGenerals;
|
$oldNation['generals'] = array_map(function($gen){
|
||||||
|
//다른 코드와는 다르게 공용으로 쓰므로 남겨둠
|
||||||
|
return $gen['no'];
|
||||||
|
}, $oldNationGenerals);
|
||||||
|
|
||||||
foreach($oldNationGenerals as $gen){
|
foreach($oldNationGenerals as $gen){
|
||||||
|
|
||||||
|
|||||||
@@ -410,6 +410,22 @@ CREATE TABLE IF NOT EXISTS `ng_old_nations` (
|
|||||||
)
|
)
|
||||||
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPRESSED;
|
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPRESSED;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `ng_old_generals` (
|
||||||
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`server_id` CHAR(20) NOT NULL,
|
||||||
|
`general_no` INT(11) NOT NULL,
|
||||||
|
`owner` INT(11) NULL DEFAULT NULL,
|
||||||
|
`name` VARCHAR(32) NOT NULL,
|
||||||
|
`last_yearmonth` INT(11) NOT NULL,
|
||||||
|
`turntime` DATETIME NOT NULL,
|
||||||
|
`data` MEDIUMTEXT NOT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE INDEX `by_no` (`server_id`, `general_no`),
|
||||||
|
INDEX `by_name` (`server_id`, `name`),
|
||||||
|
INDEX `owner` (`owner`, `server_id`)
|
||||||
|
)
|
||||||
|
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPRESSED;
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `emperior` (
|
CREATE TABLE IF NOT EXISTS `emperior` (
|
||||||
`no` INT(6) NOT NULL AUTO_INCREMENT,
|
`no` INT(6) NOT NULL AUTO_INCREMENT,
|
||||||
`server_id` CHAR(20) NULL DEFAULT '',
|
`server_id` CHAR(20) NULL DEFAULT '',
|
||||||
|
|||||||
Reference in New Issue
Block a user