history.go(-1);"; exit(1); } //회원 테이블에서 정보확인 $member = getRootDB()->queryFirstRow("select no,id,picture,imgsvr,grade from MEMBER where no = %i", $userID); if(!$member) { MessageBox("잘못된 접근입니다!!!"); echo ""; exit(1); } $date = date('Y-m-d H:i:s'); //등록정보 getRootDB()->query("update MEMBER set reg_num=reg_num+1,reg_date=%s where no=%i", $date, $userID); $connect = dbConn(); $db = getDB(); ########## 동일 정보 존재여부 확인. ########## $admin = $db->queryFirstRow("select year,month,scenario,maxgeneral,turnterm,genius,img from game where no='1'"); $gencount = $db->queryFirstField("select count(no) from general where npc<2"); $id_num = $db->queryFirstField("select count(no) from general where no_member= %i", $userID); $name_num = $db->queryFirstField("select count(no) from general where name= %s", $name); if($id_num) { echo(""); exit; } elseif($name_num) { echo(""); exit; } elseif($token_num != 1) { echo(""); exit; } elseif($admin['maxgeneral'] <= $gencount) { echo(""); exit; } elseif($id == "") { echo(""); exit; } elseif(_String::GetStrLen($name) < 1) { echo(""); exit; } elseif($name == "") { echo(""); exit; } elseif(_String::GetStrLen($name) > 6) { echo(""); exit; } elseif($leader + $power + $intel > 150) { echo(""); exit; } elseif($leader > 75 || $leader < 10 || $power > 75 || $power < 10 || $intel > 75 || $intel < 10) { echo(""); exit; } elseif($character < 0 || $character > 11) { echo(""); exit; } else { $ratio = rand() % 100; // 현재 1% if($ratio == 50 && $admin['genius'] > 0) { $genius = 1; $db->query("update game set genius=genius-1 where no='1'"); } else { $genius = 0; } //중, 소 공백지 개수 $citycount = toInt($db->queryFirstField("select count(city) from city where level>=5 and level<=6 and nation=0")); // 공백지에서만 태어나게 if($citycount > 0) { $city = toInt($db->queryFirstField("select city from city where level>=5 and level<=6 and nation=0 order by rand() limit 0,1")); } else { $city = toInt($db->queryFirstField("select city from city where level>=5 and level<=6 order by rand() limit 0,1")); } $total = rand() % 6; $pleader = rand() % 100; $ppower = rand() % 100; $pintel = rand() % 100; $rate = $pleader + $ppower + $pintel; $pleader = floor($pleader / $rate * $total + 0.5); $ppower = floor($ppower / $rate * $total + 0.5); $pintel = floor($pintel / $rate * $total + 0.5); $leader = $leader + $pleader; $power = $power + $ppower; $intel = $intel + $pintel; $age = 20 + ($pleader + $ppower + $pintel) * 2 + (rand() % 2); // 아직 남았고 천재등록상태이면 특기 부여 if($genius == 1) { $specage2 = $age; $special2 = getSpecial2($connect, $leader, $power, $intel); } else { $specage2 = round((80 - $age)/3) + $age; $special2 = 0; } //내특 $specage = round((80 - $age)/12) + $age; $special = 0; if($admin['scenario'] > 0) { $specage2 = $age + 3; $specage = $age + 3; } $turntime = getRandTurn($admin['turnterm']); $lastconnect = date('Y-m-d H:i:s'); if($lastconnect >= $turntime) { $turntime = addTurn($turntime, $admin['turnterm']); } //특회 전콘 if($admin['img'] >= 1 && $member['grade'] >= 1 && $member['picture'] != "" && $pic == 1) { $face = $member['picture']; $imgsvr = $member['imgsvr']; } else { $face = "default.jpg"; $imgsvr = 0; } //특회 $userlevel = $member['grade']; //성격 랜덤시 if($character == 11) $character = rand()%10; //상성 랜덤 $npcmatch = rand()%150 + 1; ########## 회원정보 테이블에 입력값을 등록한다. ########## $db->insert('general', [ 'no_member' => $userID, 'name' => $name, 'picture' => $face, 'imgsvr' => $imgsvr, 'nation' => 0, 'city' => $city, 'troop' => 0, 'npcmatch' => $npcmatch, 'leader' => $leader, 'power' => $power, 'intel' => $intel, 'experience' => 0, 'dedication' => 0, 'gold' => 1000, 'rice' => 1000, 'crew' => 0, 'train' => 0, 'atmos' => 0, 'userlevel' => $userlevel, 'level' => 0, 'turntime' => $turntime, 'killturn' => 6, 'lastconnect' => $lastconnect, 'makelimit' => 0, 'age' => $age, 'startage' => $age, 'personal' => $character, 'specage' => $specage, 'special' => $special, 'specage2' => $specage2, 'special2' => $special2 ]); $me = $db->queryFirstRow("select no,name,history from general where no_member= %i", $userID); if($me['name'] == "") { $r = rand() % 999 + 1; $me['name'] = '장수-'.$r; $db->query("update general set name=%s where no_member=%i", $me['name'], $userID); } $cityname = getCity($connect, $city, "name"); if($genius == 1) { $log[0] = "●{$admin['month']}월:{$cityname['name']}에서 {$me['name']}(이)라는 기재가 천하에 이름을 알립니다."; $log[1] = "●{$admin['month']}월:".getGenSpecial($special2)." 특기를 가진 천재의 등장으로 온 천하가 떠들썩합니다."; $history[0] = "●{$admin['year']}년 {$admin['month']}월:【천재】{$cityname['name']}에 천재가 등장했습니다."; pushHistory($connect, $history); } else { $log[0] = "●{$admin['month']}월:{$cityname['name']}에서 {$me['name']}(이)라는 호걸이 천하에 이름을 알립니다."; } $me = addHistory($connect, $me, "●{$admin['year']}년 {$admin['month']}월:{$me['name']}, {$cityname['name']}에서 큰 뜻을 품다."); $mylog[count($mylog)] = "●삼국지 모의전투 PHP의 세계에 오신 것을 환영합니다 ^o^"; $mylog[count($mylog)] = "●처음 하시는 경우에는 도움말을 참고하시고,"; $mylog[count($mylog)] = "●문의사항이 있으시면 게시판에 글을 남겨주시면 되겠네요~"; $mylog[count($mylog)] = "●부디 즐거운 삼모전 되시길 바랍니다 ^^"; $mylog[count($mylog)] = "●통솔 $pleader 무력 $ppower 지력 $pintel 의 보너스를 받으셨습니다."; $mylog[count($mylog)] = "●연령은 $age세로 시작합니다."; if($genius == 1) { $mylog[count($mylog)] = "●축하합니다! 천재로 태어나 처음부터 ".getGenSpecial($special2)." 특기를 가지게 됩니다!"; $me = addHistory($connect, $me, "●{$admin['year']}년 {$admin['month']}월:".getGenSpecial($special2)." 특기를 가진 천재로 탄생."); } pushGenLog($me, $mylog); pushAllLog($log); $adminLog[0] = "가입 : {$name} // {$me['name']} // {$id} // ".getenv("REMOTE_ADDR"); pushAdminLog($connect, $adminLog); MYDB_close($connect); echo(""); //echo(""); echo 'index.php';//TODO:debug all and replace }