가 오픈기간내 장수 삭제/빙의해제 가능
This commit is contained in:
+32
-2
@@ -18,21 +18,24 @@ if($tnmt < 0 || $tnmt > 1){
|
|||||||
$tnmt = 1;
|
$tnmt = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$showDieImmediatelyBtn = false;
|
||||||
|
$availableDieImmediately = false;
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
|
$gameStor->cacheValues(['turnterm', 'opentime', 'turntime']);
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("내정보", 1);
|
increaseRefresh("내정보", 1);
|
||||||
|
|
||||||
$query = "select no,npc,mode,tnmt,myset,train,atmos from general where owner='{$userID}'";
|
$query = "select no,npc,mode,tnmt,myset,train,atmos,lastrefresh from general where owner='{$userID}'";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$me = MYDB_fetch_array($result);
|
$me = MYDB_fetch_array($result);
|
||||||
|
|
||||||
|
|
||||||
if ($me['myset'] > 0) {
|
if ($me['myset'] > 0) {
|
||||||
$submit = 'submit';
|
$submit = 'submit';
|
||||||
} else {
|
} else {
|
||||||
@@ -91,6 +94,13 @@ if (($btn == "설정저장" || $detachNPC) && $me['myset'] > 0) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($gameStor->turntime <= $gameStor->opentime){
|
||||||
|
//서버 가오픈시 할 수 있는 행동
|
||||||
|
$showDieImmediatelyBtn = true;
|
||||||
|
if(addTurn($me['lastrefresh'], $gameStor->turnterm, 2) <= TimeUtil::DatetimeNow()){
|
||||||
|
$availableDieImmediately = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
@@ -106,7 +116,21 @@ if (($btn == "설정저장" || $detachNPC) && $me['myset'] > 0) {
|
|||||||
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<script>
|
||||||
|
var availableDieImmediately = <?=$availableDieImmediately?'true':'false'?>;
|
||||||
|
jQuery(function($){
|
||||||
|
|
||||||
|
$('#die_immediately').click(function(){
|
||||||
|
if(!availableDieImmediately){
|
||||||
|
alert('삭제를 위해서는 생성 후 2턴 가량의 시간이 필요합니다.');
|
||||||
|
location.reload();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return confirm('정말로 삭제하시겠습니까?');
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@@ -138,6 +162,12 @@ if (($btn == "설정저장" || $detachNPC) && $me['myset'] > 0) {
|
|||||||
<a href="c_vacation.php"><button type="button" style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160px;height:30px;font-size:13px;>휴가 신청</button></a><br><br>
|
<a href="c_vacation.php"><button type="button" style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160px;height:30px;font-size:13px;>휴가 신청</button></a><br><br>
|
||||||
<!--빙의 해제용 삭턴 조절<br>
|
<!--빙의 해제용 삭턴 조절<br>
|
||||||
<a href="b_myPage.php?detachNPC=1"><button type="button" style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160px;height:30px;font-size:13px;>빙의 해체 요청</button></a>-->
|
<a href="b_myPage.php?detachNPC=1"><button type="button" style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160px;height:30px;font-size:13px;>빙의 해체 요청</button></a>-->
|
||||||
|
|
||||||
|
<?php if($showDieImmediatelyBtn): ?>
|
||||||
|
가오픈 기간 내 장수 삭제<br>
|
||||||
|
<a href="c_die_immediately.php" id='die_immediately'><button type="button" style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160px;height:30px;font-size:13px;>장수 삭제</button></a><br><br>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
개인용 CSS<br>
|
개인용 CSS<br>
|
||||||
<textarea id='custom_css' style='color:white;background-color:black;width:420px;height:150px;'></textarea>
|
<textarea id='custom_css' style='color:white;background-color:black;width:420px;height:150px;'></textarea>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@@ -0,0 +1,67 @@
|
|||||||
|
<?php
|
||||||
|
namespace sammo;
|
||||||
|
|
||||||
|
include "lib.php";
|
||||||
|
include "func.php";
|
||||||
|
|
||||||
|
$availableDieImmediately = false;
|
||||||
|
|
||||||
|
//로그인 검사
|
||||||
|
$session = Session::requireGameLogin();
|
||||||
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
|
|
||||||
|
$general = $db->queryFirstRow('SELECT no,name,name2,npc,lastrefresh FROM general WHERE owner=%i', $userID);
|
||||||
|
|
||||||
|
if(!$general){
|
||||||
|
header('location:b_myPage.php');
|
||||||
|
die();
|
||||||
|
}
|
||||||
|
|
||||||
|
increaseRefresh("장수 삭제", 1);
|
||||||
|
$gameStor->cacheValues(['turnterm', 'opentime', 'turntime', 'year', 'month']);
|
||||||
|
|
||||||
|
if($gameStor->turntime <= $gameStor->opentime){
|
||||||
|
//서버 가오픈시 할 수 있는 행동
|
||||||
|
if(addTurn($general['lastrefresh'], $gameStor->turnterm, 2) <= TimeUtil::DatetimeNow()){
|
||||||
|
$availableDieImmediately = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$availableDieImmediately){
|
||||||
|
header('location:b_myPage.php');
|
||||||
|
die();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if($general['npc'] == 0){
|
||||||
|
if(!$db->query('DELETE FROM general WHERE owner=%i AND npc=0', $userID)){
|
||||||
|
trigger_error("올바르지 않은 삭제 프로세스 $userID", E_USER_WARNING);
|
||||||
|
}
|
||||||
|
$generalName = $general['name'];
|
||||||
|
$josaYi = JosaUtil::pick($generalName, '이');
|
||||||
|
pushGeneralPublicRecord(["<C>●</>{$gameStor->month}월:<Y>{$generalName}</>{$josaYi} 이 홀연히 모습을 <R>감추었습니다</>"], $gameStor->year, $gameStor->month);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$turnterm = $gameStor->turnterm;
|
||||||
|
if($turnterm < 10){
|
||||||
|
$targetKillTurn = 30 / $turnterm;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$targetKillTurn = 60 / $turnterm;
|
||||||
|
}
|
||||||
|
if(!$db->update('general', [
|
||||||
|
'killturn'=>$targetKillTurn
|
||||||
|
], 'owner=%i AND npc=1', $userID)){
|
||||||
|
trigger_error("올바르지 않은 빙의 해제 프로세스 $userID", E_USER_WARNING);
|
||||||
|
}
|
||||||
|
$generalName = $general['name2'];
|
||||||
|
$josaYi = JosaUtil::pick($generalName, '이');
|
||||||
|
pushGeneralPublicRecord(["<C>●</>{$gameStor->month}월:<Y>{$generalName}</>{$josaYi} 이 홀연히 모습을 <R>감추었습니다</>"], $gameStor->year, $gameStor->month);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$session->logoutGame();
|
||||||
|
header('location:..');
|
||||||
+4
-3
@@ -189,8 +189,8 @@ else{
|
|||||||
|
|
||||||
$turntime = getRandTurn($admin['turnterm'], new \DateTimeImmutable($admin['turntime']));
|
$turntime = getRandTurn($admin['turnterm'], new \DateTimeImmutable($admin['turntime']));
|
||||||
|
|
||||||
$lastconnect = date('Y-m-d H:i:s');
|
$now = date('Y-m-d H:i:s');
|
||||||
if ($lastconnect >= $turntime) {
|
if ($now >= $turntime) {
|
||||||
$turntime = addTurn($turntime, $admin['turnterm']);
|
$turntime = addTurn($turntime, $admin['turnterm']);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -233,7 +233,8 @@ $db->insert('general', [
|
|||||||
'level' => 0,
|
'level' => 0,
|
||||||
'turntime' => $turntime,
|
'turntime' => $turntime,
|
||||||
'killturn' => 6,
|
'killturn' => 6,
|
||||||
'lastconnect' => $lastconnect,
|
'lastconnect' => $now,
|
||||||
|
'lastrefresh' => $now,
|
||||||
'crewtype'=>GameUnitConst::DEFAULT_CREWTYPE,
|
'crewtype'=>GameUnitConst::DEFAULT_CREWTYPE,
|
||||||
'makelimit' => 0,
|
'makelimit' => 0,
|
||||||
'age' => $age,
|
'age' => $age,
|
||||||
|
|||||||
Reference in New Issue
Block a user