rule('required', 'face')
->rule('integer', 'face');
if(!$v->validate()){
MessageBox($v->errorStr());
echo "";
exit(1);
}
$session = Session::requireLogin()->setReadOnly();
$userID = Session::getUserID();
$face = (int)$_POST['face'];
$rootDB = RootDB::db();
//회원 테이블에서 정보확인
$member = $rootDB->queryFirstRow('SELECT `no`, id, picture, grade, `name` FROM member WHERE no=%i', $userID);
if(!$member) {
MessageBox("잘못된 접근입니다!!!");
echo "";
exit(1);
}
$db = DB::db();
$npc = $db->queryFirstRow('SELECT `no`, `name`, `npc`, `level` FROM general WHERE `no`=%i', $face);
if(!$npc){
echo "";
echo "";
exit();
}
########## 동일 정보 존재여부 확인. ##########
list(
$year,
$month,
$maxgeneral,
$turnterm,
$genius,
$npcmode
) = $db->queryFirstList('SELECT year,month,maxgeneral,turnterm,genius,npcmode from game limit 1');
$gencount = $db->queryFirstField('SELECT count(`no`) FROM general WHERE npc<2');
$oldGeneral = $db->queryFirstField('SELECT `no` FROM general WHERE `owner`=%i', $userID);
if($npcmode != 1) {
echo "";
echo "";
exit();
}
if($oldGeneral) {
echo("");
exit;
}
if($maxgeneral <= $gencount) {
echo("");
exit;
}
if($npc['npc'] < 2) {
echo("");
exit;
}
if($npc['npc'] != 2) {
echo("");
exit;
}
/*if($npc['level'] >= 5) {
echo("");
exit;
} */
$npcID = $npc['no'];
$db->update('general', [
'name2'=>$session->userName,
'npc'=>1,
'killturn'=>6,
'mode'=>2,
'map'=>0,
'owner'=>$userID
], 'no=%i and npc=2', $npcID);
$affected = $db->affectedRows();
if(!$affected){
echo("");
exit;
}
$me = [
'no'=>$npcID
];
pushGeneralHistory($me, "●>{$year}년 {$month}월:{$npc['name']}>의 육체에 {$session->userName}>(이)가 빙의되다.");
//pushGenLog($me, $mylog);
pushGeneralPublicRecord(["●>{$month}월:{$npc['name']}>의 육체에 {$session->userName}>(이)가 빙의>됩니다!"], $year, $month);
pushAdminLog(["가입 : {$userID} // {$session->userName} // {$npcID} // ".getenv("REMOTE_ADDR")]);
$rootDB->insert('member_log', [
'member_no' => $userID,
'date'=>date('Y-m-d H:i:s'),
'action_type'=>'make_general',
'action'=>Json::encode([
'server'=>DB::prefix(),
'type'=>'npc',
'generalID'=>$npc['no'],
'generalName'=>$npc['name']
])
]);
?>