forked from devsam/core
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
59243bc34d | ||
|
|
da89d81ef9 | ||
|
|
27d313c594 | ||
|
|
eeaae898ae | ||
|
|
9673ecfaa1 | ||
|
|
4e22cf3515 | ||
|
|
5b926ae5c5 | ||
|
|
b78fe22633 | ||
|
|
ba4ff29e4a | ||
|
|
f060716a3c | ||
|
|
9108ce3f19 | ||
|
|
e36a50889b | ||
|
|
ee2bcb5329 | ||
|
|
bc7efae08c | ||
|
|
fe53fb9359 | ||
|
|
463994df42 | ||
|
|
48a560cb4c | ||
|
|
493b3c7d97 | ||
|
|
7875e6885f | ||
|
|
f36df49ed8 | ||
|
|
1c1fb247b1 | ||
|
|
cff76c9db9 | ||
|
|
3d06a13e72 | ||
|
|
85e6faf92c | ||
|
|
f5494a69a2 | ||
|
|
7afa36a2b8 | ||
|
|
0cc7ba368a | ||
|
|
183efd073b | ||
|
|
d6e2a84a36 | ||
|
|
3e069d14f2 | ||
|
|
6140da5783 | ||
|
|
28aa4c004b | ||
|
|
61857ce56d | ||
|
|
15d1c2829a | ||
|
|
a5bb9ba062 | ||
|
|
cfb2a2dbd5 | ||
|
|
0639fc3b83 | ||
|
|
d0e7358f68 | ||
|
|
ffc0fc0c6f | ||
|
|
2bce82c73e | ||
|
|
37339b91b0 | ||
|
|
95c8d7ec0f | ||
|
|
a1a34c30b3 | ||
|
|
5189a50b9d | ||
|
|
2d477d630c | ||
|
|
ceccb43f82 | ||
|
|
18101d9e90 | ||
|
|
56e6692817 | ||
|
|
11a9985543 | ||
|
|
35e8fa952a | ||
|
|
0e82005a26 | ||
|
|
1024f1c4dd | ||
|
|
7a6472d49d | ||
|
|
a0a2e2097c | ||
|
|
76543892bc | ||
|
|
9c445e02b9 | ||
|
|
aebae6f485 | ||
|
|
0c0ef213f9 | ||
|
|
51316abd42 | ||
|
|
b3e621fbfd | ||
|
|
fae86dbff8 | ||
|
|
65171b4413 | ||
|
|
90a81c91c4 | ||
|
|
3161ace557 | ||
|
|
d8b87f1e70 | ||
|
|
b507d3c844 | ||
|
|
36dd7fef19 | ||
|
|
0405bf9fab | ||
|
|
fcbd801dc7 | ||
|
|
e1c97b1ca0 | ||
|
|
6a62f5af0d | ||
|
|
0c64087c0f | ||
|
|
e0cbf34d43 | ||
|
|
cb56620728 | ||
|
|
63f14f0009 | ||
|
|
789714ee44 | ||
|
|
c2d7e44400 | ||
|
|
3c49925999 | ||
|
|
3e3f156359 | ||
|
|
427532f0a5 | ||
|
|
6e876d3b9c | ||
|
|
86ecf37da6 | ||
|
|
c0e2ed7013 | ||
|
|
0cac139f65 | ||
|
|
a70bf667a4 | ||
|
|
e1f646daa5 | ||
|
|
117643f592 | ||
|
|
4fab99b946 | ||
|
|
97c6904918 | ||
|
|
4f113f210e | ||
|
|
77ff1d9e9a | ||
|
|
6ee8066c80 | ||
|
|
1f5f7e3591 | ||
|
|
5860a14dae | ||
|
|
74390602d8 | ||
|
|
d062fac671 | ||
|
|
6edabd5bcb | ||
|
|
762e7f72c3 | ||
|
|
3eb0f22439 | ||
|
|
dbc877023b |
+4
-4
@@ -22,16 +22,14 @@ pwe/.htaccess
|
||||
twe/.htaccess
|
||||
hwe/.htaccess
|
||||
|
||||
d_shared
|
||||
|
||||
d_pic/*.jpg
|
||||
d_pic/*.gif
|
||||
d_pic/*.png
|
||||
|
||||
d_setting/*.php
|
||||
!d_setting/*.orig.php
|
||||
!d_setting/_*.php
|
||||
*/d_setting/*.php
|
||||
!*/d_setting/*.orig.php
|
||||
!*/d_setting/_*.php
|
||||
|
||||
**/old/*
|
||||
test.php
|
||||
@@ -40,3 +38,5 @@ test.php
|
||||
/kwe
|
||||
/pwe
|
||||
/twe
|
||||
|
||||
phpinfo.php
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* This configuration will be read and overlaid on top of the
|
||||
* default configuration. Command line arguments will be applied
|
||||
* after this file is read.
|
||||
*/
|
||||
return [
|
||||
|
||||
// Supported values: '7.0', '7.1', '7.2', null.
|
||||
// If this is set to null,
|
||||
// then Phan assumes the PHP version which is closest to the minor version
|
||||
// of the php executable used to execute phan.
|
||||
"target_php_version" => '7.0',
|
||||
'backward_compatibility_checks ' => false,
|
||||
'ignore_undeclared_variables_in_global_scope' => false,
|
||||
'minimum_severity'=>\Phan\Issue::SEVERITY_LOW,
|
||||
|
||||
'file_list' => [
|
||||
'f_config/config.php',
|
||||
'hwe/MYDB.php',
|
||||
'hwe/lib.php',
|
||||
'hwe/func_auction.php',
|
||||
'hwe/func_command.php',
|
||||
'hwe/func_converter.php',
|
||||
'hwe/func_diplomacy.php',
|
||||
'hwe/func_gamerule.php',
|
||||
'hwe/func_history.php',
|
||||
'hwe/func_legacy.php',
|
||||
'hwe/func_map.php',
|
||||
'hwe/func_message.php',
|
||||
'hwe/func_npc.php',
|
||||
'hwe/func_process_chief.php',
|
||||
'hwe/func_process_personnel.php',
|
||||
'hwe/func_process_trick.php',
|
||||
'hwe/func_process.php',
|
||||
'hwe/func_string.php',
|
||||
'hwe/func_template.php',
|
||||
'hwe/func_time_event.php',
|
||||
'hwe/func_tournament.php',
|
||||
'hwe/process_war.php',
|
||||
'hwe/func.php'
|
||||
],
|
||||
|
||||
// A list of directories that should be parsed for class and
|
||||
// method information. After excluding the directories
|
||||
// defined in exclude_analysis_directory_list, the remaining
|
||||
// files will be statically analyzed for errors.
|
||||
//
|
||||
// Thus, both first-party and third-party code being used by
|
||||
// your application should be included in this list.
|
||||
'directory_list' => [
|
||||
'hwe/d_setting',
|
||||
'hwe/sammo',
|
||||
'd_setting',
|
||||
'src/sammo',
|
||||
'src/kakao',
|
||||
'vendor'
|
||||
],
|
||||
'exclude_file_regex' => '/.*\.orig\.php$/',
|
||||
|
||||
// A directory list that defines files that will be excluded
|
||||
// from static analysis, but whose class and method
|
||||
// information should be included.
|
||||
//
|
||||
// Generally, you'll want to include the directories for
|
||||
// third-party code (such as "vendor/") in this list.
|
||||
//
|
||||
// n.b.: If you'd like to parse but not analyze 3rd
|
||||
// party code, directories containing that code
|
||||
// should be added to the `directory_list` as
|
||||
// to `exclude_analysis_directory_list`.
|
||||
"exclude_analysis_directory_list" => [
|
||||
'vendor/'
|
||||
],
|
||||
|
||||
// A list of plugin files to execute.
|
||||
// See https://github.com/phan/phan/tree/master/.phan/plugins for even more.
|
||||
// (Pass these in as relative paths.
|
||||
// The 0.10.2 release will allow passing 'AlwaysReturnPlugin' if referring to a plugin that is bundled with Phan)
|
||||
'plugins' => [
|
||||
// checks if a function, closure or method unconditionally returns.
|
||||
// Checks for syntactically unreachable statements in
|
||||
// the global scope or function bodies.
|
||||
'UnreachableCodePlugin',
|
||||
'DollarDollarPlugin',
|
||||
'DuplicateArrayKeyPlugin',
|
||||
'PregRegexCheckerPlugin',
|
||||
'PrintfCheckerPlugin',
|
||||
],
|
||||
];
|
||||
Vendored
+9
-1
@@ -7,10 +7,18 @@
|
||||
"**/.DS_Store": true,
|
||||
"**/logs/*.txt": true,
|
||||
"**/session/sess*":true,
|
||||
"/che":true,
|
||||
"/kwe":true,
|
||||
"/pwe":true,
|
||||
"/twe":true,
|
||||
|
||||
},
|
||||
"search.exclude": {
|
||||
"e_lib/*":true,
|
||||
"vendor/*":true
|
||||
"vendor/*":true,
|
||||
"/che":true,
|
||||
"/kwe":true,
|
||||
"/pwe":true,
|
||||
"/twe":true,
|
||||
},
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
if(!defined('ROOT')){
|
||||
define('ROOT', '.');
|
||||
}
|
||||
require_once(ROOT.'/f_config/config.php');
|
||||
|
||||
CustomHeader();
|
||||
+13
-4
@@ -14,19 +14,28 @@
|
||||
"leafo/scssphp": "^0.7.5",
|
||||
"monolog/monolog": "^1.23",
|
||||
"firephp/firephp-core": "^0.4.0",
|
||||
"vlucas/valitron": "^1.4"
|
||||
"vlucas/valitron": "^1.4",
|
||||
"php-extended/php-tail": "^2.1",
|
||||
"pguardiario/phpuri": "^1.0"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"sammo\\": [
|
||||
"d_setting",
|
||||
"src/sammo"
|
||||
],
|
||||
"kakao\\": [
|
||||
"d_setting",
|
||||
"src/kakao"
|
||||
]
|
||||
}
|
||||
},
|
||||
"classmap": [
|
||||
"d_setting/"
|
||||
],
|
||||
"exclude-from-classmap": [
|
||||
"**/*.orig.php"
|
||||
],
|
||||
"files":[
|
||||
"f_config/config.php"
|
||||
]
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Generated
+114
-6
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "4659ec09c50a2ccd1b53194b3f53890a",
|
||||
"content-hash": "1753c2c2ad9fe40ecc5c6ae541dd2e78",
|
||||
"packages": [
|
||||
{
|
||||
"name": "brandonwamboldt/utilphp",
|
||||
@@ -90,16 +90,16 @@
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/guzzle",
|
||||
"version": "6.3.1",
|
||||
"version": "6.3.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/guzzle.git",
|
||||
"reference": "49e42e6539f775e80c74086a710a882e1d5a8111"
|
||||
"reference": "68d0ea14d5a3f42a20e87632a5f84931e2709c90"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/49e42e6539f775e80c74086a710a882e1d5a8111",
|
||||
"reference": "49e42e6539f775e80c74086a710a882e1d5a8111",
|
||||
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/68d0ea14d5a3f42a20e87632a5f84931e2709c90",
|
||||
"reference": "68d0ea14d5a3f42a20e87632a5f84931e2709c90",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -151,7 +151,7 @@
|
||||
"rest",
|
||||
"web service"
|
||||
],
|
||||
"time": "2018-03-26T12:06:26+00:00"
|
||||
"time": "2018-03-26T16:33:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/promises",
|
||||
@@ -454,6 +454,114 @@
|
||||
],
|
||||
"time": "2017-06-19T01:22:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pguardiario/phpuri",
|
||||
"version": "1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/monkeysuffrage/phpuri.git",
|
||||
"reference": "ad0a5ec033fe616cfef55578b9c7f2458be8fbfc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/monkeysuffrage/phpuri/zipball/ad0a5ec033fe616cfef55578b9c7f2458be8fbfc",
|
||||
"reference": "ad0a5ec033fe616cfef55578b9c7f2458be8fbfc",
|
||||
"shasum": ""
|
||||
},
|
||||
"type": "project",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"phpuri.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"description": "A php library for converting relative urls to absolute.",
|
||||
"time": "2015-05-24T09:13:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-extended/php-system",
|
||||
"version": "1.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-extended/php-system.git",
|
||||
"reference": "66727d5dc0a665916bd7e08bcfb9820e7be1d20c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-extended/php-system/zipball/66727d5dc0a665916bd7e08bcfb9820e7be1d20c",
|
||||
"reference": "66727d5dc0a665916bd7e08bcfb9820e7be1d20c",
|
||||
"shasum": ""
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"PhpExtended\\System\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Anastaszor",
|
||||
"role": "developer"
|
||||
}
|
||||
],
|
||||
"description": "A generic way to find informations about the running system",
|
||||
"homepage": "https://github.com/php-extended/php-system",
|
||||
"keywords": [
|
||||
"operating system",
|
||||
"os",
|
||||
"php",
|
||||
"system"
|
||||
],
|
||||
"time": "2017-01-14T11:56:24+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-extended/php-tail",
|
||||
"version": "2.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-extended/php-tail.git",
|
||||
"reference": "eabf7bee64f8c30fe9b9e1176562fdb903c54ae7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-extended/php-tail/zipball/eabf7bee64f8c30fe9b9e1176562fdb903c54ae7",
|
||||
"reference": "eabf7bee64f8c30fe9b9e1176562fdb903c54ae7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php-extended/php-system": "^1.2"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"PhpExtended\\Tail\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Anastaszor",
|
||||
"role": "developer"
|
||||
}
|
||||
],
|
||||
"description": "A smart way to tail files depending of the environment",
|
||||
"homepage": "https://github.com/php-extended/php-tail",
|
||||
"keywords": [
|
||||
"cheat",
|
||||
"mighty",
|
||||
"naive",
|
||||
"php",
|
||||
"tail"
|
||||
],
|
||||
"time": "2017-07-25T13:52:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/http-message",
|
||||
"version": "1.0.1",
|
||||
|
||||
Binary file not shown.
@@ -100,9 +100,6 @@ button {
|
||||
font-family: '맑은 고딕';
|
||||
font-size: 13px;
|
||||
}
|
||||
.bg0 { background-image:url('/images/back_walnut.jpg'); }
|
||||
.bg1 { background-image:url('/images/back_green.jpg'); }
|
||||
.bg2 { background-image:url('/images/back_blue.jpg'); }
|
||||
|
||||
.font0 { font-size: 10px; }
|
||||
.font1 { font-size: 13px; }
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
if(!defined('ROOT')){
|
||||
define('ROOT', '..');
|
||||
}
|
||||
require_once(ROOT.'/f_config/config.php');
|
||||
|
||||
CustomHeader();
|
||||
@@ -1,10 +0,0 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
if(!defined('ROOT')){
|
||||
define('ROOT', '..');
|
||||
}
|
||||
require_once(ROOT.'/f_config/config.php');
|
||||
|
||||
CustomHeader();
|
||||
|
||||
+18
-8
@@ -1,14 +1,24 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
ob_start();
|
||||
require(__dir__.'/../vendor/autoload.php');
|
||||
require_once(__dir__.'/func.php');
|
||||
define('ROOT', realpath(__dir__.'/..'));
|
||||
|
||||
mb_internal_encoding("UTF-8");
|
||||
mb_http_output('UTF-8');
|
||||
mb_regex_encoding('UTF-8');
|
||||
|
||||
function logErrorByCustomHandler(int $errno, string $errstr, string $errfile, int $errline, array $errcontext){
|
||||
if (!(error_reporting() & $errno)) {
|
||||
// This error code is not included in error_reporting, so let it fall
|
||||
// through to the standard PHP error handler
|
||||
return false;
|
||||
}
|
||||
|
||||
define('__LINE__',__FILE__." ".__FUNCTION__." ".__LINE__." : ");
|
||||
define('IMAGE', '../../image');
|
||||
define('IMAGES', '../../images');
|
||||
//define('IMAGE', 'http://115.68.28.99/image');
|
||||
//define('IMAGES', 'http://115.68.28.99/images');
|
||||
$date = date("Ymd_His");
|
||||
|
||||
file_put_contents(ROOT.'/d_log/err_log.txt',"$date, $errno, $errstr, $errfile, $errline\n", FILE_APPEND);
|
||||
|
||||
/* Don't execute PHP internal error handler */
|
||||
//return true;
|
||||
}
|
||||
set_error_handler("\sammo\logErrorByCustomHandler");
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
function CustomHeader() {
|
||||
//xxx: CustomHeader를 제거하기 전까진 유지
|
||||
WebUtil::setHeaderNoCache();
|
||||
}
|
||||
|
||||
function logErrorByCustomHandler(int $errno, string $errstr, string $errfile, int $errline, array $errcontext){
|
||||
if (!(error_reporting() & $errno)) {
|
||||
// This error code is not included in error_reporting, so let it fall
|
||||
// through to the standard PHP error handler
|
||||
return false;
|
||||
}
|
||||
|
||||
$date = date("Ymd_His");
|
||||
|
||||
file_put_contents(__DIR__.'/../d_log/err_log.txt',"$date, $errno, $errstr, $errfile, $errline\n", FILE_APPEND);
|
||||
|
||||
/* Don't execute PHP internal error handler */
|
||||
//return true;
|
||||
}
|
||||
set_error_handler("\sammo\logErrorByCustomHandler");
|
||||
|
||||
function Error($msg) {
|
||||
file_put_contents(ROOT.'/d_log/err.txt', $msg."\n", FILE_APPEND);
|
||||
exit(1);
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
if(!defined('ROOT')){
|
||||
define('ROOT', '..');
|
||||
}
|
||||
require_once(ROOT.'/f_config/config.php');
|
||||
|
||||
CustomHeader();
|
||||
|
||||
+55
-28
@@ -1,9 +1,7 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
require('_common.php');
|
||||
|
||||
|
||||
require(__dir__.'/../vendor/autoload.php');
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
@@ -33,52 +31,76 @@ require('_common.php');
|
||||
<div class="card-body">
|
||||
<form id="db_form" method="post" action="#">
|
||||
<div class="form-group row">
|
||||
<label for="db_host" class="col-sm-3 col-form-label">DB호스트</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" class="form-control" name="db_host" id="db_host" placeholder="호스트" value="localhost" />
|
||||
<label for="db_host" class="col-sm-4 col-form-label">DB호스트</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="db_host" id="db_host"
|
||||
placeholder="호스트" value="localhost" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="db_port" class="col-sm-3 col-form-label">DB포트</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" class="form-control" name="db_port" id="db_port" placeholder="접속 포트" value="3306" />
|
||||
<label for="db_port" class="col-sm-4 col-form-label">DB포트</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="db_port" id="db_port"
|
||||
placeholder="접속 포트" value="3306" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="db_id" class="col-sm-3 col-form-label">DB계정명</label>
|
||||
<div class="col-sm-9">
|
||||
<label for="db_id" class="col-sm-4 col-form-label">DB계정명</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="db_id" id="db_id" placeholder="DB계정"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="db_pw" class="col-sm-3 col-form-label">DB비밀번호</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="password" class="form-control" name="db_pw" id="db_pw" placeholder="DB비밀번호"/>
|
||||
<label for="db_pw" class="col-sm-4 col-form-label">DB비밀번호</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="password" class="form-control" name="db_pw" id="db_pw"
|
||||
placeholder="DB비밀번호"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="db_name" class="col-sm-3 col-form-label">DB명</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" class="form-control" name="db_name" id="db_name" placeholder="DB명(예:sammo)"/>
|
||||
<label for="db_name" class="col-sm-4 col-form-label">DB명</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="db_name" id="db_name"
|
||||
placeholder="DB명(예:sammo)"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="serv_host" class="col-sm-3 col-form-label">접속 경로</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" class="form-control" name="serv_host" id="serv_host" placeholder="접속경로(예:http://www.example.com)"/>
|
||||
<label for="serv_host" class="col-sm-4 col-form-label">접속 경로</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="serv_host" id="serv_host"
|
||||
placeholder="접속경로(예:http://www.example.com)"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<div class="col-sm-3"></div>
|
||||
<div class="col-sm-9">
|
||||
<button type="submit" class="btn btn-primary btn-lg btn-block login-button">설정 파일 생성</button>
|
||||
<label for="shared_icon_path" class="col-sm-4 col-form-label">공용 아이콘 주소</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="shared_icon_path" id="shared_icon_path"
|
||||
placeholder="공용 아이콘 주소(웹 주소, 또는 접속 경로에 따른 상대 주소)"
|
||||
value="../image/icons" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="game_image_path" class="col-sm-4 col-form-label">게임 이미지 주소</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="game_image_path" id="game_image_path"
|
||||
placeholder="게임 이미지 주소(웹 주소, 또는 접속 경로에 따른 상대 주소)"
|
||||
value="../image/game" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<div class="col-sm-4"></div>
|
||||
<div class="col-sm-8">
|
||||
<button type="submit"
|
||||
class="btn btn-primary btn-lg btn-block login-button">설정 파일 생성</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -94,7 +116,8 @@ require('_common.php');
|
||||
<div class="form-group row">
|
||||
<label for="username" class="col-sm-3 col-form-label">계정명</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" class="form-control" name="username" id="username" placeholder="계정명"/>
|
||||
<input type="text" class="form-control" name="username" id="username"
|
||||
placeholder="계정명"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -102,21 +125,24 @@ require('_common.php');
|
||||
<div class="form-group row">
|
||||
<label for="password" class="col-sm-3 col-form-label">비밀번호</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="password" class="form-control" name="password" id="password" placeholder="비밀번호"/>
|
||||
<input type="password" class="form-control" name="password" id="password"
|
||||
placeholder="비밀번호"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="confirm_password" class="col-sm-3 col-form-label">비밀번호 확인</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="password" class="form-control" name="confirm_password" id="confirm_password" placeholder="비밀번호 확인"/>
|
||||
<input type="password" class="form-control" name="confirm_password" id="confirm_password"
|
||||
placeholder="비밀번호 확인"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="nickname" class="col-sm-3 col-form-label">닉네임</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" class="form-control" name="nickname" id="nickname" placeholder="닉네임" value="운영자"/>
|
||||
<input type="text" class="form-control" name="nickname" id="nickname"
|
||||
placeholder="닉네임" value="운영자"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -125,7 +151,8 @@ require('_common.php');
|
||||
<div class="form-group row">
|
||||
<div class="col-sm-3"></div>
|
||||
<div class="col-sm-9">
|
||||
<button type="submit" class="btn btn-primary btn-lg btn-block login-button">관리자 계정 생성</button>
|
||||
<button type="submit"
|
||||
class="btn btn-primary btn-lg btn-block login-button">관리자 계정 생성</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
|
||||
require('_common.php');
|
||||
require(__dir__.'/../vendor/autoload.php');
|
||||
|
||||
session_start();
|
||||
session_destroy();
|
||||
|
||||
$username = mb_strtolower(Util::array_get($_POST['username']), 'utf-8');
|
||||
$password = Util::array_get($_POST['password']);
|
||||
$nickname = Util::array_get($_POST['nickname']);
|
||||
$username = mb_strtolower(Util::getReq('username'), 'utf-8');
|
||||
$password = Util::getReq('password', 'string');
|
||||
$nickname = Util::getReq('nickname');
|
||||
|
||||
if(!$username || !$password || !$nickname){
|
||||
Json::die([
|
||||
@@ -18,7 +17,7 @@ if(!$username || !$password || !$nickname){
|
||||
]);
|
||||
}
|
||||
|
||||
if(strlen($password)!=128){
|
||||
if(strlen((string)$password)!=128){
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'올바르지 않은 비밀번호 해시 포맷입니다.'
|
||||
@@ -65,12 +64,12 @@ $rootDB->insert('member_log', [
|
||||
'member_no'=>$userID,
|
||||
'date'=>$nowDate,
|
||||
'action_type'=>'reg',
|
||||
'action'=>json_encode([
|
||||
'action'=>Json::encode([
|
||||
'type'=>'none',
|
||||
'aux'=>'admin',
|
||||
'id'=>$username,
|
||||
'name'=>$nickname
|
||||
], JSON_UNESCAPED_UNICODE)
|
||||
])
|
||||
]);
|
||||
|
||||
Json::die([
|
||||
|
||||
@@ -1,20 +1,7 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
|
||||
require('_common.php');
|
||||
|
||||
function dbConnFail($params){
|
||||
Json::die([
|
||||
'step'=>'conn_fail'
|
||||
]);
|
||||
}
|
||||
|
||||
function dbSQLFail($params){
|
||||
Json::die([
|
||||
'step'=>'sql_fail'
|
||||
]);
|
||||
}
|
||||
require(__dir__.'/../vendor/autoload.php');
|
||||
|
||||
if(!class_exists('\\sammo\\RootDB')){
|
||||
Json::die([
|
||||
@@ -25,11 +12,20 @@ if(!class_exists('\\sammo\\RootDB')){
|
||||
$rootDB = RootDB::db();
|
||||
|
||||
$rootDB->throw_exception_on_nonsql_error = false;
|
||||
$rootDB->nonsql_error_handler = 'dbConnFail';
|
||||
$rootDB->error_handler = 'dbSQLFail';
|
||||
$rootDB->nonsql_error_handler = function($params){
|
||||
Json::die([
|
||||
'step'=>'conn_fail'
|
||||
]);
|
||||
};
|
||||
|
||||
$rootDB->error_handler = function($params){
|
||||
Json::die([
|
||||
'step'=>'sql_fail'
|
||||
]);
|
||||
};
|
||||
|
||||
$memberCnt = $rootDB->queryFirstField('SELECT count(`NO`) from MEMBER');
|
||||
if($memberCnt === 0){
|
||||
if($memberCnt == 0){
|
||||
Json::die([
|
||||
'step'=>'admin',
|
||||
'globalSalt'=>RootDB::getGlobalSalt()
|
||||
|
||||
+155
-55
@@ -1,51 +1,39 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
require('_common.php');
|
||||
require(__dir__.'/../vendor/autoload.php');
|
||||
|
||||
function dbConnFail($params){
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'DB 접속에 실패했습니다.'
|
||||
]);
|
||||
}
|
||||
$host = Util::getReq('db_host');
|
||||
$port = Util::getReq('db_port', 'int');
|
||||
$username = Util::getReq('db_id');
|
||||
$password = Util::getReq('db_pw');
|
||||
$dbName = Util::getReq('db_name');
|
||||
$servHost = Util::getReq('serv_host');
|
||||
$sharedIconPath = Util::getReq('shared_icon_path');
|
||||
$gameImagePath = Util::getReq('game_image_path');
|
||||
|
||||
function dbSQLFail($params){
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'SQL을 제대로 실행하지 못했습니다. DB상태를 확인해 주세요.'
|
||||
]);
|
||||
}
|
||||
|
||||
$host = Util::array_get($_POST['db_host']);
|
||||
$port = Util::array_get($_POST['db_port']);
|
||||
$username = Util::array_get($_POST['db_id']);
|
||||
$password = Util::array_get($_POST['db_pw']);
|
||||
$dbName = Util::array_get($_POST['db_name']);
|
||||
$servHost = Util::array_get($_POST['serv_host']);
|
||||
|
||||
if(!$host || !$port || !$username || !$password || !$dbName || !$servHost){
|
||||
if (!$host || !$port || !$username || !$password || !$dbName || !$servHost || !$sharedIconPath || !$gameImagePath) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'입력 값이 올바르지 않습니다'
|
||||
]);
|
||||
}
|
||||
|
||||
if(!filter_var($servHost, FILTER_VALIDATE_URL)){
|
||||
Json::die([
|
||||
if (!filter_var($servHost, FILTER_VALIDATE_URL)) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'접속 경로가 올바르지 않습니다.'
|
||||
]);
|
||||
}
|
||||
|
||||
if(file_exists(ROOT.'/d_setting/RootDB.php') && is_dir(ROOT.'/d_setting/RootDB.php')){
|
||||
if (file_exists(ROOT.'/d_setting/RootDB.php') && is_dir(ROOT.'/d_setting/RootDB.php')) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'d_setting/RootDB.php 가 디렉토리입니다'
|
||||
]);
|
||||
}
|
||||
|
||||
if(class_exists('\\sammo\\RootDB')){
|
||||
if (class_exists('\\sammo\\RootDB')) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'이미 RootDB.php 파일이 있습니다'
|
||||
@@ -53,82 +41,131 @@ if(class_exists('\\sammo\\RootDB')){
|
||||
}
|
||||
|
||||
//파일 권한 검사
|
||||
if(file_exists(ROOT.'/d_pic') && !is_dir(ROOT.'/d_pic')){
|
||||
if (file_exists(AppConf::getUserIconPathFS()) && !is_dir(AppConf::getUserIconPathFS())) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'d_pic 이 디렉토리가 아닙니다'
|
||||
'reason'=>AppConf::$userIconPath.' 이 디렉토리가 아닙니다'
|
||||
]);
|
||||
}
|
||||
|
||||
if(file_exists(ROOT.'/d_log') && !is_dir(ROOT.'/d_log')){
|
||||
if (file_exists(ROOT.'/d_log') && !is_dir(ROOT.'/d_log')) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'d_log 가 디렉토리가 아닙니다'
|
||||
]);
|
||||
}
|
||||
|
||||
if(!file_exists(ROOT.'/d_setting')){
|
||||
if (file_exists(ROOT.'/d_shared') && !is_dir(ROOT.'/d_shared')) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'d_setting 이 존재하지 않습니다'
|
||||
'reason'=>'d_shared 가 디렉토리가 아닙니다'
|
||||
]);
|
||||
}
|
||||
|
||||
if(!is_writable(ROOT.'/d_pic')){
|
||||
if (file_exists(ROOT.'/d_setting') && !is_dir(ROOT.'/d_setting')) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'d_pic 디렉토리의 쓰기 권한이 없습니다'
|
||||
'reason'=>'d_shared 가 디렉토리가 아닙니다'
|
||||
]);
|
||||
}
|
||||
|
||||
if(!is_writable(ROOT.'/d_log')){
|
||||
if (!file_exists(ROOT.'/d_log')
|
||||
|| !file_exists(ROOT.'/d_shared')
|
||||
|| !file_exists(ROOT.'/d_setting')
|
||||
|| !file_exists(AppConf::getUserIconPathFS())
|
||||
) {
|
||||
if (!is_writable(ROOT)) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'하위 디렉토리 생성 권한이 없습니다'
|
||||
]);
|
||||
}
|
||||
|
||||
//기본 파일 생성
|
||||
if (!file_exists(AppConf::getUserIconPathFS())) {
|
||||
mkdir(AppConf::getUserIconPathFS());
|
||||
}
|
||||
|
||||
if (!file_exists(ROOT.'/d_log')) {
|
||||
mkdir(ROOT.'/d_log');
|
||||
}
|
||||
|
||||
if (!file_exists(ROOT.'/d_setting')) {
|
||||
mkdir(ROOT.'/d_setting');
|
||||
}
|
||||
|
||||
if (!file_exists(ROOT.'/d_shared')) {
|
||||
mkdir(ROOT.'/d_shared');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!is_writable(AppConf::getUserIconPathFS())) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>AppConf::$userIconPath.' 디렉토리의 쓰기 권한이 없습니다'
|
||||
]);
|
||||
}
|
||||
|
||||
if (!is_writable(ROOT.'/d_log')) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'d_log 디렉토리의 쓰기 권한이 없습니다'
|
||||
]);
|
||||
}
|
||||
|
||||
if(!is_writable(ROOT.'/d_setting')){
|
||||
if (!is_writable(ROOT.'/d_shared')) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'d_shared 디렉토리의 쓰기 권한이 없습니다'
|
||||
]);
|
||||
}
|
||||
|
||||
if (!is_writable(ROOT.'/d_setting')) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'d_setting 디렉토리의 쓰기 권한이 없습니다.'
|
||||
]);
|
||||
}
|
||||
|
||||
//기본 파일 생성
|
||||
if(!file_exists(ROOT.'/d_pic')){
|
||||
mkdir(ROOT.'/d_pic');
|
||||
}
|
||||
|
||||
if(!file_exists(ROOT.'/d_log')){
|
||||
mkdir(ROOT.'/d_log');
|
||||
}
|
||||
|
||||
if(!file_exists(ROOT.'/d_log/.htaccess')){
|
||||
if (!file_exists(ROOT.'/d_log/.htaccess')) {
|
||||
@file_put_contents(ROOT.'/d_log/.htaccess', 'Deny from all');
|
||||
}
|
||||
|
||||
if(!file_exists(ROOT.'/d_setting/.htaccess')){
|
||||
if (!file_exists(ROOT.'/d_setting/.htaccess')) {
|
||||
@file_put_contents(ROOT.'/d_setting/.htaccess', 'Deny from all');
|
||||
}
|
||||
|
||||
//DB 접근 권한 검사
|
||||
|
||||
$rootDB = new \MeekroDB($host,$username,$password,$dbName,$port,'utf8mb4');
|
||||
$rootDB = new \MeekroDB($host, $username, $password, $dbName, $port, 'utf8mb4');
|
||||
$rootDB->connect_options[MYSQLI_OPT_INT_AND_FLOAT_NATIVE] = true;
|
||||
|
||||
$rootDB->throw_exception_on_nonsql_error = false;
|
||||
$rootDB->nonsql_error_handler = 'dbConnFail';
|
||||
$rootDB->error_handler = 'dbSQLFail';
|
||||
$rootDB->nonsql_error_handler = function ($params) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'DB 접속에 실패했습니다.'
|
||||
]);
|
||||
};
|
||||
|
||||
$rootDB->error_handler = function ($params) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'SQL을 제대로 실행하지 못했습니다. DB상태를 확인해 주세요.'
|
||||
]);
|
||||
};
|
||||
|
||||
$mysqli_obj = $rootDB->get(); //로그인에 실패할 경우 자동으로 dbConnFail()이 실행됨.
|
||||
|
||||
if($mysqli_obj->multi_query(file_get_contents(__dir__.'/sql/common_schema.sql'))){
|
||||
while(true){
|
||||
if ($mysqli_obj->multi_query(file_get_contents(__dir__.'/sql/common_schema.sql'))) {
|
||||
while (true) {
|
||||
if (!$mysqli_obj->more_results()) {
|
||||
break;
|
||||
}
|
||||
if(!$mysqli_obj->next_result()){
|
||||
if (!$mysqli_obj->next_result()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -143,20 +180,83 @@ $rootDB->insert('system', array(
|
||||
|
||||
$globalSalt = bin2hex(random_bytes(16));
|
||||
|
||||
'@phan-var-force string $servHost';
|
||||
'@phan-var-force string $sharedIconPath';
|
||||
'@phan-var-force string $gameImagePath';
|
||||
|
||||
$sharedIconPath = WebUtil::resolveRelativePath($sharedIconPath, $servHost);
|
||||
$gameImagePath = WebUtil::resolveRelativePath($gameImagePath, $servHost);
|
||||
|
||||
$result = Util::generateFileUsingSimpleTemplate(
|
||||
ROOT.'/d_setting/RootDB.orig.php',
|
||||
ROOT.'/d_setting/RootDB.php',[
|
||||
__dir__.'/templates/ServConfig.orig.php',
|
||||
ROOT.'/d_setting/ServConfig.php',
|
||||
[
|
||||
'serverBasePath'=>$servHost,
|
||||
'sharedIconPath'=>$sharedIconPath,
|
||||
'gameImagePath'=>$gameImagePath
|
||||
],
|
||||
true
|
||||
);
|
||||
|
||||
if ($result !== true) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>$result
|
||||
]);
|
||||
}
|
||||
|
||||
$result = Util::generateFileUsingSimpleTemplate(
|
||||
__dir__.'/templates/common_path.orig.js',
|
||||
ROOT.'/d_shared/common_path.js',
|
||||
[
|
||||
'serverBasePath'=>$servHost,
|
||||
'sharedIconPath'=>$sharedIconPath,
|
||||
'gameImagePath'=>$gameImagePath
|
||||
],
|
||||
true
|
||||
);
|
||||
|
||||
if ($result !== true) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>$result
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
$result = Util::generateFileUsingSimpleTemplate(
|
||||
__dir__.'/templates/common.orig.css',
|
||||
ROOT.'/d_shared/common.css',
|
||||
[
|
||||
'serverBasePath'=>$servHost,
|
||||
'sharedIconPath'=>$sharedIconPath,
|
||||
'gameImagePath'=>$gameImagePath
|
||||
],
|
||||
true
|
||||
);
|
||||
|
||||
if ($result !== true) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>$result
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
$result = Util::generateFileUsingSimpleTemplate(
|
||||
__dir__.'/templates/RootDB.orig.php',
|
||||
ROOT.'/d_setting/RootDB.php',
|
||||
[
|
||||
'host'=>$host,
|
||||
'user'=>$username,
|
||||
'password'=>$password,
|
||||
'dbName'=>$dbName,
|
||||
'port'=>$port,
|
||||
'globalSalt'=>$globalSalt,
|
||||
'serverBasePath'=>$servHost
|
||||
]
|
||||
);
|
||||
|
||||
if($result !== true){
|
||||
if ($result !== true) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>$result
|
||||
@@ -166,4 +266,4 @@ if($result !== true){
|
||||
Json::die([
|
||||
'result'=>true,
|
||||
'reason'=>'success'
|
||||
]);
|
||||
]);
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
DROP TABLE IF EXISTS `system`;
|
||||
DROP TABLE IF EXISTS `member`;
|
||||
DROP TABLE IF EXISTS `member_log`;
|
||||
DROP TABLE IF EXISTS `auth_kakao`;
|
||||
|
||||
-- 시스템 테이블
|
||||
-- TODO:장기적으로는 key-value(json) storage 형태로 바꾸는게 나을 듯.
|
||||
@@ -15,7 +14,7 @@ CREATE TABLE `system` (
|
||||
`MDF_DATE` DATETIME NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`NO`)
|
||||
)
|
||||
ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
||||
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- 회원 테이블
|
||||
CREATE TABLE `member` (
|
||||
@@ -41,7 +40,7 @@ CREATE TABLE `member` (
|
||||
UNIQUE INDEX `kauth_id` (`oauth_id`),
|
||||
INDEX `delete_after` (`delete_after`)
|
||||
)
|
||||
ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
||||
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- 로그인 로그 테이블
|
||||
CREATE TABLE `member_log` (
|
||||
@@ -54,4 +53,4 @@ CREATE TABLE `member_log` (
|
||||
INDEX `action` (`member_no`, `action_type`, `date`),
|
||||
INDEX `member` (`member_no`, `date`)
|
||||
)
|
||||
ENGINE=MyISAM DEFAULT CHARSET=UTF8;
|
||||
ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
|
||||
@@ -0,0 +1 @@
|
||||
Deny from all
|
||||
@@ -1,7 +1,8 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
class RootDB{
|
||||
class RootDB
|
||||
{
|
||||
private static $uDB = null;
|
||||
|
||||
private static $host = '_tK_host_';
|
||||
@@ -13,20 +14,20 @@ class RootDB{
|
||||
|
||||
private static $globalSalt = '_tK_globalSalt_';
|
||||
|
||||
private static $serverWebPath = '_tK_serverBasePath';
|
||||
|
||||
private function __construct(){
|
||||
|
||||
private function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* DB 객체 생성
|
||||
*
|
||||
* @return \MeekroDB
|
||||
*
|
||||
* @return \MeekroDB
|
||||
* @suppress PhanTypeMismatchProperty
|
||||
*/
|
||||
public static function db(){
|
||||
if(self::$uDB === null){
|
||||
self::$uDB = new \MeekroDB(self::$host,self::$user,self::$password,self::$dbName,self::$port,self::$encoding);
|
||||
public static function db()
|
||||
{
|
||||
if (self::$uDB === null) {
|
||||
self::$uDB = new \MeekroDB(self::$host, self::$user, self::$password, self::$dbName, self::$port, self::$encoding);
|
||||
self::$uDB->connect_options[MYSQLI_OPT_INT_AND_FLOAT_NATIVE] = true;
|
||||
}
|
||||
return self::$uDB;
|
||||
@@ -35,20 +36,11 @@ class RootDB{
|
||||
/**
|
||||
* 비밀번호 해시용 전역 SALT 반환
|
||||
* 비밀번호는 sha512(usersalt|sha512(globalsalt|password|globalsalt)|usersalt); 순임
|
||||
*
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function getGlobalSalt(){
|
||||
public static function getGlobalSalt()
|
||||
{
|
||||
return self::$globalSalt;
|
||||
}
|
||||
|
||||
/**
|
||||
* 서버 주소 반환. 서버의 경로가 하부 디렉토리인 경우에 하부 디렉토리까지 포함
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function getServerBasepath(){
|
||||
//FIXME: 더 좋은 위치가 있을 것.
|
||||
return self::$globalSalt;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
class ServConfig
|
||||
{
|
||||
private function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
public static $serverWebPath = '_tK_serverBasePath_';
|
||||
public static $sharedIconPath = '_tK_sharedIconPath_';
|
||||
public static $gameImagePath = "_tK_gameImagePath_";
|
||||
|
||||
public static function getSharedIconPath() : string
|
||||
{
|
||||
return static::$sharedIconPath;
|
||||
}
|
||||
|
||||
public static function getUserIconPath() : string
|
||||
{
|
||||
return AppConf::getUserIconPathWeb();
|
||||
}
|
||||
|
||||
public static function getGameImagePath() : string
|
||||
{
|
||||
return static::$gameImagePath;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 서버 주소 반환. 서버의 경로가 하부 디렉토리인 경우에 하부 디렉토리까지 포함
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function getServerBasepath() : string
|
||||
{
|
||||
return self::$serverWebPath;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
@charset "utf-8";
|
||||
|
||||
.bg0 { background-image:url('_tK_gameImagePath_/back_walnut.jpg'); }
|
||||
.bg1 { background-image:url('_tK_gameImagePath_/back_green.jpg'); }
|
||||
.bg2 { background-image:url('_tK_gameImagePath_/back_blue.jpg'); }
|
||||
|
||||
.img_back {background-image:url('_tK_gameImagePath_/back.jpg'); }
|
||||
|
||||
/* 레거시. */
|
||||
#bg0 { background-image:url('_tK_gameImagePath_/back_walnut.jpg'); }
|
||||
#bg1 { background-image:url('_tK_gameImagePath_/back_green.jpg'); }
|
||||
#bg2 { background-image:url('_tK_gameImagePath_/back_blue.jpg'); }
|
||||
|
||||
.map_detail .map_title{
|
||||
background:
|
||||
url('_tK_gameImagePath_/ltitle.jpg') no-repeat left,
|
||||
url('_tK_gameImagePath_/rtitle.jpg') no-repeat right;
|
||||
}
|
||||
|
||||
.map_detail.map_spring .map_title_text{
|
||||
background:
|
||||
url('_tK_gameImagePath_/ad.gif') no-repeat left,
|
||||
url('_tK_gameImagePath_/spring.gif') no-repeat right;
|
||||
}
|
||||
|
||||
.map_detail.map_summer .map_title_text{
|
||||
background:
|
||||
url('_tK_gameImagePath_/ad.gif') no-repeat left,
|
||||
url('_tK_gameImagePath_/summer.gif') no-repeat right;
|
||||
}
|
||||
|
||||
.map_detail.map_fall .map_title_text{
|
||||
background:
|
||||
url('_tK_gameImagePath_/ad.gif') no-repeat left,
|
||||
url('_tK_gameImagePath_/fall.gif') no-repeat right;
|
||||
}
|
||||
|
||||
.map_detail.map_winter .map_title_text{
|
||||
background:
|
||||
url('_tK_gameImagePath_/ad.gif') no-repeat left,
|
||||
url('_tK_gameImagePath_/winter.gif') no-repeat right;
|
||||
}
|
||||
|
||||
.map_spring .map_body{
|
||||
background: url('_tK_gameImagePath_/map1.jpg') no-repeat;
|
||||
}
|
||||
|
||||
.map_summer .map_body{
|
||||
background: url('_tK_gameImagePath_/map2.jpg') no-repeat;
|
||||
}
|
||||
|
||||
.map_fall .map_body{
|
||||
background: url('_tK_gameImagePath_/map3.jpg') no-repeat;
|
||||
}
|
||||
|
||||
.map_winter .map_body{
|
||||
background: url('_tK_gameImagePath_/map4.jpg') no-repeat;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
window.pathConfig = {
|
||||
root:"_tK_serverBasePath_",
|
||||
sharedIcon:"_tK_sharedIconPath_",
|
||||
gameImage:"_tK_gameImagePath_"
|
||||
};
|
||||
+13
-25
@@ -1,42 +1,30 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
|
||||
function MYDB_connect($host, $id, $pw) {
|
||||
$conn = mysqli_connect($host, $id, $pw);
|
||||
mysqli_query($conn, 'set names utf8mb4');
|
||||
return $conn;
|
||||
}
|
||||
|
||||
function MYDB_select_db($db, $connect) {
|
||||
return mysqli_select_db($connect, $db);
|
||||
}
|
||||
|
||||
function MYDB_query($query, $connect) {
|
||||
function MYDB_query($query, $connect)
|
||||
{
|
||||
return mysqli_query($connect, $query);
|
||||
}
|
||||
|
||||
function MYDB_num_rows($result) {
|
||||
function MYDB_num_rows(\mysqli_result $result) : int
|
||||
{
|
||||
return mysqli_num_rows($result);
|
||||
}
|
||||
|
||||
function MYDB_fetch_array($result) {
|
||||
/**
|
||||
* @return mixed[]
|
||||
*/
|
||||
function MYDB_fetch_array(\mysqli_result $result)
|
||||
{
|
||||
return mysqli_fetch_array($result);
|
||||
}
|
||||
|
||||
function MYDB_fetch_row($result) {
|
||||
function MYDB_fetch_row(\mysqli_result $result)
|
||||
{
|
||||
return mysqli_fetch_row($result);
|
||||
}
|
||||
|
||||
function MYDB_list_tables($db, $connect) {
|
||||
return mysqli_query($connect, "show tables");
|
||||
}
|
||||
|
||||
function MYDB_error($connect) {
|
||||
function MYDB_error($connect)
|
||||
{
|
||||
return mysqli_error($connect);
|
||||
}
|
||||
|
||||
function MYDB_close($connect) {
|
||||
return mysqli_close($connect);
|
||||
}
|
||||
|
||||
|
||||
+16
-14
@@ -4,28 +4,29 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
$connect=dbConn();
|
||||
|
||||
if(Session::getUserGrade() < 5) {
|
||||
echo "<!DOCTYPE html>
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
if($session->userGrade < 5) {
|
||||
?><!DOCTYPE html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>관리메뉴</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
관리자가 아닙니다.<br>
|
||||
";
|
||||
echo banner();
|
||||
echo "
|
||||
<?=banner()?>
|
||||
</body>
|
||||
</html>";
|
||||
|
||||
</html>
|
||||
<?php
|
||||
exit();
|
||||
}
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select turntime,tnmt_time from game";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
@@ -39,14 +40,15 @@ $plock = MYDB_fetch_array($result);
|
||||
<head>
|
||||
<title>삼국지 모의전투 PHP (유기체서버)</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
<form action=_119_b.php method=post>
|
||||
시간조정 : <input type=text size=3 name=minute><input type=submit name=btn value='분당김'><input type=submit name=btn value='분지연'> 최종갱신 : <?=$admin['turntime'];?><br>
|
||||
시간조정 : <input type=text size=3 name=minute2><input type=submit name=btn value='토너분당김'><input type=submit name=btn value='토너분지연'> 토너먼트 : <?=$admin['tnmt_time'];?><br>
|
||||
시간조정 : <input type=text size=3 name=minute><input type=submit name=btn value='분당김'><input type=submit name=btn value='분지연'> 최종갱신 : <?=$admin['turntime']?><br>
|
||||
시간조정 : <input type=text size=3 name=minute2><input type=submit name=btn value='토너분당김'><input type=submit name=btn value='토너분지연'> 토너먼트 : <?=$admin['tnmt_time']?><br>
|
||||
봉급지급 : <input type=submit name=btn value='금지급'><input type=submit name=btn value='쌀지급'><br>
|
||||
락 풀 기 : <input type=submit name=btn value='락걸기'><input type=submit name=btn value='락풀기'> 현재 : <?=$plock['plock']>0?"동결중":"가동중";?><br>
|
||||
락 풀 기 : <input type=submit name=btn value='락걸기'><input type=submit name=btn value='락풀기'> 현재 : <?=$plock['plock']>0?"동결중":"가동중"?><br>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+21
-5
@@ -4,13 +4,28 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
$connect=dbConn();
|
||||
|
||||
if(Session::getUserGrade() < 5){
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
if($session->userGrade < 5){
|
||||
//echo "<script>location.replace('_119.php');</script>";
|
||||
echo '_119.php';//TODO:debug all and replace
|
||||
}
|
||||
|
||||
$v = new Validator($_POST);
|
||||
$v->rule('integer', [
|
||||
'minute',
|
||||
'minutes2'
|
||||
]);
|
||||
if(!$v->validate()){
|
||||
Error($v->errorStr());
|
||||
}
|
||||
|
||||
$minute = Util::getReq('minute', 'int');
|
||||
$minute2 = Util::getReq('minute2', 'int');
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
switch($btn) {
|
||||
case "분당김":
|
||||
$query = "update game set turntime=DATE_SUB(turntime, INTERVAL $minute MINUTE),starttime=DATE_SUB(starttime, INTERVAL $minute MINUTE),tnmt_time=DATE_SUB(tnmt_time, INTERVAL $minute MINUTE)";
|
||||
@@ -37,10 +52,10 @@ case "토너분지연":
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case "금지급":
|
||||
processGoldIncome($connect);
|
||||
processGoldIncome();
|
||||
break;
|
||||
case "쌀지급":
|
||||
processRiceIncome($connect);
|
||||
processRiceIncome();
|
||||
break;
|
||||
case "락걸기":
|
||||
$query = "update plock set plock=1";
|
||||
@@ -53,4 +68,5 @@ case "락풀기":
|
||||
}
|
||||
|
||||
//echo "<script>location.replace('_119.php');</script>";
|
||||
echo '_119.php';//TODO:debug all and replace
|
||||
//echo '_119.php';//TODO:debug all and replace
|
||||
header('Location:_119.php');
|
||||
+19
-18
@@ -4,16 +4,16 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
|
||||
if(Session::getUserGrade() < 5) {
|
||||
if($session->userGrade < 5) {
|
||||
echo "<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>관리메뉴</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
관리자가 아닙니다.<br>
|
||||
@@ -26,14 +26,18 @@ if(Session::getUserGrade() < 5) {
|
||||
exit();
|
||||
}
|
||||
|
||||
$admin = getAdmin($connect);
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$admin = getAdmin();
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>게임관리</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
@@ -42,35 +46,32 @@ $admin = getAdmin($connect);
|
||||
<form name=form1 method=post action=_admin1_submit.php>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr><td width=110 align=right>운영자메세지</td>
|
||||
<td colspan=3><input type=textarea size=90 style=color:white;background-color:black; name=msg value='<?=$admin['msg'];?>'><input type=submit name=btn value=변경></td></td>
|
||||
<td colspan=3><input type=textarea size=90 style=color:white;background-color:black; name=msg value='<?=$admin['msg']?>'><input type=submit name=btn value=변경></td></td>
|
||||
</tr>
|
||||
<tr><td width=110 align=right>중원정세추가</td>
|
||||
<td colspan=3><input type=textarea size=90 maxlength=80 style=color:white;background-color:black; name=log><input type=submit name=btn value=로그쓰기></td></td>
|
||||
</tr>
|
||||
<tr><td width=110 align=right>쿼리 요청</td>
|
||||
<td colspan=3><input type=textarea size=90 maxlength=150 style=color:white;background-color:black; name=q><input type=submit name=btn value=요청></td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=110 align=right>시작시간변경</td>
|
||||
<td width=285><input type=text size=20 maxlength=20 style=color:white;background-color:black;text-align:right; name=starttime value='<?=$admin['starttime'];?>'><input type=submit name=btn value=변경1></td>
|
||||
<td width=285><input type=text size=20 maxlength=20 style=color:white;background-color:black;text-align:right; name=starttime value='<?=$admin['starttime']?>'><input type=submit name=btn value=변경1></td>
|
||||
<td width=110 align=right>현재도시훈사</td>
|
||||
<td width=285><?=$admin['city_rate'];?></td>
|
||||
<td width=285><?=$admin['city_rate']?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=110 align=right>최대 장수</td>
|
||||
<td width=285><input type=text size=3 maxlength=3 style=color:white;background-color:black;text-align:right; name=maxgeneral value=<?=$admin['maxgeneral'];?>><input type=submit name=btn value=변경2></td>
|
||||
<td width=285><input type=text size=3 maxlength=3 style=color:white;background-color:black;text-align:right; name=maxgeneral value=<?=$admin['maxgeneral']?>><input type=submit name=btn value=변경2></td>
|
||||
<td width=110 align=right>최대 국가</td>
|
||||
<td width=285><input type=text size=3 maxlength=2 style=color:white;background-color:black;text-align:right; name=maxnation value=<?=$admin['maxnation'];?>><input type=submit name=btn value=변경3></td>
|
||||
<td width=285><input type=text size=3 maxlength=2 style=color:white;background-color:black;text-align:right; name=maxnation value=<?=$admin['maxnation']?>><input type=submit name=btn value=변경3></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=110 align=right>기준 장수수</td>
|
||||
<td width=285><input type=text size=3 maxlength=3 style=color:white;background-color:black;text-align:right; name=gen_rate value=<?=$admin['normgeneral'];?>><input type=submit name=btn value=변경5></td>
|
||||
<td width=110 align=right></td>
|
||||
<td width=285></td>
|
||||
<td width=110 align=right>현재 수입률</td>
|
||||
<td width=285><?=$admin['gold_rate'];?>%</td>
|
||||
<td width=285><?=$admin['gold_rate']?>%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=110 align=right>시작 년도</td>
|
||||
<td width=285><input type=text size=3 maxlength=3 style=color:white;background-color:black;text-align:right; name=startyear value='<?=$admin['startyear'];?>'><input type=submit name=btn value=변경4></td>
|
||||
<td width=285><input type=text size=3 maxlength=3 style=color:white;background-color:black;text-align:right; name=startyear value='<?=$admin['startyear']?>'><input type=submit name=btn value=변경4></td>
|
||||
<td width=110 align=right>최근 갱신 시간</td>
|
||||
<td width=285> <?=$admin['turntime']?></td>
|
||||
</tr>
|
||||
|
||||
+48
-37
@@ -4,51 +4,63 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
|
||||
$admin = getAdmin($connect);
|
||||
|
||||
if(Session::getUserGrade() < 5) {
|
||||
if ($session->userGrade < 5) {
|
||||
//echo "<script>location.replace('_admin1.php');</script>";
|
||||
echo '_admin1.php';//TODO:debug all and replace
|
||||
}
|
||||
|
||||
switch($btn) {
|
||||
$v = new Validator($_POST);
|
||||
$v->rule('integer', [
|
||||
'maxgeneral',
|
||||
'minutes2'
|
||||
])->rule('dateFormat', [
|
||||
'starttime'
|
||||
]);
|
||||
if (!$v->validate()) {
|
||||
Error($v->errorStr());
|
||||
}
|
||||
|
||||
$log = Util::getReq('log');
|
||||
$starttime = Util::getReq('starttime', 'string', (new \DateTime())->format('Y-m-d H:i:s'));
|
||||
$maxgeneral = Util::getReq('maxgeneral', 'int', GameConst::$defaultMaxGeneral);
|
||||
$maxnation = Util::getReq('maxnation', 'int', GameConst::$defaultMaxNation);
|
||||
$startyear = Util::getReq('startyear', 'int', GameConst::$defaultStartYear);
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$admin = getAdmin();
|
||||
|
||||
switch ($btn) {
|
||||
case "변경":
|
||||
$msg = addslashes(SQ2DQ($msg));
|
||||
$query = "update game set msg='$msg'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case "요청":
|
||||
$query = $q;
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
break;
|
||||
case "로그쓰기":
|
||||
$lognum = $admin['historyindex'] + 1;
|
||||
if($lognum >= 29) { $lognum = 0; }
|
||||
$history[0] = "<R>★</><S>{$log}</>";
|
||||
pushHistory($history);
|
||||
if ($lognum >= 29) {
|
||||
$lognum = 0;
|
||||
}
|
||||
pushWorldHistory(["<R>★</><S>{$log}</>"]);
|
||||
break;
|
||||
case "변경1":
|
||||
$query = "update game set starttime='$starttime'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
break;
|
||||
case "변경2":
|
||||
$query = "update game set maxgeneral='$maxgeneral'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
break;
|
||||
case "변경3":
|
||||
$query = "update game set maxnation='$maxnation'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
break;
|
||||
case "변경4":
|
||||
$query = "update game set startyear='$startyear'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case "변경5":
|
||||
$query = "update game set normgeneral='$gen_rate'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
break;
|
||||
case "1분턴":
|
||||
case "2분턴":
|
||||
@@ -58,7 +70,7 @@ switch($btn) {
|
||||
case "30분턴":
|
||||
case "60분턴":
|
||||
case "120분턴":
|
||||
switch($btn) {
|
||||
switch ($btn) {
|
||||
case "1분턴": $turnterm = 1; break;
|
||||
case "2분턴": $turnterm = 2; break;
|
||||
case "5분턴": $turnterm = 5; break;
|
||||
@@ -73,38 +85,37 @@ switch($btn) {
|
||||
$starttime = date("Y-m-d H:i:s", strtotime($admin['turntime']) - $turn * $unit);
|
||||
$starttime = cutTurn($starttime, $turnterm);
|
||||
$query = "update game set turnterm='$turnterm',starttime='$starttime'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
// 턴시간이 길어지는 경우 랜덤턴 배정
|
||||
if($turnterm < $admin['turnterm']) {
|
||||
if ($turnterm < $admin['turnterm']) {
|
||||
$query = "select no from general";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$count = MYDB_num_rows($result);
|
||||
for($i=0; $i < $count; $i++) {
|
||||
for ($i=0; $i < $count; $i++) {
|
||||
$gen = MYDB_fetch_array($result);
|
||||
$turntime = getRandTurn($turnterm);
|
||||
$query = "update general set turntime='$turntime' where no='{$gen['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
}
|
||||
// 턴시간이 너무 멀리 떨어진 선수 제대로 보정
|
||||
// 턴시간이 너무 멀리 떨어진 선수 제대로 보정
|
||||
} else {
|
||||
$query = "select no,turntime from general";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$count = MYDB_num_rows($result);
|
||||
for($i=0; $i < $count; $i++) {
|
||||
for ($i=0; $i < $count; $i++) {
|
||||
$gen = MYDB_fetch_array($result);
|
||||
$num = floor((strtotime($gen['turntime']) - strtotime($admin['turntime'])) / $unit);
|
||||
if($num > 0) {
|
||||
$num = intdiv((strtotime($gen['turntime']) - strtotime($admin['turntime'])), $unit);
|
||||
if ($num > 0) {
|
||||
$gen['turntime'] = date("Y-m-d H:i:s", strtotime($gen['turntime']) - $unit * $num);
|
||||
$query = "update general set turntime='{$gen['turntime']}' where no='{$gen['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
}
|
||||
}
|
||||
}
|
||||
$history[] = "<R>★</>턴시간이 <C>$btn</>으로 변경됩니다.";
|
||||
pushHistory($history);
|
||||
|
||||
pushWorldHistory(["<R>★</>턴시간이 <C>$btn</>으로 변경됩니다."]);
|
||||
break;
|
||||
}
|
||||
|
||||
//echo "<script>location.replace('_admin1.php');</script>";
|
||||
echo '_admin1.php';//TODO:debug all and replace
|
||||
|
||||
|
||||
+10
-14
@@ -4,16 +4,16 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
|
||||
if(Session::getUserGrade() < 5) {
|
||||
if($session->userGrade < 5) {
|
||||
echo "<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>관리메뉴</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
관리자가 아닙니다.<br>
|
||||
@@ -26,7 +26,10 @@ if(Session::getUserGrade() < 5) {
|
||||
exit();
|
||||
}
|
||||
|
||||
$query = "select conlimit,conweight from game limit 1";
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select conlimit from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
?>
|
||||
@@ -35,7 +38,8 @@ $admin = MYDB_fetch_array($result);
|
||||
<head>
|
||||
<title>회원관리</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
@@ -47,13 +51,6 @@ $admin = MYDB_fetch_array($result);
|
||||
<td width=80 align=center>접속제한</td>
|
||||
<td width=713 align=center><input type=submit name=btn value='전체 접속허용'><input type=submit name=btn value='전체 접속제한'></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=80 align=center>제한등급</td>
|
||||
<td width=713 align=center>
|
||||
<input type=text size=3 maxlength=3 name=conweight value=<?=$admin['conweight'];?> style=color:white;background-color:black;font-size:13px;>
|
||||
<input type=submit name=btn value='접속가중치'>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr>
|
||||
@@ -74,7 +71,6 @@ for($i=0; $i < $gencount; $i++) {
|
||||
if($general['block'] > 0) { $style .= "background-color:red;"; }
|
||||
if($general['npc'] >= 2) { $style .= "color:cyan;"; }
|
||||
elseif($general['npc'] == 1) { $style .= "color:skyblue;"; }
|
||||
if($general['con'] > $admin['conlimit']) { $style .= "color:red;"; }
|
||||
|
||||
echo "
|
||||
<option value={$general['no']} $style>{$general['name']}</option>";
|
||||
|
||||
+41
-40
@@ -3,6 +3,10 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
|
||||
$weap = Util::getReq('weap', 'int');
|
||||
|
||||
//로그인 검사
|
||||
$session = Session::requireLogin()->loginGame();
|
||||
|
||||
@@ -15,7 +19,8 @@ if(!$generalID){
|
||||
header('location:_admin2.php');
|
||||
}
|
||||
|
||||
$connect = dbConn();
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
switch($btn) {
|
||||
case "전체 접속허용":
|
||||
@@ -26,10 +31,6 @@ switch($btn) {
|
||||
$query = "update general set con=1000";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case "접속가중치":
|
||||
$query = "update game set conweight='$conweight'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case "블럭 해제":
|
||||
DB::db()->query('update general set block=0 where no IN %li', $genlist);
|
||||
break;
|
||||
@@ -65,111 +66,111 @@ switch($btn) {
|
||||
case "특기 부여":
|
||||
$admin = DB::db()->queryFirstRow('select `year`, `month` from `game` where `no`=1');
|
||||
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
||||
$msg = "특기 부여!";
|
||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
||||
}
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$query = "select no,leader,power,intel from general where no='$genlist[$i]'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
|
||||
$special2 = getSpecial2($connect, $general['leader'], $general['power'], $general['intel']);
|
||||
$special2 = getSpecial2($general['leader'], $general['power'], $general['intel']);
|
||||
|
||||
$query = "update general set specage2=age,special2='$special2' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log[0] = "<C>●</>특기 【<b><L>".getGenSpecial($special2)."</></b>】(을)를 익혔습니다!";
|
||||
addHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:특기 【<b><C>".getGenSpecial($special2)."</></b>】(을)를 습득");
|
||||
pushGeneralHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:특기 【<b><C>".getGenSpecial($special2)."</></b>】(을)를 습득");
|
||||
pushGenLog($general, $log);
|
||||
}
|
||||
break;
|
||||
case "경험치1000":
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
||||
$msg = $btn." 지급!";
|
||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
||||
}
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$query = "update general set experience=experience+1000 where no='$genlist[$i]'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
break;
|
||||
case "공헌치1000":
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
||||
$msg = $btn." 지급!";
|
||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
||||
}
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$query = "update general set dedication=dedication+1000 where no='$genlist[$i]'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
break;
|
||||
case "보숙10000":
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
||||
$msg = "보병숙련도+10000 지급!";
|
||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
||||
}
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$query = "update general set dex0=dex0+10000 where no='$genlist[$i]'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
break;
|
||||
case "궁숙10000":
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
||||
$msg = "궁병숙련도+10000 지급!";
|
||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
||||
}
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$query = "update general set dex10=dex10+10000 where no='$genlist[$i]'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
break;
|
||||
case "기숙10000":
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
||||
$msg = "기병숙련도+10000 지급!";
|
||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
||||
}
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$query = "update general set dex20=dex20+10000 where no='$genlist[$i]'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
break;
|
||||
case "귀숙10000":
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
||||
$msg = "귀병숙련도+10000 지급!";
|
||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
||||
}
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$query = "update general set dex30=dex30+10000 where no='$genlist[$i]'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
break;
|
||||
case "차숙10000":
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
||||
$msg = "차병숙련도+10000 지급!";
|
||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
||||
}
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$query = "update general set dex40=dex40+10000 where no='$genlist[$i]'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
break;
|
||||
case "접속 허용":
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$query = "update general set con=0 where no='$genlist[$i]'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
break;
|
||||
case "접속 제한":
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$query = "update general set con=1000 where no='$genlist[$i]'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
@@ -177,20 +178,20 @@ switch($btn) {
|
||||
case "메세지 전달":
|
||||
//TODO:새 갠메 시스템으로 변경
|
||||
$date = date('Y-m-d H:i:s');
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
||||
}
|
||||
break;
|
||||
case "무기지급":
|
||||
$date = date('Y-m-d H:i:s');
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
||||
if($weap == 0) { $msg = "무기 회수!"; }
|
||||
else { $msg = getWeapName($weap)." 지급!"; }
|
||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
||||
}
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
if($weap == 0) {
|
||||
$query = "update general set weap='0' where no='$genlist[$i]'";
|
||||
} else {
|
||||
@@ -201,14 +202,14 @@ switch($btn) {
|
||||
break;
|
||||
case "책지급":
|
||||
$date = date('Y-m-d H:i:s');
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
||||
if($weap == 0) { $msg = "서적 회수!"; }
|
||||
else { $msg = getBookName($weap)." 지급!"; }
|
||||
// 상대에게 발송
|
||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
||||
}
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
if($weap == 0) {
|
||||
$query = "update general set book='0' where no='$genlist[$i]'";
|
||||
} else {
|
||||
@@ -219,14 +220,14 @@ switch($btn) {
|
||||
break;
|
||||
case "말지급":
|
||||
$date = date('Y-m-d H:i:s');
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
||||
if($weap == 0) { $msg = "말 회수!"; }
|
||||
else { $msg = getHorseName($weap)." 지급!"; }
|
||||
// 상대에게 발송
|
||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
||||
}
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
if($weap == 0) {
|
||||
$query = "update general set horse='0' where no='$genlist[$i]'";
|
||||
} else {
|
||||
@@ -237,14 +238,14 @@ switch($btn) {
|
||||
break;
|
||||
case "도구지급":
|
||||
$date = date('Y-m-d H:i:s');
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
||||
if($weap == 0) { $msg = "특수도구 회수!"; }
|
||||
else { $msg = getItemName($weap)." 지급!"; }
|
||||
// 상대에게 발송
|
||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
||||
}
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
if($weap == 0) {
|
||||
$query = "update general set item='0' where no='$genlist[$i]'";
|
||||
} else {
|
||||
@@ -254,25 +255,25 @@ switch($btn) {
|
||||
}
|
||||
break;
|
||||
case "NPC해제":
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$query = "update general set npc=1 where no='$genlist[$i]'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
break;
|
||||
case "하야입력":
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$query = "update general set turn0='00000000000045' where no='$genlist[$i]'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
break;
|
||||
case "방랑해산":
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$query = "update general set turn0='00000000000047',turn1='00000000000056' where no='$genlist[$i]'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
break;
|
||||
case "NPC설정":
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$query = "update general set npc=2 where no='$genlist[$i]'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
@@ -282,7 +283,7 @@ switch($btn) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$turntime = getRandTurn($admin['turnterm']);
|
||||
$cutTurn = cutTurn($turntime, $admin['turnterm']);
|
||||
$query = "update general set turntime='$cutTurn' where no='$genlist[$i]'";
|
||||
@@ -294,7 +295,7 @@ switch($btn) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
$turntime = getRandTurn($admin['turnterm']);
|
||||
$query = "update general set turntime='$turntime' where no='$genlist[$i]'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
+11
-12
@@ -4,16 +4,16 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
|
||||
if(Session::getUserGrade() < 5) {
|
||||
if($session->userGrade < 5) {
|
||||
echo "<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>관리메뉴</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
관리자가 아닙니다.<br>
|
||||
@@ -26,6 +26,9 @@ if(Session::getUserGrade() < 5) {
|
||||
exit();
|
||||
}
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select conlimit from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
@@ -35,7 +38,8 @@ $admin = MYDB_fetch_array($result);
|
||||
<head>
|
||||
<title>멀티관리</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
@@ -92,7 +96,6 @@ echo "
|
||||
<td align=center width=180>최근로그인</td>
|
||||
<td align=center width=129>IP</td>
|
||||
<td align=center width=100>ID</td>
|
||||
<td align=center width=278>-</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<?php
|
||||
@@ -103,11 +106,10 @@ $genName = "";
|
||||
$genDate = "";
|
||||
$genIP = "";
|
||||
$genID = "";
|
||||
$conMsg = "";
|
||||
for($i=0; $i < $ipCount; $i++) {
|
||||
$ip = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select name,ip,lastconnect,owner,block,conmsg from general where ip like '{$ip['ip2']}%' and npc<2 order by ip";
|
||||
$query = "select name,ip,lastconnect,owner,block from general where ip like '{$ip['ip2']}%' and npc<2 order by ip";
|
||||
$genResult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$genCount = MYDB_num_rows($genResult);
|
||||
for($k=0; $k < $genCount; $k++) {
|
||||
@@ -117,20 +119,17 @@ for($i=0; $i < $ipCount; $i++) {
|
||||
$genDate .= $gen['lastconnect']."<br>";
|
||||
$genIP .= $gen['ip']."<br>";
|
||||
$genID .= $gen['owner']."<br>";
|
||||
$conMsg .= $gen['conmsg']."<br>";
|
||||
}
|
||||
$genName .= "<br>";
|
||||
$genDate .= "<br>";
|
||||
$genIP .= "<br>";
|
||||
$genID .= "<br>";
|
||||
$conMsg .= "<br>";
|
||||
}
|
||||
echo "
|
||||
<td align=right>$genName</td>
|
||||
<td>$genDate</td>
|
||||
<td>$genIP</td>
|
||||
<td>$genID</td>
|
||||
<td>$conMsg</td>";
|
||||
<td>$genID</td>";
|
||||
?>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -4,14 +4,16 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
|
||||
if(Session::getUserGrade() < 5) {
|
||||
if($session->userGrade < 5) {
|
||||
//echo "<script>location.replace('_admin4.php');</script>";
|
||||
echo '_admin4.php';//TODO:debug all and replace
|
||||
}
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
//NOTE: 왜 기능이 admin2와 admin4가 같이 있는가?
|
||||
//NOTE: 왜 블럭 시 admin4에선 금쌀을 없애지 않는가?
|
||||
switch($btn) {
|
||||
@@ -50,8 +52,7 @@ switch($btn) {
|
||||
case "메세지 전달":
|
||||
//TODO:새 갠메 시스템으로 변경
|
||||
$date = date('Y-m-d H:i:s');
|
||||
$msg;
|
||||
for($i=0; $i < sizeof($genlist); $i++) {
|
||||
for($i=0; $i < count($genlist); $i++) {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
+42
-32
@@ -3,17 +3,21 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
|
||||
if(Session::getUserGrade() < 5) {
|
||||
$type = Util::getReq('type', 'int', 0);
|
||||
$type2 = Util::getReq('type2', 'int', 0);
|
||||
|
||||
//로그인 검사
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
|
||||
if($session->userGrade < 5) {
|
||||
echo "<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>관리메뉴</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
관리자가 아닙니다.<br>
|
||||
@@ -26,12 +30,17 @@ if(Session::getUserGrade() < 5) {
|
||||
exit();
|
||||
}
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
if($type == 0) {
|
||||
$type = 0;
|
||||
}
|
||||
if($type2 == 0) {
|
||||
$type2 = 0;
|
||||
}
|
||||
$sel = [];
|
||||
$sel2 = [];
|
||||
$sel[$type] = "selected";
|
||||
$sel2[$type2] = "selected";
|
||||
|
||||
@@ -44,7 +53,8 @@ $admin = MYDB_fetch_array($result);
|
||||
<head>
|
||||
<title>일제정보</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
@@ -52,33 +62,33 @@ $admin = MYDB_fetch_array($result);
|
||||
<tr><td>
|
||||
<form name=form1 method=post>정렬순서 :
|
||||
<select name=type size=1>
|
||||
<option <?=$sel[0];?> value=0>국력</option>
|
||||
<option <?=$sel[1];?> value=1>장수</option>
|
||||
<option <?=$sel[2];?> value=2>기술</option>
|
||||
<option <?=$sel[3];?> value=3>국고</option>
|
||||
<option <?=$sel[4];?> value=4>병량</option>
|
||||
<option <?=$sel[5];?> value=5>평금</option>
|
||||
<option <?=$sel[6];?> value=6>평쌀</option>
|
||||
<option <?=$sel[7];?> value=7>평통</option>
|
||||
<option <?=$sel[8];?> value=8>평무</option>
|
||||
<option <?=$sel[9];?> value=9>평지</option>
|
||||
<option <?=$sel[10];?> value=10>평Lv</option>
|
||||
<option <?=$sel[11];?> value=11>접속률</option>
|
||||
<option <?=$sel[12];?> value=12>단기접</option>
|
||||
<option <?=$sel[13];?> value=13>보숙</option>
|
||||
<option <?=$sel[14];?> value=14>궁숙</option>
|
||||
<option <?=$sel[15];?> value=15>기숙</option>
|
||||
<option <?=$sel[16];?> value=16>귀숙</option>
|
||||
<option <?=$sel[17];?> value=17>차숙</option>
|
||||
<option <?=$sel[0]??''?> value=0>국력</option>
|
||||
<option <?=$sel[1]??''?> value=1>장수</option>
|
||||
<option <?=$sel[2]??''?> value=2>기술</option>
|
||||
<option <?=$sel[3]??''?> value=3>국고</option>
|
||||
<option <?=$sel[4]??''?> value=4>병량</option>
|
||||
<option <?=$sel[5]??''?> value=5>평금</option>
|
||||
<option <?=$sel[6]??''?> value=6>평쌀</option>
|
||||
<option <?=$sel[7]??''?> value=7>평통</option>
|
||||
<option <?=$sel[8]??''?> value=8>평무</option>
|
||||
<option <?=$sel[9]??''?> value=9>평지</option>
|
||||
<option <?=$sel[10]??''?> value=10>평Lv</option>
|
||||
<option <?=$sel[11]??''?> value=11>접속률</option>
|
||||
<option <?=$sel[12]??''?> value=12>단기접</option>
|
||||
<option <?=$sel[13]??''?> value=13>보숙</option>
|
||||
<option <?=$sel[14]??''?> value=14>궁숙</option>
|
||||
<option <?=$sel[15]??''?> value=15>기숙</option>
|
||||
<option <?=$sel[16]??''?> value=16>귀숙</option>
|
||||
<option <?=$sel[17]??''?> value=17>차숙</option>
|
||||
</select>
|
||||
<select name=type2 size=1>
|
||||
<option <?=$sel2[0];?> value=0>국력</option>
|
||||
<option <?=$sel2[1];?> value=1>국가별성향</option>
|
||||
<option <?=$sel2[2];?> value=2>국가성향</option>
|
||||
<option <?=$sel2[3];?> value=3>장수성격</option>
|
||||
<option <?=$sel2[4];?> value=4>장수특기</option>
|
||||
<option <?=$sel2[5];?> value=5>병종수</option>
|
||||
<option <?=$sel2[6];?> value=6>기타</option>
|
||||
<option <?=$sel2[0]??''?> value=0>국력</option>
|
||||
<option <?=$sel2[1]??''?> value=1>국가별성향</option>
|
||||
<option <?=$sel2[2]??''?> value=2>국가성향</option>
|
||||
<option <?=$sel2[3]??''?> value=3>장수성격</option>
|
||||
<option <?=$sel2[4]??''?> value=4>장수특기</option>
|
||||
<option <?=$sel2[5]??''?> value=5>병종수</option>
|
||||
<option <?=$sel2[6]??''?> value=6>기타</option>
|
||||
</select>
|
||||
<input type=submit value='정렬하기'>
|
||||
</form>
|
||||
@@ -250,7 +260,7 @@ for($i=0; $i < $nationCount; $i++) {
|
||||
?>
|
||||
</table>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr><td><?php TrickLog(20); ?></td></tr>
|
||||
<tr><td><?=getTrickLogRecent(20)?></td></tr>
|
||||
</table>
|
||||
|
||||
<table align=center width=1760 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px; id=bg0>
|
||||
|
||||
+18
-8
@@ -3,23 +3,33 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
|
||||
if(Session::getUserGrade() < 5) {
|
||||
$nation = Util::getReq('nation', 'int');
|
||||
|
||||
//로그인 검사
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
if($session->userGrade < 5) {
|
||||
//echo "<script>location.replace('_admin5.php');</script>";
|
||||
echo '_admin5.php';//TODO:debug all and replace
|
||||
}
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
switch($btn) {
|
||||
case "국가변경":
|
||||
if($nation == 0) {
|
||||
$query = "update general set nation=0,level=0 where owner='{$_SESSION['userID']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$db->update('general', [
|
||||
'nation'=>0,
|
||||
'level'=>0,
|
||||
], 'owner=%i', $userID);
|
||||
} else {
|
||||
$query = "update general set nation='{$nation}',level=1 where owner='{$_SESSION['userID']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$db->update('general', [
|
||||
'nation'=>$nation,
|
||||
'level'=>1,
|
||||
], 'owner=%i', $userID);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
+14
-10
@@ -4,16 +4,16 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
|
||||
if(Session::getUserGrade() < 5) {
|
||||
if($session->userGrade < 5) {
|
||||
echo "<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>관리메뉴</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
관리자가 아닙니다.<br>
|
||||
@@ -26,6 +26,9 @@ if(Session::getUserGrade() < 5) {
|
||||
exit();
|
||||
}
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
if($type == 0) {
|
||||
$type = 0;
|
||||
}
|
||||
@@ -37,18 +40,19 @@ $sel[$type] = "selected";
|
||||
<head>
|
||||
<title>접속정보</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr><td>접 속 정 보<br><?=closeButton()?></td></tr>
|
||||
<tr><td><form name=form1 method=post>정렬순서 :
|
||||
<select name=type size=1>
|
||||
<option <?=$sel[0];?> value=0>접속률</option>
|
||||
<option <?=$sel[1];?> value=1>총갱신</option>
|
||||
<option <?=$sel[2];?> value=2>갱신/턴</option>
|
||||
<option <?=$sel[3];?> value=3>총로그인</option>
|
||||
<option <?=$sel[4];?> value=4>갱신/로그인</option>
|
||||
<option <?=$sel[0]?> value=0>접속률</option>
|
||||
<option <?=$sel[1]?> value=1>총갱신</option>
|
||||
<option <?=$sel[2]?> value=2>갱신/턴</option>
|
||||
<option <?=$sel[3]?> value=3>총로그인</option>
|
||||
<option <?=$sel[4]?> value=4>갱신/로그인</option>
|
||||
</select>
|
||||
<input type=submit value='정렬하기'></form>
|
||||
</td></tr>
|
||||
|
||||
+18
-14
@@ -4,16 +4,16 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
|
||||
if(Session::getUserGrade() < 5) {
|
||||
if($session->userGrade < 5) {
|
||||
echo "<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>관리메뉴</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
관리자가 아닙니다.<br>
|
||||
@@ -26,6 +26,9 @@ if(Session::getUserGrade() < 5) {
|
||||
exit();
|
||||
}
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
if($btn == '정렬하기') {
|
||||
$gen = 0;
|
||||
}
|
||||
@@ -40,7 +43,8 @@ $sel[$type] = "selected";
|
||||
<head>
|
||||
<title>로그정보</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
@@ -49,10 +53,10 @@ $sel[$type] = "selected";
|
||||
<form name=form1 method=post>
|
||||
정렬순서 :
|
||||
<select name=type size=1>
|
||||
<option <?=$sel[0];?> value=0>최근턴</option>
|
||||
<option <?=$sel[1];?> value=1>최근전투</option>
|
||||
<option <?=$sel[2];?> value=2>장수명</option>
|
||||
<option <?=$sel[3];?> value=3>전투수</option>
|
||||
<option <?=$sel[0]?> value=0>최근턴</option>
|
||||
<option <?=$sel[1]?> value=1>최근전투</option>
|
||||
<option <?=$sel[2]?> value=2>장수명</option>
|
||||
<option <?=$sel[3]?> value=3>전투수</option>
|
||||
</select>
|
||||
<input type=submit name=btn value='정렬하기'>
|
||||
대상장수 :
|
||||
@@ -94,7 +98,7 @@ for($i=0; $i < $gencount; $i++) {
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign=top>
|
||||
<?php generalInfo($connect, $gen); generalInfo2($connect, $gen); ?>
|
||||
<?php generalInfo($gen); generalInfo2($gen); ?>
|
||||
</td>
|
||||
<td valign=top>
|
||||
</td>
|
||||
@@ -105,10 +109,10 @@ for($i=0; $i < $gencount; $i++) {
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign=top>
|
||||
<?php MyLog($gen, 24); ?>
|
||||
<?=getGenLogRecent($gen, 24)?>
|
||||
</td>
|
||||
<td valign=top>
|
||||
<?php MyBatLog($gen, 24); ?>
|
||||
<?=getBatLogRecent($gen, 24)?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -117,10 +121,10 @@ for($i=0; $i < $gencount; $i++) {
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign=top>
|
||||
<?php MyHistory($connect, $gen); ?>
|
||||
<?=getGeneralHistoryAll($gen)?>
|
||||
</td>
|
||||
<td valign=top>
|
||||
<?php MyBatRes($gen, 24); ?>
|
||||
<?=getBatResRecent($gen, 24)?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
+32
-24
@@ -4,16 +4,16 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
|
||||
if(Session::getUserGrade() < 5) {
|
||||
if ($session->userGrade < 5) {
|
||||
echo "<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>관리메뉴</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
관리자가 아닙니다.<br>
|
||||
@@ -26,11 +26,14 @@ if(Session::getUserGrade() < 5) {
|
||||
exit();
|
||||
}
|
||||
|
||||
if($btn == '정렬하기') {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
if ($btn == '정렬하기') {
|
||||
$gen = 0;
|
||||
}
|
||||
|
||||
if($type == 0) {
|
||||
if ($type == 0) {
|
||||
$type = 0;
|
||||
}
|
||||
$sel[$type] = "selected";
|
||||
@@ -40,7 +43,8 @@ $sel[$type] = "selected";
|
||||
<head>
|
||||
<title>외교정보</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
</head>
|
||||
<body>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
@@ -49,7 +53,7 @@ $sel[$type] = "selected";
|
||||
<form name=form1 method=post>
|
||||
정렬순서 :
|
||||
<select name=type size=1>
|
||||
<option <?=$sel[0];?> value=0>상태</option>
|
||||
<option <?=$sel[0]?> value=0>상태</option>
|
||||
</select>
|
||||
<input type=submit name=btn value='정렬하기'>
|
||||
</form>
|
||||
@@ -66,31 +70,33 @@ $sel[$type] = "selected";
|
||||
</tr>
|
||||
<?php
|
||||
|
||||
foreach(getAllNationStaticInfo() as $nation){
|
||||
$nationName = [];
|
||||
$nationColor = [];
|
||||
foreach (getAllNationStaticInfo() as $nation) {
|
||||
$nationName[$nation['nation']] = $nation['name'];
|
||||
$nationColor[$nation['nation']] = $nation['color'];
|
||||
}
|
||||
|
||||
switch($type) {
|
||||
switch ($type) {
|
||||
case 0: $query = "select * from diplomacy where me < you order by state desc"; break;
|
||||
}
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$dipcount = MYDB_num_rows($result);
|
||||
for($i=0; $i < $dipcount; $i++) {
|
||||
for ($i=0; $i < $dipcount; $i++) {
|
||||
$dip = MYDB_fetch_array($result);
|
||||
|
||||
$me = $dip['me'];
|
||||
$you = $dip['you'];
|
||||
|
||||
$query = "select reserved,showing from diplomacy where you='$me' and me='$you'";
|
||||
$result2 = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result2 = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$dip2 = MYDB_fetch_array($result2);
|
||||
|
||||
if($dip['state'] == 2 && $dip['fixed'] == "" && $dip['reserved'] == "" && $dip2['reserved'] == "") {
|
||||
if ($dip['state'] == 2 && $dip['fixed'] == "" && $dip['reserved'] == "" && $dip2['reserved'] == "") {
|
||||
continue;
|
||||
}
|
||||
|
||||
switch($dip['state']) {
|
||||
switch ($dip['state']) {
|
||||
case 0: $state = "<font color=red>교 전</font>"; break;
|
||||
case 1: $state = "<font color=magenta>선포중</font>"; break;
|
||||
case 2: $state = "통 상"; break;
|
||||
@@ -103,34 +109,36 @@ for($i=0; $i < $dipcount; $i++) {
|
||||
|
||||
$date = date('Y-m-d H:i:s');
|
||||
$note = "";
|
||||
if($dip['fixed'] != "") {
|
||||
if($dip['state'] == 7) {
|
||||
if ($dip['fixed'] != "") {
|
||||
if ($dip['state'] == 7) {
|
||||
$note .= $dip['fixed'];
|
||||
} else {
|
||||
$note .= "<font color=gray>{$dip['fixed']}</font>";
|
||||
}
|
||||
if($dip['reserved'] != "" || $dip2['reserved'] != "") {
|
||||
if ($dip['reserved'] != "" || $dip2['reserved'] != "") {
|
||||
$note .= "<br>";
|
||||
}
|
||||
}
|
||||
if($dip['reserved'] != "") {
|
||||
if($dip['showing'] >= $date) {
|
||||
if ($dip['reserved'] != "") {
|
||||
if ($dip['showing'] >= $date) {
|
||||
$note .= "<font color=skyblue>아국측 제의</font>: {$dip['reserved']}";
|
||||
} else {
|
||||
$note .= "<font color=gray>아국측 제의: {$dip['reserved']}</font>";
|
||||
}
|
||||
if($dip2['reserved'] != "") {
|
||||
if ($dip2['reserved'] != "") {
|
||||
$note .= "<br>";
|
||||
}
|
||||
}
|
||||
if($dip2['reserved'] != "") {
|
||||
if($dip2['showing'] >= $date) {
|
||||
if ($dip2['reserved'] != "") {
|
||||
if ($dip2['showing'] >= $date) {
|
||||
$note .= "<font color=limegreen>상대측 제의</font>: {$dip2['reserved']}";
|
||||
} else {
|
||||
$note .= "<font color=gray>상대측 제의: {$dip2['reserved']}</font>";
|
||||
}
|
||||
}
|
||||
if($note == "") { $note = " "; }
|
||||
if ($note == "") {
|
||||
$note = " ";
|
||||
}
|
||||
|
||||
echo "
|
||||
<tr>
|
||||
|
||||
+409
-371
@@ -4,18 +4,29 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
//로그인 검사
|
||||
|
||||
$isgen = Util::array_get($_POST['isgen'], '');
|
||||
$tech1 = Util::array_get($_POST['tech1'], 0);
|
||||
$tech2 =Util::array_get($_POST['tech2'], 0);
|
||||
$dex10 = Util::array_get($_POST['dex10'], 0);
|
||||
$dex110 = Util::array_get($_POST['dex110'], 0);
|
||||
$dex120 = Util::array_get($_POST['dex120'], 0);
|
||||
$dex130 = Util::array_get($_POST['dex130'], 0);
|
||||
$dex140 = Util::array_get($_POST['dex140'], 0);
|
||||
$isgen = Util::getReq('isgen');
|
||||
|
||||
$leader1 = Util::getReq('leader1', 'int', 0);
|
||||
$power1 = Util::getReq('power1', 'int', 0);
|
||||
$intel1 = Util::getReq('intel1', 'int', 0);
|
||||
$type1 = Util::getReq('type1', 'int', 0);
|
||||
$crew1 = Util::getReq('crew1', 'int', 0);
|
||||
$train1 = Util::getReq('train1', 'int', 0);
|
||||
$atmos1 = Util::getReq('atmos1', 'int', 0);
|
||||
$level1 = Util::getReq('level1', 'int', 0);
|
||||
$explevel1 = Util::getReq('explevel1', 'int', 0);
|
||||
$tech1 = Util::getReq('tech1', 'int', 0);
|
||||
|
||||
$dex10 = Util::getReq('dex10', 'int', 0);
|
||||
$dex110 = Util::getReq('dex110', 'int', 0);
|
||||
$dex120 = Util::getReq('dex120', 'int', 0);
|
||||
$dex130 = Util::getReq('dex130', 'int', 0);
|
||||
$dex140 = Util::getReq('dex140', 'int', 0);
|
||||
|
||||
$dx10 = array_fill(0, 20, '');
|
||||
$dx110 = array_fill(0, 20, '');
|
||||
@@ -23,11 +34,22 @@ $dx120 = array_fill(0, 20, '');
|
||||
$dx130 = array_fill(0, 20, '');
|
||||
$dx140 = array_fill(0, 20, '');
|
||||
|
||||
$dex20 = Util::array_get($_POST['dex20'], 0);
|
||||
$dex210 = Util::array_get($_POST['dex210'], 0);
|
||||
$dex220 = Util::array_get($_POST['dex220'], 0);
|
||||
$dex230 = Util::array_get($_POST['dex230'], 0);
|
||||
$dex240 = Util::array_get($_POST['dex240'], 0);
|
||||
$leader2 = Util::getReq('leader2', 'int', 0);
|
||||
$power2 = Util::getReq('power2', 'int', 0);
|
||||
$intel2 = Util::getReq('intel2', 'int', 0);
|
||||
$type2 = Util::getReq('type2', 'int', 0);
|
||||
$crew2 = Util::getReq('crew2', 'int', 0);
|
||||
$train2 = Util::getReq('train2', 'int', 0);
|
||||
$atmos2 = Util::getReq('atmos2', 'int', 0);
|
||||
$level2 = Util::getReq('level2', 'int', 0);
|
||||
$explevel2 = Util::getReq('explevel2', 'int', 0);
|
||||
$tech2 = Util::getReq('tech2', 'int', 0);
|
||||
|
||||
$dex20 = Util::getReq('dex20', 'int', 0);
|
||||
$dex210 = Util::getReq('dex210', 'int', 0);
|
||||
$dex220 = Util::getReq('dex220', 'int', 0);
|
||||
$dex230 = Util::getReq('dex230', 'int', 0);
|
||||
$dex240 = Util::getReq('dex240', 'int', 0);
|
||||
|
||||
$dx20 = array_fill(0, 20, '');
|
||||
$dx210 = array_fill(0, 20, '');
|
||||
@@ -35,6 +57,11 @@ $dx220 = array_fill(0, 20, '');
|
||||
$dx230 = array_fill(0, 20, '');
|
||||
$dx240 = array_fill(0, 20, '');
|
||||
|
||||
$def = Util::getReq('def', 'int', 0);
|
||||
$wall = Util::getReq('wall', 'int', 0);
|
||||
$atmos3 = Util::getReq('atmos3', 'int', 0);
|
||||
$train3 = Util::getReq('train3', 'int', 0);
|
||||
|
||||
$sellevel1 = array_fill(0, 13, '');
|
||||
$sel1 = array_fill(0,44, '');
|
||||
$tch1 = array_fill(0,11, '');
|
||||
@@ -46,11 +73,11 @@ $tch2 = array_fill(0,11, '');
|
||||
$dec = 0;
|
||||
$rice = 0;
|
||||
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
increaseRefresh("시뮬", 2);
|
||||
|
||||
$query = "select no,tournament,con,turntime from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,tournament,con,turntime from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -61,7 +88,7 @@ $game = MYDB_fetch_array($result);
|
||||
$con = checkLimit($me['con'], $game['conlimit']);
|
||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||
|
||||
if(Session::getUserGrade() < 3) {
|
||||
if($session->userGrade < 3) {
|
||||
echo "특별회원이 아닙니다.";
|
||||
exit();
|
||||
}
|
||||
@@ -79,6 +106,18 @@ if($isgen == "장수평균" || $isgen == "성벽평균") {
|
||||
$simulCount = 1;
|
||||
}
|
||||
|
||||
$general = [
|
||||
'no'=>1
|
||||
];
|
||||
$oppose = [
|
||||
'no'=>2
|
||||
];
|
||||
$city = [
|
||||
'gen1'=>0,
|
||||
'gen2'=>0,
|
||||
'gen3'=>0,
|
||||
];
|
||||
|
||||
if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평균" || $isgen == "성벽평균") {
|
||||
$msg2 = "";
|
||||
for($i=0; $i < $simulCount; $i++) {
|
||||
@@ -177,7 +216,7 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
|
||||
$avoid = 1;
|
||||
// 병종간 특성
|
||||
if(floor($general['crewtype']/10) == 3) { // 귀병
|
||||
if(intdiv($general['crewtype'], 10) == 3) { // 귀병
|
||||
$int = $general['intel'] + getBookEff($general['book']);
|
||||
if($general['crewtype'] == 30) {
|
||||
$ratio2 = $int * 5; // 0~500 즉 50%
|
||||
@@ -273,9 +312,9 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
$cityCrew *= (rand() % 21 + 90)/100; // 90~110%
|
||||
$myCrew *= (rand() % 21 + 90)/100; // 90~110%
|
||||
|
||||
$general['crew'] -= round($myCrew);
|
||||
$city['def'] -= round($cityCrew);
|
||||
$city['wall'] -= round($cityCrew);
|
||||
$general['crew'] -= Util::round($myCrew);
|
||||
$city['def'] -= Util::round($cityCrew);
|
||||
$city['wall'] -= Util::round($cityCrew);
|
||||
|
||||
$tempMyCrew = $myCrew; $tempCityCrew = $cityCrew;
|
||||
$tempGeneralCrew = $general['crew']; $tempCityDef = $city['def'];
|
||||
@@ -283,14 +322,14 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
if($city['wall'] <= 0) { $city['wall'] = 0; }
|
||||
|
||||
if($city['def'] < 0) {
|
||||
$offset = round($tempCityDef*$tempMyCrew/$tempCityCrew);
|
||||
$offset = Util::round($tempCityDef*$tempMyCrew/$tempCityCrew);
|
||||
$myCrew += $offset;
|
||||
$general['crew'] -= $offset;
|
||||
$cityCrew += $tempCityDef;
|
||||
$city['def'] = 0;
|
||||
}
|
||||
if($general['crew'] < 0) {
|
||||
$offset = round($tempGeneralCrew*$tempCityCrew/$tempMyCrew);
|
||||
$offset = Util::round($tempGeneralCrew*$tempCityCrew/$tempMyCrew);
|
||||
$cityCrew += $offset;
|
||||
$city['def'] -= $offset;
|
||||
$myCrew += $tempGeneralCrew;
|
||||
@@ -299,9 +338,9 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
|
||||
$exp += $cityCrew;
|
||||
$opexp += $myCrew;
|
||||
$general['crew'] = round($general['crew']);
|
||||
$cityCrew = round($cityCrew);
|
||||
$myCrew = round($myCrew);
|
||||
$general['crew'] = Util::round($general['crew']);
|
||||
$cityCrew = Util::round($cityCrew);
|
||||
$myCrew = Util::round($myCrew);
|
||||
$myAtt = round($myAtt, 2);
|
||||
$myDef = round($myDef, 2);
|
||||
$cityAtt = round($cityAtt, 2);
|
||||
@@ -315,14 +354,14 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
}
|
||||
|
||||
// 도시쌀 소모 계산
|
||||
$opexp = round($opexp / 50);
|
||||
$rice = round($opexp * 4 * getCrewtypeRice($game, 0, 0) * ($train3/100 - 0.2));
|
||||
$opexp = Util::round($opexp / 50);
|
||||
$rice = Util::round($opexp * 4 * getCrewtypeRice($game, 0, 0) * ($train3/100 - 0.2));
|
||||
|
||||
//원래대로 스케일링
|
||||
$city['def'] = round($city['def'] / 10);
|
||||
$city['wall'] = round($city['wall'] / 10);
|
||||
$city['def'] = Util::round($city['def'] / 10);
|
||||
$city['wall'] = Util::round($city['wall'] / 10);
|
||||
//내정 감소
|
||||
$dec = round($cityCrew / 10);
|
||||
$dec = Util::round($cityCrew / 10);
|
||||
$city['agri'] -= $dec;
|
||||
$city['comm'] -= $dec;
|
||||
$city['secu'] -= $dec;
|
||||
@@ -367,7 +406,7 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
$myAvoid = 1;
|
||||
$opAvoid = 1;
|
||||
// 병종간 특성
|
||||
if(floor($general['crewtype']/10) == 3) { // 귀병
|
||||
if(intdiv($general['crewtype'], 10) == 3) { // 귀병
|
||||
$int = $general['intel'] + getBookEff($general['book']);
|
||||
if($general['crewtype'] == 30) {
|
||||
$ratio2 = $int * 5; // 0~500 즉 50%
|
||||
@@ -449,7 +488,7 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
}
|
||||
|
||||
// 상대 장수 병종간 특성
|
||||
if(floor($oppose['crewtype']/10) == 3) { // 귀병
|
||||
if(intdiv($oppose['crewtype'], 10) == 3) { // 귀병
|
||||
$int = $oppose['intel'] + getBookEff($oppose['book']);
|
||||
if($oppose['crewtype'] == 30) {
|
||||
$ratio2 = $int * 5; // 0~500 즉 50%
|
||||
@@ -544,44 +583,44 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
|
||||
// my 입장 상성
|
||||
// 보병계열 > 궁병계열
|
||||
if(floor($general['crewtype']/10) == 0 && floor($oppose['crewtype']/10) == 1) {
|
||||
if(intdiv($general['crewtype'], 10) == 0 && intdiv($oppose['crewtype'], 10) == 1) {
|
||||
$myCrew *= 0.8;
|
||||
$opCrew *= 1.2;
|
||||
}
|
||||
// 궁병계열 > 기병계열
|
||||
if(floor($general['crewtype']/10) == 1 && floor($oppose['crewtype']/10) == 2) {
|
||||
if(intdiv($general['crewtype'], 10) == 1 && intdiv($oppose['crewtype'], 10) == 2) {
|
||||
$myCrew *= 0.8;
|
||||
$opCrew *= 1.2;
|
||||
}
|
||||
// 기병계열 > 보병계열
|
||||
if(floor($general['crewtype']/10) == 2 && floor($oppose['crewtype']/10) == 0) {
|
||||
if(intdiv($general['crewtype'], 10) == 2 && intdiv($oppose['crewtype'], 10) == 0) {
|
||||
$myCrew *= 0.8;
|
||||
$opCrew *= 1.2;
|
||||
}
|
||||
// 차병계열
|
||||
if(floor($general['crewtype']/10) == 4) {
|
||||
if(intdiv($general['crewtype'], 10) == 4) {
|
||||
$myCrew *= 1.2;
|
||||
$opCrew *= 0.8;
|
||||
}
|
||||
|
||||
// op 입장 상성
|
||||
// 보병계열 > 궁병계열
|
||||
if(floor($oppose['crewtype']/10) == 0 && floor($general['crewtype']/10) == 1) {
|
||||
if(intdiv($oppose['crewtype'], 10) == 0 && intdiv($general['crewtype'], 10) == 1) {
|
||||
$opCrew *= 0.8;
|
||||
$myCrew *= 1.2;
|
||||
}
|
||||
// 궁병계열 > 기병계열
|
||||
if(floor($oppose['crewtype']/10) == 1 && floor($general['crewtype']/10) == 2) {
|
||||
if(intdiv($oppose['crewtype'], 10) == 1 && intdiv($general['crewtype'], 10) == 2) {
|
||||
$opCrew *= 0.8;
|
||||
$myCrew *= 1.2;
|
||||
}
|
||||
// 기병계열 > 보병계열
|
||||
if(floor($oppose['crewtype']/10) == 2 && floor($general['crewtype']/10) == 0) {
|
||||
if(intdiv($oppose['crewtype'], 10) == 2 && intdiv($general['crewtype'], 10) == 0) {
|
||||
$opCrew *= 0.8;
|
||||
$myCrew *= 1.2;
|
||||
}
|
||||
// 차병계열
|
||||
if(floor($oppose['crewtype']/10) == 4) {
|
||||
if(intdiv($oppose['crewtype'], 10) == 4) {
|
||||
$opCrew *= 1.2;
|
||||
$myCrew *= 0.8;
|
||||
}
|
||||
@@ -645,8 +684,8 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
$opCrew *= (rand() % 21 + 90)/100; // 90~110%
|
||||
$myCrew *= (rand() % 21 + 90)/100; // 90~110%
|
||||
|
||||
$general['crew'] -= round($myCrew);
|
||||
$oppose['crew'] -= round($opCrew);
|
||||
$general['crew'] -= Util::round($myCrew);
|
||||
$oppose['crew'] -= Util::round($opCrew);
|
||||
$tempMyCrew = $myCrew; $tempOpCrew = $opCrew;
|
||||
$tempGeneralCrew = $general['crew']; $tempOpposeCrew = $oppose['crew'];
|
||||
if($general['crew'] <= 0 && $oppose['crew'] <= 0) {
|
||||
@@ -654,13 +693,13 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
$r2 = $tempOpposeCrew / $tempOpCrew;
|
||||
|
||||
if($r1 > $r2) {
|
||||
$offset = round($tempOpposeCrew*$tempMyCrew/$tempOpCrew);
|
||||
$offset = Util::round($tempOpposeCrew*$tempMyCrew/$tempOpCrew);
|
||||
$myCrew += $offset;
|
||||
$general['crew'] -= $offset;
|
||||
$opCrew += $tempOpposeCrew;
|
||||
$oppose['crew'] = 0;
|
||||
} else {
|
||||
$offset = round($tempGeneralCrew*$tempOpCrew/$tempMyCrew);
|
||||
$offset = Util::round($tempGeneralCrew*$tempOpCrew/$tempMyCrew);
|
||||
$opCrew += $offset;
|
||||
$oppose['crew'] -= $offset;
|
||||
$myCrew += $tempGeneralCrew;
|
||||
@@ -668,14 +707,14 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
}
|
||||
} elseif($general['crew'] * $oppose['crew'] <= 0) {
|
||||
if($oppose['crew'] < 0) {
|
||||
$offset = round($tempOpposeCrew*$tempMyCrew/$tempOpCrew);
|
||||
$offset = Util::round($tempOpposeCrew*$tempMyCrew/$tempOpCrew);
|
||||
$myCrew += $offset;
|
||||
$general['crew'] -= $offset;
|
||||
$opCrew += $tempOpposeCrew;
|
||||
$oppose['crew'] = 0;
|
||||
}
|
||||
if($general['crew'] < 0) {
|
||||
$offset = round($tempGeneralCrew*$tempOpCrew/$tempMyCrew);
|
||||
$offset = Util::round($tempGeneralCrew*$tempOpCrew/$tempMyCrew);
|
||||
$opCrew += $offset;
|
||||
$oppose['crew'] -= $offset;
|
||||
$myCrew += $tempGeneralCrew;
|
||||
@@ -685,10 +724,10 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
|
||||
$exp += $opCrew;
|
||||
$opexp += $myCrew;
|
||||
$general['crew'] = round($general['crew']);
|
||||
$oppose['crew'] = round($oppose['crew']);
|
||||
$myCrew = round($myCrew);
|
||||
$opCrew = round($opCrew);
|
||||
$general['crew'] = Util::round($general['crew']);
|
||||
$oppose['crew'] = Util::round($oppose['crew']);
|
||||
$myCrew = Util::round($myCrew);
|
||||
$opCrew = Util::round($opCrew);
|
||||
$myAtt = round($myAtt, 2);
|
||||
$myDef = round($myDef, 2);
|
||||
$opAtt = round($opAtt, 2);
|
||||
@@ -707,7 +746,7 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
}
|
||||
|
||||
// 공헌, 명성 상승
|
||||
$exp = round($exp / 50);
|
||||
$exp = Util::round($exp / 50);
|
||||
$ricing = ($exp * 5 * getCrewtypeRice($game, $general['crewtype'], $tech1));
|
||||
$msg .= "★ 【공격장수】공헌 상승 : $exp 쌀 소비 : {$exp}x5x".getCrewtypeRice($game, $general['crewtype'], $tech1)." = $ricing<br>";
|
||||
// $msg2 .= "★ 【공격장수】공헌 상승 : $exp 쌀 소비 : {$exp}x5x".getCrewtypeRice($game, $general['crewtype'], $tech1)." = $ricing<br>";
|
||||
@@ -1101,12 +1140,11 @@ switch($dex240) {
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>전투시뮬레이션</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
select { background-color:black;color:white; }
|
||||
input { background-color:black;color:white; }
|
||||
-->
|
||||
</style>
|
||||
|
||||
</head>
|
||||
@@ -1122,180 +1160,180 @@ input { background-color:black;color:white; }
|
||||
<tr>
|
||||
<td>관직
|
||||
<select name=level1 size=1>
|
||||
<option <?=$sellevel1[1];?> value=1>일반</option>
|
||||
<option <?=$sellevel1[5];?> value=5>제3모사</option>
|
||||
<option <?=$sellevel1[6];?> value=6>제3장군</option>
|
||||
<option <?=$sellevel1[7];?> value=7>제2모사</option>
|
||||
<option <?=$sellevel1[8];?> value=8>제2장군</option>
|
||||
<option <?=$sellevel1[9];?> value=9>제1모사</option>
|
||||
<option <?=$sellevel1[10];?> value=10>제1장군</option>
|
||||
<option <?=$sellevel1[11];?> value=11>참모</option>
|
||||
<option <?=$sellevel1[12];?> value=12>군주</option>
|
||||
<option <?=$sellevel1[1]?> value=1>일반</option>
|
||||
<option <?=$sellevel1[5]?> value=5>제3모사</option>
|
||||
<option <?=$sellevel1[6]?> value=6>제3장군</option>
|
||||
<option <?=$sellevel1[7]?> value=7>제2모사</option>
|
||||
<option <?=$sellevel1[8]?> value=8>제2장군</option>
|
||||
<option <?=$sellevel1[9]?> value=9>제1모사</option>
|
||||
<option <?=$sellevel1[10]?> value=10>제1장군</option>
|
||||
<option <?=$sellevel1[11]?> value=11>참모</option>
|
||||
<option <?=$sellevel1[12]?> value=12>군주</option>
|
||||
</select>
|
||||
</td>
|
||||
<td>관직
|
||||
<select name=level2 size=1>
|
||||
<option <?=$sellevel2[1];?> value=1>일반</option>
|
||||
<option <?=$sellevel2[5];?> value=5>제3모사</option>
|
||||
<option <?=$sellevel2[6];?> value=6>제3장군</option>
|
||||
<option <?=$sellevel2[7];?> value=7>제2모사</option>
|
||||
<option <?=$sellevel2[8];?> value=8>제2장군</option>
|
||||
<option <?=$sellevel2[9];?> value=9>제1모사</option>
|
||||
<option <?=$sellevel2[10];?> value=10>제1장군</option>
|
||||
<option <?=$sellevel2[11];?> value=11>참모</option>
|
||||
<option <?=$sellevel2[12];?> value=12>군주</option>
|
||||
<option <?=$sellevel2[1]?> value=1>일반</option>
|
||||
<option <?=$sellevel2[5]?> value=5>제3모사</option>
|
||||
<option <?=$sellevel2[6]?> value=6>제3장군</option>
|
||||
<option <?=$sellevel2[7]?> value=7>제2모사</option>
|
||||
<option <?=$sellevel2[8]?> value=8>제2장군</option>
|
||||
<option <?=$sellevel2[9]?> value=9>제1모사</option>
|
||||
<option <?=$sellevel2[10]?> value=10>제1장군</option>
|
||||
<option <?=$sellevel2[11]?> value=11>참모</option>
|
||||
<option <?=$sellevel2[12]?> value=12>군주</option>
|
||||
</select>
|
||||
</td>
|
||||
<td>-</td>
|
||||
<tr>
|
||||
<td>Lv <input size=2 maxlength=2 name=explevel1 value=<?=$explevel1;?>></td>
|
||||
<td>Lv <input size=2 maxlength=2 name=explevel2 value=<?=$explevel2;?>></td>
|
||||
<td>Lv <input size=2 maxlength=2 name=explevel1 value=<?=$explevel1?>></td>
|
||||
<td>Lv <input size=2 maxlength=2 name=explevel2 value=<?=$explevel2?>></td>
|
||||
<td>-</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>통솔 <input size=3 maxlength=3 name=leader1 value=<?=$leader1;?>></td>
|
||||
<td>통솔 <input size=3 maxlength=3 name=leader2 value=<?=$leader2;?>></td>
|
||||
<td>통솔 <input size=3 maxlength=3 name=leader1 value=<?=$leader1?>></td>
|
||||
<td>통솔 <input size=3 maxlength=3 name=leader2 value=<?=$leader2?>></td>
|
||||
<td>-</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>무력 <input size=3 maxlength=3 name=power1 value=<?=$power1;?>></td>
|
||||
<td>무력 <input size=3 maxlength=3 name=power2 value=<?=$power2;?>></td>
|
||||
<td>무력 <input size=3 maxlength=3 name=power1 value=<?=$power1?>></td>
|
||||
<td>무력 <input size=3 maxlength=3 name=power2 value=<?=$power2?>></td>
|
||||
<td>-</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>지력 <input size=3 maxlength=3 name=intel1 value=<?=$intel1;?>></td>
|
||||
<td>지력 <input size=3 maxlength=3 name=intel2 value=<?=$intel2;?>></td>
|
||||
<td>지력 <input size=3 maxlength=3 name=intel1 value=<?=$intel1?>></td>
|
||||
<td>지력 <input size=3 maxlength=3 name=intel2 value=<?=$intel2?>></td>
|
||||
<td>-</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>병종
|
||||
<select name=type1 size=1>
|
||||
<option value=0>--------</option>
|
||||
<option <?=$sel1[0];?> value=0>보병</option>
|
||||
<option <?=$sel1[1];?> value=1>청주병</option>
|
||||
<option <?=$sel1[2];?> value=2>수병</option>
|
||||
<option <?=$sel1[3];?> value=3>자객병</option>
|
||||
<option <?=$sel1[4];?> value=4>근위병</option>
|
||||
<option <?=$sel1[5];?> value=5>등갑병</option>
|
||||
<option <?=$sel1[0]?> value=0>보병</option>
|
||||
<option <?=$sel1[1]?> value=1>청주병</option>
|
||||
<option <?=$sel1[2]?> value=2>수병</option>
|
||||
<option <?=$sel1[3]?> value=3>자객병</option>
|
||||
<option <?=$sel1[4]?> value=4>근위병</option>
|
||||
<option <?=$sel1[5]?> value=5>등갑병</option>
|
||||
<option value=0>--------</option>
|
||||
<option <?=$sel1[10];?> value=10>궁병</option>
|
||||
<option <?=$sel1[11];?> value=11>궁기병</option>
|
||||
<option <?=$sel1[12];?> value=12>연노병</option>
|
||||
<option <?=$sel1[13];?> value=13>강궁병</option>
|
||||
<option <?=$sel1[14];?> value=14>석궁병</option>
|
||||
<option <?=$sel1[10]?> value=10>궁병</option>
|
||||
<option <?=$sel1[11]?> value=11>궁기병</option>
|
||||
<option <?=$sel1[12]?> value=12>연노병</option>
|
||||
<option <?=$sel1[13]?> value=13>강궁병</option>
|
||||
<option <?=$sel1[14]?> value=14>석궁병</option>
|
||||
<option value=0>--------</option>
|
||||
<option <?=$sel1[20];?> value=20>기병</option>
|
||||
<option <?=$sel1[21];?> value=21>백마병</option>
|
||||
<option <?=$sel1[22];?> value=22>중장기병</option>
|
||||
<option <?=$sel1[23];?> value=23>돌격기병</option>
|
||||
<option <?=$sel1[24];?> value=24>철기병</option>
|
||||
<option <?=$sel1[25];?> value=25>수렵기병</option>
|
||||
<option <?=$sel1[26];?> value=26>맹수병</option>
|
||||
<option <?=$sel1[27];?> value=27>호표기병</option>
|
||||
<option <?=$sel1[20]?> value=20>기병</option>
|
||||
<option <?=$sel1[21]?> value=21>백마병</option>
|
||||
<option <?=$sel1[22]?> value=22>중장기병</option>
|
||||
<option <?=$sel1[23]?> value=23>돌격기병</option>
|
||||
<option <?=$sel1[24]?> value=24>철기병</option>
|
||||
<option <?=$sel1[25]?> value=25>수렵기병</option>
|
||||
<option <?=$sel1[26]?> value=26>맹수병</option>
|
||||
<option <?=$sel1[27]?> value=27>호표기병</option>
|
||||
<option value=0>--------</option>
|
||||
<option <?=$sel1[30];?> value=30>귀병</option>
|
||||
<option <?=$sel1[31];?> value=31>신귀병</option>
|
||||
<option <?=$sel1[32];?> value=32>백귀병</option>
|
||||
<option <?=$sel1[33];?> value=33>흑귀병</option>
|
||||
<option <?=$sel1[34];?> value=34>악귀병</option>
|
||||
<option <?=$sel1[35];?> value=35>남귀병</option>
|
||||
<option <?=$sel1[36];?> value=36>황귀병</option>
|
||||
<option <?=$sel1[37];?> value=37>천귀병</option>
|
||||
<option <?=$sel1[38];?> value=38>마귀병</option>
|
||||
<option <?=$sel1[30]?> value=30>귀병</option>
|
||||
<option <?=$sel1[31]?> value=31>신귀병</option>
|
||||
<option <?=$sel1[32]?> value=32>백귀병</option>
|
||||
<option <?=$sel1[33]?> value=33>흑귀병</option>
|
||||
<option <?=$sel1[34]?> value=34>악귀병</option>
|
||||
<option <?=$sel1[35]?> value=35>남귀병</option>
|
||||
<option <?=$sel1[36]?> value=36>황귀병</option>
|
||||
<option <?=$sel1[37]?> value=37>천귀병</option>
|
||||
<option <?=$sel1[38]?> value=38>마귀병</option>
|
||||
<option value=0>--------</option>
|
||||
<option <?=$sel1[40];?> value=40>정란</option>
|
||||
<option <?=$sel1[41];?> value=41>충차</option>
|
||||
<option <?=$sel1[42];?> value=42>벽력거</option>
|
||||
<option <?=$sel1[43];?> value=43>목우</option>
|
||||
<option <?=$sel1[40]?> value=40>정란</option>
|
||||
<option <?=$sel1[41]?> value=41>충차</option>
|
||||
<option <?=$sel1[42]?> value=42>벽력거</option>
|
||||
<option <?=$sel1[43]?> value=43>목우</option>
|
||||
</select>
|
||||
</td>
|
||||
<td>병종
|
||||
<select name=type2 size=1>
|
||||
<option value=0>--------</option>
|
||||
<option <?=$sel2[0];?> value=0>보병</option>
|
||||
<option <?=$sel2[1];?> value=1>청주병</option>
|
||||
<option <?=$sel2[2];?> value=2>수병</option>
|
||||
<option <?=$sel2[3];?> value=3>자객병</option>
|
||||
<option <?=$sel2[4];?> value=4>근위병</option>
|
||||
<option <?=$sel2[5];?> value=5>등갑병</option>
|
||||
<option <?=$sel2[0]?> value=0>보병</option>
|
||||
<option <?=$sel2[1]?> value=1>청주병</option>
|
||||
<option <?=$sel2[2]?> value=2>수병</option>
|
||||
<option <?=$sel2[3]?> value=3>자객병</option>
|
||||
<option <?=$sel2[4]?> value=4>근위병</option>
|
||||
<option <?=$sel2[5]?> value=5>등갑병</option>
|
||||
<option value=0>--------</option>
|
||||
<option <?=$sel2[10];?> value=10>궁병</option>
|
||||
<option <?=$sel2[11];?> value=11>궁기병</option>
|
||||
<option <?=$sel2[12];?> value=12>연노병</option>
|
||||
<option <?=$sel2[13];?> value=13>강궁병</option>
|
||||
<option <?=$sel2[14];?> value=14>석궁병</option>
|
||||
<option <?=$sel2[10]?> value=10>궁병</option>
|
||||
<option <?=$sel2[11]?> value=11>궁기병</option>
|
||||
<option <?=$sel2[12]?> value=12>연노병</option>
|
||||
<option <?=$sel2[13]?> value=13>강궁병</option>
|
||||
<option <?=$sel2[14]?> value=14>석궁병</option>
|
||||
<option value=0>--------</option>
|
||||
<option <?=$sel2[20];?> value=20>기병</option>
|
||||
<option <?=$sel2[21];?> value=21>백마병</option>
|
||||
<option <?=$sel2[22];?> value=22>중장기병</option>
|
||||
<option <?=$sel2[23];?> value=23>돌격기병</option>
|
||||
<option <?=$sel2[24];?> value=24>철기병</option>
|
||||
<option <?=$sel2[25];?> value=25>수렵기병</option>
|
||||
<option <?=$sel2[26];?> value=26>맹수병</option>
|
||||
<option <?=$sel2[27];?> value=27>호표기병</option>
|
||||
<option <?=$sel2[20]?> value=20>기병</option>
|
||||
<option <?=$sel2[21]?> value=21>백마병</option>
|
||||
<option <?=$sel2[22]?> value=22>중장기병</option>
|
||||
<option <?=$sel2[23]?> value=23>돌격기병</option>
|
||||
<option <?=$sel2[24]?> value=24>철기병</option>
|
||||
<option <?=$sel2[25]?> value=25>수렵기병</option>
|
||||
<option <?=$sel2[26]?> value=26>맹수병</option>
|
||||
<option <?=$sel2[27]?> value=27>호표기병</option>
|
||||
<option value=0>--------</option>
|
||||
<option <?=$sel2[30];?> value=30>귀병</option>
|
||||
<option <?=$sel2[31];?> value=31>신귀병</option>
|
||||
<option <?=$sel2[32];?> value=32>백귀병</option>
|
||||
<option <?=$sel2[33];?> value=33>흑귀병</option>
|
||||
<option <?=$sel2[34];?> value=34>악귀병</option>
|
||||
<option <?=$sel2[35];?> value=35>남귀병</option>
|
||||
<option <?=$sel2[36];?> value=36>황귀병</option>
|
||||
<option <?=$sel2[37];?> value=37>천귀병</option>
|
||||
<option <?=$sel2[38];?> value=38>마귀병</option>
|
||||
<option <?=$sel2[30]?> value=30>귀병</option>
|
||||
<option <?=$sel2[31]?> value=31>신귀병</option>
|
||||
<option <?=$sel2[32]?> value=32>백귀병</option>
|
||||
<option <?=$sel2[33]?> value=33>흑귀병</option>
|
||||
<option <?=$sel2[34]?> value=34>악귀병</option>
|
||||
<option <?=$sel2[35]?> value=35>남귀병</option>
|
||||
<option <?=$sel2[36]?> value=36>황귀병</option>
|
||||
<option <?=$sel2[37]?> value=37>천귀병</option>
|
||||
<option <?=$sel2[38]?> value=38>마귀병</option>
|
||||
<option value=0>--------</option>
|
||||
<option <?=$sel2[40];?> value=40>정란</option>
|
||||
<option <?=$sel2[41];?> value=41>충차</option>
|
||||
<option <?=$sel2[42];?> value=42>벽력거</option>
|
||||
<option <?=$sel2[43];?> value=43>목우</option>
|
||||
<option <?=$sel2[40]?> value=40>정란</option>
|
||||
<option <?=$sel2[41]?> value=41>충차</option>
|
||||
<option <?=$sel2[42]?> value=42>벽력거</option>
|
||||
<option <?=$sel2[43]?> value=43>목우</option>
|
||||
</select>
|
||||
</td>
|
||||
<td>성벽 <input size=4 maxlength=4 name=wall value=<?=$wall;?>></td>
|
||||
<td>성벽 <input size=4 maxlength=4 name=wall value=<?=$wall?>></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>병력 <input size=5 maxlength=5 name=crew1 value=<?=$crew1;?>></td>
|
||||
<td>병력 <input size=5 maxlength=5 name=crew2 value=<?=$crew2;?>></td>
|
||||
<td>수비 <input size=4 maxlength=4 name=def value=<?=$def;?>></td>
|
||||
<td>병력 <input size=5 maxlength=5 name=crew1 value=<?=$crew1?>></td>
|
||||
<td>병력 <input size=5 maxlength=5 name=crew2 value=<?=$crew2?>></td>
|
||||
<td>수비 <input size=4 maxlength=4 name=def value=<?=$def?>></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>훈련 <input size=3 maxlength=3 name=train1 value=<?=$train1;?>></td>
|
||||
<td>훈련 <input size=3 maxlength=3 name=train2 value=<?=$train2;?>></td>
|
||||
<td>훈련 <input size=3 maxlength=3 name=train3 value=<?=$train3;?>></td>
|
||||
<td>훈련 <input size=3 maxlength=3 name=train1 value=<?=$train1?>></td>
|
||||
<td>훈련 <input size=3 maxlength=3 name=train2 value=<?=$train2?>></td>
|
||||
<td>훈련 <input size=3 maxlength=3 name=train3 value=<?=$train3?>></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>사기 <input size=3 maxlength=3 name=atmos1 value=<?=$atmos1;?>></td>
|
||||
<td>사기 <input size=3 maxlength=3 name=atmos2 value=<?=$atmos2;?>></td>
|
||||
<td>사기 <input size=3 maxlength=3 name=atmos3 value=<?=$atmos3;?>></td>
|
||||
<td>사기 <input size=3 maxlength=3 name=atmos1 value=<?=$atmos1?>></td>
|
||||
<td>사기 <input size=3 maxlength=3 name=atmos2 value=<?=$atmos2?>></td>
|
||||
<td>사기 <input size=3 maxlength=3 name=atmos3 value=<?=$atmos3?>></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>기술
|
||||
<select name=tech1 size=1>
|
||||
<option <?=$tch1[0];?> value=0>0등급</option>
|
||||
<option <?=$tch1[1];?> value=1000>1등급</option>
|
||||
<option <?=$tch1[2];?> value=2000>2등급</option>
|
||||
<option <?=$tch1[3];?> value=3000>3등급</option>
|
||||
<option <?=$tch1[4];?> value=4000>4등급</option>
|
||||
<option <?=$tch1[5];?> value=5000>5등급</option>
|
||||
<option <?=$tch1[6];?> value=6000>6등급</option>
|
||||
<option <?=$tch1[7];?> value=7000>7등급</option>
|
||||
<option <?=$tch1[8];?> value=8000>8등급</option>
|
||||
<option <?=$tch1[9];?> value=9000>9등급</option>
|
||||
<option <?=$tch1[10];?> value=10000>10등급</option>
|
||||
<option <?=$tch1[0]?> value=0>0등급</option>
|
||||
<option <?=$tch1[1]?> value=1000>1등급</option>
|
||||
<option <?=$tch1[2]?> value=2000>2등급</option>
|
||||
<option <?=$tch1[3]?> value=3000>3등급</option>
|
||||
<option <?=$tch1[4]?> value=4000>4등급</option>
|
||||
<option <?=$tch1[5]?> value=5000>5등급</option>
|
||||
<option <?=$tch1[6]?> value=6000>6등급</option>
|
||||
<option <?=$tch1[7]?> value=7000>7등급</option>
|
||||
<option <?=$tch1[8]?> value=8000>8등급</option>
|
||||
<option <?=$tch1[9]?> value=9000>9등급</option>
|
||||
<option <?=$tch1[10]?> value=10000>10등급</option>
|
||||
</select>
|
||||
</td>
|
||||
<td>기술
|
||||
<select name=tech2 size=1>
|
||||
<option <?=$tch2[0];?> value=0>0등급</option>
|
||||
<option <?=$tch2[1];?> value=1000>1등급</option>
|
||||
<option <?=$tch2[2];?> value=2000>2등급</option>
|
||||
<option <?=$tch2[3];?> value=3000>3등급</option>
|
||||
<option <?=$tch2[4];?> value=4000>4등급</option>
|
||||
<option <?=$tch2[5];?> value=5000>5등급</option>
|
||||
<option <?=$tch2[6];?> value=6000>6등급</option>
|
||||
<option <?=$tch2[7];?> value=7000>7등급</option>
|
||||
<option <?=$tch2[8];?> value=8000>8등급</option>
|
||||
<option <?=$tch2[9];?> value=9000>9등급</option>
|
||||
<option <?=$tch2[10];?> value=10000>10등급</option>
|
||||
<option <?=$tch2[0]?> value=0>0등급</option>
|
||||
<option <?=$tch2[1]?> value=1000>1등급</option>
|
||||
<option <?=$tch2[2]?> value=2000>2등급</option>
|
||||
<option <?=$tch2[3]?> value=3000>3등급</option>
|
||||
<option <?=$tch2[4]?> value=4000>4등급</option>
|
||||
<option <?=$tch2[5]?> value=5000>5등급</option>
|
||||
<option <?=$tch2[6]?> value=6000>6등급</option>
|
||||
<option <?=$tch2[7]?> value=7000>7등급</option>
|
||||
<option <?=$tch2[8]?> value=8000>8등급</option>
|
||||
<option <?=$tch2[9]?> value=9000>9등급</option>
|
||||
<option <?=$tch2[10]?> value=10000>10등급</option>
|
||||
</select>
|
||||
</td>
|
||||
<td>-</td>
|
||||
@@ -1303,224 +1341,224 @@ input { background-color:black;color:white; }
|
||||
<tr>
|
||||
<td>보
|
||||
<select name=dex10 size=1>
|
||||
<option <?=$dx10[0];?> value=0>F</option>
|
||||
<option <?=$dx10[1];?> value=2500>E-</option>
|
||||
<option <?=$dx10[2];?> value=7500>E</option>
|
||||
<option <?=$dx10[3];?> value=15000>E+</option>
|
||||
<option <?=$dx10[4];?> value=25000>D-</option>
|
||||
<option <?=$dx10[5];?> value=37500>D</option>
|
||||
<option <?=$dx10[6];?> value=52500>D+</option>
|
||||
<option <?=$dx10[7];?> value=70000>C-</option>
|
||||
<option <?=$dx10[8];?> value=90000>C</option>
|
||||
<option <?=$dx10[9];?> value=112500>C+</option>
|
||||
<option <?=$dx10[10];?> value=137500>B-</option>
|
||||
<option <?=$dx10[11];?> value=165000>B</option>
|
||||
<option <?=$dx10[12];?> value=195000>B+</option>
|
||||
<option <?=$dx10[13];?> value=227500>A-</option>
|
||||
<option <?=$dx10[14];?> value=262500>A</option>
|
||||
<option <?=$dx10[15];?> value=300000>A+</option>
|
||||
<option <?=$dx10[16];?> value=340000>S</option>
|
||||
<option <?=$dx10[17];?> value=382500>SS</option>
|
||||
<option <?=$dx10[18];?> value=427500>SSS</option>
|
||||
<option <?=$dx10[0]?> value=0>F</option>
|
||||
<option <?=$dx10[1]?> value=2500>E-</option>
|
||||
<option <?=$dx10[2]?> value=7500>E</option>
|
||||
<option <?=$dx10[3]?> value=15000>E+</option>
|
||||
<option <?=$dx10[4]?> value=25000>D-</option>
|
||||
<option <?=$dx10[5]?> value=37500>D</option>
|
||||
<option <?=$dx10[6]?> value=52500>D+</option>
|
||||
<option <?=$dx10[7]?> value=70000>C-</option>
|
||||
<option <?=$dx10[8]?> value=90000>C</option>
|
||||
<option <?=$dx10[9]?> value=112500>C+</option>
|
||||
<option <?=$dx10[10]?> value=137500>B-</option>
|
||||
<option <?=$dx10[11]?> value=165000>B</option>
|
||||
<option <?=$dx10[12]?> value=195000>B+</option>
|
||||
<option <?=$dx10[13]?> value=227500>A-</option>
|
||||
<option <?=$dx10[14]?> value=262500>A</option>
|
||||
<option <?=$dx10[15]?> value=300000>A+</option>
|
||||
<option <?=$dx10[16]?> value=340000>S</option>
|
||||
<option <?=$dx10[17]?> value=382500>SS</option>
|
||||
<option <?=$dx10[18]?> value=427500>SSS</option>
|
||||
</select>
|
||||
궁
|
||||
<select name=dex110 size=1>
|
||||
<option <?=$dx110[0];?> value=0>F</option>
|
||||
<option <?=$dx110[1];?> value=2500>E-</option>
|
||||
<option <?=$dx110[2];?> value=7500>E</option>
|
||||
<option <?=$dx110[3];?> value=15000>E+</option>
|
||||
<option <?=$dx110[4];?> value=25000>D-</option>
|
||||
<option <?=$dx110[5];?> value=37500>D</option>
|
||||
<option <?=$dx110[6];?> value=52500>D+</option>
|
||||
<option <?=$dx110[7];?> value=70000>C-</option>
|
||||
<option <?=$dx110[8];?> value=90000>C</option>
|
||||
<option <?=$dx110[9];?> value=112500>C+</option>
|
||||
<option <?=$dx110[10];?> value=137500>B-</option>
|
||||
<option <?=$dx110[11];?> value=165000>B</option>
|
||||
<option <?=$dx110[12];?> value=195000>B+</option>
|
||||
<option <?=$dx110[13];?> value=227500>A-</option>
|
||||
<option <?=$dx110[14];?> value=262500>A</option>
|
||||
<option <?=$dx110[15];?> value=300000>A+</option>
|
||||
<option <?=$dx110[16];?> value=340000>S</option>
|
||||
<option <?=$dx110[17];?> value=382500>SS</option>
|
||||
<option <?=$dx110[18];?> value=427500>SSS</option>
|
||||
<option <?=$dx110[0]?> value=0>F</option>
|
||||
<option <?=$dx110[1]?> value=2500>E-</option>
|
||||
<option <?=$dx110[2]?> value=7500>E</option>
|
||||
<option <?=$dx110[3]?> value=15000>E+</option>
|
||||
<option <?=$dx110[4]?> value=25000>D-</option>
|
||||
<option <?=$dx110[5]?> value=37500>D</option>
|
||||
<option <?=$dx110[6]?> value=52500>D+</option>
|
||||
<option <?=$dx110[7]?> value=70000>C-</option>
|
||||
<option <?=$dx110[8]?> value=90000>C</option>
|
||||
<option <?=$dx110[9]?> value=112500>C+</option>
|
||||
<option <?=$dx110[10]?> value=137500>B-</option>
|
||||
<option <?=$dx110[11]?> value=165000>B</option>
|
||||
<option <?=$dx110[12]?> value=195000>B+</option>
|
||||
<option <?=$dx110[13]?> value=227500>A-</option>
|
||||
<option <?=$dx110[14]?> value=262500>A</option>
|
||||
<option <?=$dx110[15]?> value=300000>A+</option>
|
||||
<option <?=$dx110[16]?> value=340000>S</option>
|
||||
<option <?=$dx110[17]?> value=382500>SS</option>
|
||||
<option <?=$dx110[18]?> value=427500>SSS</option>
|
||||
</select>
|
||||
기
|
||||
<select name=dex120 size=1>
|
||||
<option <?=$dx120[0];?> value=0>F</option>
|
||||
<option <?=$dx120[1];?> value=2500>E-</option>
|
||||
<option <?=$dx120[2];?> value=7500>E</option>
|
||||
<option <?=$dx120[3];?> value=15000>E+</option>
|
||||
<option <?=$dx120[4];?> value=25000>D-</option>
|
||||
<option <?=$dx120[5];?> value=37500>D</option>
|
||||
<option <?=$dx120[6];?> value=52500>D+</option>
|
||||
<option <?=$dx120[7];?> value=70000>C-</option>
|
||||
<option <?=$dx120[8];?> value=90000>C</option>
|
||||
<option <?=$dx120[9];?> value=112500>C+</option>
|
||||
<option <?=$dx120[10];?> value=137500>B-</option>
|
||||
<option <?=$dx120[11];?> value=165000>B</option>
|
||||
<option <?=$dx120[12];?> value=195000>B+</option>
|
||||
<option <?=$dx120[13];?> value=227500>A-</option>
|
||||
<option <?=$dx120[14];?> value=262500>A</option>
|
||||
<option <?=$dx120[15];?> value=300000>A+</option>
|
||||
<option <?=$dx120[16];?> value=340000>S</option>
|
||||
<option <?=$dx120[17];?> value=382500>SS</option>
|
||||
<option <?=$dx120[18];?> value=427500>SSS</option>
|
||||
<option <?=$dx120[0]?> value=0>F</option>
|
||||
<option <?=$dx120[1]?> value=2500>E-</option>
|
||||
<option <?=$dx120[2]?> value=7500>E</option>
|
||||
<option <?=$dx120[3]?> value=15000>E+</option>
|
||||
<option <?=$dx120[4]?> value=25000>D-</option>
|
||||
<option <?=$dx120[5]?> value=37500>D</option>
|
||||
<option <?=$dx120[6]?> value=52500>D+</option>
|
||||
<option <?=$dx120[7]?> value=70000>C-</option>
|
||||
<option <?=$dx120[8]?> value=90000>C</option>
|
||||
<option <?=$dx120[9]?> value=112500>C+</option>
|
||||
<option <?=$dx120[10]?> value=137500>B-</option>
|
||||
<option <?=$dx120[11]?> value=165000>B</option>
|
||||
<option <?=$dx120[12]?> value=195000>B+</option>
|
||||
<option <?=$dx120[13]?> value=227500>A-</option>
|
||||
<option <?=$dx120[14]?> value=262500>A</option>
|
||||
<option <?=$dx120[15]?> value=300000>A+</option>
|
||||
<option <?=$dx120[16]?> value=340000>S</option>
|
||||
<option <?=$dx120[17]?> value=382500>SS</option>
|
||||
<option <?=$dx120[18]?> value=427500>SSS</option>
|
||||
</select>
|
||||
귀
|
||||
<select name=dex130 size=1>
|
||||
<option <?=$dx130[0];?> value=0>F</option>
|
||||
<option <?=$dx130[1];?> value=2500>E-</option>
|
||||
<option <?=$dx130[2];?> value=7500>E</option>
|
||||
<option <?=$dx130[3];?> value=15000>E+</option>
|
||||
<option <?=$dx130[4];?> value=25000>D-</option>
|
||||
<option <?=$dx130[5];?> value=37500>D</option>
|
||||
<option <?=$dx130[6];?> value=52500>D+</option>
|
||||
<option <?=$dx130[7];?> value=70000>C-</option>
|
||||
<option <?=$dx130[8];?> value=90000>C</option>
|
||||
<option <?=$dx130[9];?> value=112500>C+</option>
|
||||
<option <?=$dx130[10];?> value=137500>B-</option>
|
||||
<option <?=$dx130[11];?> value=165000>B</option>
|
||||
<option <?=$dx130[12];?> value=195000>B+</option>
|
||||
<option <?=$dx130[13];?> value=227500>A-</option>
|
||||
<option <?=$dx130[14];?> value=262500>A</option>
|
||||
<option <?=$dx130[15];?> value=300000>A+</option>
|
||||
<option <?=$dx130[16];?> value=340000>S</option>
|
||||
<option <?=$dx130[17];?> value=382500>SS</option>
|
||||
<option <?=$dx130[18];?> value=427500>SSS</option>
|
||||
<option <?=$dx130[0]?> value=0>F</option>
|
||||
<option <?=$dx130[1]?> value=2500>E-</option>
|
||||
<option <?=$dx130[2]?> value=7500>E</option>
|
||||
<option <?=$dx130[3]?> value=15000>E+</option>
|
||||
<option <?=$dx130[4]?> value=25000>D-</option>
|
||||
<option <?=$dx130[5]?> value=37500>D</option>
|
||||
<option <?=$dx130[6]?> value=52500>D+</option>
|
||||
<option <?=$dx130[7]?> value=70000>C-</option>
|
||||
<option <?=$dx130[8]?> value=90000>C</option>
|
||||
<option <?=$dx130[9]?> value=112500>C+</option>
|
||||
<option <?=$dx130[10]?> value=137500>B-</option>
|
||||
<option <?=$dx130[11]?> value=165000>B</option>
|
||||
<option <?=$dx130[12]?> value=195000>B+</option>
|
||||
<option <?=$dx130[13]?> value=227500>A-</option>
|
||||
<option <?=$dx130[14]?> value=262500>A</option>
|
||||
<option <?=$dx130[15]?> value=300000>A+</option>
|
||||
<option <?=$dx130[16]?> value=340000>S</option>
|
||||
<option <?=$dx130[17]?> value=382500>SS</option>
|
||||
<option <?=$dx130[18]?> value=427500>SSS</option>
|
||||
</select>
|
||||
차
|
||||
<select name=dex140 size=1>
|
||||
<option <?=$dx140[0];?> value=0>F</option>
|
||||
<option <?=$dx140[1];?> value=2500>E-</option>
|
||||
<option <?=$dx140[2];?> value=7500>E</option>
|
||||
<option <?=$dx140[3];?> value=15000>E+</option>
|
||||
<option <?=$dx140[4];?> value=25000>D-</option>
|
||||
<option <?=$dx140[5];?> value=37500>D</option>
|
||||
<option <?=$dx140[6];?> value=52500>D+</option>
|
||||
<option <?=$dx140[7];?> value=70000>C-</option>
|
||||
<option <?=$dx140[8];?> value=90000>C</option>
|
||||
<option <?=$dx140[9];?> value=112500>C+</option>
|
||||
<option <?=$dx140[10];?> value=137500>B-</option>
|
||||
<option <?=$dx140[11];?> value=165000>B</option>
|
||||
<option <?=$dx140[12];?> value=195000>B+</option>
|
||||
<option <?=$dx140[13];?> value=227500>A-</option>
|
||||
<option <?=$dx140[14];?> value=262500>A</option>
|
||||
<option <?=$dx140[15];?> value=300000>A+</option>
|
||||
<option <?=$dx140[16];?> value=340000>S</option>
|
||||
<option <?=$dx140[17];?> value=382500>SS</option>
|
||||
<option <?=$dx140[18];?> value=427500>SSS</option>
|
||||
<option <?=$dx140[0]?> value=0>F</option>
|
||||
<option <?=$dx140[1]?> value=2500>E-</option>
|
||||
<option <?=$dx140[2]?> value=7500>E</option>
|
||||
<option <?=$dx140[3]?> value=15000>E+</option>
|
||||
<option <?=$dx140[4]?> value=25000>D-</option>
|
||||
<option <?=$dx140[5]?> value=37500>D</option>
|
||||
<option <?=$dx140[6]?> value=52500>D+</option>
|
||||
<option <?=$dx140[7]?> value=70000>C-</option>
|
||||
<option <?=$dx140[8]?> value=90000>C</option>
|
||||
<option <?=$dx140[9]?> value=112500>C+</option>
|
||||
<option <?=$dx140[10]?> value=137500>B-</option>
|
||||
<option <?=$dx140[11]?> value=165000>B</option>
|
||||
<option <?=$dx140[12]?> value=195000>B+</option>
|
||||
<option <?=$dx140[13]?> value=227500>A-</option>
|
||||
<option <?=$dx140[14]?> value=262500>A</option>
|
||||
<option <?=$dx140[15]?> value=300000>A+</option>
|
||||
<option <?=$dx140[16]?> value=340000>S</option>
|
||||
<option <?=$dx140[17]?> value=382500>SS</option>
|
||||
<option <?=$dx140[18]?> value=427500>SSS</option>
|
||||
</select>
|
||||
</td>
|
||||
<td>보
|
||||
<select name=dex20 size=1>
|
||||
<option <?=$dx20[0];?> value=0>F</option>
|
||||
<option <?=$dx20[1];?> value=2500>E-</option>
|
||||
<option <?=$dx20[2];?> value=7500>E</option>
|
||||
<option <?=$dx20[3];?> value=15000>E+</option>
|
||||
<option <?=$dx20[4];?> value=25000>D-</option>
|
||||
<option <?=$dx20[5];?> value=37500>D</option>
|
||||
<option <?=$dx20[6];?> value=52500>D+</option>
|
||||
<option <?=$dx20[7];?> value=70000>C-</option>
|
||||
<option <?=$dx20[8];?> value=90000>C</option>
|
||||
<option <?=$dx20[9];?> value=112500>C+</option>
|
||||
<option <?=$dx20[10];?> value=137500>B-</option>
|
||||
<option <?=$dx20[11];?> value=165000>B</option>
|
||||
<option <?=$dx20[12];?> value=195000>B+</option>
|
||||
<option <?=$dx20[13];?> value=227500>A-</option>
|
||||
<option <?=$dx20[14];?> value=262500>A</option>
|
||||
<option <?=$dx20[15];?> value=300000>A+</option>
|
||||
<option <?=$dx20[16];?> value=340000>S</option>
|
||||
<option <?=$dx20[17];?> value=382500>SS</option>
|
||||
<option <?=$dx20[18];?> value=427500>SSS</option>
|
||||
<option <?=$dx20[0]?> value=0>F</option>
|
||||
<option <?=$dx20[1]?> value=2500>E-</option>
|
||||
<option <?=$dx20[2]?> value=7500>E</option>
|
||||
<option <?=$dx20[3]?> value=15000>E+</option>
|
||||
<option <?=$dx20[4]?> value=25000>D-</option>
|
||||
<option <?=$dx20[5]?> value=37500>D</option>
|
||||
<option <?=$dx20[6]?> value=52500>D+</option>
|
||||
<option <?=$dx20[7]?> value=70000>C-</option>
|
||||
<option <?=$dx20[8]?> value=90000>C</option>
|
||||
<option <?=$dx20[9]?> value=112500>C+</option>
|
||||
<option <?=$dx20[10]?> value=137500>B-</option>
|
||||
<option <?=$dx20[11]?> value=165000>B</option>
|
||||
<option <?=$dx20[12]?> value=195000>B+</option>
|
||||
<option <?=$dx20[13]?> value=227500>A-</option>
|
||||
<option <?=$dx20[14]?> value=262500>A</option>
|
||||
<option <?=$dx20[15]?> value=300000>A+</option>
|
||||
<option <?=$dx20[16]?> value=340000>S</option>
|
||||
<option <?=$dx20[17]?> value=382500>SS</option>
|
||||
<option <?=$dx20[18]?> value=427500>SSS</option>
|
||||
</select>
|
||||
궁
|
||||
<select name=dex210 size=1>
|
||||
<option <?=$dx210[0];?> value=0>F</option>
|
||||
<option <?=$dx210[1];?> value=2500>E-</option>
|
||||
<option <?=$dx210[2];?> value=7500>E</option>
|
||||
<option <?=$dx210[3];?> value=15000>E+</option>
|
||||
<option <?=$dx210[4];?> value=25000>D-</option>
|
||||
<option <?=$dx210[5];?> value=37500>D</option>
|
||||
<option <?=$dx210[6];?> value=52500>D+</option>
|
||||
<option <?=$dx210[7];?> value=70000>C-</option>
|
||||
<option <?=$dx210[8];?> value=90000>C</option>
|
||||
<option <?=$dx210[9];?> value=112500>C+</option>
|
||||
<option <?=$dx210[10];?> value=137500>B-</option>
|
||||
<option <?=$dx210[11];?> value=165000>B</option>
|
||||
<option <?=$dx210[12];?> value=195000>B+</option>
|
||||
<option <?=$dx210[13];?> value=227500>A-</option>
|
||||
<option <?=$dx210[14];?> value=262500>A</option>
|
||||
<option <?=$dx210[15];?> value=300000>A+</option>
|
||||
<option <?=$dx210[16];?> value=340000>S</option>
|
||||
<option <?=$dx210[17];?> value=382500>SS</option>
|
||||
<option <?=$dx210[18];?> value=427500>SSS</option>
|
||||
<option <?=$dx210[0]?> value=0>F</option>
|
||||
<option <?=$dx210[1]?> value=2500>E-</option>
|
||||
<option <?=$dx210[2]?> value=7500>E</option>
|
||||
<option <?=$dx210[3]?> value=15000>E+</option>
|
||||
<option <?=$dx210[4]?> value=25000>D-</option>
|
||||
<option <?=$dx210[5]?> value=37500>D</option>
|
||||
<option <?=$dx210[6]?> value=52500>D+</option>
|
||||
<option <?=$dx210[7]?> value=70000>C-</option>
|
||||
<option <?=$dx210[8]?> value=90000>C</option>
|
||||
<option <?=$dx210[9]?> value=112500>C+</option>
|
||||
<option <?=$dx210[10]?> value=137500>B-</option>
|
||||
<option <?=$dx210[11]?> value=165000>B</option>
|
||||
<option <?=$dx210[12]?> value=195000>B+</option>
|
||||
<option <?=$dx210[13]?> value=227500>A-</option>
|
||||
<option <?=$dx210[14]?> value=262500>A</option>
|
||||
<option <?=$dx210[15]?> value=300000>A+</option>
|
||||
<option <?=$dx210[16]?> value=340000>S</option>
|
||||
<option <?=$dx210[17]?> value=382500>SS</option>
|
||||
<option <?=$dx210[18]?> value=427500>SSS</option>
|
||||
</select>
|
||||
기
|
||||
<select name=dex220 size=1>
|
||||
<option <?=$dx220[0];?> value=0>F</option>
|
||||
<option <?=$dx220[1];?> value=2500>E-</option>
|
||||
<option <?=$dx220[2];?> value=7500>E</option>
|
||||
<option <?=$dx220[3];?> value=15000>E+</option>
|
||||
<option <?=$dx220[4];?> value=25000>D-</option>
|
||||
<option <?=$dx220[5];?> value=37500>D</option>
|
||||
<option <?=$dx220[6];?> value=52500>D+</option>
|
||||
<option <?=$dx220[7];?> value=70000>C-</option>
|
||||
<option <?=$dx220[8];?> value=90000>C</option>
|
||||
<option <?=$dx220[9];?> value=112500>C+</option>
|
||||
<option <?=$dx220[10];?> value=137500>B-</option>
|
||||
<option <?=$dx220[11];?> value=165000>B</option>
|
||||
<option <?=$dx220[12];?> value=195000>B+</option>
|
||||
<option <?=$dx220[13];?> value=227500>A-</option>
|
||||
<option <?=$dx220[14];?> value=262500>A</option>
|
||||
<option <?=$dx220[15];?> value=300000>A+</option>
|
||||
<option <?=$dx220[16];?> value=340000>S</option>
|
||||
<option <?=$dx220[17];?> value=382500>SS</option>
|
||||
<option <?=$dx220[18];?> value=427500>SSS</option>
|
||||
<option <?=$dx220[0]?> value=0>F</option>
|
||||
<option <?=$dx220[1]?> value=2500>E-</option>
|
||||
<option <?=$dx220[2]?> value=7500>E</option>
|
||||
<option <?=$dx220[3]?> value=15000>E+</option>
|
||||
<option <?=$dx220[4]?> value=25000>D-</option>
|
||||
<option <?=$dx220[5]?> value=37500>D</option>
|
||||
<option <?=$dx220[6]?> value=52500>D+</option>
|
||||
<option <?=$dx220[7]?> value=70000>C-</option>
|
||||
<option <?=$dx220[8]?> value=90000>C</option>
|
||||
<option <?=$dx220[9]?> value=112500>C+</option>
|
||||
<option <?=$dx220[10]?> value=137500>B-</option>
|
||||
<option <?=$dx220[11]?> value=165000>B</option>
|
||||
<option <?=$dx220[12]?> value=195000>B+</option>
|
||||
<option <?=$dx220[13]?> value=227500>A-</option>
|
||||
<option <?=$dx220[14]?> value=262500>A</option>
|
||||
<option <?=$dx220[15]?> value=300000>A+</option>
|
||||
<option <?=$dx220[16]?> value=340000>S</option>
|
||||
<option <?=$dx220[17]?> value=382500>SS</option>
|
||||
<option <?=$dx220[18]?> value=427500>SSS</option>
|
||||
</select>
|
||||
귀
|
||||
<select name=dex230 size=1>
|
||||
<option <?=$dx230[0];?> value=0>F</option>
|
||||
<option <?=$dx230[1];?> value=2500>E-</option>
|
||||
<option <?=$dx230[2];?> value=7500>E</option>
|
||||
<option <?=$dx230[3];?> value=15000>E+</option>
|
||||
<option <?=$dx230[4];?> value=25000>D-</option>
|
||||
<option <?=$dx230[5];?> value=37500>D</option>
|
||||
<option <?=$dx230[6];?> value=52500>D+</option>
|
||||
<option <?=$dx230[7];?> value=70000>C-</option>
|
||||
<option <?=$dx230[8];?> value=90000>C</option>
|
||||
<option <?=$dx230[9];?> value=112500>C+</option>
|
||||
<option <?=$dx230[10];?> value=137500>B-</option>
|
||||
<option <?=$dx230[11];?> value=165000>B</option>
|
||||
<option <?=$dx230[12];?> value=195000>B+</option>
|
||||
<option <?=$dx230[13];?> value=227500>A-</option>
|
||||
<option <?=$dx230[14];?> value=262500>A</option>
|
||||
<option <?=$dx230[15];?> value=300000>A+</option>
|
||||
<option <?=$dx230[16];?> value=340000>S</option>
|
||||
<option <?=$dx230[17];?> value=382500>SS</option>
|
||||
<option <?=$dx230[18];?> value=427500>SSS</option>
|
||||
<option <?=$dx230[0]?> value=0>F</option>
|
||||
<option <?=$dx230[1]?> value=2500>E-</option>
|
||||
<option <?=$dx230[2]?> value=7500>E</option>
|
||||
<option <?=$dx230[3]?> value=15000>E+</option>
|
||||
<option <?=$dx230[4]?> value=25000>D-</option>
|
||||
<option <?=$dx230[5]?> value=37500>D</option>
|
||||
<option <?=$dx230[6]?> value=52500>D+</option>
|
||||
<option <?=$dx230[7]?> value=70000>C-</option>
|
||||
<option <?=$dx230[8]?> value=90000>C</option>
|
||||
<option <?=$dx230[9]?> value=112500>C+</option>
|
||||
<option <?=$dx230[10]?> value=137500>B-</option>
|
||||
<option <?=$dx230[11]?> value=165000>B</option>
|
||||
<option <?=$dx230[12]?> value=195000>B+</option>
|
||||
<option <?=$dx230[13]?> value=227500>A-</option>
|
||||
<option <?=$dx230[14]?> value=262500>A</option>
|
||||
<option <?=$dx230[15]?> value=300000>A+</option>
|
||||
<option <?=$dx230[16]?> value=340000>S</option>
|
||||
<option <?=$dx230[17]?> value=382500>SS</option>
|
||||
<option <?=$dx230[18]?> value=427500>SSS</option>
|
||||
</select>
|
||||
차
|
||||
<select name=dex240 size=1>
|
||||
<option <?=$dx240[0];?> value=0>F</option>
|
||||
<option <?=$dx240[1];?> value=2500>E-</option>
|
||||
<option <?=$dx240[2];?> value=7500>E</option>
|
||||
<option <?=$dx240[3];?> value=15000>E+</option>
|
||||
<option <?=$dx240[4];?> value=25000>D-</option>
|
||||
<option <?=$dx240[5];?> value=37500>D</option>
|
||||
<option <?=$dx240[6];?> value=52500>D+</option>
|
||||
<option <?=$dx240[7];?> value=70000>C-</option>
|
||||
<option <?=$dx240[8];?> value=90000>C</option>
|
||||
<option <?=$dx240[9];?> value=112500>C+</option>
|
||||
<option <?=$dx240[10];?> value=137500>B-</option>
|
||||
<option <?=$dx240[11];?> value=165000>B</option>
|
||||
<option <?=$dx240[12];?> value=195000>B+</option>
|
||||
<option <?=$dx240[13];?> value=227500>A-</option>
|
||||
<option <?=$dx240[14];?> value=262500>A</option>
|
||||
<option <?=$dx240[15];?> value=300000>A+</option>
|
||||
<option <?=$dx240[16];?> value=340000>S</option>
|
||||
<option <?=$dx240[17];?> value=382500>SS</option>
|
||||
<option <?=$dx240[18];?> value=427500>SSS</option>
|
||||
<option <?=$dx240[0]?> value=0>F</option>
|
||||
<option <?=$dx240[1]?> value=2500>E-</option>
|
||||
<option <?=$dx240[2]?> value=7500>E</option>
|
||||
<option <?=$dx240[3]?> value=15000>E+</option>
|
||||
<option <?=$dx240[4]?> value=25000>D-</option>
|
||||
<option <?=$dx240[5]?> value=37500>D</option>
|
||||
<option <?=$dx240[6]?> value=52500>D+</option>
|
||||
<option <?=$dx240[7]?> value=70000>C-</option>
|
||||
<option <?=$dx240[8]?> value=90000>C</option>
|
||||
<option <?=$dx240[9]?> value=112500>C+</option>
|
||||
<option <?=$dx240[10]?> value=137500>B-</option>
|
||||
<option <?=$dx240[11]?> value=165000>B</option>
|
||||
<option <?=$dx240[12]?> value=195000>B+</option>
|
||||
<option <?=$dx240[13]?> value=227500>A-</option>
|
||||
<option <?=$dx240[14]?> value=262500>A</option>
|
||||
<option <?=$dx240[15]?> value=300000>A+</option>
|
||||
<option <?=$dx240[16]?> value=340000>S</option>
|
||||
<option <?=$dx240[17]?> value=382500>SS</option>
|
||||
<option <?=$dx240[18]?> value=427500>SSS</option>
|
||||
</select>
|
||||
</td>
|
||||
<td>-</td>
|
||||
@@ -1529,11 +1567,11 @@ input { background-color:black;color:white; }
|
||||
<td>-</td>
|
||||
<td>
|
||||
<input type=submit name=isgen value=장수공격>
|
||||
<?='<input type=submit name=isgen value=장수평균>';?>
|
||||
<?='<input type=submit name=isgen value=장수평균>'?>
|
||||
</td>
|
||||
<td>
|
||||
<input type=submit name=isgen value=성벽공격>
|
||||
<?='<input type=submit name=isgen value=성벽평균>';?>
|
||||
<?='<input type=submit name=isgen value=성벽평균>'?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan=3>
|
||||
@@ -1605,7 +1643,7 @@ function printSimul($game, $i) {
|
||||
$ric = $game["ric{$i}"];
|
||||
echo "
|
||||
<tr>
|
||||
<td align=right>".getTypename($i)."</td>
|
||||
<td align=right>".GameUnitConst::byId($i)->name."</td>
|
||||
<td align=center>$att</td>
|
||||
<td align=center>$def</td>
|
||||
<td align=center>$spd</td>
|
||||
|
||||
+87
-49
@@ -4,20 +4,27 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("명장일람", 2);
|
||||
|
||||
$query = "select conlimit from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select con,turntime from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$query = "select con,turntime from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||
if ($con >= 2) {
|
||||
printLimitMsg($me['turntime']);
|
||||
exit();
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
@@ -25,7 +32,8 @@ if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>명장일람</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -43,13 +51,15 @@ if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||
</table>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<?php
|
||||
if(isset($btn) && $btn == "NPC 보기") {
|
||||
if (isset($btn) && $btn == "NPC 보기") {
|
||||
$sel = "npc>=2";
|
||||
} else {
|
||||
$sel = "npc<2";
|
||||
}
|
||||
|
||||
foreach(getAllNationStaticInfo() as $nation){
|
||||
$nationName = [];
|
||||
$nationColor = [];
|
||||
foreach (getAllNationStaticInfo() as $nation) {
|
||||
$nationName[$nation['nation']] = $nation['name'];
|
||||
$nationColor[$nation['nation']] = $nation['color'];
|
||||
}
|
||||
@@ -77,8 +87,15 @@ $type = array(
|
||||
"베 팅 수 익 금",
|
||||
"베 팅 수 익 률"
|
||||
);
|
||||
for($i=0; $i < 21; $i++) {
|
||||
switch($i) {
|
||||
|
||||
|
||||
for ($i=0; $i < 21; $i++) {
|
||||
$name = [];
|
||||
$data = [];
|
||||
$color = [];
|
||||
$pic = [];
|
||||
|
||||
switch ($i) {
|
||||
case 0: $query = "select nation,no,name,picture,imgsvr,experience as data from general where $sel order by data desc limit 0,10"; break;
|
||||
case 1: $query = "select nation,no,name,picture,imgsvr,dedication as data from general where $sel order by data desc limit 0,10"; break;
|
||||
case 2: $query = "select nation,no,name,picture,imgsvr,firenum as data from general where $sel order by data desc limit 0,10"; break;
|
||||
@@ -101,41 +118,45 @@ for($i=0; $i < 21; $i++) {
|
||||
case 19: $query = "select nation,no,name,picture,imgsvr,betwingold as data from general where $sel order by data desc limit 0,10"; break;
|
||||
case 20: $query = "select nation,no,name,picture,imgsvr,betwingold/betgold*10000 as data from general where $sel and betgold >= 1000 order by data desc limit 0,10"; break;
|
||||
}
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
|
||||
echo "
|
||||
<tr><td align=center colspan=10 id=bg1><font size=4>$type[$i]</font></td></tr>
|
||||
<tr align=center id=bg2><td>1위</td><td>2위</td><td>3위</td><td>4위</td><td>5위</td><td>6위</td><td>7위</td><td>8위</td><td>9위</td><td>10위</td></tr>
|
||||
<tr>";
|
||||
|
||||
for($k=0; $k < 10; $k++) {
|
||||
for ($k=0; $k < 10; $k++) {
|
||||
$gen = MYDB_fetch_array($result);
|
||||
|
||||
if($i != 2) {
|
||||
if(isset($gen)) {
|
||||
if ($i != 2) {
|
||||
if (isset($gen)) {
|
||||
$name[$k] = $gen['name'];
|
||||
$nation[$k] = $gen['nation'] == 0 ? "재야" : $nationName[$gen['nation']];
|
||||
$data[$k] = $gen['data'];
|
||||
$color[$k] = $gen['nation'] == 0 ? "#FFFFFF" : $nationColor[$gen['nation']];
|
||||
$pic[$k] = $gen['picture'];
|
||||
}else{
|
||||
} else {
|
||||
$name[$k] = "-";
|
||||
$nation[$k] = "-";
|
||||
$data[$k] = "-";
|
||||
$color[$k] = $_basecolor4;
|
||||
$color[$k] = GameConst::$basecolor4;
|
||||
$pic[$k] = "";
|
||||
}
|
||||
} else {
|
||||
$name[$k] = "???";
|
||||
$nation[$k] = "???";
|
||||
$data[$k] = $gen['data'];
|
||||
$color[$k] = $_basecolor4;
|
||||
$color[$k] = GameConst::$basecolor4;
|
||||
$gen['imgsvr'] = 0;
|
||||
$pic[$k] = "9999.jpg";
|
||||
}
|
||||
if($color[$k] == "") $color[$k] = $_basecolor4;
|
||||
if($nation[$k] == "") $nation[$k] = " ";
|
||||
if($pic[$k] == "") {
|
||||
if ($color[$k] == "") {
|
||||
$color[$k] = GameConst::$basecolor4;
|
||||
}
|
||||
if ($nation[$k] == "") {
|
||||
$nation[$k] = " ";
|
||||
}
|
||||
if ($pic[$k] == "") {
|
||||
echo "<td align=center> </td>";
|
||||
} else {
|
||||
$imageTemp = GetImageURL($gen['imgsvr']);
|
||||
@@ -145,21 +166,25 @@ for($i=0; $i < 21; $i++) {
|
||||
|
||||
echo "</tr><tr>";
|
||||
|
||||
for($k=0; $k < 10; $k++) {
|
||||
for ($k=0; $k < 10; $k++) {
|
||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$nation[$k]}</td>";
|
||||
}
|
||||
|
||||
echo "</tr><tr>";
|
||||
|
||||
for($k=0; $k < 10; $k++) {
|
||||
for ($k=0; $k < 10; $k++) {
|
||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$name[$k]}</td>";
|
||||
}
|
||||
|
||||
echo "</tr><tr>";
|
||||
|
||||
for($k=0; $k < 10; $k++) {
|
||||
if($i == 5 || $i == 7 || $i == 20) { $data[$k] = floor($data[$k]/100).".".($data[$k]%100)." %"; }
|
||||
if($i >= 13 && $i <= 16) { $data[$k] = floor($data[$k]/100).".".($data[$k]%100)." %"; }
|
||||
for ($k=0; $k < 10; $k++) {
|
||||
if ($i == 5 || $i == 7 || $i == 20) {
|
||||
$data[$k] = intdiv($data[$k], 100).".".($data[$k]%100)." %";
|
||||
}
|
||||
if ($i >= 13 && $i <= 16) {
|
||||
$data[$k] = intdiv($data[$k], 100).".".($data[$k]%100)." %";
|
||||
}
|
||||
echo "<td align=center>{$data[$k]}</td>";
|
||||
}
|
||||
echo "</tr><tr><td colspan=10 height=5 id=bg1></td></tr>";
|
||||
@@ -192,51 +217,60 @@ $func = array(
|
||||
"getItemName"
|
||||
);
|
||||
|
||||
for($i=0; $i < 4; $i++) {
|
||||
for ($i=0; $i < 4; $i++) {
|
||||
$name = [];
|
||||
$data = [];
|
||||
$color = [];
|
||||
$pic = [];
|
||||
|
||||
echo "
|
||||
<tr><td align=center colspan=10 id=bg1><font size=4>$type[$i]</font></td></tr>
|
||||
<tr align=center id=bg2>";
|
||||
for($k=26; $k > 16; $k--) {
|
||||
for ($k=26; $k > 16; $k--) {
|
||||
$str = $func[$i]($k);
|
||||
echo "<td>".$str."</td>";
|
||||
}
|
||||
|
||||
echo "</tr><tr>";
|
||||
|
||||
for($k=26; $k > 16; $k--) {
|
||||
for ($k=26; $k > 16; $k--) {
|
||||
$query = "select nation,no,name,picture,imgsvr from general where {$call[$i]}={$k}";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$gen = MYDB_fetch_array($result);
|
||||
if(isset($gen)) {
|
||||
if (isset($gen)) {
|
||||
$name[$k] = $gen['name'];
|
||||
$nation[$k] = $gen['nation'] == 0 ? "재야" : $nationName[$gen['nation']];
|
||||
$color[$k] = $gen['nation'] == 0 ? "#FFFFFF" : $nationColor[$gen['nation']];
|
||||
$pic[$k] = $gen['picture'];
|
||||
}else{
|
||||
} else {
|
||||
$name[$k] = "미발견";
|
||||
$nation[$k] = "-";
|
||||
$color[$k] = "";
|
||||
$pic[$k] = "";
|
||||
}
|
||||
if($color[$k] == "") $color[$k] = $_basecolor4;
|
||||
if($nation[$k] == "") $nation[$k] = " ";
|
||||
if($pic[$k] == "") {
|
||||
if ($color[$k] == "") {
|
||||
$color[$k] = GameConst::$basecolor4;
|
||||
}
|
||||
if ($nation[$k] == "") {
|
||||
$nation[$k] = " ";
|
||||
}
|
||||
if ($pic[$k] == "") {
|
||||
echo "<td align=center> </td>";
|
||||
} else {
|
||||
$imageTemp = GetImageURL($gen['imgsvr']);
|
||||
$imageTemp = GetImageURL($gen['imgsvr']??0);
|
||||
echo "<td align=center><img src={$imageTemp}/{$pic[$k]}></img></td>";
|
||||
}
|
||||
}
|
||||
|
||||
echo "</tr><tr>";
|
||||
|
||||
for($k=26; $k > 16; $k--) {
|
||||
for ($k=26; $k > 16; $k--) {
|
||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$nation[$k]}</td>";
|
||||
}
|
||||
|
||||
echo "</tr><tr>";
|
||||
|
||||
for($k=26; $k > 16; $k--) {
|
||||
for ($k=26; $k > 16; $k--) {
|
||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$name[$k]}</td>";
|
||||
}
|
||||
|
||||
@@ -244,47 +278,51 @@ for($i=0; $i < 4; $i++) {
|
||||
|
||||
echo "
|
||||
<tr align=center id=bg2>";
|
||||
for($k=16; $k > 6; $k--) {
|
||||
for ($k=16; $k > 6; $k--) {
|
||||
$str = $func[$i]($k);
|
||||
echo "<td>".$str."</td>";
|
||||
}
|
||||
|
||||
echo "</tr><tr>";
|
||||
|
||||
for($k=16; $k > 6; $k--) {
|
||||
for ($k=16; $k > 6; $k--) {
|
||||
$query = "select nation,no,name,picture,imgsvr from general where {$call[$i]}={$k}";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$gen = MYDB_fetch_array($result);
|
||||
if(isset($gen)) {
|
||||
if (isset($gen)) {
|
||||
$name[$k] = $gen['name'];
|
||||
$nation[$k] = $gen['nation'] == 0 ? "재야" : $nationName[$gen['nation']];
|
||||
$color[$k] = $gen['nation'] == 0 ? "#FFFFFF" : $nationColor[$gen['nation']];
|
||||
$pic[$k] = $gen['picture'];
|
||||
}else{
|
||||
} else {
|
||||
$name[$k] = "미발견";
|
||||
$nation[$k] = "-";
|
||||
$color[$k] = "";
|
||||
$pic[$k] = "";
|
||||
}
|
||||
if($color[$k] == "") $color[$k] = $_basecolor4;
|
||||
if($nation[$k] == "") $nation[$k] = " ";
|
||||
if($pic[$k] == "") {
|
||||
if ($color[$k] == "") {
|
||||
$color[$k] = GameConst::$basecolor4;
|
||||
}
|
||||
if ($nation[$k] == "") {
|
||||
$nation[$k] = " ";
|
||||
}
|
||||
if ($pic[$k] == "") {
|
||||
echo "<td align=center> </td>";
|
||||
} else {
|
||||
$imageTemp = GetImageURL($gen['imgsvr']);
|
||||
$imageTemp = GetImageURL($gen['imgsvr']??0);
|
||||
echo "<td align=center><img src={$imageTemp}/{$pic[$k]}></img></td>";
|
||||
}
|
||||
}
|
||||
|
||||
echo "</tr><tr>";
|
||||
|
||||
for($k=16; $k > 6; $k--) {
|
||||
for ($k=16; $k > 6; $k--) {
|
||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$nation[$k]}</td>";
|
||||
}
|
||||
|
||||
echo "</tr><tr>";
|
||||
|
||||
for($k=16; $k > 6; $k--) {
|
||||
for ($k=16; $k > 6; $k--) {
|
||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$name[$k]}</td>";
|
||||
}
|
||||
|
||||
|
||||
+12
-8
@@ -3,7 +3,12 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
$connect = dbConn();
|
||||
|
||||
$select = Util::getReq('select', 'int', 0);
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("왕조일람", 2);
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
@@ -12,7 +17,8 @@ increaseRefresh("왕조일람", 2);
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>왕조일람</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -25,12 +31,12 @@ increaseRefresh("왕조일람", 2);
|
||||
|
||||
<?php
|
||||
|
||||
if($select == 0) {
|
||||
if ($select == 0) {
|
||||
$query = "select * from emperior order by no desc";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$empcount = MYDB_num_rows($result);
|
||||
|
||||
for($i=0; $i < $empcount; $i++) {
|
||||
for ($i=0; $i < $empcount; $i++) {
|
||||
$emperior = MYDB_fetch_array($result);
|
||||
|
||||
echo "
|
||||
@@ -73,11 +79,9 @@ if($select == 0) {
|
||||
}
|
||||
} else {
|
||||
$query = "select * from emperior where no='$select'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$emperior = MYDB_fetch_array($result);
|
||||
|
||||
//background={$image}/{$emperior['l12pic']}
|
||||
|
||||
echo "
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style='font-size:13px;word-break:break-all;color:white;' id=bg0>
|
||||
<tr>
|
||||
|
||||
+12
-8
@@ -3,7 +3,12 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
$connect = dbConn();
|
||||
|
||||
$select = Util::getReq('select', 'int', 0);
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("왕조일람", 2);
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
@@ -12,7 +17,8 @@ increaseRefresh("왕조일람", 2);
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>왕조일람</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -25,12 +31,12 @@ increaseRefresh("왕조일람", 2);
|
||||
|
||||
<?php
|
||||
|
||||
if($select == 0) {
|
||||
if ($select == 0) {
|
||||
$query = "select * from emperior_table order by no desc";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$empcount = MYDB_num_rows($result);
|
||||
|
||||
for($i=0; $i < $empcount; $i++) {
|
||||
for ($i=0; $i < $empcount; $i++) {
|
||||
$emperior = MYDB_fetch_array($result);
|
||||
|
||||
echo "
|
||||
@@ -73,11 +79,9 @@ if($select == 0) {
|
||||
}
|
||||
} else {
|
||||
$query = "select * from emperior_table where no='$select'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$emperior = MYDB_fetch_array($result);
|
||||
|
||||
//background={$image}/{$emperior['l12pic']}
|
||||
|
||||
echo "
|
||||
<form action=a_emperior2.php method=post>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
|
||||
+16
-10
@@ -4,15 +4,19 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("장수일람", 2);
|
||||
|
||||
$query = "select conlimit from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select con,turntime from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select con,turntime from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -30,8 +34,9 @@ if(!isset($type) || $type == 0) {
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>장수일람</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<script type="text/javascript" src=<?="../e_lib/jquery-3.2.1.min.js";?>></script>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
<script type="text/javascript" src="../e_lib/jquery-3.2.1.min.js"></script>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -60,6 +65,8 @@ if(!isset($type) || $type == 0) {
|
||||
</td></tr>
|
||||
</table>
|
||||
<?php
|
||||
$nationname = [];
|
||||
$nationlevel = [];
|
||||
$nationname[0] = "-";
|
||||
foreach(getAllNationStaticInfo() as $nation){
|
||||
$nationname[$nation['nation']] = $nation['name'];
|
||||
@@ -123,9 +130,9 @@ for($j=0; $j < $gencount; $j++) {
|
||||
}
|
||||
|
||||
if($general['injury'] > 0) {
|
||||
$leader = floor($general['leader'] * (100 - $general['injury'])/100);
|
||||
$power = floor($general['power'] * (100 - $general['injury'])/100);
|
||||
$intel = floor($general['intel'] * (100 - $general['injury'])/100);
|
||||
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
||||
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
||||
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
||||
$leader = "<font color=red>{$leader}</font>{$lbonus}";
|
||||
$power = "<font color=red>{$power}</font>";
|
||||
$intel = "<font color=red>{$intel}</font>";
|
||||
@@ -139,7 +146,7 @@ for($j=0; $j < $gencount; $j++) {
|
||||
elseif($general['npc'] == 1) { $name = "<font color=skyblue>{$general['name']}</font>"; }
|
||||
else { $name = "{$general['name']}"; }
|
||||
|
||||
$general['connect'] = round($general['connect'] / 10, 0) * 10;
|
||||
$general['connect'] = Util::round($general['connect'] / 10) * 10;
|
||||
|
||||
$imageTemp = GetImageURL($general['imgsvr']);
|
||||
echo "
|
||||
@@ -165,7 +172,6 @@ echo "
|
||||
</table>
|
||||
";
|
||||
|
||||
MYDB_close($connect);
|
||||
?>
|
||||
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
|
||||
+37
-19
@@ -3,7 +3,10 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
$connect = dbConn();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("명예의전당", 2);
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
@@ -12,7 +15,8 @@ increaseRefresh("명예의전당", 2);
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>명예의 전당</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -45,51 +49,65 @@ $type = array(
|
||||
"베 팅 수 익 금",
|
||||
"베 팅 수 익 률"
|
||||
);
|
||||
for($i=0; $i < 21; $i++) {
|
||||
for ($i=0; $i < 21; $i++) {
|
||||
$name = [];
|
||||
$nation = [];
|
||||
$data = [];
|
||||
$color = [];
|
||||
$pic = [];
|
||||
|
||||
$query = "select * from hall where type={$i} order by rank";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
|
||||
echo "
|
||||
<tr><td align=center colspan=10 id=bg1><font size=4>$type[$i]</font></td></tr>
|
||||
<tr align=center id=bg2><td>1위</td><td>2위</td><td>3위</td><td>4위</td><td>5위</td><td>6위</td><td>7위</td><td>8위</td><td>9위</td><td>10위</td></tr>
|
||||
<tr>";
|
||||
|
||||
for($k=0; $k < 10; $k++) {
|
||||
for ($k=0; $k < 10; $k++) {
|
||||
$gen = MYDB_fetch_array($result);
|
||||
$name[$k] = $gen['name'];
|
||||
$nation[$k] = $gen['nation'];
|
||||
$data[$k] = $gen['data'];
|
||||
$color[$k] = $gen['color'];
|
||||
$pic[$k] = $gen['picture'];
|
||||
if($color[$k] == "") $color[$k] = $_basecolor4;
|
||||
if($nation[$k] == "") $nation[$k] = " ";
|
||||
/*
|
||||
if($pic[$k] == "") {
|
||||
echo "<td align=center> </td>";
|
||||
} else {
|
||||
$imageTemp = GetImageURL($gen['imgsvr']);
|
||||
echo "<td align=center><img src={$imageTemp}/{$pic[$k]}></img></td>";
|
||||
if ($color[$k] == "") {
|
||||
$color[$k] = GameConst::$basecolor4;
|
||||
}
|
||||
*/
|
||||
if ($nation[$k] == "") {
|
||||
$nation[$k] = " ";
|
||||
}
|
||||
/*
|
||||
if($pic[$k] == "") {
|
||||
echo "<td align=center> </td>";
|
||||
} else {
|
||||
$imageTemp = GetImageURL($gen['imgsvr']);
|
||||
echo "<td align=center><img src={$imageTemp}/{$pic[$k]}></img></td>";
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
// echo "</tr><tr>";
|
||||
|
||||
for($k=0; $k < 10; $k++) {
|
||||
for ($k=0; $k < 10; $k++) {
|
||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$nation[$k]}</td>";
|
||||
}
|
||||
|
||||
echo "</tr><tr>";
|
||||
|
||||
for($k=0; $k < 10; $k++) {
|
||||
for ($k=0; $k < 10; $k++) {
|
||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$name[$k]}</td>";
|
||||
}
|
||||
|
||||
echo "</tr><tr>";
|
||||
|
||||
for($k=0; $k < 10; $k++) {
|
||||
if($i == 5 || $i == 7 || $i == 20) { $data[$k] = floor($data[$k]/100).".".($data[$k]%100)." %"; }
|
||||
if($i >= 13 && $i <= 16) { $data[$k] = floor($data[$k]/100).".".($data[$k]%100)." %"; }
|
||||
for ($k=0; $k < 10; $k++) {
|
||||
if ($i == 5 || $i == 7 || $i == 20) {
|
||||
$data[$k] = intdiv($data[$k], 100).".".($data[$k]%100)." %";
|
||||
}
|
||||
if ($i >= 13 && $i <= 16) {
|
||||
$data[$k] = intdiv($data[$k], 100).".".($data[$k]%100)." %";
|
||||
}
|
||||
echo "<td align=center>{$data[$k]}</td>";
|
||||
}
|
||||
echo "</tr><tr><td colspan=10 height=5 id=bg1></td></tr>";
|
||||
|
||||
+39
-26
@@ -3,54 +3,66 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
$btn = Util::getReq('btn');
|
||||
$yearmonth = $_POST['yearmonth'];
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("연감", 5);
|
||||
|
||||
$query = "select startyear,year,month,conlimit from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select map,con,turntime from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$query = "select map,con,turntime from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||
if ($con >= 2) {
|
||||
printLimitMsg($me['turntime']);
|
||||
exit();
|
||||
}
|
||||
|
||||
$query = "select year,month from history order by no limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$history = MYDB_fetch_array($result);
|
||||
$s = ($history['year']*12) + $history['month'];
|
||||
|
||||
$query = "select year,month from history order by no desc limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$history = MYDB_fetch_array($result);
|
||||
$e = ($history['year']*12) + $history['month'];
|
||||
|
||||
if(!$yearmonth) {
|
||||
if (!$yearmonth) {
|
||||
$year = $admin['year'];
|
||||
$month = $admin['month'] - 1;
|
||||
} else {
|
||||
$year = substr($yearmonth, 0, 3) - 0;
|
||||
$month = substr($yearmonth, 3, 2) - 0;
|
||||
|
||||
if($btn == "◀◀ 이전달") {
|
||||
if ($btn == "◀◀ 이전달") {
|
||||
$month -= 1;
|
||||
} elseif($btn == "다음달 ▶▶") {
|
||||
} elseif ($btn == "다음달 ▶▶") {
|
||||
$month += 1;
|
||||
}
|
||||
}
|
||||
$now = ($year*12) + $month;
|
||||
|
||||
if($now < $s) { $now = $s; }
|
||||
if($now > $e) { $now = $e; }
|
||||
if ($now < $s) {
|
||||
$now = $s;
|
||||
}
|
||||
if ($now > $e) {
|
||||
$now = $e;
|
||||
}
|
||||
|
||||
$year = floor($now / 12);
|
||||
$year = intdiv($now, 12);
|
||||
$month = $now % 12;
|
||||
if($month <= 0) {
|
||||
if ($month <= 0) {
|
||||
$year -= 1;
|
||||
$month += 12;
|
||||
}
|
||||
@@ -62,7 +74,8 @@ if($month <= 0) {
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>연감</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -76,12 +89,12 @@ if($month <= 0) {
|
||||
<select name=yearmonth size=1>
|
||||
<?php
|
||||
$query = "select year,month from history";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$histCount = MYDB_num_rows($result);
|
||||
for($i=0; $i < $histCount; $i++) {
|
||||
for ($i=0; $i < $histCount; $i++) {
|
||||
$history = MYDB_fetch_array($result);
|
||||
$value = "".$history['year'].StringUtil::Fill2($history['month'], 2, "0");
|
||||
if($history['year'] == $year && $history['month'] == $month) {
|
||||
$value = "".$history['year'].StringUtil::padStringAlignRight($history['month'], 2, "0");
|
||||
if ($history['year'] == $year && $history['month'] == $month) {
|
||||
echo "
|
||||
<option selected value={$value}>{$history['year']}년 {$history['month']}월</option>";
|
||||
} else {
|
||||
@@ -91,7 +104,7 @@ for($i=0; $i < $histCount; $i++) {
|
||||
}
|
||||
|
||||
$query = "select log,genlog,nation,power,gen,city from history where year='$year' and month='$month'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$history = MYDB_fetch_array($result);
|
||||
?>
|
||||
</select>
|
||||
@@ -104,13 +117,13 @@ $history = MYDB_fetch_array($result);
|
||||
<tr><td colspan=5 align=center id=bg1>중 원 지 도</td></tr>
|
||||
<tr height=520>
|
||||
<td width=698>
|
||||
<iframe src='map_history.php?year=<?=$year;?>&month=<?=$month;?>' width=698 height=520 frameborder=0 marginwidth=0 marginheight=0 topmargin=0 scrolling=no>
|
||||
<iframe src='map_history.php?year=<?=$year?>&month=<?=$month?>' width=698 height=520 frameborder=0 marginwidth=0 marginheight=0 topmargin=0 scrolling=no>
|
||||
</iframe>
|
||||
</td>
|
||||
<td width=98 valign=top><?=$history['nation'];?></td>
|
||||
<td width=78 valign=top><?=$history['power'];?></td>
|
||||
<td width=58 valign=top><?=$history['gen'];?></td>
|
||||
<td width=58 valign=top><?=$history['city'];?></td>
|
||||
<td width=98 valign=top><?=$history['nation']?></td>
|
||||
<td width=78 valign=top><?=$history['power']?></td>
|
||||
<td width=58 valign=top><?=$history['gen']?></td>
|
||||
<td width=58 valign=top><?=$history['city']?></td>
|
||||
</tr>
|
||||
<tr><td colspan=5 align=center id=bg1>중 원 정 세</td></tr>
|
||||
<tr>
|
||||
|
||||
@@ -4,15 +4,19 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("세력일람", 2);
|
||||
|
||||
$query = "select conlimit from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select con,turntime from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select con,turntime from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -25,7 +29,8 @@ if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>세력일람</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
|
||||
+18
-11
@@ -3,12 +3,18 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
$connect = dbConn();
|
||||
|
||||
$type = Util::getReq('type', 'int', 1);
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("빙의일람", 2);
|
||||
|
||||
if($type == 0) {
|
||||
$type = 1;
|
||||
}
|
||||
$sel = [];
|
||||
$sel[$type] = "selected";
|
||||
|
||||
?>
|
||||
@@ -18,7 +24,8 @@ $sel[$type] = "selected";
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>빙의일람</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -27,19 +34,20 @@ $sel[$type] = "selected";
|
||||
<tr><td>빙 의 일 람<br><?=closeButton()?></td></tr>
|
||||
<tr><td><form name=form1 method=post>정렬순서 :
|
||||
<select name=type size=1>
|
||||
<option <?=$sel[1];?> value=1>이름</option>
|
||||
<option <?=$sel[2];?> value=2>국가</option>
|
||||
<option <?=$sel[3];?> value=3>종능</option>
|
||||
<option <?=$sel[4];?> value=4>통솔</option>
|
||||
<option <?=$sel[5];?> value=5>무력</option>
|
||||
<option <?=$sel[6];?> value=6>지력</option>
|
||||
<option <?=$sel[7];?> value=7>명성</option>
|
||||
<option <?=$sel[8];?> value=8>계급</option>
|
||||
<option <?=$sel[1]?> value=1>이름</option>
|
||||
<option <?=$sel[2]?> value=2>국가</option>
|
||||
<option <?=$sel[3]?> value=3>종능</option>
|
||||
<option <?=$sel[4]?> value=4>통솔</option>
|
||||
<option <?=$sel[5]?> value=5>무력</option>
|
||||
<option <?=$sel[6]?> value=6>지력</option>
|
||||
<option <?=$sel[7]?> value=7>명성</option>
|
||||
<option <?=$sel[8]?> value=8>계급</option>
|
||||
</select>
|
||||
<input type=submit value='정렬하기'></form>
|
||||
</td></tr>
|
||||
</table>
|
||||
<?php
|
||||
$nationname = [];
|
||||
$nationname[0] = "-";
|
||||
foreach(getAllNationStaticInfo() as $nation){
|
||||
$nationname[$nation['nation']] = $nation['name'];
|
||||
@@ -102,7 +110,6 @@ echo "
|
||||
</table>
|
||||
";
|
||||
|
||||
MYDB_close($connect);
|
||||
?>
|
||||
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
|
||||
+12
-6
@@ -4,16 +4,20 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("세력도", 2);
|
||||
checkTurn($connect);
|
||||
checkTurn();
|
||||
|
||||
$query = "select conlimit from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select map,con,turntime from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select map,con,turntime from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -27,6 +31,7 @@ if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>세력도</title>
|
||||
<script src="../e_lib/jquery-3.2.1.min.js"></script>
|
||||
<script src="../d_shared/common_path.js"></script>
|
||||
<script src="js/common.js"></script>
|
||||
<script src="js/base_map.js"></script>
|
||||
<script src="js/map.js"></script>
|
||||
@@ -40,6 +45,7 @@ $(function(){
|
||||
|
||||
});
|
||||
</script>
|
||||
<link href="../d_shared/common.css" red="stylesheet">
|
||||
<link href="css/normalize.css" rel="stylesheet">
|
||||
<link href="css/common.css" rel="stylesheet">
|
||||
<link href="css/map.css" rel="stylesheet">
|
||||
@@ -53,7 +59,7 @@ $(function(){
|
||||
<table align=center width=1200 height=520 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr height=520>
|
||||
<td width=498 valign=top>
|
||||
<?php AllLog(34); ?>
|
||||
<?php getGeneralPublicRecordRecent(34); ?>
|
||||
</td>
|
||||
<td width=698>
|
||||
<?=getMapHtml()?>
|
||||
@@ -61,7 +67,7 @@ $(function(){
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=2 valign=top>
|
||||
<?php History(34); ?>
|
||||
<?php getWorldHistoryRecent(34); ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
+107
-72
@@ -3,24 +3,26 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
$connect = dbConn();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("갱신정보", 2);
|
||||
|
||||
$query = "select year,month,refresh,maxrefresh,maxonline from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$game = MYDB_fetch_array($result);
|
||||
|
||||
$fp = @fopen("logs/_traffic.txt", "r");
|
||||
@fseek($fp, -1000, SEEK_END);
|
||||
$file = @fread($fp, 1000);
|
||||
@fclose($fp);
|
||||
$log = explode("\n",$file);
|
||||
$str = "";
|
||||
for($i=0; $i < $count; $i++) { $str .= ConvertLog($log[count($log)-2-$i])."<br>"; }
|
||||
echo $str;
|
||||
$log = [];
|
||||
|
||||
$date = [];
|
||||
$year = [];
|
||||
$month = [];
|
||||
$refresh = [];
|
||||
$online = [];
|
||||
|
||||
$curonline = getOnlineNum();
|
||||
for($i=0; $i < 11; $i++) {
|
||||
for ($i=0; $i < 11; $i++) {
|
||||
$parse = explode("|", $log[count($log)-12+$i]);
|
||||
$date[$i] = trim($parse[0]);
|
||||
$year[$i] = trim($parse[1]);
|
||||
@@ -28,17 +30,26 @@ for($i=0; $i < 11; $i++) {
|
||||
$refresh[$i] = trim($parse[3]);
|
||||
$online[$i] = trim($parse[4]);
|
||||
}
|
||||
if($game['maxrefresh'] == 0) { $game['maxrefresh'] = 1; }
|
||||
if($game['maxrefresh'] < $game['refresh']) { $game['maxrefresh'] = $game['refresh']; }
|
||||
if($game['maxonline'] == 0) { $game['maxonline'] = 1; }
|
||||
if($game['maxonline'] < $curonline) { $game['maxonline'] = $curonline; }
|
||||
if ($game['maxrefresh'] == 0) {
|
||||
$game['maxrefresh'] = 1;
|
||||
}
|
||||
if ($game['maxrefresh'] < $game['refresh']) {
|
||||
$game['maxrefresh'] = $game['refresh'];
|
||||
}
|
||||
if ($game['maxonline'] == 0) {
|
||||
$game['maxonline'] = 1;
|
||||
}
|
||||
if ($game['maxonline'] < $curonline) {
|
||||
$game['maxonline'] = $curonline;
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>트래픽정보</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
@@ -51,97 +62,119 @@ if($game['maxonline'] < $curonline) { $game['maxonline'] = $curonline; }
|
||||
<table align=center border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr><td colspan=4 align=center id=bg2><font size=5>접 속 량</font></td></tr>
|
||||
<?php
|
||||
for($i=0; $i < 11; $i++) {
|
||||
for ($i=0; $i < 11; $i++) {
|
||||
$w = round($refresh[$i] / $game['maxrefresh'] * 100, 1);
|
||||
if($w >= 100) { $w -= 0.1; }
|
||||
if($refresh[$i] < 10 && $w < 3) { $w = 3; }
|
||||
elseif($refresh[$i] < 100 && $w < 6) { $w = 6; }
|
||||
elseif($refresh[$i] < 1000 && $w < 9) { $w = 9; }
|
||||
if ($w >= 100) {
|
||||
$w -= 0.1;
|
||||
}
|
||||
if ($refresh[$i] < 10 && $w < 3) {
|
||||
$w = 3;
|
||||
} elseif ($refresh[$i] < 100 && $w < 6) {
|
||||
$w = 6;
|
||||
} elseif ($refresh[$i] < 1000 && $w < 9) {
|
||||
$w = 9;
|
||||
}
|
||||
$w2 = round(100 - $w, 1);
|
||||
$color = getColor($w);
|
||||
$dt = substr($date[$i], 11, 5);
|
||||
echo "
|
||||
$color = getTrafficColor($w);
|
||||
$dt = substr($date[$i], 11, 5); ?>
|
||||
<tr height=30>
|
||||
<td width=100 align=center>{$year[$i]}년 {$month[$i]}월</td>
|
||||
<td width=60 align=center id=bg2>{$dt}</td>
|
||||
<td width=100 align=center><?=$year[$i]?>년 <?=$month[$i]?>월</td>
|
||||
<td width=60 align=center id=bg2><?=$dt?></td>
|
||||
<td width=2 align=center id=bg1></td>
|
||||
<td width=320 align=center>
|
||||
<table align=center width=100% height=30 border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr>
|
||||
<td width={$w}% bgcolor={$color} align=right>{$refresh[$i]} </td>
|
||||
<td width={$w2}% id=bg0><font size=1> </font></td>
|
||||
<td width=<?=$w?>% bgcolor=<?=$color?> align=right><?=$refresh[$i]?> </td>
|
||||
<td width=<?=$w2?>% id=bg0><font size=1> </font></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
";
|
||||
<?php
|
||||
}
|
||||
$w = round($game['refresh'] / $game['maxrefresh'] * 100, 1);
|
||||
if($w >= 100) { $w -= 0.1; }
|
||||
if($game['refresh'] < 10 && $w < 3) { $w = 3; }
|
||||
elseif($game['refresh'] < 100 && $w < 6) { $w = 6; }
|
||||
elseif($game['refresh'] < 1000 && $w < 9) { $w = 9; }
|
||||
if ($w >= 100) {
|
||||
$w -= 0.1;
|
||||
}
|
||||
if ($game['refresh'] < 10 && $w < 3) {
|
||||
$w = 3;
|
||||
} elseif ($game['refresh'] < 100 && $w < 6) {
|
||||
$w = 6;
|
||||
} elseif ($game['refresh'] < 1000 && $w < 9) {
|
||||
$w = 9;
|
||||
}
|
||||
$w2 = round(100 - $w, 1);
|
||||
$color = getColor($w);
|
||||
$color = getTrafficColor($w);
|
||||
$dt = date('H:i');
|
||||
echo "
|
||||
?>
|
||||
<tr height=30>
|
||||
<td width=100 align=center>{$game['year']}년 {$game['month']}월</td>
|
||||
<td width=60 align=center id=bg2>{$dt}</td>
|
||||
<td width=100 align=center><?=$game['year']?>년 <?=$game['month']?>월</td>
|
||||
<td width=60 align=center id=bg2><?=$dt?></td>
|
||||
<td width=2 align=center id=bg1></td>
|
||||
<td width=320 align=center>
|
||||
<table align=center width=100% height=30 border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr>
|
||||
<td width={$w}% bgcolor={$color} align=right>{$game['refresh']} </td>
|
||||
<td width={$w2}% id=bg0><font size=1> </font></td>
|
||||
<td width=<?=$w?>% bgcolor=<?=$color?> align=right><?=$game['refresh']?> </td>
|
||||
<td width=<?=$w2?>% id=bg0><font size=1> </font></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan=4 height=5 align=center id=bg1></td></tr>
|
||||
<tr>
|
||||
<td colspan=4 height=30 align=center id=bg0>최고기록: {$game['maxrefresh']}</td>
|
||||
<td colspan=4 height=30 align=center id=bg0>최고기록: <?=$game['maxrefresh']?></td>
|
||||
</tr>
|
||||
";
|
||||
?>
|
||||
|
||||
|
||||
</table>
|
||||
</td>
|
||||
<td align=right>
|
||||
<table align=center border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr><td colspan=4 align=center id=bg2><font size=5>접 속 자</font></td></tr>
|
||||
<?php
|
||||
for($i=0; $i < 11; $i++) {
|
||||
for ($i=0; $i < 11; $i++) {
|
||||
$w = round($online[$i] / $game['maxonline'] * 100, 1);
|
||||
if($w >= 100) { $w -= 0.1; }
|
||||
if($online[$i] < 10 && $w < 3) { $w = 3; }
|
||||
elseif($online[$i] < 100 && $w < 6) { $w = 6; }
|
||||
elseif($online[$i] < 1000 && $w < 9) { $w = 9; }
|
||||
if ($w >= 100) {
|
||||
$w -= 0.1;
|
||||
}
|
||||
if ($online[$i] < 10 && $w < 3) {
|
||||
$w = 3;
|
||||
} elseif ($online[$i] < 100 && $w < 6) {
|
||||
$w = 6;
|
||||
} elseif ($online[$i] < 1000 && $w < 9) {
|
||||
$w = 9;
|
||||
}
|
||||
$w2 = round(100 - $w, 1);
|
||||
$color = getColor($w);
|
||||
$dt = substr($date[$i], 11, 5);
|
||||
echo "
|
||||
$color = getTrafficColor($w);
|
||||
$dt = substr($date[$i], 11, 5); ?>
|
||||
<tr height=30>
|
||||
<td width=100 align=center>{$year[$i]}년 {$month[$i]}월</td>
|
||||
<td width=60 align=center id=bg2>{$dt}</td>
|
||||
<td width=100 align=center><?=$year[$i]?>년 <?=$month[$i]?>월</td>
|
||||
<td width=60 align=center id=bg2><?=$dt?></td>
|
||||
<td width=2 align=center id=bg1></td>
|
||||
<td width=320 align=center>
|
||||
<table align=center width=100% height=30 border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr>
|
||||
<td width={$w}% bgcolor={$color} align=right>{$online[$i]} </td>
|
||||
<td width={$w2}% id=bg0><font size=1> </font></td>
|
||||
<td width=<?=$w?>% bgcolor=<?=$color?> align=right><?=$online[$i]?> </td>
|
||||
<td width=<?=$w2?>% id=bg0><font size=1> </font></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
";
|
||||
<?php
|
||||
}
|
||||
$w = round($curonline / $game['maxonline'] * 100, 1);
|
||||
if($w >= 100) { $w -= 0.1; }
|
||||
if($curonline < 10 && $w < 3) { $w = 3; }
|
||||
elseif($curonline < 100 && $w < 6) { $w = 6; }
|
||||
elseif($curonline < 1000 && $w < 9) { $w = 9; }
|
||||
if ($w >= 100) {
|
||||
$w -= 0.1;
|
||||
}
|
||||
if ($curonline < 10 && $w < 3) {
|
||||
$w = 3;
|
||||
} elseif ($curonline < 100 && $w < 6) {
|
||||
$w = 6;
|
||||
} elseif ($curonline < 1000 && $w < 9) {
|
||||
$w = 9;
|
||||
}
|
||||
$w2 = round(100 - $w, 1);
|
||||
$color = getColor($w);
|
||||
$color = getTrafficColor($w);
|
||||
$dt = date('H:i');
|
||||
echo "
|
||||
<tr height=30>
|
||||
@@ -171,14 +204,14 @@ echo "
|
||||
<tr><td colspan=3 align=center id=bg2><font size=5>주 의 대 상 자 (순간과도갱신)</font></td></tr>
|
||||
<?php
|
||||
$query = "select sum(refresh) as refresh,sum(connect) as connect from general";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$user = MYDB_fetch_array($result);
|
||||
$user['connect'] = round($user['connect'], 1);
|
||||
$maxrefresh = $user['refresh'];
|
||||
|
||||
$w = round($maxrefresh / $maxrefresh * 100, 1);
|
||||
$w2 = round(100 - $w, 1);
|
||||
$color = getColor($w);
|
||||
$color = getTrafficColor($w);
|
||||
echo "
|
||||
<tr id=bg2>
|
||||
<td width=98 align=center>주의대상자</td>
|
||||
@@ -200,14 +233,14 @@ echo "
|
||||
";
|
||||
|
||||
$query = "select name,refresh,connect from general order by refresh desc limit 0,5";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$count = MYDB_num_rows($result);
|
||||
for($i=0; $i < $count; $i++) {
|
||||
for ($i=0; $i < $count; $i++) {
|
||||
$user = MYDB_fetch_array($result);
|
||||
|
||||
$w = round($user['refresh'] / $maxrefresh * 100, 1);
|
||||
$w2 = round(100 - $w, 1);
|
||||
$color = getColor($w);
|
||||
$color = getTrafficColor($w);
|
||||
echo "
|
||||
<tr>
|
||||
<td width=98 align=center>{$user['name']}</td>
|
||||
@@ -235,26 +268,28 @@ for($i=0; $i < $count; $i++) {
|
||||
</html>
|
||||
|
||||
<?php
|
||||
function getColor($per) {
|
||||
function getTrafficColor($per)
|
||||
{
|
||||
$r = getHex($per);
|
||||
$b = getHex(100 - $per);
|
||||
$color = $r . "00" . $b;
|
||||
return $color;
|
||||
}
|
||||
|
||||
function getHex($dec) {
|
||||
$hex = floor($dec * 255 / 100);
|
||||
$code = getHexCode(floor($hex / 16));
|
||||
function getHex($dec)
|
||||
{
|
||||
$hex = intdiv($dec * 255, 100);
|
||||
$code = getHexCode(intdiv($hex, 16));
|
||||
$code .= getHexCode($hex % 16);
|
||||
return $code;
|
||||
}
|
||||
|
||||
function getHexCode($hex) {
|
||||
switch($hex) {
|
||||
function getHexCode($hex)
|
||||
{
|
||||
switch ($hex) {
|
||||
case 0: return "0"; case 1: return "1"; case 2: return "2"; case 3: return "3";
|
||||
case 4: return "4"; case 5: return "5"; case 6: return "6"; case 7: return "7";
|
||||
case 8: return "8"; case 9: return "9"; case 10: return "A"; case 11: return "B";
|
||||
case 12: return "C"; case 13: return "D"; case 14: return "E"; case 15: return "F";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+90
-62
@@ -3,19 +3,24 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
$connect = dbConn();
|
||||
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("설문조사", 1);
|
||||
|
||||
$query = "select no,vote from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$query = "select no,vote from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select develcost,voteopen,vote,votecomment from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$vote = explode("|", $admin['vote']);
|
||||
if($vote[0] == "") {
|
||||
if ($vote[0] == "") {
|
||||
$vote[0] = "-";
|
||||
}
|
||||
|
||||
@@ -25,7 +30,8 @@ if($vote[0] == "") {
|
||||
<head>
|
||||
<title>설문조사</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
<script type="text/javascript">
|
||||
function captureKey(e) {
|
||||
if(e.keyCode == 13 && e.srcElement.type == 'text') {
|
||||
@@ -43,10 +49,10 @@ function captureKey(e) {
|
||||
</table>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<form name=form1 action=c_vote.php method=post>
|
||||
<tr><td colspan=3 align=center id=bg2><font size=5>설 문 조 사 (<?=$admin['develcost']*5;?>금과 추첨으로 유니크템 증정!)</font></td></tr>
|
||||
<tr><td colspan=3 align=center id=bg2><font size=5>설 문 조 사 (<?=$admin['develcost']*5?>금과 추첨으로 유니크템 증정!)</font></td></tr>
|
||||
<?php
|
||||
|
||||
if(Session::getUserGrade() >= 5) {
|
||||
if ($session->userGrade >= 5) {
|
||||
echo "
|
||||
<tr>
|
||||
<td width=48 align=center><input type=submit name=btn value='알림'></td>
|
||||
@@ -65,29 +71,29 @@ echo "
|
||||
";
|
||||
|
||||
$query = "select no from general where vote>0 and npc<2";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$voteCount = MYDB_num_rows($result);
|
||||
|
||||
$query = "select no from general where npc<2";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$allCount = MYDB_num_rows($result);
|
||||
|
||||
$percentage = round($voteCount / $allCount * 100, 1);
|
||||
|
||||
$voteTypeCount = count($vote);
|
||||
for($i=1; $i < $voteTypeCount; $i++) {
|
||||
for ($i=1; $i < $voteTypeCount; $i++) {
|
||||
echo "
|
||||
<tr>
|
||||
<td width=48 align=center style=color:".getNewColor($i)."; bgcolor=".getColor($i).">{$i}.</td>
|
||||
<td width=48 align=center style=color:".getNewColor($i)."; bgcolor=".getVoteColor($i).">{$i}.</td>
|
||||
<td width=98 align=center>
|
||||
";
|
||||
if($me['vote'] == 0 && $me['no'] > 0) {
|
||||
if ($me['vote'] == 0 && $me['no'] > 0) {
|
||||
echo "
|
||||
<input type=radio name=sel value={$i}>
|
||||
";
|
||||
} elseif($admin['voteopen'] >= 1 || Session::getUserGrade() >= 5) {
|
||||
} elseif ($admin['voteopen'] >= 1 || $session->userGrade >= 5) {
|
||||
$query = "select no from general where vote='{$i}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$vCount = MYDB_num_rows($result);
|
||||
|
||||
$per = @round($vCount / $voteCount * 100, 1);
|
||||
@@ -106,7 +112,7 @@ for($i=1; $i < $voteTypeCount; $i++) {
|
||||
echo "
|
||||
<tr>
|
||||
";
|
||||
if($me['vote'] == 0 && $me['no'] > 0) {
|
||||
if ($me['vote'] == 0 && $me['no'] > 0) {
|
||||
echo "
|
||||
<td align=center>투표</td>
|
||||
<td align=center><input type=submit name=btn value='투표'></td>
|
||||
@@ -121,7 +127,7 @@ echo "
|
||||
</tr>
|
||||
";
|
||||
|
||||
if(Session::getUserGrade() >= 5) {
|
||||
if ($session->userGrade >= 5) {
|
||||
echo "
|
||||
<tr>
|
||||
<td align=center><input type=submit name=btn value='리셋'></td>
|
||||
@@ -131,7 +137,7 @@ if(Session::getUserGrade() >= 5) {
|
||||
";
|
||||
}
|
||||
|
||||
if($admin['votecomment'] != "") {
|
||||
if ($admin['votecomment'] != "") {
|
||||
$comment = explode("|", $admin['votecomment']);
|
||||
$commentCount = count($comment);
|
||||
} else {
|
||||
@@ -144,7 +150,7 @@ echo "
|
||||
<td colspan=4 align=center id=bg1>댓 글</td>
|
||||
</tr>
|
||||
";
|
||||
for($i=0; $i < $commentCount; $i++) {
|
||||
for ($i=0; $i < $commentCount; $i++) {
|
||||
$cmt = explode(":", $comment[$i]);
|
||||
$cmt[2] = Tag2Code($cmt[2]);
|
||||
$j = $i+1;
|
||||
@@ -157,7 +163,7 @@ for($i=0; $i < $commentCount; $i++) {
|
||||
</tr>
|
||||
";
|
||||
}
|
||||
if($me['no'] > 0) {
|
||||
if ($me['no'] > 0) {
|
||||
echo "
|
||||
<tr>
|
||||
<td width=108 colspan=2 align=center>-</td>
|
||||
@@ -173,7 +179,7 @@ if($me['no'] > 0) {
|
||||
<tr><td colspan=3 align=center id=bg2><font size=5>
|
||||
전 체 통 계
|
||||
<?php
|
||||
if(Session::getUserGrade() >= 5) {
|
||||
if ($session->userGrade >= 5) {
|
||||
echo "
|
||||
<input type=submit name=btn value='숨김'>
|
||||
<input type=submit name=btn value='전체통계만'>
|
||||
@@ -182,7 +188,7 @@ if(Session::getUserGrade() >= 5) {
|
||||
echo "
|
||||
</font></td></tr>";
|
||||
|
||||
if($admin['voteopen'] >= 1 || Session::getUserGrade() >= 5) {
|
||||
if ($admin['voteopen'] >= 1 || $session->userGrade >= 5) {
|
||||
echo "
|
||||
<tr>
|
||||
<td width=98 align=center>전 체</td>
|
||||
@@ -192,26 +198,43 @@ if($admin['voteopen'] >= 1 || Session::getUserGrade() >= 5) {
|
||||
<tr>
|
||||
";
|
||||
|
||||
$query = "select no from general where npc<2";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$memCount = MYDB_num_rows($result);
|
||||
|
||||
$query = "select nation,vote from general where npc<2";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$count = MYDB_num_rows($result);
|
||||
for($i=0; $i < $count; $i++) {
|
||||
$vote = MYDB_fetch_array($result);
|
||||
|
||||
$totalVote[$vote['vote']]++;
|
||||
if($vote['vote'] > 0) { $nationVoteCount[$vote['nation']]++; }
|
||||
$nationVote[$vote['nation']][$vote['vote']]++;
|
||||
$memCount = $db->queryFirstField('SELECT count(`no`) FROM general WHERE npc<2');
|
||||
if ($memCount == 0) {
|
||||
$memCount = 1;
|
||||
}
|
||||
|
||||
for($i=0; $i < $voteTypeCount; $i++) {
|
||||
$per = @round($totalVote[$i] / $memCount * 100, 1);
|
||||
$totalVote = [];
|
||||
$nationVoteCount = [[0]];
|
||||
$nationVote = [[]];
|
||||
|
||||
foreach ($db->query("SELECT nation, vote, count(`no`) as cnt FROM general WHERE npc<2 GROUP BY nation, vote") as $row) {
|
||||
$nation = $row['nation'];
|
||||
$vote = $row['vote'];
|
||||
$cnt = $row['cnt'];
|
||||
|
||||
if (!isset($totalVote[$vote])) {
|
||||
$totalVote[$vote] = 0;
|
||||
}
|
||||
|
||||
if (!isset($nationVoteCount[$nation])) {
|
||||
$nationVoteCount[$nation] = 0;
|
||||
$nationVote[$nation] = [];
|
||||
}
|
||||
|
||||
if (!isset($nationVote[$nation][$vote])) {
|
||||
$nationVote[$nation][$vote] = 0;
|
||||
}
|
||||
|
||||
$totalVote[$vote] += $cnt;
|
||||
$nationVoteCount[$nation] += $cnt;
|
||||
$nationVote[$nation][$vote] += $cnt;
|
||||
}
|
||||
|
||||
for ($i=0; $i < $voteTypeCount; $i++) {
|
||||
$per = round(($totalVote[$i]??0) / $memCount * 100, 1);
|
||||
// if($per < 5) { $vote['cnt'] = " "; }
|
||||
echo "
|
||||
<td width={$per}% align=center style=color:".getNewColor($i)."; bgcolor=".getColor($i).">{$totalVote[$i]}</td>
|
||||
<td width={$per}% align=center style=color:".getNewColor($i)."; bgcolor=".getVoteColor($i).">{$totalVote[$i]}</td>
|
||||
";
|
||||
}
|
||||
|
||||
@@ -223,13 +246,18 @@ if($admin['voteopen'] >= 1 || Session::getUserGrade() >= 5) {
|
||||
";
|
||||
}
|
||||
|
||||
if($admin['voteopen'] >= 2 || Session::getUserGrade() >= 5) {
|
||||
if ($admin['voteopen'] >= 2 || $session->userGrade >= 5) {
|
||||
$query = "select no from general where nation=0 and npc<2";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$memCount = MYDB_num_rows($result);
|
||||
if ($memCount == 0) {
|
||||
$memCount = 1;
|
||||
}
|
||||
|
||||
if(!$nationVoteCount[0]) { $nationVoteCount[0] = 0; }
|
||||
$percentage = @round($nationVoteCount[0] / $memCount * 100, 1);
|
||||
if (!isset($nationVoteCount[0])) {
|
||||
$nationVoteCount[0] = 0;
|
||||
}
|
||||
$percentage = round($nationVoteCount[0] / $memCount * 100, 1);
|
||||
|
||||
echo "
|
||||
<tr>
|
||||
@@ -240,11 +268,11 @@ if($admin['voteopen'] >= 2 || Session::getUserGrade() >= 5) {
|
||||
<tr>
|
||||
";
|
||||
|
||||
for($i=0; $i < $voteTypeCount; $i++) {
|
||||
$per = @round($nationVote[0][$i] / $memCount * 100, 1);
|
||||
for ($i=0; $i < $voteTypeCount; $i++) {
|
||||
$per = round(Util::array_get($nationVote[0][$i], 0) / $memCount * 100, 1);
|
||||
// if($per < 5) { $vote['cnt'] = " "; }
|
||||
echo "
|
||||
<td width={$per}% align=center style=color:".getNewColor($i)."; bgcolor=".getColor($i).">{$nationVote[0][$i]}</td>
|
||||
<td width={$per}% align=center style=color:".getNewColor($i)."; bgcolor=".getVoteColor($i).">{$nationVote[0][$i]}</td>
|
||||
";
|
||||
}
|
||||
|
||||
@@ -256,32 +284,32 @@ if($admin['voteopen'] >= 2 || Session::getUserGrade() >= 5) {
|
||||
";
|
||||
|
||||
$query = "select nation,color,name,gennum from nation order by gennum desc";
|
||||
$nationResult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$nationResult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$nationcount = MYDB_num_rows($nationResult);
|
||||
for($i=0; $i < $nationcount; $i++) {
|
||||
for ($i=0; $i < $nationcount; $i++) {
|
||||
$nation = MYDB_fetch_array($nationResult);
|
||||
|
||||
$query = "select no from general where nation='{$nation['nation']}' and npc<2";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$memCount = MYDB_num_rows($result);
|
||||
|
||||
if(!$nationVoteCount[$nation['nation']]) { $nationVoteCount[$nation['nation']] = 0; }
|
||||
$percentage = @round($nationVoteCount[$nation['nation']] / $memCount * 100, 1);
|
||||
$voteCount = $nationVoteCount[$nation['nation']] ?? 0;
|
||||
$percentage = round($voteCount / $memCount * 100, 1);
|
||||
|
||||
echo "
|
||||
<tr>
|
||||
<td align=center style=color:".newColor($nation['color'])."; bgcolor={$nation['color']}>{$nation['name']}</td>
|
||||
<td align=center>{$nationVoteCount[$nation['nation']]} / {$memCount} ({$percentage} %)</td>
|
||||
<td align=center>{$voteCount} / {$memCount} ({$percentage} %)</td>
|
||||
<td align=center>
|
||||
<table align=center width=100% height=100% border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr>
|
||||
";
|
||||
|
||||
for($k=0; $k < $voteTypeCount; $k++) {
|
||||
$per = @round($nationVote[$nation['nation']][$k] / $memCount * 100, 1);
|
||||
for ($k=0; $k < $voteTypeCount; $k++) {
|
||||
$per = round($nationVote[$nation['nation']][$k] / $memCount * 100, 1);
|
||||
// if($per < 5) { $vote['cnt'] = " "; }
|
||||
echo "
|
||||
<td width={$per}% align=center style=color:".getNewColor($k)."; bgcolor=".getColor($k).">{$nationVote[$nation['nation']][$k]}</td>
|
||||
<td width={$per}% align=center style=color:".getNewColor($k)."; bgcolor=".getVoteColor($k).">{$nationVote[$nation['nation']][$k]}</td>
|
||||
";
|
||||
}
|
||||
|
||||
@@ -305,12 +333,13 @@ if($admin['voteopen'] >= 2 || Session::getUserGrade() >= 5) {
|
||||
</html>
|
||||
|
||||
<?php
|
||||
function getColor($type) {
|
||||
if($type > 0) {
|
||||
function getVoteColor($type)
|
||||
{
|
||||
if ($type > 0) {
|
||||
$type = (($type - 1) % 7) + 1;
|
||||
}
|
||||
|
||||
switch($type) {
|
||||
switch ($type) {
|
||||
case 0: $color = "black"; break;
|
||||
case 1: $color = "red"; break;
|
||||
case 2: $color = "orange"; break;
|
||||
@@ -324,12 +353,13 @@ function getColor($type) {
|
||||
return $color;
|
||||
}
|
||||
|
||||
function getNewColor($type) {
|
||||
if($type > 0) {
|
||||
function getNewColor($type)
|
||||
{
|
||||
if ($type > 0) {
|
||||
$type = (($type - 1) % 7) + 1;
|
||||
}
|
||||
|
||||
switch($type) {
|
||||
switch ($type) {
|
||||
case 2: $color = "black"; break;
|
||||
case 3: $color = "black"; break;
|
||||
default:$color = "white"; break;
|
||||
@@ -337,5 +367,3 @@ function getNewColor($type) {
|
||||
|
||||
return $color;
|
||||
}
|
||||
|
||||
|
||||
|
||||
+81
-37
@@ -3,47 +3,63 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
$msg = Util::getReq('msg');
|
||||
$msg2 = Util::getReq('msg2');
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("거래장", 2);
|
||||
|
||||
$query = "select no,special,con,turntime from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$query = "select no,special,con,turntime from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select conlimit from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||
if ($con >= 2) {
|
||||
printLimitMsg($me['turntime']);
|
||||
exit();
|
||||
}
|
||||
|
||||
$query = "select no from auction where no1='{$me['no']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$tradeCount = MYDB_num_rows($result);
|
||||
|
||||
$query = "select no from auction where no2='{$me['no']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$bidCount = MYDB_num_rows($result);
|
||||
|
||||
$btCount = $tradeCount + $bidCount;
|
||||
|
||||
if(Session::getUserGrade() >= 5 || ($me['special'] != 30 && $btCount < 1) || ($me['special'] == 30 && $btCount < 3)) {
|
||||
if ($session->userGrade >= 5 || ($me['special'] != 30 && $btCount < 1) || ($me['special'] == 30 && $btCount < 3)) {
|
||||
$btn = "submit";
|
||||
} else {
|
||||
$btn = "hidden";
|
||||
}
|
||||
|
||||
if($msg == "") $msg = "-";
|
||||
if($msg2 == "") $msg2 = "-";
|
||||
if ($msg == "") {
|
||||
$msg = "-";
|
||||
}
|
||||
if ($msg2 == "") {
|
||||
$msg2 = "-";
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>거래장</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
@@ -69,21 +85,35 @@ if($msg2 == "") $msg2 = "-";
|
||||
</tr>
|
||||
<?php
|
||||
$query = "select * from auction where type=0 order by expire";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$count = MYDB_num_rows($result);
|
||||
|
||||
$chk = 0;
|
||||
for($i=0; $i < $count; $i++) {
|
||||
for ($i=0; $i < $count; $i++) {
|
||||
$auction = MYDB_fetch_array($result);
|
||||
$itemname = GetStuffName($auction['stuff']);
|
||||
$radio = ""; $alert = ""; $alert2 = "";
|
||||
if($auction['no1'] == $me['no']) { $radio = " disabled"; }
|
||||
elseif($auction['no2'] > 0 && $auction['amount'] * 2 <= $auction['value'] && $auction['stuff'] == 0) { $radio = " disabled"; $alert = "<font color=red>"; $alert2 = "</font>"; }
|
||||
elseif($auction['no2'] > 0 && $auction['topv'] <= $auction['value']) { $radio = " disabled"; $alert = "<font color=red>"; $alert2 = "</font>"; }
|
||||
elseif($chk == 0) { $radio = " checked"; $chk = 1; }
|
||||
$radio = "";
|
||||
$alert = "";
|
||||
$alert2 = "";
|
||||
if ($auction['no1'] == $me['no']) {
|
||||
$radio = " disabled";
|
||||
} elseif ($auction['no2'] > 0 && $auction['amount'] * 2 <= $auction['value'] && $auction['stuff'] == 0) {
|
||||
$radio = " disabled";
|
||||
$alert = "<font color=red>";
|
||||
$alert2 = "</font>";
|
||||
} elseif ($auction['no2'] > 0 && $auction['topv'] <= $auction['value']) {
|
||||
$radio = " disabled";
|
||||
$alert = "<font color=red>";
|
||||
$alert2 = "</font>";
|
||||
} elseif ($chk == 0) {
|
||||
$radio = " checked";
|
||||
$chk = 1;
|
||||
}
|
||||
$pv = round($auction['value'] * 100 / $auction['amount']) / 100 + 0.001;
|
||||
$pv = substr($pv, 0, 4);
|
||||
if($auction['stuff'] != 0) { $pv = '-'; }
|
||||
$pv = substr((string)$pv, 0, 4);
|
||||
if ($auction['stuff'] != 0) {
|
||||
$pv = '-';
|
||||
}
|
||||
echo "
|
||||
<tr align=center>
|
||||
<td>{$auction['no']}</td>
|
||||
@@ -103,13 +133,13 @@ for($i=0; $i < $count; $i++) {
|
||||
?>
|
||||
<tr height=25>
|
||||
<td align=center id=bg1>등록결과</td>
|
||||
<td colspan=10><?=ConvertLog($msg);?></td>
|
||||
<td colspan=10><?=ConvertLog($msg)?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=center id=bg1>입찰등록</td>
|
||||
<td colspan=10>
|
||||
지불할 금액: <input type=text style=color:white;background-color:black; size=6 maxlength=6 name=value>
|
||||
<input type=<?=$btn;?> name=btn value='구매시도' onclick='return confirm("정말 입찰하시겠습니까?");'>
|
||||
<input type=<?=$btn?> name=btn value='구매시도' onclick='return confirm("정말 입찰하시겠습니까?");'>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -122,7 +152,7 @@ for($i=0; $i < $count; $i++) {
|
||||
판매량: <input type=text style=color:white;background-color:black; size=5 maxlength=5 name=amount value=1000>
|
||||
시작가: <input type=text style=color:white;background-color:black; size=5 maxlength=5 name=cost value=500>
|
||||
즉구가: <input type=text style=color:white;background-color:black; size=5 maxlength=5 name=topv value=2000>
|
||||
<input type=<?=$btn;?> name=btn value='판매' onclick='return confirm("정말 판매하시겠습니까?");'>
|
||||
<input type=<?=$btn?> name=btn value='판매' onclick='return confirm("정말 판매하시겠습니까?");'>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -153,21 +183,35 @@ for($i=0; $i < $count; $i++) {
|
||||
</tr>
|
||||
<?php
|
||||
$query = "select * from auction where type=1 order by expire";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$count = MYDB_num_rows($result);
|
||||
|
||||
$chk = 0;
|
||||
for($i=0; $i < $count; $i++) {
|
||||
for ($i=0; $i < $count; $i++) {
|
||||
$auction = MYDB_fetch_array($result);
|
||||
$itemname = GetStuffName($auction['stuff']);
|
||||
$radio = ""; $alert = ""; $alert2 = "";
|
||||
if($auction['no1'] == $me['no']) { $radio = " disabled"; }
|
||||
elseif($auction['no2'] > 0 && $auction['amount'] >= $auction['value'] * 2 && $auction['stuff'] == 0) { $radio = " disabled"; $alert = "<font color=red>"; $alert2 = "</font>"; }
|
||||
elseif($auction['no2'] > 0 && $auction['topv'] >= $auction['value']) { $radio = " disabled"; $alert = "<font color=red>"; $alert2 = "</font>"; }
|
||||
elseif($chk == 0) { $radio = " checked"; $chk = 1; }
|
||||
$radio = "";
|
||||
$alert = "";
|
||||
$alert2 = "";
|
||||
if ($auction['no1'] == $me['no']) {
|
||||
$radio = " disabled";
|
||||
} elseif ($auction['no2'] > 0 && $auction['amount'] >= $auction['value'] * 2 && $auction['stuff'] == 0) {
|
||||
$radio = " disabled";
|
||||
$alert = "<font color=red>";
|
||||
$alert2 = "</font>";
|
||||
} elseif ($auction['no2'] > 0 && $auction['topv'] >= $auction['value']) {
|
||||
$radio = " disabled";
|
||||
$alert = "<font color=red>";
|
||||
$alert2 = "</font>";
|
||||
} elseif ($chk == 0) {
|
||||
$radio = " checked";
|
||||
$chk = 1;
|
||||
}
|
||||
$pv = round($auction['value'] * 100 / $auction['amount']) / 100 + 0.001;
|
||||
$pv = substr($pv, 0, 4);
|
||||
if($auction['stuff'] != 0) { $pv = '-'; }
|
||||
$pv = substr((string)$pv, 0, 4);
|
||||
if ($auction['stuff'] != 0) {
|
||||
$pv = '-';
|
||||
}
|
||||
echo "
|
||||
<tr align=center>
|
||||
<td>{$auction['no']}</td>
|
||||
@@ -187,13 +231,13 @@ for($i=0; $i < $count; $i++) {
|
||||
?>
|
||||
<tr height=25>
|
||||
<td align=center id=bg1>등록결과</td>
|
||||
<td colspan=10><?=ConvertLog($msg2);?></td>
|
||||
<td colspan=10><?=ConvertLog($msg2)?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=center id=bg1>입찰등록</td>
|
||||
<td colspan=10>
|
||||
수령할 금액: <input type=text style=color:white;background-color:black; size=6 maxlength=6 name=value>
|
||||
<input type=<?=$btn;?> name=btn value='판매시도' onclick='return confirm("정말 입찰하시겠습니까?");'>
|
||||
<input type=<?=$btn?> name=btn value='판매시도' onclick='return confirm("정말 입찰하시겠습니까?");'>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -206,7 +250,7 @@ for($i=0; $i < $count; $i++) {
|
||||
구입량: <input type=text style=color:white;background-color:black; size=5 maxlength=5 name=amount value=1000>
|
||||
시작가: <input type=text style=color:white;background-color:black; size=5 maxlength=5 name=cost value=2000>
|
||||
즉구가: <input type=text style=color:white;background-color:black; size=5 maxlength=5 name=topv value=500>
|
||||
<input type=<?=$btn;?> name=btn value='구매' onclick='return confirm("정말 구매하시겠습니까?");'>
|
||||
<input type=<?=$btn?> name=btn value='구매' onclick='return confirm("정말 구매하시겠습니까?");'>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -222,7 +266,7 @@ for($i=0; $i < $count; $i++) {
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr><td align=center id=bg2><font size=5>최 근 기 록</font></td></tr>
|
||||
<tr><td>
|
||||
<?=AuctionLog(20);?>
|
||||
<?=getAuctionLogRecent(20)?>
|
||||
</td></tr>
|
||||
<tr><td align=center id=bg2><font size=5>도 움 말</font></td></tr>
|
||||
<tr><td>
|
||||
|
||||
+42
-27
@@ -3,51 +3,65 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
$v = new Validator($_POST + $_GET);
|
||||
$v->rule('required', 'gen')
|
||||
->rule('integer', 'gen');
|
||||
|
||||
$gen = Util::getReq('gen', 'int');
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("감찰부", 2);
|
||||
//전투 추진을 위해 갱신
|
||||
checkTurn($connect);
|
||||
checkTurn();
|
||||
|
||||
$query = "select conlimit from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select nation from general where no='$gen'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$general = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,nation,level,con,turntime,belong from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$query = "select no,nation,level,con,turntime,belong from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select secretlimit from nation where nation='{$me['nation']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$nation = MYDB_fetch_array($result);
|
||||
|
||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||
if ($con >= 2) {
|
||||
printLimitMsg($me['turntime']);
|
||||
exit();
|
||||
}
|
||||
|
||||
//재야인 경우
|
||||
$meLevel = $me['level'];
|
||||
if($meLevel == 0 || ($meLevel == 1 && $me['belong'] < $nation['secretlimit'])) {
|
||||
if ($meLevel == 0 || ($meLevel == 1 && $me['belong'] < $nation['secretlimit'])) {
|
||||
echo "수뇌부가 아니거나 사관년도가 부족합니다.";
|
||||
exit();
|
||||
}
|
||||
|
||||
//잘못된 접근
|
||||
if($general['nation'] != $me['nation']) {
|
||||
if ($general['nation'] != $me['nation']) {
|
||||
$gen = 0;
|
||||
}
|
||||
|
||||
if($btn == '정렬하기') {
|
||||
if ($btn == '정렬하기') {
|
||||
$gen = 0;
|
||||
}
|
||||
|
||||
if($type == 0) {
|
||||
if ($type == 0) {
|
||||
$type = 0;
|
||||
}
|
||||
$sel = [];
|
||||
$sel[$type] = "selected";
|
||||
|
||||
?>
|
||||
@@ -57,7 +71,8 @@ $sel[$type] = "selected";
|
||||
<head>
|
||||
<title>감찰부</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -68,31 +83,31 @@ $sel[$type] = "selected";
|
||||
<form name=form1 method=post>
|
||||
정렬순서 :
|
||||
<select name=type size=1>
|
||||
<option <?=$sel[0];?> value=0>최근턴</option>
|
||||
<option <?=$sel[1];?> value=1>최근전투</option>
|
||||
<option <?=$sel[2];?> value=2>장수명</option>
|
||||
<option <?=$sel[3];?> value=3>전투수</option>
|
||||
<option <?=$sel[0]?> value=0>최근턴</option>
|
||||
<option <?=$sel[1]?> value=1>최근전투</option>
|
||||
<option <?=$sel[2]?> value=2>장수명</option>
|
||||
<option <?=$sel[3]?> value=3>전투수</option>
|
||||
</select>
|
||||
<input type=submit name=btn value='정렬하기'>
|
||||
대상장수 :
|
||||
<select name=gen size=1>
|
||||
<?php
|
||||
switch($type) {
|
||||
switch ($type) {
|
||||
case 0: $query = "select no,name from general where nation='{$me['nation']}' order by turntime desc"; break;
|
||||
case 1: $query = "select no,name from general where nation='{$me['nation']}' order by recwar desc"; break;
|
||||
case 2: $query = "select no,name from general where nation='{$me['nation']}' order by npc,binary(name)"; break;
|
||||
case 3: $query = "select no,name from general where nation='{$me['nation']}' order by warnum desc"; break;
|
||||
}
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$gencount = MYDB_num_rows($result);
|
||||
|
||||
for($i=0; $i < $gencount; $i++) {
|
||||
for ($i=0; $i < $gencount; $i++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
// 선택 없으면 맨 처음 장수
|
||||
if($gen == 0) {
|
||||
if ($gen == 0) {
|
||||
$gen = $general['no'];
|
||||
}
|
||||
if($gen == $general['no']) {
|
||||
if ($gen == $general['no']) {
|
||||
echo "
|
||||
<option selected value={$general['no']}>{$general['name']}</option>";
|
||||
} else {
|
||||
@@ -113,10 +128,10 @@ for($i=0; $i < $gencount; $i++) {
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign=top>
|
||||
<?php generalInfo($connect, $gen); generalInfo2($connect, $gen); ?>
|
||||
<?php generalInfo($gen); generalInfo2($gen); ?>
|
||||
</td>
|
||||
<td valign=top>
|
||||
<?php MyHistory($connect, $gen); ?>
|
||||
<?=getGeneralHistoryAll($gen)?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -125,10 +140,10 @@ for($i=0; $i < $gencount; $i++) {
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign=top>
|
||||
<?php MyBatLog($gen, 24); ?>
|
||||
<?=getBatLogRecent($gen, 24)?>
|
||||
</td>
|
||||
<td valign=top>
|
||||
<?php MyBatRes($gen, 24); ?>
|
||||
<?=getBatResRecent($gen, 24)?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
+148
-82
@@ -4,23 +4,30 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
increaseRefresh("베팅장", 1);
|
||||
checkTurn($connect);
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$query = "select no,tournament,con,turntime,bet0+bet1+bet2+bet3+bet4+bet5+bet6+bet7+bet8+bet9+bet10+bet11+bet12+bet13+bet14+bet15 as bet from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("베팅장", 1);
|
||||
checkTurn();
|
||||
|
||||
$query = "select no,tournament,con,turntime,bet0+bet1+bet2+bet3+bet4+bet5+bet6+bet7+bet8+bet9+bet10+bet11+bet12+bet13+bet14+bet15 as bet from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select conlimit,tournament,phase,tnmt_type,develcost,bet0,bet1,bet2,bet3,bet4,bet5,bet6,bet7,bet8,bet9,bet10,bet11,bet12,bet13,bet14,bet15,bet0+bet1+bet2+bet3+bet4+bet5+bet6+bet7+bet8+bet9+bet10+bet11+bet12+bet13+bet14+bet15 as bet from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||
if ($con >= 2) {
|
||||
printLimitMsg($me['turntime']);
|
||||
exit();
|
||||
}
|
||||
|
||||
switch($admin['tnmt_type']) {
|
||||
switch ($admin['tnmt_type']) {
|
||||
case 0: $tnmt_type = "<font color=cyan>전력전</font>"; $tp = "tot"; $tp2 = "종합"; $tp3 = "total"; break;
|
||||
case 1: $tnmt_type = "<font color=cyan>통솔전</font>"; $tp = "ldr"; $tp2 = "통솔"; $tp3 = "leader"; break;
|
||||
case 2: $tnmt_type = "<font color=cyan>일기토</font>"; $tp = "pwr"; $tp2 = "무력"; $tp3 = "power"; break;
|
||||
@@ -28,13 +35,15 @@ case 3: $tnmt_type = "<font color=cyan>설전</font>"; $tp = "itl"; $tp2 = "
|
||||
}
|
||||
|
||||
$str1 = getTournament($admin['tournament']);
|
||||
$str2 = getTournamentTime($connect);
|
||||
$str3 = getTournamentTerm($connect);
|
||||
$str2 = getTournamentTime();
|
||||
$str3 = getTournamentTerm();
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<?php if($con == 1) { MessageBox("접속제한이 얼마 남지 않았습니다!"); } ?>
|
||||
<?php if ($con == 1) {
|
||||
MessageBox("접속제한이 얼마 남지 않았습니다!");
|
||||
} ?>
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>베팅장</title>
|
||||
@@ -44,9 +53,9 @@ table { font-family:'맑은 고딕'; line-height:110%; }
|
||||
font { font-family:'맑은 고딕'; line-height:110%; }
|
||||
input { font-family:'맑은 고딕'; line-height:110%; height:20px }
|
||||
select { font-family:'굴림'; line-height:100%; }
|
||||
#bg0 { background-image:url(<?=$images;?>/back_walnut.jpg); }
|
||||
#bg1 { background-image:url(<?=$images;?>/back_green.jpg); }
|
||||
#bg2 { background-image:url(<?=$images;?>/back_blue.jpg); }
|
||||
#bg0 { background-image:url(<?=ServConfig::$gameImagePath?>/back_walnut.jpg); }
|
||||
#bg1 { background-image:url(<?=ServConfig::$gameImagePath?>/back_green.jpg); }
|
||||
#bg2 { background-image:url(<?=ServConfig::$gameImagePath?>/back_blue.jpg); }
|
||||
</style>
|
||||
|
||||
</head>
|
||||
@@ -57,20 +66,25 @@ select { font-family:'굴림'; line-height:100%; }
|
||||
</table>
|
||||
<table align=center width=1120 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:10;word-break:break-all; id=bg0>
|
||||
<tr><td colspan=16><input type=button value='갱신' onclick='location.reload()'></td></tr>
|
||||
<tr><td colspan=16 align=center><font color=white size=6><?=$tnmt_type;?> (<?=$str1.", ".$str2.", ".$str3;?>)</font></td></tr>
|
||||
<tr><td height=50 colspan=16 align=center id=bg2><font color=limegreen size=6>16강 상황</font><br><font color=orange size=3>(전체 금액 : <?=$admin['bet'];?> / 내 투자 금액 : <?=$me['bet'];?>)</font></td></tr>
|
||||
<tr><td colspan=16 align=center><font color=white size=6><?=$tnmt_type?> (<?=$str1.", ".$str2.", ".$str3?>)</font></td></tr>
|
||||
<tr><td height=50 colspan=16 align=center id=bg2><font color=limegreen size=6>16강 상황</font><br><font color=orange size=3>(전체 금액 : <?=$admin['bet']?> / 내 투자 금액 : <?=$me['bet']?>)</font></td></tr>
|
||||
</table>
|
||||
<table align=center width=1120 border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:10;word-break:break-all; id=bg0>
|
||||
<tr align=center><td height=10 colspan=16></td></tr>
|
||||
<tr align=center>
|
||||
<?php
|
||||
$query = "select npc,name,win from tournament where grp>=60 order by grp, grp_no";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
for($i=0; $i < 1; $i++) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
for ($i=0; $i < 1; $i++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
if($general['name'] == "") { $general['name'] = "-"; }
|
||||
if($general['npc'] >= 2) { $general['name'] = "<font color=cyan>".$general['name']."</font>"; }
|
||||
elseif($general['npc'] == 1) { $general['name'] = "<font color=skyblue>".$general['name']."</font>"; }
|
||||
if ($general['name'] == "") {
|
||||
$general['name'] = "-";
|
||||
}
|
||||
if ($general['npc'] >= 2) {
|
||||
$general['name'] = "<font color=cyan>".$general['name']."</font>";
|
||||
} elseif ($general['npc'] == 1) {
|
||||
$general['name'] = "<font color=skyblue>".$general['name']."</font>";
|
||||
}
|
||||
echo "<td colspan=16>{$general['name']}</td>";
|
||||
}
|
||||
|
||||
@@ -79,18 +93,31 @@ echo "
|
||||
<tr align=center>";
|
||||
|
||||
$query = "select npc,name,win from tournament where grp>=50 order by grp, grp_no";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
for($i=0; $i < 1; $i++) { $cent[$i] = "<font color=white>"; }
|
||||
for($i=0; $i < 2; $i++) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$cent = [];
|
||||
$line = [];
|
||||
for ($i=0; $i < 1; $i++) {
|
||||
$cent[$i] = "<font color=white>";
|
||||
}
|
||||
for ($i=0; $i < 2; $i++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
if($general['name'] == "") { $general['name'] = "-"; }
|
||||
if($general['npc'] >= 2) { $general['name'] = "<font color=cyan>".$general['name']."</font>"; }
|
||||
elseif($general['npc'] == 1) { $general['name'] = "<font color=skyblue>".$general['name']."</font>"; }
|
||||
if($general['win'] > 0) { $line[$i] = "<font color=red>"; $cent[floor($i/2)] = "<font color=red>"; }
|
||||
else { $line[$i] = "<font color=white>"; }
|
||||
if ($general['name'] == "") {
|
||||
$general['name'] = "-";
|
||||
}
|
||||
if ($general['npc'] >= 2) {
|
||||
$general['name'] = "<font color=cyan>".$general['name']."</font>";
|
||||
} elseif ($general['npc'] == 1) {
|
||||
$general['name'] = "<font color=skyblue>".$general['name']."</font>";
|
||||
}
|
||||
if ($general['win'] > 0) {
|
||||
$line[$i] = "<font color=red>";
|
||||
$cent[intdiv($i, 2)] = "<font color=red>";
|
||||
} else {
|
||||
$line[$i] = "<font color=white>";
|
||||
}
|
||||
$gen[$i] = $general['name'];
|
||||
}
|
||||
for($i=0; $i < 1; $i++) {
|
||||
for ($i=0; $i < 1; $i++) {
|
||||
$cent[$i] = $cent[$i]."┻"."</font>";
|
||||
$line[$i*2] = $line[$i*2]."┏━━━━━━━━━━━━━━━━━━━━━━━━━━━"."</font>";
|
||||
$line[$i*2+1] = $line[$i*2+1]."━━━━━━━━━━━━━━━━━━━━━━━━━━━┓"."</font>";
|
||||
@@ -100,7 +127,7 @@ echo "
|
||||
</tr>
|
||||
<tr align=center>";
|
||||
|
||||
for($i=0; $i < 2; $i++) {
|
||||
for ($i=0; $i < 2; $i++) {
|
||||
echo "<td colspan=8>{$gen[$i]}</td>";
|
||||
}
|
||||
|
||||
@@ -109,18 +136,29 @@ echo "
|
||||
<tr align=center>";
|
||||
|
||||
$query = "select npc,name,win from tournament where grp>=40 order by grp, grp_no";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
for($i=0; $i < 2; $i++) { $cent[$i] = "<font color=white>"; }
|
||||
for($i=0; $i < 4; $i++) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
for ($i=0; $i < 2; $i++) {
|
||||
$cent[$i] = "<font color=white>";
|
||||
}
|
||||
for ($i=0; $i < 4; $i++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
if($general['name'] == "") { $general['name'] = "-"; }
|
||||
if($general['npc'] >= 2) { $general['name'] = "<font color=cyan>".$general['name']."</font>"; }
|
||||
elseif($general['npc'] == 1) { $general['name'] = "<font color=skyblue>".$general['name']."</font>"; }
|
||||
if($general['win'] > 0) { $line[$i] = "<font color=red>"; $cent[floor($i/2)] = "<font color=red>"; }
|
||||
else { $line[$i] = "<font color=white>"; }
|
||||
if ($general['name'] == "") {
|
||||
$general['name'] = "-";
|
||||
}
|
||||
if ($general['npc'] >= 2) {
|
||||
$general['name'] = "<font color=cyan>".$general['name']."</font>";
|
||||
} elseif ($general['npc'] == 1) {
|
||||
$general['name'] = "<font color=skyblue>".$general['name']."</font>";
|
||||
}
|
||||
if ($general['win'] > 0) {
|
||||
$line[$i] = "<font color=red>";
|
||||
$cent[intdiv($i, 2)] = "<font color=red>";
|
||||
} else {
|
||||
$line[$i] = "<font color=white>";
|
||||
}
|
||||
$gen[$i] = $general['name'];
|
||||
}
|
||||
for($i=0; $i < 2; $i++) {
|
||||
for ($i=0; $i < 2; $i++) {
|
||||
$cent[$i] = $cent[$i]."┻"."</font>";
|
||||
$line[$i*2] = $line[$i*2]."┏━━━━━━━━━━━━━"."</font>";
|
||||
$line[$i*2+1] = $line[$i*2+1]."━━━━━━━━━━━━━┓"."</font>";
|
||||
@@ -130,7 +168,7 @@ echo "
|
||||
</tr>
|
||||
<tr align=center>";
|
||||
|
||||
for($i=0; $i < 4; $i++) {
|
||||
for ($i=0; $i < 4; $i++) {
|
||||
echo "<td colspan=4>{$gen[$i]}</td>";
|
||||
}
|
||||
|
||||
@@ -139,18 +177,29 @@ echo "
|
||||
<tr align=center>";
|
||||
|
||||
$query = "select npc,name,win from tournament where grp>=30 order by grp, grp_no";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
for($i=0; $i < 4; $i++) { $cent[$i] = "<font color=white>"; }
|
||||
for($i=0; $i < 8; $i++) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
for ($i=0; $i < 4; $i++) {
|
||||
$cent[$i] = "<font color=white>";
|
||||
}
|
||||
for ($i=0; $i < 8; $i++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
if($general['name'] == "") { $general['name'] = "-"; }
|
||||
if($general['npc'] >= 2) { $general['name'] = "<font color=cyan>".$general['name']."</font>"; }
|
||||
elseif($general['npc'] == 1) { $general['name'] = "<font color=skyblue>".$general['name']."</font>"; }
|
||||
if($general['win'] > 0) { $line[$i] = "<font color=red>"; $cent[floor($i/2)] = "<font color=red>"; }
|
||||
else { $line[$i] = "<font color=white>"; }
|
||||
if ($general['name'] == "") {
|
||||
$general['name'] = "-";
|
||||
}
|
||||
if ($general['npc'] >= 2) {
|
||||
$general['name'] = "<font color=cyan>".$general['name']."</font>";
|
||||
} elseif ($general['npc'] == 1) {
|
||||
$general['name'] = "<font color=skyblue>".$general['name']."</font>";
|
||||
}
|
||||
if ($general['win'] > 0) {
|
||||
$line[$i] = "<font color=red>";
|
||||
$cent[intdiv($i, 2)] = "<font color=red>";
|
||||
} else {
|
||||
$line[$i] = "<font color=white>";
|
||||
}
|
||||
$gen[$i] = $general['name'];
|
||||
}
|
||||
for($i=0; $i < 4; $i++) {
|
||||
for ($i=0; $i < 4; $i++) {
|
||||
$cent[$i] = $cent[$i]."┻"."</font>";
|
||||
$line[$i*2] = $line[$i*2]."┏━━━━━━"."</font>";
|
||||
$line[$i*2+1] = $line[$i*2+1]."━━━━━━┓"."</font>";
|
||||
@@ -160,7 +209,7 @@ echo "
|
||||
</tr>
|
||||
<tr align=center>";
|
||||
|
||||
for($i=0; $i < 8; $i++) {
|
||||
for ($i=0; $i < 8; $i++) {
|
||||
echo "<td colspan=2>{$gen[$i]}</td>";
|
||||
}
|
||||
|
||||
@@ -169,18 +218,29 @@ echo "
|
||||
<tr align=center>";
|
||||
|
||||
$query = "select npc,name,win from tournament where grp>=20 order by grp, grp_no";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
for($i=0; $i < 8; $i++) { $cent[$i] = "<font color=white>"; }
|
||||
for($i=0; $i < 16; $i++) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
for ($i=0; $i < 8; $i++) {
|
||||
$cent[$i] = "<font color=white>";
|
||||
}
|
||||
for ($i=0; $i < 16; $i++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
if($general['name'] == "") { $general['name'] = "-"; }
|
||||
if($general['npc'] >= 2) { $general['name'] = "<font color=cyan>".$general['name']."</font>"; }
|
||||
elseif($general['npc'] == 1) { $general['name'] = "<font color=skyblue>".$general['name']."</font>"; }
|
||||
if($general['win'] > 0) { $line[$i] = "<font color=red>"; $cent[floor($i/2)] = "<font color=red>"; }
|
||||
else { $line[$i] = "<font color=white>"; }
|
||||
if ($general['name'] == "") {
|
||||
$general['name'] = "-";
|
||||
}
|
||||
if ($general['npc'] >= 2) {
|
||||
$general['name'] = "<font color=cyan>".$general['name']."</font>";
|
||||
} elseif ($general['npc'] == 1) {
|
||||
$general['name'] = "<font color=skyblue>".$general['name']."</font>";
|
||||
}
|
||||
if ($general['win'] > 0) {
|
||||
$line[$i] = "<font color=red>";
|
||||
$cent[intdiv($i, 2)] = "<font color=red>";
|
||||
} else {
|
||||
$line[$i] = "<font color=white>";
|
||||
}
|
||||
$gen[$i] = $general['name'];
|
||||
}
|
||||
for($i=0; $i < 8; $i++) {
|
||||
for ($i=0; $i < 8; $i++) {
|
||||
$cent[$i] = $cent[$i]."┻"."</font>";
|
||||
$line[$i*2] = $line[$i*2]."┏━━"."</font>";
|
||||
$line[$i*2+1] = $line[$i*2+1]."━━┓"."</font>";
|
||||
@@ -190,24 +250,30 @@ echo "
|
||||
</tr>
|
||||
<tr align=center>";
|
||||
|
||||
for($i=0; $i < 16; $i++) {
|
||||
for ($i=0; $i < 16; $i++) {
|
||||
echo "<td width=70>{$gen[$i]}</td>";
|
||||
}
|
||||
|
||||
$query = "select bet0,bet1,bet2,bet3,bet4,bet5,bet6,bet7,bet8,bet9,bet10,bet11,bet12,bet13,bet14,bet15 from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$query = "select bet0,bet1,bet2,bet3,bet4,bet5,bet6,bet7,bet8,bet9,bet10,bet11,bet12,bet13,bet14,bet15 from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
for($i=0; $i < 16; $i++) {
|
||||
$myBet = [];
|
||||
$bet = [];
|
||||
$gold = [];
|
||||
|
||||
for ($i=0; $i < 16; $i++) {
|
||||
$myBet[$i] = $me["bet{$i}"];
|
||||
}
|
||||
|
||||
for($i=0; $i < 16; $i++) {
|
||||
for ($i=0; $i < 16; $i++) {
|
||||
$bet[$i] = @round($admin['bet'] / $admin["bet{$i}"], 2);
|
||||
if($bet[$i] == 0) { $bet[$i] = "∞"; }
|
||||
if ($bet[$i] == 0) {
|
||||
$bet[$i] = "∞";
|
||||
}
|
||||
}
|
||||
|
||||
for($i=0; $i < 16; $i++) {
|
||||
$gold[$i] = round($myBet[$i] * $bet[$i]);
|
||||
for ($i=0; $i < 16; $i++) {
|
||||
$gold[$i] = Util::round($myBet[$i] * $bet[$i]);
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
@@ -218,7 +284,7 @@ for($i=0; $i < 16; $i++) {
|
||||
echo "
|
||||
<tr align=center>";
|
||||
|
||||
for($i=0; $i < 16; $i++) {
|
||||
for ($i=0; $i < 16; $i++) {
|
||||
echo "<td width=70><font color=skyblue>{$bet[$i]}</font></td>";
|
||||
}
|
||||
?>
|
||||
@@ -229,7 +295,7 @@ for($i=0; $i < 16; $i++) {
|
||||
</tr>
|
||||
<tr align=center>
|
||||
<?php
|
||||
for($i=0; $i < 16; $i++) {
|
||||
for ($i=0; $i < 16; $i++) {
|
||||
echo "<td><font color=orange>{$myBet[$i]}</font></td>";
|
||||
}
|
||||
?>
|
||||
@@ -240,7 +306,7 @@ for($i=0; $i < 16; $i++) {
|
||||
</tr>
|
||||
<tr align=center>
|
||||
<?php
|
||||
for($i=0; $i < 16; $i++) {
|
||||
for ($i=0; $i < 16; $i++) {
|
||||
echo "<td><font color=cyan>{$gold[$i]}</font></td>";
|
||||
}
|
||||
|
||||
@@ -248,12 +314,12 @@ echo "
|
||||
</tr>
|
||||
<tr align=center><td height=10 colspan=16></td></tr>";
|
||||
|
||||
if($admin['tournament'] == 6) {
|
||||
if ($admin['tournament'] == 6) {
|
||||
echo "
|
||||
<form method=post action=c_betting.php>
|
||||
<tr align=center>";
|
||||
|
||||
for($i=0; $i < 16; $i++) {
|
||||
for ($i=0; $i < 16; $i++) {
|
||||
echo "
|
||||
<td>
|
||||
<select size=1 name=gold{$i} style=color:white;background-color:black;>
|
||||
@@ -272,7 +338,7 @@ if($admin['tournament'] == 6) {
|
||||
</tr>
|
||||
<tr align=center>";
|
||||
|
||||
for($i=0; $i < 16; $i++) {
|
||||
for ($i=0; $i < 16; $i++) {
|
||||
echo "
|
||||
<td><input type=submit name=btn{$i} value=베팅! style=width:100%;color:white;background-color:black;></td>";
|
||||
}
|
||||
@@ -297,12 +363,12 @@ if($admin['tournament'] == 6) {
|
||||
<tr align=center>
|
||||
<?php
|
||||
|
||||
$type1 = Array("전 력 전", "통 솔 전", "일 기 토", "설 전");
|
||||
$type2 = Array("종합", "통솔", "무력", "지력");
|
||||
$type3 = Array("tt", "tl", "tp", "ti");
|
||||
$type4 = Array("total", "leader", "power", "intel");
|
||||
$type1 = array("전 력 전", "통 솔 전", "일 기 토", "설 전");
|
||||
$type2 = array("종합", "통솔", "무력", "지력");
|
||||
$type3 = array("tt", "tl", "tp", "ti");
|
||||
$type4 = array("total", "leader", "power", "intel");
|
||||
|
||||
for($i=0; $i < 4; $i++) {
|
||||
for ($i=0; $i < 4; $i++) {
|
||||
$grp = $i;
|
||||
echo "
|
||||
<td>
|
||||
@@ -311,8 +377,8 @@ for($i=0; $i < 4; $i++) {
|
||||
<tr id=bg1><td align=center>순</td><td align=center>장수</td><td align=center>{$type2[$i]}</td><td align=center>경</td><td align=center>승</td><td align=center>무</td><td align=center>패</td><td align=center>점</td><td align=center>勝</td></tr>";
|
||||
|
||||
$query = "select npc,name,leader,power,intel,leader+power+intel as total,{$type3[$i]}p as prize,{$type3[$i]}w+{$type3[$i]}d+{$type3[$i]}l as game,{$type3[$i]}w as win,{$type3[$i]}d as draw,{$type3[$i]}l as lose,{$type3[$i]}g as gl from general order by gl desc, game desc, win desc, draw desc, lose, no limit 0,30";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
for($k=1; $k <= 30; $k++) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
for ($k=1; $k <= 30; $k++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
printRow($k, $general['npc'], $general['name'], $general[$type4[$i]], $general['game'], $general['win'], $general['draw'], $general['lose'], $general['gl'], $general['prize'], 0);
|
||||
}
|
||||
|
||||
+11
-6
@@ -4,11 +4,15 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("기밀실", 1);
|
||||
|
||||
$query = "select no,nation,level from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation,level from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -23,7 +27,8 @@ if($me['level'] < 5) {
|
||||
<head>
|
||||
<title>기밀실</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -44,7 +49,7 @@ if($me['level'] < 5) {
|
||||
</table>
|
||||
<br>
|
||||
<?php
|
||||
$nation = getNation($connect, $me['nation']);
|
||||
$nation = getNation($me['nation']);
|
||||
|
||||
//20개 메세지
|
||||
$index = $nation['coreindex'];
|
||||
@@ -53,7 +58,7 @@ for($i=0; $i < 20; $i++) {
|
||||
$query = "select name,picture,imgsvr from general where no='$nation[$who]'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
if($nation["coreboard{$index}"] != '') { msgprint($connect, $nation["coreboard{$index}"], $general['name'], $general['picture'], $general['imgsvr'], $nation["coreboard{$index}_when"], $index, 1); }
|
||||
if($nation["coreboard{$index}"] != '') { msgprint($nation["coreboard{$index}"], $general['name'], $general['picture'], $general['imgsvr'], $nation["coreboard{$index}_when"], $index, 1); }
|
||||
$index--;
|
||||
if($index < 0) { $index = 19; }
|
||||
}
|
||||
|
||||
+21
-9
@@ -4,15 +4,19 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("사령부", 1);
|
||||
|
||||
$query = "select conlimit from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,nation,level,con,turntime,belong from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation,level,con,turntime,belong from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -53,8 +57,10 @@ $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""
|
||||
$nation = MYDB_fetch_array($result);
|
||||
|
||||
$lv = getNationChiefLevel($nation['level']);
|
||||
$turn = [];
|
||||
$gen = [];
|
||||
for($i=12; $i >= $lv; $i--) {
|
||||
$turn[$i] = getCoreTurn($connect, $nation, $i);
|
||||
$turn[$i] = getCoreTurn($nation, $i);
|
||||
|
||||
$query = "select name,turntime,npc from general where level={$i} and nation='{$me['nation']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
@@ -67,7 +73,8 @@ for($i=12; $i >= $lv; $i--) {
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>사령부</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
<script type="text/javascript">
|
||||
function turn(type) {
|
||||
if(type == 0) location.replace('turn_push_core.php');
|
||||
@@ -88,6 +95,11 @@ function turn(type) {
|
||||
$year = $admin['year'];
|
||||
$month = $admin['month'];
|
||||
$date = substr(date('Y-m-d H:i:s'), 14);
|
||||
|
||||
$totaldate = [];
|
||||
$turntime = [];
|
||||
$turndate = [];
|
||||
|
||||
for($i=12; $i >= $lv; $i--) {
|
||||
$totaldate[$i] = $gen[$i]['turntime'];
|
||||
$turntime[$i] = substr($gen[$i]['turntime'], 14);
|
||||
@@ -153,11 +165,11 @@ for($k=0; $k < 2; $k++) {
|
||||
echo "<form action=processing.php method=post><tr><td colspan=5 align=right>";
|
||||
echo CoreTurnTable();
|
||||
echo "</td><td colspan=5>
|
||||
<input type={$btn2} style=background-color:$_basecolor2;color:white;width:58;font-size:13px; value='미루기▼' onclick='turn(0)'>
|
||||
<input type={$btn2} style=background-color:$_basecolor2;color:white;width:58;font-size:13px; value='▲당기기' onclick='turn(1)'>
|
||||
<input type={$btn2} style=background-color:".GameConst::$basecolor2.";color:white;width:58;font-size:13px; value='미루기▼' onclick='turn(0)'>
|
||||
<input type={$btn2} style=background-color:".GameConst::$basecolor2.";color:white;width:58;font-size:13px; value='▲당기기' onclick='turn(1)'>
|
||||
<br>";
|
||||
CoreCommandTable($connect);
|
||||
echo "<input type={$btn} style=background-color:$_basecolor2;color:white;width:55;font-size:13px; value='실 행'></td></tr></form>";
|
||||
CoreCommandTable();
|
||||
echo "<input type={$btn} style=background-color:".GameConst::$basecolor2.";color:white;width:55;font-size:13px; value='실 행'></td></tr></form>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+23
-17
@@ -4,11 +4,15 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("현재도시", 1);
|
||||
|
||||
$query = "select no,nation,level,city from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation,level,city from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -23,7 +27,7 @@ $myNation = MYDB_fetch_array($result);
|
||||
<head>
|
||||
<title>도시정보</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -49,7 +53,7 @@ if($me['level'] == 0) {
|
||||
echo "
|
||||
<option value={$city['city']}";
|
||||
if($city['city'] == $_REQUEST['citylist']) { echo " selected"; $valid = 1; }
|
||||
echo ">==================================================【".StringUtil::Fill($city['name'], 4, '_')."】";
|
||||
echo ">==================================================【".StringUtil::padString($city['name'], 4, '_')."】";
|
||||
if($city['nation'] == 0) echo "공백지";
|
||||
elseif($me['nation'] == $city['nation']) echo "본국==";
|
||||
else echo "타국==";
|
||||
@@ -65,7 +69,7 @@ if($me['level'] == 0) {
|
||||
echo "
|
||||
<option value={$city['city']}";
|
||||
if($city['city'] == $_REQUEST['citylist']) { echo " selected"; $valid = 1; }
|
||||
echo ">==================================================【".StringUtil::Fill($city['name'], 4, '_')."】";
|
||||
echo ">==================================================【".StringUtil::padString($city['name'], 4, '_')."】";
|
||||
if($city['nation'] == 0) echo "공백지";
|
||||
elseif($me['nation'] == $city['nation']) echo "본국==";
|
||||
else echo "타국==";
|
||||
@@ -82,7 +86,7 @@ if($me['level'] == 0) {
|
||||
echo "
|
||||
<option value={$city['city']}";
|
||||
if($city['city'] == $_REQUEST['citylist']) { echo " selected"; $valid = 1; }
|
||||
echo ">==================================================【".StringUtil::Fill($city['name'], 4, '_')."】";
|
||||
echo ">==================================================【".StringUtil::padString($city['name'], 4, '_')."】";
|
||||
if($city['nation'] == 0) echo "공백지";
|
||||
elseif($me['nation'] == $city['nation']) echo "본국==";
|
||||
else echo "타국==";
|
||||
@@ -93,9 +97,9 @@ if($me['level'] == 0) {
|
||||
if($myNation['level'] > 0) {
|
||||
// 첩보도시도 목록에 추가
|
||||
$where = 'city=0';
|
||||
$citys = explode("|", $myNation['spy']);
|
||||
for($i=0; $i < count($citys); $i++) {
|
||||
$city = floor($citys[$i]/10);
|
||||
$cities = array_map('intval',explode("|", $myNation['spy']));
|
||||
foreach($cities as $citySpy) {
|
||||
$city = intdiv($citySpy, 10);
|
||||
$where .= " or city='{$city}'";
|
||||
}
|
||||
|
||||
@@ -108,7 +112,7 @@ if($myNation['level'] > 0) {
|
||||
echo "
|
||||
<option value={$city['city']}";
|
||||
if($city['city'] == $_REQUEST['citylist']) { echo " selected"; $valid = 1; }
|
||||
echo ">==================================================【".StringUtil::Fill($city['name'], 4, '_')."】";
|
||||
echo ">==================================================【".StringUtil::padString($city['name'], 4, '_')."】";
|
||||
if($city['nation'] == 0) echo "공백지";
|
||||
elseif($me['nation'] == $city['nation']) echo "본국==";
|
||||
else echo "타국==";
|
||||
@@ -128,7 +132,7 @@ echo "
|
||||
<br>";
|
||||
|
||||
// 첩보된 도시까지만 허용
|
||||
if($valid == 0 && Session::getUserGrade() < 5) {
|
||||
if($valid == 0 && $session->userGrade < 5) {
|
||||
$_REQUEST['citylist'] = $me['city'];
|
||||
}
|
||||
|
||||
@@ -213,6 +217,8 @@ $query = "select npc,mode,no,picture,imgsvr,name,injury,leader,power,intel,level
|
||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$gencount = MYDB_num_rows($genresult);
|
||||
|
||||
$nationname = [];
|
||||
$nationlevel = [];
|
||||
foreach(getAllNationStaticInfo() as $nation){
|
||||
$nationname[$nation['nation']] = $nation['name'];
|
||||
$nationlevel[$nation['nation']] = $nation['level'];
|
||||
@@ -255,9 +261,9 @@ for($j=0; $j < $gencount; $j++) {
|
||||
}
|
||||
|
||||
if($general['injury'] > 0) {
|
||||
$leader = floor($general['leader'] * (100 - $general['injury'])/100);
|
||||
$power = floor($general['power'] * (100 - $general['injury'])/100);
|
||||
$intel = floor($general['intel'] * (100 - $general['injury'])/100);
|
||||
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
||||
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
||||
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
||||
$leader = "<font color=red>{$leader}</font>{$lbonus}";
|
||||
$power = "<font color=red>{$power}</font>";
|
||||
$intel = "<font color=red>{$intel}</font>";
|
||||
@@ -279,7 +285,7 @@ for($j=0; $j < $gencount; $j++) {
|
||||
<td align=center>$intel</td>
|
||||
<td align=center>".getLevel($general['level'])."</td>";
|
||||
//아국장수이거나 보는 사람이 운영자일때 보여줌
|
||||
if(($general['nation'] != 0 && $general['nation'] == $myNation['nation']) || Session::getUserGrade() >= 5) {
|
||||
if(($general['nation'] != 0 && $general['nation'] == $myNation['nation']) || $session->userGrade >= 5) {
|
||||
switch($general['mode']) {
|
||||
case 0: $mode = "×"; break;
|
||||
case 1: $mode = "○"; break;
|
||||
@@ -299,7 +305,7 @@ for($j=0; $j < $gencount; $j++) {
|
||||
echo "
|
||||
<td>
|
||||
<font size=1>";
|
||||
$turn = getTurn($connect, $general, 1);
|
||||
$turn = getTurn($general, 1);
|
||||
|
||||
for($i=0; $i < 4; $i++) {
|
||||
$k = $i+1;
|
||||
|
||||
+73
-52
@@ -4,32 +4,44 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("내무부", 1);
|
||||
|
||||
$query = "select conlimit from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,nation,level,con,turntime,belong from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$query = "select no,nation,level,con,turntime,belong from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select secretlimit from nation where nation='{$me['nation']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$nation = MYDB_fetch_array($result);
|
||||
|
||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||
if ($con >= 2) {
|
||||
printLimitMsg($me['turntime']);
|
||||
exit();
|
||||
}
|
||||
|
||||
if($me['level'] == 0 || ($me['level'] == 1 && $me['belong'] < $nation['secretlimit'])) {
|
||||
if ($me['level'] == 0 || ($me['level'] == 1 && $me['belong'] < $nation['secretlimit'])) {
|
||||
echo "수뇌부가 아니거나 사관년도가 부족합니다.";
|
||||
exit();
|
||||
}
|
||||
|
||||
if($me['level'] >= 5) { $btn = "submit"; $read = ""; }
|
||||
else { $btn = "hidden"; $read = "readonly"; }
|
||||
if ($me['level'] >= 5) {
|
||||
$btn = "submit";
|
||||
$read = "";
|
||||
} else {
|
||||
$btn = "hidden";
|
||||
$read = "readonly";
|
||||
}
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
@@ -37,7 +49,8 @@ else { $btn = "hidden"; $read = "readonly"; }
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>내무부</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -59,20 +72,20 @@ else { $btn = "hidden"; $read = "readonly"; }
|
||||
</tr>
|
||||
<?php
|
||||
$query = "select year,month from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select nation,name,color,power,gennum from nation order by power desc";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$nationcount = MYDB_num_rows($result);
|
||||
for($i=0; $i < $nationcount; $i++) {
|
||||
for ($i=0; $i < $nationcount; $i++) {
|
||||
$nation = MYDB_fetch_array($result);
|
||||
|
||||
// 아국표시
|
||||
if($nation['nation'] == $me['nation']) {
|
||||
if ($nation['nation'] == $me['nation']) {
|
||||
//속령수
|
||||
$query = "select city from city where nation='{$nation['nation']}'";
|
||||
$result2 = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result2 = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$citycount = MYDB_num_rows($result2);
|
||||
echo "
|
||||
<tr>
|
||||
@@ -90,17 +103,17 @@ for($i=0; $i < $nationcount; $i++) {
|
||||
}
|
||||
|
||||
$query = "select state,term,fixed,reserved,showing from diplomacy where me='{$me['nation']}' and you='{$nation['nation']}'";
|
||||
$result2 = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result2 = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$dip = MYDB_fetch_array($result2);
|
||||
|
||||
$query = "select reserved,showing from diplomacy where you='{$me['nation']}' and me='{$nation['nation']}'";
|
||||
$result2 = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result2 = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$dip2 = MYDB_fetch_array($result2);
|
||||
//속령수
|
||||
$query = "select city from city where nation='{$nation['nation']}'";
|
||||
$result2 = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result2 = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$citycount = MYDB_num_rows($result2);
|
||||
switch($dip['state']) {
|
||||
switch ($dip['state']) {
|
||||
case 0: $state = "<font color=red>교 전</font>"; break;
|
||||
case 1: $state = "<font color=magenta>선포중</font>"; break;
|
||||
case 2: $state = "통 상"; break;
|
||||
@@ -112,40 +125,42 @@ for($i=0; $i < $nationcount; $i++) {
|
||||
}
|
||||
|
||||
$term = $admin['year'] * 12 + $admin['month'] + $dip['term'];
|
||||
$year = floor($term / 12);
|
||||
$year = intdiv($term, 12);
|
||||
$month = $term % 12;
|
||||
|
||||
if($month == 0) {
|
||||
if ($month == 0) {
|
||||
$month = 12;
|
||||
$year--;
|
||||
}
|
||||
|
||||
$date = date('Y-m-d H:i:s');
|
||||
$note = "";
|
||||
if($dip['fixed'] != "") {
|
||||
if($dip['state'] == 7) {
|
||||
if ($dip['fixed'] != "") {
|
||||
if ($dip['state'] == 7) {
|
||||
$note .= $dip['fixed'];
|
||||
} else {
|
||||
$note .= "<font color=gray>{$dip['fixed']}</font>";
|
||||
}
|
||||
if($dip['reserved'] != "" || $dip2['reserved'] != "") {
|
||||
if ($dip['reserved'] != "" || $dip2['reserved'] != "") {
|
||||
$note .= "<br>";
|
||||
}
|
||||
}
|
||||
if($dip['showing'] >= $date) {
|
||||
if($dip['reserved'] != "") {
|
||||
if ($dip['showing'] >= $date) {
|
||||
if ($dip['reserved'] != "") {
|
||||
$note .= "<font color=skyblue>아국측 제의</font>: ".$dip['reserved'];
|
||||
if($dip2['reserved'] != "") {
|
||||
if ($dip2['reserved'] != "") {
|
||||
$note .= "<br>";
|
||||
}
|
||||
}
|
||||
}
|
||||
if($dip2['showing'] >= $date) {
|
||||
if($dip2['reserved'] != "") {
|
||||
if ($dip2['showing'] >= $date) {
|
||||
if ($dip2['reserved'] != "") {
|
||||
$note .= "<font color=limegreen>상대측 제의</font>: ".$dip2['reserved'];
|
||||
}
|
||||
}
|
||||
if($note == "") { $note = " "; }
|
||||
if ($note == "") {
|
||||
$note = " ";
|
||||
}
|
||||
|
||||
echo "
|
||||
<tr>
|
||||
@@ -154,7 +169,7 @@ for($i=0; $i < $nationcount; $i++) {
|
||||
<td align=center>{$nation['gennum']}</td>
|
||||
<td align=center>$citycount</td>
|
||||
<td align=center>$state</td>";
|
||||
if($dip['term'] != 0) {
|
||||
if ($dip['term'] != 0) {
|
||||
echo"
|
||||
<td align=center>{$dip['term']} 개월</td>
|
||||
<td align=center>{$year}年 {$month}月</td>";
|
||||
@@ -172,42 +187,48 @@ echo "
|
||||
";
|
||||
|
||||
$query = "select nation,name,color,type,msg,gold,rice,bill,rate,scout,war,scoutmsg,secretlimit from nation where nation='{$me['nation']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$nation = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select gold_rate,rice_rate from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
// 금 수지
|
||||
$deadIncome = getDeadIncome($connect, $nation['nation'], $nation['type'], $admin['gold_rate']);
|
||||
$deadIncome = getDeadIncome($nation['nation'], $nation['type'], $admin['gold_rate']);
|
||||
|
||||
$goldincomeList = getGoldIncome($connect, $nation['nation'], $nation['rate'], $admin['gold_rate'], $nation['type']);
|
||||
$goldincomeList = getGoldIncome($nation['nation'], $nation['rate'], $admin['gold_rate'], $nation['type']);
|
||||
$goldincome = $goldincomeList[0] + $goldincomeList[1] + $deadIncome;
|
||||
$goldoutcome = getGoldOutcome($connect, $nation['nation'], $nation['bill']);
|
||||
$riceincomeList = getRiceIncome($connect, $nation['nation'], $nation['rate'], $admin['rice_rate'], $nation['type']);
|
||||
$goldoutcome = getGoldOutcome($nation['nation'], $nation['bill']);
|
||||
$riceincomeList = getRiceIncome($nation['nation'], $nation['rate'], $admin['rice_rate'], $nation['type']);
|
||||
$riceincome = $riceincomeList[0] + $riceincomeList[1];
|
||||
$riceoutcome = getRiceOutcome($connect, $nation['nation'], $nation['bill']);
|
||||
$riceoutcome = getRiceOutcome($nation['nation'], $nation['bill']);
|
||||
|
||||
|
||||
$budgetgold = $nation['gold'] + $goldincome - $goldoutcome + $deadIncome;
|
||||
$budgetrice = $nation['rice'] + $riceincome - $riceoutcome;
|
||||
$budgetgolddiff = $goldincome - $goldoutcome + $deadIncome;
|
||||
$budgetricediff = $riceincome - $riceoutcome;
|
||||
if($budgetgolddiff > 0) { $budgetgolddiff = "+{$budgetgolddiff}"; }
|
||||
else { $budgetgolddiff = "$budgetgolddiff"; }
|
||||
if($budgetricediff > 0) { $budgetricediff = "+{$budgetricediff}"; }
|
||||
else { $budgetricediff = "$budgetricediff"; }
|
||||
if ($budgetgolddiff > 0) {
|
||||
$budgetgolddiff = "+{$budgetgolddiff}";
|
||||
} else {
|
||||
$budgetgolddiff = "$budgetgolddiff";
|
||||
}
|
||||
if ($budgetricediff > 0) {
|
||||
$budgetricediff = "+{$budgetricediff}";
|
||||
} else {
|
||||
$budgetricediff = "$budgetricediff";
|
||||
}
|
||||
|
||||
?>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<form name=form1 method=post action=c_dipcenter.php>
|
||||
<tr><td colspan=2 height=10></td></tr>
|
||||
<tr><td colspan=2 align=center bgcolor=orange>국 가 방 침 & 임관 권유 메세지</td></tr>
|
||||
<tr><td colspan=2 id=bg1>국가 방침 <input type=text <?=$read;?> maxlength=500 style=color:white;background-color:black;width:830; name=msg value='<?=$nation['msg'];?>'><input type=<?=$btn;?> name=btn value=국가방침></td></tr>
|
||||
<tr><td colspan=2 id=bg1>임관 권유 <input type=text <?=$read;?> maxlength=500 style=color:white;background-color:black;width:830; name=scoutmsg value='<?=$nation['scoutmsg'];?>'><input type=<?=$btn;?> name=btn value=임관권유></td></tr>
|
||||
<tr><td colspan=2 align=center bgcolor=orange>국 가 방 침 & 임관 권유 메세지</td></tr>
|
||||
<tr><td colspan=2 id=bg1>국가 방침 <input type=text <?=$read?> maxlength=500 style=color:white;background-color:black;width:830; name=msg value='<?=$nation['msg']?>'><input type=<?=$btn?> name=btn value=국가방침></td></tr>
|
||||
<tr><td colspan=2 id=bg1>임관 권유 <input type=text <?=$read?> maxlength=500 style=color:white;background-color:black;width:830; name=scoutmsg value='<?=$nation['scoutmsg']?>'><input type=<?=$btn?> name=btn value=임관권유></td></tr>
|
||||
<tr><td colspan=2>900 x 200px 넘는 크기를 점유할 시 통보없이 제한될 수 있습니다.</td></tr>
|
||||
<tr><td colspan=2 height=10></td></tr>
|
||||
<tr><td colspan=2 align=center bgcolor=green>예 산 & 정 책</td></tr>
|
||||
<tr><td colspan=2 align=center bgcolor=green>예 산 & 정 책</td></tr>
|
||||
<tr>
|
||||
<td colspan=2>
|
||||
<table width=998 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
@@ -250,20 +271,20 @@ echo "
|
||||
?>
|
||||
<tr>
|
||||
<td align=right id=bg1>세율 (5 ~ 30%) </td>
|
||||
<td align=center><input type=text <?=$read;?> name=rate style=text-align:right;color:white;background-color:black; size=3 maxlength=3 value=<?=$nation['rate']?>>% <input type=<?=$btn;?> name=btn value=세율></td>
|
||||
<td align=center><input type=text <?=$read?> name=rate style=text-align:right;color:white;background-color:black; size=3 maxlength=3 value=<?=$nation['rate']?>>% <input type=<?=$btn?> name=btn value=세율></td>
|
||||
<td align=right id=bg1>봉급 지급율 (20 ~ 200%) </td>
|
||||
<td align=center><input type=text <?=$read;?> name=bill style=text-align:right;color:white;background-color:black; size=3 maxlength=3 value=<?=$nation['bill']?>>% <input type=<?=$btn;?> name=btn value=지급율></td>
|
||||
<td align=center><input type=text <?=$read?> name=bill style=text-align:right;color:white;background-color:black; size=3 maxlength=3 value=<?=$nation['bill']?>>% <input type=<?=$btn?> name=btn value=지급율></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=right id=bg1>기밀 권한 (1 ~ 99년) </td>
|
||||
<td align=center><input type=text <?=$read;?> name=secretlimit style=text-align:right;color:white;background-color:black; size=3 maxlength=3 value=<?=$nation['secretlimit']?>>년 <input type=<?=$btn;?> name=btn value=기밀권한></td>
|
||||
<td align=center><input type=text <?=$read?> name=secretlimit style=text-align:right;color:white;background-color:black; size=3 maxlength=3 value=<?=$nation['secretlimit']?>>년 <input type=<?=$btn?> name=btn value=기밀권한></td>
|
||||
<td align=right id=bg1>임관&전쟁 변경 가능</td>
|
||||
<td align=center>무제한</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=4 align=center>
|
||||
<?php
|
||||
if($nation['scout'] == 0) {
|
||||
if ($nation['scout'] == 0) {
|
||||
echo "
|
||||
<input type=$btn name=btn value='임관 금지'>";
|
||||
} else {
|
||||
@@ -271,7 +292,7 @@ if($nation['scout'] == 0) {
|
||||
<input type=$btn name=btn value='임관 허가'>";
|
||||
}
|
||||
|
||||
if($nation['war'] == 0) {
|
||||
if ($nation['war'] == 0) {
|
||||
echo "
|
||||
<input type=$btn name=btn value='전쟁 금지'>";
|
||||
} else {
|
||||
|
||||
+23
-12
@@ -4,22 +4,28 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("중원정보", 1);
|
||||
|
||||
$query = "select turnterm from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,nation,map from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation,map from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select nation,color,name,power,gennum from nation where level>0 order by power desc";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$nationcount = MYDB_num_rows($result);
|
||||
$nationnum = array();
|
||||
$nationnum = [];
|
||||
$nationname = [];
|
||||
$nationcolor = [];
|
||||
|
||||
$nationStr = "";
|
||||
$powerStr = "";
|
||||
@@ -33,7 +39,7 @@ for($i=0; $i < $nationcount; $i++) {
|
||||
$citycount = MYDB_num_rows($cityresult);
|
||||
|
||||
|
||||
$nationnum[count($nationnum)] = $nation['nation'];
|
||||
$nationnum[] = $nation['nation'];
|
||||
$nationname[$nation['nation']] = $nation['name'];
|
||||
$nationcolor[$nation['nation']] = $nation['color'];
|
||||
|
||||
@@ -51,6 +57,7 @@ for($i=0; $i < $nationcount; $i++) {
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>중원정보</title>
|
||||
<script src="../e_lib/jquery-3.2.1.min.js"></script>
|
||||
<script src="../d_shared/common_path.js"></script>
|
||||
<script src="js/common.js"></script>
|
||||
<script src="js/base_map.js"></script>
|
||||
<script src="js/map.js"></script>
|
||||
@@ -65,6 +72,7 @@ $(function(){
|
||||
});
|
||||
</script>
|
||||
<link href="css/normalize.css" rel="stylesheet">
|
||||
<link href="../d_shared/common.css" red="stylesheet">
|
||||
<link href="css/common.css" rel="stylesheet">
|
||||
<link href="css/map.css" rel="stylesheet">
|
||||
|
||||
@@ -76,14 +84,14 @@ $(function(){
|
||||
</table>
|
||||
<br>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr><td colspan=<?=$nationcount+1;?> align=center bgcolor=blue>외 교 현 황</td></tr>
|
||||
<tr><td colspan=<?=$nationcount+1?> align=center bgcolor=blue>외 교 현 황</td></tr>
|
||||
<?php
|
||||
echo "
|
||||
<tr>
|
||||
<td align=center width=108 style=background-color:$_basecolor2;> </td>";
|
||||
<td align=center width=108 style=background-color:".GameConst::$basecolor2.";> </td>";
|
||||
|
||||
if($nationcount != 0) {
|
||||
$width = floor(888 / $nationcount);
|
||||
$width = intdiv(888, $nationcount);
|
||||
}
|
||||
|
||||
for($i=0; $i < $nationcount; $i++) {
|
||||
@@ -93,6 +101,8 @@ for($i=0; $i < $nationcount; $i++) {
|
||||
echo "
|
||||
</tr>";
|
||||
|
||||
$state = [];
|
||||
|
||||
for($i=0; $i < $nationcount; $i++) {
|
||||
$query = "select you,state from diplomacy where me='$nationnum[$i]'";
|
||||
$dipresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
@@ -113,7 +123,7 @@ for($i=0; $i < $nationcount; $i++) {
|
||||
case 0: $str = "<font color=red>★</font>"; break;
|
||||
case 1: $str = "<font color=magenta>▲</font>"; break;
|
||||
case 2:
|
||||
if($nationnum[$i] == $me['nation'] || $nationnum[$k] == $me['nation'] || Session::getUserGrade() >= 5) { $str = "ㆍ"; }
|
||||
if($nationnum[$i] == $me['nation'] || $nationnum[$k] == $me['nation'] || $session->userGrade >= 5) { $str = "ㆍ"; }
|
||||
else { $str = "?"; }
|
||||
// $str = "ㆍ";
|
||||
break;
|
||||
@@ -122,14 +132,14 @@ for($i=0; $i < $nationcount; $i++) {
|
||||
case 5: $str = "<font color=cyan>◎</font>"; break;
|
||||
case 6: $str = "<font color=cyan>◎</font>"; break;
|
||||
case 7:
|
||||
if($nationnum[$i] == $me['nation'] || $nationnum[$k] == $me['nation'] || Session::getUserGrade() >= 5) { $str = "<font color=green>@</font>"; }
|
||||
if($nationnum[$i] == $me['nation'] || $nationnum[$k] == $me['nation'] || $session->userGrade >= 5) { $str = "<font color=green>@</font>"; }
|
||||
else { $str = "?"; }
|
||||
// $str = "<font color=limegreen>@</font>";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if($nationnum[$i] == $me['nation'] || $nationnum[$k] == $me['nation']) { $backcolor = "style=background-color:$_basecolor3;"; }
|
||||
if($nationnum[$i] == $me['nation'] || $nationnum[$k] == $me['nation']) { $backcolor = "style=background-color:".GameConst::$basecolor3.";"; }
|
||||
else { $backcolor = ""; }
|
||||
|
||||
echo "
|
||||
@@ -140,7 +150,7 @@ for($i=0; $i < $nationcount; $i++) {
|
||||
";
|
||||
}
|
||||
?>
|
||||
<tr><td colspan=<?=$nationcount+1;?> align=center>불가침 : <font color=limegreen>@</font>, 통합 : <font color=cyan>○</font>, 합병 : <font color=skyblue>◎</font>, 통상 : ㆍ, 선포 : <font color=magenta>▲</font>, 교전 : <font color=red>★</font></td></tr>
|
||||
<tr><td colspan=<?=$nationcount+1?> align=center>불가침 : <font color=limegreen>@</font>, 통합 : <font color=cyan>○</font>, 합병 : <font color=skyblue>◎</font>, 통상 : ㆍ, 선포 : <font color=magenta>▲</font>, 교전 : <font color=red>★</font></td></tr>
|
||||
</table>
|
||||
<?php
|
||||
$query = "select city,name,conflict,conflict2 from city where conflict like '%|%'";
|
||||
@@ -193,6 +203,7 @@ for($i=0; $i < $citycount; $i++) {
|
||||
}
|
||||
|
||||
function mySort($killnum) {
|
||||
$seq = [];
|
||||
for($i=0; $i < count($killnum); $i++) {
|
||||
$seq[$i] = $i;
|
||||
}
|
||||
|
||||
+56
-42
@@ -4,43 +4,54 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("암행부", 2);
|
||||
|
||||
$query = "select conlimit from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,nation,level,con,turntime,belong from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$query = "select no,nation,level,con,turntime,belong from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select level,secretlimit from nation where nation='{$me['nation']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$nation = MYDB_fetch_array($result);
|
||||
|
||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||
if ($con >= 2) {
|
||||
printLimitMsg($me['turntime']);
|
||||
exit();
|
||||
}
|
||||
|
||||
if($me['level'] == 0 || ($me['level'] == 1 && $me['belong'] < $nation['secretlimit'])) {
|
||||
if ($me['level'] == 0 || ($me['level'] == 1 && $me['belong'] < $nation['secretlimit'])) {
|
||||
echo "수뇌부가 아니거나 사관년도가 부족합니다.";
|
||||
exit();
|
||||
}
|
||||
|
||||
if($type == 0) {
|
||||
if ($type == 0) {
|
||||
$type = 7;
|
||||
}
|
||||
$sel = [];
|
||||
$sel[$type] = "selected";
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<?php if($con == 1) { MessageBox("접속제한이 얼마 남지 않았습니다!"); } ?>
|
||||
<?php if ($con == 1) {
|
||||
MessageBox("접속제한이 얼마 남지 않았습니다!");
|
||||
} ?>
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>암행부</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -49,29 +60,29 @@ $sel[$type] = "selected";
|
||||
<tr><td>암 행 부<br><?=closeButton()?></td></tr>
|
||||
<tr><td><form name=form1 method=post>정렬순서 :
|
||||
<select name=type size=1>
|
||||
<option <?=$sel[1];?> value=1>자금</option>
|
||||
<option <?=$sel[2];?> value=2>군량</option>
|
||||
<option <?=$sel[3];?> value=3>도시</option>
|
||||
<option <?=$sel[4];?> value=4>병종</option>
|
||||
<option <?=$sel[5];?> value=5>병사</option>
|
||||
<option <?=$sel[6];?> value=6>삭제턴</option>
|
||||
<option <?=$sel[7];?> value=7>턴</option>
|
||||
<option <?=$sel[8];?> value=8>부대</option>
|
||||
<option <?=$sel[1]?> value=1>자금</option>
|
||||
<option <?=$sel[2]?> value=2>군량</option>
|
||||
<option <?=$sel[3]?> value=3>도시</option>
|
||||
<option <?=$sel[4]?> value=4>병종</option>
|
||||
<option <?=$sel[5]?> value=5>병사</option>
|
||||
<option <?=$sel[6]?> value=6>삭제턴</option>
|
||||
<option <?=$sel[7]?> value=7>턴</option>
|
||||
<option <?=$sel[8]?> value=8>부대</option>
|
||||
</select>
|
||||
<input type=submit value='정렬하기'></form>
|
||||
</td></tr>
|
||||
</table>
|
||||
<?php
|
||||
$query = "select troop,name from troop where nation='{$me['nation']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$troopCount = MYDB_num_rows($result);
|
||||
|
||||
for($i=0; $i < $troopCount; $i++) {
|
||||
$troopName = [];
|
||||
for ($i=0; $i < $troopCount; $i++) {
|
||||
$troop = MYDB_fetch_array($result);
|
||||
$troopName[$troop['troop']] = $troop['name'];
|
||||
}
|
||||
|
||||
switch($type) {
|
||||
switch ($type) {
|
||||
case 1: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by gold desc"; break;
|
||||
case 2: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by rice desc"; break;
|
||||
case 3: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by city"; break;
|
||||
@@ -81,7 +92,7 @@ switch($type) {
|
||||
case 7: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by turntime"; break;
|
||||
case 8: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by troop desc"; break;
|
||||
}
|
||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$gencount = MYDB_num_rows($genresult);
|
||||
|
||||
echo"
|
||||
@@ -102,28 +113,28 @@ echo"
|
||||
<td width=58 align=center id=bg1>삭턴</td>
|
||||
<td width=58 align=center id=bg1>턴</td>
|
||||
</tr>";
|
||||
for($j=0; $j < $gencount; $j++) {
|
||||
for ($j=0; $j < $gencount; $j++) {
|
||||
$general = MYDB_fetch_array($genresult);
|
||||
$city = CityConst::byID($general['city'])->name;
|
||||
$troop = $troopName[$general['troop']] == "" ? "-" : $troopName[$general['troop']];
|
||||
|
||||
if($general['level'] == 12) {
|
||||
if ($general['level'] == 12) {
|
||||
$lbonus = $nation['level'] * 2;
|
||||
} elseif($general['level'] >= 5) {
|
||||
} elseif ($general['level'] >= 5) {
|
||||
$lbonus = $nation['level'];
|
||||
} else {
|
||||
$lbonus = 0;
|
||||
}
|
||||
if($lbonus > 0) {
|
||||
if ($lbonus > 0) {
|
||||
$lbonus = "<font color=cyan>+{$lbonus}</font>";
|
||||
} else {
|
||||
$lbonus = "";
|
||||
}
|
||||
|
||||
if($general['injury'] > 0) {
|
||||
$leader = floor($general['leader'] * (100 - $general['injury'])/100);
|
||||
$power = floor($general['power'] * (100 - $general['injury'])/100);
|
||||
$intel = floor($general['intel'] * (100 - $general['injury'])/100);
|
||||
if ($general['injury'] > 0) {
|
||||
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
||||
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
||||
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
||||
$leader = "<font color=red>{$leader}</font>{$lbonus}";
|
||||
$power = "<font color=red>{$power}</font>";
|
||||
$intel = "<font color=red>{$intel}</font>";
|
||||
@@ -133,11 +144,15 @@ for($j=0; $j < $gencount; $j++) {
|
||||
$intel = "{$general['intel']}";
|
||||
}
|
||||
|
||||
if($general['npc'] >= 2) { $name = "<font color=cyan>{$general['name']}</font>"; }
|
||||
elseif($general['npc'] == 1) { $name = "<font color=skyblue>{$general['name']}</font>"; }
|
||||
else { $name = "{$general['name']}"; }
|
||||
if ($general['npc'] >= 2) {
|
||||
$name = "<font color=cyan>{$general['name']}</font>";
|
||||
} elseif ($general['npc'] == 1) {
|
||||
$name = "<font color=skyblue>{$general['name']}</font>";
|
||||
} else {
|
||||
$name = "{$general['name']}";
|
||||
}
|
||||
|
||||
switch($general['mode']) {
|
||||
switch ($general['mode']) {
|
||||
case 0: $mode = "×"; break;
|
||||
case 1: $mode = "○"; break;
|
||||
case 2: $mode = "◎"; break;
|
||||
@@ -156,7 +171,7 @@ for($j=0; $j < $gencount; $j++) {
|
||||
<td align=center>{$general['crew']}</td>
|
||||
<td align=center>{$general['train']}</td>
|
||||
<td align=center>{$general['atmos']}</td>";
|
||||
if($general['npc'] >= 2) {
|
||||
if ($general['npc'] >= 2) {
|
||||
echo "
|
||||
<td>
|
||||
<font size=3>NPC 장수";
|
||||
@@ -164,10 +179,10 @@ for($j=0; $j < $gencount; $j++) {
|
||||
echo "
|
||||
<td>
|
||||
<font size=1>";
|
||||
$turn = getTurn($connect, $general, 1, 0);
|
||||
$turn = getTurn($general, 1, 0);
|
||||
|
||||
for($i=0; $i < 5; $i++) {
|
||||
$turn[$i] = StringUtil::SubStrForWidth($turn[$i], 0, 20);
|
||||
for ($i=0; $i < 5; $i++) {
|
||||
$turn[$i] = StringUtil::subStringForWidth($turn[$i], 0, 20);
|
||||
$k = $i+1;
|
||||
echo "
|
||||
$k : $turn[$i] <br>";
|
||||
@@ -177,14 +192,13 @@ for($j=0; $j < $gencount; $j++) {
|
||||
</font>
|
||||
</td>
|
||||
<td align=center>{$general['killturn']}</td>
|
||||
<td align=center>".substr($general['turntime'],14,5)."</td>
|
||||
<td align=center>".substr($general['turntime'], 14, 5)."</td>
|
||||
</tr>";
|
||||
}
|
||||
echo "
|
||||
</table>
|
||||
";
|
||||
|
||||
MYDB_close($connect);
|
||||
?>
|
||||
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
|
||||
+20
-12
@@ -4,13 +4,17 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("인사부", 1);
|
||||
//훼섭 추방을 위해 갱신
|
||||
checkTurn($connect);
|
||||
checkTurn();
|
||||
|
||||
$query = "select no,nation,level from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation,level from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -27,7 +31,8 @@ if($meLevel == 0) {
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>인사부</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
<script type="text/javascript">
|
||||
function out() {
|
||||
return confirm('정말 추방하시겠습니까?');
|
||||
@@ -54,6 +59,7 @@ else { $btn = "hidden"; }
|
||||
|
||||
$query = "select name,level,picture,imgsvr,belong from general where nation='{$nation['nation']}' and level>={$lv} order by level desc";
|
||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$level = [];
|
||||
for($i=12; $i >= $lv; $i--) {
|
||||
$levels = MYDB_fetch_array($genresult);
|
||||
$level[$levels['level']] = $levels;
|
||||
@@ -207,12 +213,13 @@ echo "
|
||||
</tr>
|
||||
";
|
||||
|
||||
$querys[10] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$goodgenpower."' order by npc,binary(name)";
|
||||
$querys[9] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$goodgenintel."' order by npc,binary(name)";
|
||||
$querys[8] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$goodgenpower."' order by npc,binary(name)";
|
||||
$querys[7] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$goodgenintel."' order by npc,binary(name)";
|
||||
$querys[6] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$goodgenpower."' order by npc,binary(name)";
|
||||
$querys[5] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$goodgenintel."' order by npc,binary(name)";
|
||||
$queries = [];
|
||||
$queries[10] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$goodgenpower."' order by npc,binary(name)";
|
||||
$queries[9] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$goodgenintel."' order by npc,binary(name)";
|
||||
$queries[8] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$goodgenpower."' order by npc,binary(name)";
|
||||
$queries[7] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$goodgenintel."' order by npc,binary(name)";
|
||||
$queries[6] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$goodgenpower."' order by npc,binary(name)";
|
||||
$queries[5] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$goodgenintel."' order by npc,binary(name)";
|
||||
|
||||
for($i=10; $i >= $lv; $i--) {
|
||||
if($i % 2 == 0) { echo "<tr>"; }
|
||||
@@ -227,7 +234,7 @@ for($i=10; $i >= $lv; $i--) {
|
||||
<select name=genlist size=1 style=color:white;background-color:black;>
|
||||
<option value=0>____공석____</option>";
|
||||
|
||||
$query = $querys[$i];
|
||||
$query = $queries[$i];
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$gencount = MYDB_num_rows($result);
|
||||
|
||||
@@ -438,6 +445,7 @@ echo "
|
||||
</tr>
|
||||
";
|
||||
|
||||
$citylevel = [];
|
||||
$citylevel[1] = "수";
|
||||
$citylevel[2] = "진";
|
||||
$citylevel[3] = "관";
|
||||
|
||||
+63
-41
@@ -4,23 +4,27 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("세력도시", 1);
|
||||
|
||||
$query = "select no,nation,level from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$query = "select no,nation,level from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
if($me['level'] == 0) {
|
||||
if ($me['level'] == 0) {
|
||||
echo "재야입니다.";
|
||||
exit();
|
||||
}
|
||||
|
||||
if($type == 0) {
|
||||
if ($type == 0) {
|
||||
$type = 10;
|
||||
}
|
||||
$sel[$type] = "selected";
|
||||
$sel = [$type => "selected"];
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
@@ -29,7 +33,8 @@ $sel[$type] = "selected";
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>세력도시</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -38,30 +43,30 @@ $sel[$type] = "selected";
|
||||
<tr><td>세 력 도 시<br><?=backButton()?></td></tr>
|
||||
<tr><td><form name=form1 method=post>정렬순서 :
|
||||
<select name=type size=1>
|
||||
<option <?=$sel[1];?> value=1>기본</option>
|
||||
<option <?=$sel[2];?> value=2>인구</option>
|
||||
<option <?=$sel[3];?> value=3>인구율</option>
|
||||
<option <?=$sel[4];?> value=4>민심</option>
|
||||
<option <?=$sel[5];?> value=5>농업</option>
|
||||
<option <?=$sel[6];?> value=6>상업</option>
|
||||
<option <?=$sel[7];?> value=7>치안</option>
|
||||
<option <?=$sel[8];?> value=8>수비</option>
|
||||
<option <?=$sel[9];?> value=9>성벽</option>
|
||||
<option <?=$sel[10];?> value=10>시세</option>
|
||||
<option <?=$sel[11];?> value=11>지역</option>
|
||||
<option <?=$sel[12];?> value=12>규모</option>
|
||||
<option <?=$sel[1]?> value=1>기본</option>
|
||||
<option <?=$sel[2]?> value=2>인구</option>
|
||||
<option <?=$sel[3]?> value=3>인구율</option>
|
||||
<option <?=$sel[4]?> value=4>민심</option>
|
||||
<option <?=$sel[5]?> value=5>농업</option>
|
||||
<option <?=$sel[6]?> value=6>상업</option>
|
||||
<option <?=$sel[7]?> value=7>치안</option>
|
||||
<option <?=$sel[8]?> value=8>수비</option>
|
||||
<option <?=$sel[9]?> value=9>성벽</option>
|
||||
<option <?=$sel[10]?> value=10>시세</option>
|
||||
<option <?=$sel[11]?> value=11>지역</option>
|
||||
<option <?=$sel[12]?> value=12>규모</option>
|
||||
</select>
|
||||
<input type=submit value='정렬하기'></form>
|
||||
</td></tr>
|
||||
</table>
|
||||
<?php
|
||||
$query = "select nation from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$query = "select nation from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
$nation = getNationStaticInfo($me['nation']); //국가정보
|
||||
|
||||
switch($type) {
|
||||
switch ($type) {
|
||||
case 1: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}'"; break;
|
||||
case 2: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by pop desc"; break;
|
||||
case 3: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by poprate desc"; break;
|
||||
@@ -75,33 +80,38 @@ switch($type) {
|
||||
case 11: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by region,level desc"; break;
|
||||
case 12: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by level desc, region"; break;
|
||||
}
|
||||
$cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$citycount = MYDB_num_rows($cityresult);
|
||||
|
||||
for($j=0; $j < $citycount; $j++) {
|
||||
$region = 0;
|
||||
$level = 0;
|
||||
|
||||
for ($j=0; $j < $citycount; $j++) {
|
||||
$city = MYDB_fetch_array($cityresult);
|
||||
if($city['city'] == $nation['capital']) { $city['name'] = "<font color=cyan>[{$city['name']}]</font>"; }
|
||||
if ($city['city'] == $nation['capital']) {
|
||||
$city['name'] = "<font color=cyan>[{$city['name']}]</font>";
|
||||
}
|
||||
$query = "select name from general where no='{$city['gen1']}'"; // 태수
|
||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$gen1 = MYDB_fetch_array($genresult);
|
||||
|
||||
$query = "select name from general where no='{$city['gen2']}'"; // 군사
|
||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$gen2 = MYDB_fetch_array($genresult);
|
||||
|
||||
$query = "select name from general where no='{$city['gen3']}'"; // 시중
|
||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$gen3 = MYDB_fetch_array($genresult);
|
||||
|
||||
if($type == 10 && $city['region'] != $region) {
|
||||
if ($type == 10 && $city['region'] != $region) {
|
||||
echo "<br>";
|
||||
$region = $city['region'];
|
||||
} elseif($type == 11 && $city['level'] != $level) {
|
||||
} elseif ($type == 11 && $city['level'] != $level) {
|
||||
echo "<br>";
|
||||
$level = $city['level'];
|
||||
}
|
||||
|
||||
if($city['trade'] == 0) {
|
||||
if ($city['trade'] == 0) {
|
||||
$city['trade'] = "- ";
|
||||
}
|
||||
|
||||
@@ -132,24 +142,36 @@ for($j=0; $j < $citycount; $j++) {
|
||||
<td align=center id=bg1>인구</td>
|
||||
<td align=center>".round($city['pop']/$city['pop2']*100, 2)." %</td>
|
||||
<td align=center id=bg1>태수</td>
|
||||
<td align=center>";echo $gen1['name']==''?"-":"{$gen1['name']}";echo "</td>
|
||||
<td align=center>";
|
||||
echo $gen1['name']==''?"-":"{$gen1['name']}";
|
||||
echo "</td>
|
||||
<td align=center id=bg1>군사</td>
|
||||
<td align=center>";echo $gen2['name']==''?"-":"{$gen2['name']}";echo "</td>
|
||||
<td align=center>";
|
||||
echo $gen2['name']==''?"-":"{$gen2['name']}";
|
||||
echo "</td>
|
||||
<td align=center id=bg1>시중</td>
|
||||
<td align=center>";echo $gen3['name']==''?"-":"{$gen3['name']}";echo "</td>
|
||||
<td align=center>";
|
||||
echo $gen3['name']==''?"-":"{$gen3['name']}";
|
||||
echo "</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=center id=bg1>장수</td>
|
||||
<td colspan=11>";
|
||||
$query = "select npc,name from general where city='{$city['city']}' and nation='{$me['nation']}'"; // 장수 목록
|
||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$gencount = MYDB_num_rows($genresult);
|
||||
if($gencount == 0) echo "-";
|
||||
for($i=0; $i < $gencount; $i++) {
|
||||
if ($gencount == 0) {
|
||||
echo "-";
|
||||
}
|
||||
for ($i=0; $i < $gencount; $i++) {
|
||||
$general = MYDB_fetch_array($genresult);
|
||||
if($general['npc'] >= 2) { echo "<font color=cyan>{$general['name']}, </font>"; }
|
||||
elseif($general['npc'] == 1) { echo "<font color=skyblue>{$general['name']}, </font>"; }
|
||||
else { echo "{$general['name']}, "; }
|
||||
if ($general['npc'] >= 2) {
|
||||
echo "<font color=cyan>{$general['name']}, </font>";
|
||||
} elseif ($general['npc'] == 1) {
|
||||
echo "<font color=skyblue>{$general['name']}, </font>";
|
||||
} else {
|
||||
echo "{$general['name']}, ";
|
||||
}
|
||||
}
|
||||
echo "
|
||||
</td>
|
||||
|
||||
+28
-23
@@ -4,11 +4,15 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("세력장수", 1);
|
||||
|
||||
$query = "select no,nation,level from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation,level from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -21,7 +25,7 @@ if($me['level'] == 0) {
|
||||
if($type == 0) {
|
||||
$type = 1;
|
||||
}
|
||||
$sel[$type] = "selected";
|
||||
$sel = [$type => "selected"];
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
@@ -30,7 +34,8 @@ $sel[$type] = "selected";
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>세력장수</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -39,21 +44,21 @@ $sel[$type] = "selected";
|
||||
<tr><td>세 력 장 수<br><?=backButton()?></td></tr>
|
||||
<tr><td><form name=form1 method=post>정렬순서 :
|
||||
<select name=type size=1>
|
||||
<option <?=$sel[1];?> value=1>관직</option>
|
||||
<option <?=$sel[2];?> value=2>계급</option>
|
||||
<option <?=$sel[3];?> value=3>명성</option>
|
||||
<option <?=$sel[4];?> value=4>통솔</option>
|
||||
<option <?=$sel[5];?> value=5>무력</option>
|
||||
<option <?=$sel[6];?> value=6>지력</option>
|
||||
<option <?=$sel[7];?> value=7>자금</option>
|
||||
<option <?=$sel[8];?> value=8>군량</option>
|
||||
<option <?=$sel[9];?> value=9>병사</option>
|
||||
<option <?=$sel[10];?> value=10>벌점</option>
|
||||
<option <?=$sel[11];?> value=11>성격</option>
|
||||
<option <?=$sel[12];?> value=12>내특</option>
|
||||
<option <?=$sel[13];?> value=13>전특</option>
|
||||
<option <?=$sel[14];?> value=14>사관</option>
|
||||
<option <?=$sel[15];?> value=15>NPC</option>
|
||||
<option <?=$sel[1]?> value=1>관직</option>
|
||||
<option <?=$sel[2]?> value=2>계급</option>
|
||||
<option <?=$sel[3]?> value=3>명성</option>
|
||||
<option <?=$sel[4]?> value=4>통솔</option>
|
||||
<option <?=$sel[5]?> value=5>무력</option>
|
||||
<option <?=$sel[6]?> value=6>지력</option>
|
||||
<option <?=$sel[7]?> value=7>자금</option>
|
||||
<option <?=$sel[8]?> value=8>군량</option>
|
||||
<option <?=$sel[9]?> value=9>병사</option>
|
||||
<option <?=$sel[10]?> value=10>벌점</option>
|
||||
<option <?=$sel[11]?> value=11>성격</option>
|
||||
<option <?=$sel[12]?> value=12>내특</option>
|
||||
<option <?=$sel[13]?> value=13>전특</option>
|
||||
<option <?=$sel[14]?> value=14>사관</option>
|
||||
<option <?=$sel[15]?> value=15>NPC</option>
|
||||
</select>
|
||||
<input type=submit value='정렬하기'></form>
|
||||
</td></tr>
|
||||
@@ -117,9 +122,9 @@ for($j=0; $j < $gencount; $j++) {
|
||||
}
|
||||
|
||||
if($general['injury'] > 0) {
|
||||
$leader = floor($general['leader'] * (100 - $general['injury'])/100);
|
||||
$power = floor($general['power'] * (100 - $general['injury'])/100);
|
||||
$intel = floor($general['intel'] * (100 - $general['injury'])/100);
|
||||
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
||||
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
||||
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
||||
$leader = "<font color=red>{$leader}</font>{$lbonus}";
|
||||
$power = "<font color=red>{$power}</font>";
|
||||
$intel = "<font color=red>{$intel}</font>";
|
||||
|
||||
+18
-10
@@ -4,11 +4,15 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("세력정보", 1);
|
||||
|
||||
$query = "select no,nation,level from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation,level from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -23,7 +27,8 @@ if($me['level'] == 0) {
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>세력정보</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -33,7 +38,7 @@ if($me['level'] == 0) {
|
||||
</table>
|
||||
<br>
|
||||
<?php
|
||||
$query = "select nation from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select nation from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -45,6 +50,9 @@ $query = "select city,name,pop,pop2 from city where nation='{$nation['nation']}'
|
||||
$cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$citycount = MYDB_num_rows($cityresult);
|
||||
|
||||
$totalpop = 0;
|
||||
$maxpop = 0;
|
||||
$cityname = [];
|
||||
for($j=0; $j < $citycount; $j++) {
|
||||
$city = MYDB_fetch_array($cityresult);
|
||||
if($city['city'] == $nation['capital']) { $cityname[$j] = "<font color=cyan>[{$city['name']}]</font>"; }
|
||||
@@ -61,14 +69,14 @@ $query = "select gold_rate,rice_rate from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
// 금 수지
|
||||
$deadIncome = getDeadIncome($connect, $nation['nation'], $nation['type'], $admin['gold_rate']);
|
||||
$deadIncome = getDeadIncome($nation['nation'], $nation['type'], $admin['gold_rate']);
|
||||
|
||||
$goldincomeList = getGoldIncome($connect, $nation['nation'], $nation['rate'], $admin['gold_rate'], $nation['type']);
|
||||
$goldincomeList = getGoldIncome($nation['nation'], $nation['rate'], $admin['gold_rate'], $nation['type']);
|
||||
$goldincome = $goldincomeList[0] + $goldincomeList[1] + $deadIncome;
|
||||
$goldoutcome = getGoldOutcome($connect, $nation['nation'], $nation['bill']);
|
||||
$riceincomeList = getRiceIncome($connect, $nation['nation'], $nation['rate'], $admin['rice_rate'], $nation['type']);
|
||||
$goldoutcome = getGoldOutcome($nation['nation'], $nation['bill']);
|
||||
$riceincomeList = getRiceIncome($nation['nation'], $nation['rate'], $admin['rice_rate'], $nation['type']);
|
||||
$riceincome = $riceincomeList[0] + $riceincomeList[1];
|
||||
$riceoutcome = getRiceOutcome($connect, $nation['nation'], $nation['bill']);
|
||||
$riceoutcome = getRiceOutcome($nation['nation'], $nation['bill']);
|
||||
|
||||
|
||||
$budgetgold = $nation['gold'] + $goldincome - $goldoutcome + $deadIncome;
|
||||
|
||||
+30
-21
@@ -4,33 +4,41 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("내정보", 1);
|
||||
|
||||
$query = "select myset from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$query = "select myset from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
if($me['myset'] > 0) {
|
||||
if ($me['myset'] > 0) {
|
||||
$submit = 'submit';
|
||||
} else {
|
||||
$submit = 'hidden';
|
||||
}
|
||||
|
||||
if($btn == "설정저장" && $me['myset'] > 0) {
|
||||
if($me['myset'] > 1) {
|
||||
if ($btn == "설정저장" && $me['myset'] > 0) {
|
||||
if ($me['myset'] > 1) {
|
||||
$submit = 'submit';
|
||||
} else {
|
||||
$submit = 'hidden';
|
||||
}
|
||||
|
||||
$query = "update general set myset=myset-1,map='$map',mode='$mode',tnmt='$tnmt' where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$db->update('general', [
|
||||
'myset'=>$db->sqleval('myset-1'),
|
||||
'map'=>$map,
|
||||
'mode'=>$mode,
|
||||
'tnmt'=>$tnmt
|
||||
], 'owner=%i', $userID);
|
||||
}
|
||||
|
||||
$query = "select no,map,mode,tnmt,myset from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$query = "select no,map,mode,tnmt,myset from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
?>
|
||||
@@ -39,7 +47,8 @@ $me = MYDB_fetch_array($result);
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>내정보</title>
|
||||
<link rel=stylesheet href="css/common.css" type=text/css>
|
||||
<link href="../d_shared/common.css" red="stylesheet">
|
||||
<link rel=stylesheet href="css/common.css">
|
||||
<script type="text/javascript">
|
||||
function go(type) {
|
||||
if(type == 0){
|
||||
@@ -58,8 +67,8 @@ function go(type) {
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr>
|
||||
<td width=50%>
|
||||
<?php myInfo($connect); ?>
|
||||
<?php myInfo2($connect); ?>
|
||||
<?php myInfo(); ?>
|
||||
<?php myInfo2(); ?>
|
||||
</td>
|
||||
<td width=50% valign=top>
|
||||
<form name=form1 action=b_myPage.php method=post>
|
||||
@@ -78,11 +87,11 @@ function go(type) {
|
||||
<input type=radio name=mode value=1 <?=$me['mode']==1?"checked":""; ?>>○(훈사60)
|
||||
<input type=radio name=mode value=0 <?=$me['mode']==0?"checked":""; ?>>×
|
||||
】<br><br>
|
||||
<input type=<?=$submit;?> name=btn style=background-color:<?=$_basecolor2;?>;color:white;width:160;height:30;font-size:13px; value=설정저장><br>
|
||||
∞<font color=orange>설정저장은 이달중 <?=$me['myset'];?>회 남았습니다.</font><br><br>
|
||||
<input type=<?=$submit?> name=btn style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160;height:30;font-size:13px; value=설정저장><br>
|
||||
∞<font color=orange>설정저장은 이달중 <?=$me['myset']?>회 남았습니다.</font><br><br>
|
||||
</form>
|
||||
휴 가 신 청<br>
|
||||
<input type=button style=background-color:<?=$_basecolor2;?>;color:white;width:160;height:30;font-size:13px; value=휴가신청 onclick='go(0)'>
|
||||
<input type=button style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160;height:30;font-size:13px; value=휴가신청 onclick='go(0)'>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -91,10 +100,10 @@ function go(type) {
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign=top>
|
||||
<?php MyLog($me['no'], 24); ?>
|
||||
<?=getGenLogRecent($me['no'], 24)?>
|
||||
</td>
|
||||
<td valign=top>
|
||||
<?php MyBatLog($me['no'], 24); ?>
|
||||
<?=getBatLogRecent($me['no'], 24)?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -103,10 +112,10 @@ function go(type) {
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign=top>
|
||||
<?php MyHistory($connect, $me['no']); ?>
|
||||
<?=getGeneralHistoryAll($me['no'])?>
|
||||
</td>
|
||||
<td valign=top>
|
||||
<?php MyBatRes($me['no'], 24); ?>
|
||||
<?=getBatResRecent($me['no'], 24)?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
+11
-6
@@ -4,11 +4,15 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("회의실", 1);
|
||||
|
||||
$query = "select no,nation from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -18,7 +22,8 @@ $me = MYDB_fetch_array($result);
|
||||
<head>
|
||||
<title>회의실</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -39,7 +44,7 @@ $me = MYDB_fetch_array($result);
|
||||
</table>
|
||||
<br>
|
||||
<?php
|
||||
$nation = getNation($connect, $me['nation']);
|
||||
$nation = getNation($me['nation']);
|
||||
|
||||
//20개 메세지
|
||||
$index = $nation['boardindex'];
|
||||
@@ -48,7 +53,7 @@ for($i=0; $i < 20; $i++) {
|
||||
$query = "select name,picture,imgsvr from general where no='$nation[$who]'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
if($nation["board{$index}"] != '') { msgprint($connect, $nation["board{$index}"], $general['name'], $general['picture'], $general['imgsvr'], $nation["board{$index}_when"], $index, 0); }
|
||||
if($nation["board{$index}"] != '') { msgprint($nation["board{$index}"], $general['name'], $general['picture'], $general['imgsvr'], $nation["board{$index}_when"], $index, 0); }
|
||||
$index--;
|
||||
if($index < 0) { $index = 19; }
|
||||
}
|
||||
|
||||
@@ -4,8 +4,12 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("국법", 1);
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
@@ -13,7 +17,8 @@ increaseRefresh("국법", 1);
|
||||
<head>
|
||||
<title>국법</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -23,7 +28,7 @@ increaseRefresh("국법", 1);
|
||||
<tr><td>
|
||||
|
||||
<?php
|
||||
$query = "select no,nation,level from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation,level from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
|
||||
+165
-90
@@ -4,23 +4,30 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
increaseRefresh("토너먼트", 1);
|
||||
checkTurn($connect);
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$query = "select no,tournament,con,turntime from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("토너먼트", 1);
|
||||
checkTurn();
|
||||
|
||||
$query = "select no,tournament,con,turntime from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select conlimit,tournament,phase,tnmt_msg,tnmt_type,develcost,tnmt_trig from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||
if ($con >= 2) {
|
||||
printLimitMsg($me['turntime']);
|
||||
exit();
|
||||
}
|
||||
|
||||
switch($admin['tnmt_type']) {
|
||||
switch ($admin['tnmt_type']) {
|
||||
case 0: $tnmt_type = "<font color=cyan>전력전</font>"; $tp = "tot"; $tp2 = "종합"; $tp3 = "total"; break;
|
||||
case 1: $tnmt_type = "<font color=cyan>통솔전</font>"; $tp = "ldr"; $tp2 = "통솔"; $tp3 = "leader"; break;
|
||||
case 2: $tnmt_type = "<font color=cyan>일기토</font>"; $tp = "pwr"; $tp2 = "무력"; $tp3 = "power"; break;
|
||||
@@ -30,7 +37,9 @@ case 3: $tnmt_type = "<font color=cyan>설전</font>"; $tp = "itl"; $tp2 = "
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<?php if($con == 1) { MessageBox("접속제한이 얼마 남지 않았습니다! 제한량이 모자라다면 참여를 해보세요^^"); } ?>
|
||||
<?php if ($con == 1) {
|
||||
MessageBox("접속제한이 얼마 남지 않았습니다! 제한량이 모자라다면 참여를 해보세요^^");
|
||||
} ?>
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>토너먼트</title>
|
||||
@@ -40,9 +49,9 @@ table { font-family:'맑은 고딕'; line-height:110%; }
|
||||
font { font-family:'맑은 고딕'; line-height:110%; }
|
||||
input { font-family:'맑은 고딕'; line-height:110%; height:20px }
|
||||
select { font-family:'굴림'; line-height:100%; }
|
||||
#bg0 { background-image:url(<?=$images;?>/back_walnut.jpg); }
|
||||
#bg1 { background-image:url(<?=$images;?>/back_green.jpg); }
|
||||
#bg2 { background-image:url(<?=$images;?>/back_blue.jpg); }
|
||||
#bg0 { background-image:url(<?=ServConfig::$gameImagePath?>/back_walnut.jpg); }
|
||||
#bg1 { background-image:url(<?=ServConfig::$gameImagePath?>/back_green.jpg); }
|
||||
#bg2 { background-image:url(<?=ServConfig::$gameImagePath?>/back_blue.jpg); }
|
||||
</style>
|
||||
|
||||
</head>
|
||||
@@ -53,14 +62,15 @@ select { font-family:'굴림'; line-height:100%; }
|
||||
</table>
|
||||
<table align=center border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<?php
|
||||
if(Session::getUserGrade() >= 5) {
|
||||
if ($session->userGrade >= 5) {
|
||||
$sel = [];
|
||||
echo "
|
||||
<form method=post action=c_tournament.php>
|
||||
<tr><td colspan=8><input type=textarea size=150 style=color:white;background-color:black; name=msg><input type=submit name=btn value='메시지'></td></tr>
|
||||
<tr><td colspan=8>
|
||||
<input type=button value='갱신' onclick='location.reload()'>";
|
||||
|
||||
switch($admin['tnmt_trig']) {
|
||||
switch ($admin['tnmt_trig']) {
|
||||
case 0: $sel[0] = "selected"; break;
|
||||
case 1: $sel[1] = "selected"; break;
|
||||
case 2: $sel[2] = "selected"; break;
|
||||
@@ -71,7 +81,7 @@ if(Session::getUserGrade() >= 5) {
|
||||
case 7: $sel[7] = "selected"; break;
|
||||
}
|
||||
|
||||
if($admin['tournament'] == 0) {
|
||||
if ($admin['tournament'] == 0) {
|
||||
echo "
|
||||
<select name=auto size=1 style=color:white;background-color:black;>
|
||||
<option style=color:white; value=0>수동진행</option>
|
||||
@@ -102,25 +112,30 @@ if(Session::getUserGrade() >= 5) {
|
||||
</select>
|
||||
<input type=submit name=btn value='자동개최설정'>
|
||||
<input type=submit name=btn value='포상'>
|
||||
<input type=submit name=btn value='회수'>"; }
|
||||
else {
|
||||
<input type=submit name=btn value='회수'>";
|
||||
} else {
|
||||
echo "<input type=submit name=btn value='중단' onclick='return confirm(\"진짜 중단하시겠습니까?\")'>";
|
||||
}
|
||||
|
||||
switch($admin['tournament']) {
|
||||
switch ($admin['tournament']) {
|
||||
case 1:
|
||||
echo "<select name=gen size=1 style=color:white;background-color:black;>";
|
||||
|
||||
$query = "select no,name,npc,tnmt,leader,power,intel,leader+power+intel as total from general where tournament=0 and gold>='{$admin['develcost']}' order by {$tp3} desc";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$genCount = MYDB_num_rows($result);
|
||||
|
||||
for($i=0; $i < $genCount; $i++) {
|
||||
for ($i=0; $i < $genCount; $i++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
if($general['npc'] >= 2) { $npc = "cyan"; }
|
||||
elseif($general['npc'] == 1) { $npc = "skyblue"; }
|
||||
elseif($general['tnmt'] > 0) { $npc = "blue"; }
|
||||
else { $npc = "white"; }
|
||||
if ($general['npc'] >= 2) {
|
||||
$npc = "cyan";
|
||||
} elseif ($general['npc'] == 1) {
|
||||
$npc = "skyblue";
|
||||
} elseif ($general['tnmt'] > 0) {
|
||||
$npc = "blue";
|
||||
} else {
|
||||
$npc = "white";
|
||||
}
|
||||
echo "<option style=color:{$npc}; value={$general['no']}>[{$general[$tp3]}]{$general['name']}</option>";
|
||||
}
|
||||
echo "
|
||||
@@ -151,18 +166,18 @@ if(Session::getUserGrade() >= 5) {
|
||||
echo "
|
||||
</td></tr>
|
||||
</form>";
|
||||
} elseif($me['no'] > 0 && $me['tournament'] == 0 && $admin['tournament'] == 1) {
|
||||
} elseif ($me['no'] > 0 && $me['tournament'] == 0 && $admin['tournament'] == 1) {
|
||||
echo "<form method=post action=c_tournament.php><tr><td colspan=8><input type=button value='갱신' onclick='location.reload()'><input type=submit name=btn value='참가' onclick='return confirm(\"참가비 금{$admin['develcost']}이 필요합니다. 참가하시겠습니까?\")'></td></tr></form>";
|
||||
} else {
|
||||
echo "<tr><td colspan=8><input type=button value='갱신' onclick='location.reload()'></td></tr>";
|
||||
}
|
||||
|
||||
$str1 = getTournament($admin['tournament']);
|
||||
$str2 = getTournamentTime($connect);
|
||||
$str3 = getTournamentTerm($connect);
|
||||
$str2 = getTournamentTime();
|
||||
$str3 = getTournamentTerm();
|
||||
?>
|
||||
<tr><td colspan=8>운영자 메세지 : <font color=orange size=5><?=$admin['tnmt_msg'];?></font></td></tr>
|
||||
<tr><td colspan=8 align=center><font color=white size=6><?=$tnmt_type;?> (<?=$str1.", ".$str2.", ".$str3;?>)</font></td></tr>
|
||||
<tr><td colspan=8>운영자 메세지 : <font color=orange size=5><?=$admin['tnmt_msg']?></font></td></tr>
|
||||
<tr><td colspan=8 align=center><font color=white size=6><?=$tnmt_type?> (<?=$str1.", ".$str2.", ".$str3?>)</font></td></tr>
|
||||
<tr><td colspan=8 align=center id=bg2><font color=magenta size=5>16강 승자전</font></td></tr>
|
||||
<tr><td height=10 colspan=8 align=center></td></tr>
|
||||
<?php
|
||||
@@ -174,12 +189,17 @@ echo "
|
||||
<tr align=center>";
|
||||
|
||||
$query = "select npc,name,win from tournament where grp>=60 order by grp, grp_no";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
for($i=0; $i < 1; $i++) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
for ($i=0; $i < 1; $i++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
if($general['name'] == "") { $general['name'] = "-"; }
|
||||
if($general['npc'] >= 2) { $general['name'] = "<font color=cyan>".$general['name']."</font>"; }
|
||||
elseif($general['npc'] == 1) { $general['name'] = "<font color=skyblue>".$general['name']."</font>"; }
|
||||
if ($general['name'] == "") {
|
||||
$general['name'] = "-";
|
||||
}
|
||||
if ($general['npc'] >= 2) {
|
||||
$general['name'] = "<font color=cyan>".$general['name']."</font>";
|
||||
} elseif ($general['npc'] == 1) {
|
||||
$general['name'] = "<font color=skyblue>".$general['name']."</font>";
|
||||
}
|
||||
echo "<td colspan=16>{$general['name']}</td>";
|
||||
}
|
||||
|
||||
@@ -188,18 +208,31 @@ echo "
|
||||
<tr align=center>";
|
||||
|
||||
$query = "select npc,name,win from tournament where grp>=50 order by grp, grp_no";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
for($i=0; $i < 1; $i++) { $cent[$i] = "<font color=white>"; }
|
||||
for($i=0; $i < 2; $i++) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$cent = [];
|
||||
for ($i=0; $i < 1; $i++) {
|
||||
$cent[$i] = "<font color=white>";
|
||||
}
|
||||
$line = [];
|
||||
for ($i=0; $i < 2; $i++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
if($general['name'] == "") { $general['name'] = "-"; }
|
||||
if($general['npc'] >= 2) { $general['name'] = "<font color=cyan>".$general['name']."</font>"; }
|
||||
elseif($general['npc'] == 1) { $general['name'] = "<font color=skyblue>".$general['name']."</font>"; }
|
||||
if($general['win'] > 0) { $line[$i] = "<font color=red>"; $cent[floor($i/2)] = "<font color=red>"; }
|
||||
else { $line[$i] = "<font color=white>"; }
|
||||
if ($general['name'] == "") {
|
||||
$general['name'] = "-";
|
||||
}
|
||||
if ($general['npc'] >= 2) {
|
||||
$general['name'] = "<font color=cyan>".$general['name']."</font>";
|
||||
} elseif ($general['npc'] == 1) {
|
||||
$general['name'] = "<font color=skyblue>".$general['name']."</font>";
|
||||
}
|
||||
if ($general['win'] > 0) {
|
||||
$line[$i] = "<font color=red>";
|
||||
$cent[intdiv($i, 2)] = "<font color=red>";
|
||||
} else {
|
||||
$line[$i] = "<font color=white>";
|
||||
}
|
||||
$gen[$i] = $general['name'];
|
||||
}
|
||||
for($i=0; $i < 1; $i++) {
|
||||
for ($i=0; $i < 1; $i++) {
|
||||
$cent[$i] = $cent[$i]."┻"."</font>";
|
||||
$line[$i*2] = $line[$i*2]."┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"."</font>";
|
||||
$line[$i*2+1] = $line[$i*2+1]."━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓"."</font>";
|
||||
@@ -209,7 +242,7 @@ echo "
|
||||
</tr>
|
||||
<tr align=center>";
|
||||
|
||||
for($i=0; $i < 2; $i++) {
|
||||
for ($i=0; $i < 2; $i++) {
|
||||
echo "<td colspan=8>{$gen[$i]}</td>";
|
||||
}
|
||||
|
||||
@@ -218,18 +251,29 @@ echo "
|
||||
<tr align=center>";
|
||||
|
||||
$query = "select npc,name,win from tournament where grp>=40 order by grp, grp_no";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
for($i=0; $i < 2; $i++) { $cent[$i] = "<font color=white>"; }
|
||||
for($i=0; $i < 4; $i++) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
for ($i=0; $i < 2; $i++) {
|
||||
$cent[$i] = "<font color=white>";
|
||||
}
|
||||
for ($i=0; $i < 4; $i++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
if($general['name'] == "") { $general['name'] = "-"; }
|
||||
if($general['npc'] >= 2) { $general['name'] = "<font color=cyan>".$general['name']."</font>"; }
|
||||
elseif($general['npc'] == 1) { $general['name'] = "<font color=skyblue>".$general['name']."</font>"; }
|
||||
if($general['win'] > 0) { $line[$i] = "<font color=red>"; $cent[floor($i/2)] = "<font color=red>"; }
|
||||
else { $line[$i] = "<font color=white>"; }
|
||||
if ($general['name'] == "") {
|
||||
$general['name'] = "-";
|
||||
}
|
||||
if ($general['npc'] >= 2) {
|
||||
$general['name'] = "<font color=cyan>".$general['name']."</font>";
|
||||
} elseif ($general['npc'] == 1) {
|
||||
$general['name'] = "<font color=skyblue>".$general['name']."</font>";
|
||||
}
|
||||
if ($general['win'] > 0) {
|
||||
$line[$i] = "<font color=red>";
|
||||
$cent[intdiv($i, 2)] = "<font color=red>";
|
||||
} else {
|
||||
$line[$i] = "<font color=white>";
|
||||
}
|
||||
$gen[$i] = $general['name'];
|
||||
}
|
||||
for($i=0; $i < 2; $i++) {
|
||||
for ($i=0; $i < 2; $i++) {
|
||||
$cent[$i] = $cent[$i]."┻"."</font>";
|
||||
$line[$i*2] = $line[$i*2]."┏━━━━━━━━━━━━━━━━━━"."</font>";
|
||||
$line[$i*2+1] = $line[$i*2+1]."━━━━━━━━━━━━━━━━━━┓"."</font>";
|
||||
@@ -239,7 +283,7 @@ echo "
|
||||
</tr>
|
||||
<tr align=center>";
|
||||
|
||||
for($i=0; $i < 4; $i++) {
|
||||
for ($i=0; $i < 4; $i++) {
|
||||
echo "<td colspan=4>{$gen[$i]}</td>";
|
||||
}
|
||||
|
||||
@@ -248,18 +292,29 @@ echo "
|
||||
<tr align=center>";
|
||||
|
||||
$query = "select npc,name,win from tournament where grp>=30 order by grp, grp_no";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
for($i=0; $i < 4; $i++) { $cent[$i] = "<font color=white>"; }
|
||||
for($i=0; $i < 8; $i++) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
for ($i=0; $i < 4; $i++) {
|
||||
$cent[$i] = "<font color=white>";
|
||||
}
|
||||
for ($i=0; $i < 8; $i++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
if($general['name'] == "") { $general['name'] = "-"; }
|
||||
if($general['npc'] >= 2) { $general['name'] = "<font color=cyan>".$general['name']."</font>"; }
|
||||
elseif($general['npc'] == 1) { $general['name'] = "<font color=skyblue>".$general['name']."</font>"; }
|
||||
if($general['win'] > 0) { $line[$i] = "<font color=red>"; $cent[floor($i/2)] = "<font color=red>"; }
|
||||
else { $line[$i] = "<font color=white>"; }
|
||||
if ($general['name'] == "") {
|
||||
$general['name'] = "-";
|
||||
}
|
||||
if ($general['npc'] >= 2) {
|
||||
$general['name'] = "<font color=cyan>".$general['name']."</font>";
|
||||
} elseif ($general['npc'] == 1) {
|
||||
$general['name'] = "<font color=skyblue>".$general['name']."</font>";
|
||||
}
|
||||
if ($general['win'] > 0) {
|
||||
$line[$i] = "<font color=red>";
|
||||
$cent[intdiv($i, 2)] = "<font color=red>";
|
||||
} else {
|
||||
$line[$i] = "<font color=white>";
|
||||
}
|
||||
$gen[$i] = $general['name'];
|
||||
}
|
||||
for($i=0; $i < 4; $i++) {
|
||||
for ($i=0; $i < 4; $i++) {
|
||||
$cent[$i] = $cent[$i]."┻"."</font>";
|
||||
$line[$i*2] = $line[$i*2]."┏━━━━━━━━━"."</font>";
|
||||
$line[$i*2+1] = $line[$i*2+1]."━━━━━━━━━┓"."</font>";
|
||||
@@ -269,7 +324,7 @@ echo "
|
||||
</tr>
|
||||
<tr align=center>";
|
||||
|
||||
for($i=0; $i < 8; $i++) {
|
||||
for ($i=0; $i < 8; $i++) {
|
||||
echo "<td colspan=2>{$gen[$i]}</td>";
|
||||
}
|
||||
|
||||
@@ -278,18 +333,29 @@ echo "
|
||||
<tr align=center>";
|
||||
|
||||
$query = "select npc,name,win from tournament where grp>=20 order by grp, grp_no";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
for($i=0; $i < 8; $i++) { $cent[$i] = "<font color=white>"; }
|
||||
for($i=0; $i < 16; $i++) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
for ($i=0; $i < 8; $i++) {
|
||||
$cent[$i] = "<font color=white>";
|
||||
}
|
||||
for ($i=0; $i < 16; $i++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
if($general['name'] == "") { $general['name'] = "-"; }
|
||||
if($general['npc'] >= 2) { $general['name'] = "<font color=cyan>".$general['name']."</font>"; }
|
||||
elseif($general['npc'] == 1) { $general['name'] = "<font color=skyblue>".$general['name']."</font>"; }
|
||||
if($general['win'] > 0) { $line[$i] = "<font color=red>"; $cent[floor($i/2)] = "<font color=red>"; }
|
||||
else { $line[$i] = "<font color=white>"; }
|
||||
if ($general['name'] == "") {
|
||||
$general['name'] = "-";
|
||||
}
|
||||
if ($general['npc'] >= 2) {
|
||||
$general['name'] = "<font color=cyan>".$general['name']."</font>";
|
||||
} elseif ($general['npc'] == 1) {
|
||||
$general['name'] = "<font color=skyblue>".$general['name']."</font>";
|
||||
}
|
||||
if ($general['win'] > 0) {
|
||||
$line[$i] = "<font color=red>";
|
||||
$cent[intdiv($i, 2)] = "<font color=red>";
|
||||
} else {
|
||||
$line[$i] = "<font color=white>";
|
||||
}
|
||||
$gen[$i] = $general['name'];
|
||||
}
|
||||
for($i=0; $i < 8; $i++) {
|
||||
for ($i=0; $i < 8; $i++) {
|
||||
$cent[$i] = $cent[$i]."┻"."</font>";
|
||||
$line[$i*2] = $line[$i*2]."┏━━━━"."</font>";
|
||||
$line[$i*2+1] = $line[$i*2+1]."━━━━┓"."</font>";
|
||||
@@ -299,7 +365,7 @@ echo "
|
||||
</tr>
|
||||
<tr align=center>";
|
||||
|
||||
for($i=0; $i < 16; $i++) {
|
||||
for ($i=0; $i < 16; $i++) {
|
||||
echo "<td width=125>{$gen[$i]}</td>";
|
||||
}
|
||||
|
||||
@@ -307,17 +373,20 @@ echo"
|
||||
</tr>";
|
||||
|
||||
$query = "select tournament,bet0,bet1,bet2,bet3,bet4,bet5,bet6,bet7,bet8,bet9,bet10,bet11,bet12,bet13,bet14,bet15,bet0+bet1+bet2+bet3+bet4+bet5+bet6+bet7+bet8+bet9+bet10+bet11+bet12+bet13+bet14+bet15 as bet from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$betting = MYDB_fetch_array($result);
|
||||
for($i=0; $i < 16; $i++) {
|
||||
$bet = [];
|
||||
for ($i=0; $i < 16; $i++) {
|
||||
$bet[$i] = @round($betting['bet'] / $betting["bet{$i}"], 2);
|
||||
if($bet[$i] == 0) { $bet[$i] = "∞"; }
|
||||
if ($bet[$i] == 0) {
|
||||
$bet[$i] = "∞";
|
||||
}
|
||||
}
|
||||
|
||||
echo "
|
||||
<tr align=center>";
|
||||
|
||||
for($i=0; $i < 16; $i++) {
|
||||
for ($i=0; $i < 16; $i++) {
|
||||
echo "<td><font color=skyblue>{$bet[$i]}</font></td>";
|
||||
}
|
||||
|
||||
@@ -329,15 +398,17 @@ echo "
|
||||
</td>
|
||||
</tr>";
|
||||
|
||||
if($admin['tournament'] >= 7 || $admin['tournament'] == 0) { printFighting($admin['tournament'], $admin['phase']); }
|
||||
if ($admin['tournament'] >= 7 || $admin['tournament'] == 0) {
|
||||
printFighting($admin['tournament'], $admin['phase']);
|
||||
}
|
||||
echo "
|
||||
<tr><td height=10 colspan=8 align=center></td></tr>
|
||||
<tr><td colspan=8 align=center id=bg2><font color=orange size=5>조별 본선 순위</font></td></tr>
|
||||
<tr>";
|
||||
|
||||
$num = Array("一", "二", "三", "四", "五", "六", "七", "八");
|
||||
$num = array("一", "二", "三", "四", "五", "六", "七", "八");
|
||||
|
||||
for($i=0; $i < 8; $i++) {
|
||||
for ($i=0; $i < 8; $i++) {
|
||||
$grp = $i + 10;
|
||||
echo "
|
||||
<td>
|
||||
@@ -346,8 +417,8 @@ for($i=0; $i < 8; $i++) {
|
||||
<tr id=bg1><td align=center>순</td><td align=center>장수</td><td align=center>{$tp2}</td><td align=center>경</td><td align=center>승</td><td align=center>무</td><td align=center>패</td><td align=center>점</td><td align=center>득</td></tr>";
|
||||
|
||||
$query = "select npc,name,ldr,pwr,itl,ldr+pwr+itl as tot,prmt,win+draw+lose as game,win,draw,lose,gl,win*3+draw as gd from tournament where grp='$grp' order by gd desc, gl desc, seq";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
for($k=1; $k <= 4; $k++) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
for ($k=1; $k <= 4; $k++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
printRow($k, $general['npc'], $general['name'], $general[$tp], $general['game'], $general['win'], $general['draw'], $general['lose'], $general['gd'], $general['gl'], $general['prmt']);
|
||||
}
|
||||
@@ -356,12 +427,14 @@ for($i=0; $i < 8; $i++) {
|
||||
</td>";
|
||||
}
|
||||
echo "</tr>";
|
||||
if($admin['tournament'] == 4 || $admin['tournament'] == 5) { printFighting($admin['tournament'], $admin['phase']); }
|
||||
if ($admin['tournament'] == 4 || $admin['tournament'] == 5) {
|
||||
printFighting($admin['tournament'], $admin['phase']);
|
||||
}
|
||||
echo "
|
||||
<tr><td colspan=8 align=center id=bg2><font color=yellow size=5>조별 예선 순위</font></td></tr>
|
||||
<tr>";
|
||||
|
||||
for($i=0; $i < 8; $i++) {
|
||||
for ($i=0; $i < 8; $i++) {
|
||||
$grp = $i;
|
||||
echo "
|
||||
<td>
|
||||
@@ -370,8 +443,8 @@ for($i=0; $i < 8; $i++) {
|
||||
<tr id=bg1><td align=center>순</td><td align=center>장수</td><td align=center>{$tp2}</td><td align=center>경</td><td align=center>승</td><td align=center>무</td><td align=center>패</td><td align=center>점</td><td align=center>득</td></tr>";
|
||||
|
||||
$query = "select npc,name,ldr,pwr,itl,ldr+pwr+itl as tot,prmt,win+draw+lose as game,win,draw,lose,gl,win*3+draw as gd from tournament where grp='$grp' order by gd desc, gl desc, seq";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
for($k=1; $k <= 8; $k++) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
for ($k=1; $k <= 8; $k++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
printRow($k, $general['npc'], $general['name'], $general[$tp], $general['game'], $general['win'], $general['draw'], $general['lose'], $general['gd'], $general['gl'], $general['prmt']);
|
||||
}
|
||||
@@ -380,13 +453,15 @@ for($i=0; $i < 8; $i++) {
|
||||
</td>";
|
||||
}
|
||||
|
||||
if($admin['tournament'] == 2 || $admin['tournament'] == 3) { printFighting($admin['tournament'], $admin['phase']); }
|
||||
if ($admin['tournament'] == 2 || $admin['tournament'] == 3) {
|
||||
printFighting($admin['tournament'], $admin['phase']);
|
||||
}
|
||||
|
||||
?>
|
||||
</tr>
|
||||
<tr><td colspan=8>
|
||||
<font color=white size=2>
|
||||
ㆍ예선은 홈&어웨이 풀리그로 진행됩니다. (총 14경기)<br>
|
||||
ㆍ예선은 홈&어웨이 풀리그로 진행됩니다. (총 14경기)<br>
|
||||
ㆍ상위 4명이 본선에 진출하게 되며 조추첨을 통해 조가 배정됩니다.<br>
|
||||
ㆍ각 조1위가 시드1로 랜덤하게 조에 배정되며, 역시 각 조2위가 시드2로 랜덤하게 조에 배정됩니다.<br>
|
||||
ㆍ그후 남은 3, 4위는 완전 랜덤하게 모든 조에 랜덤하게 배정됩니다.<br>
|
||||
|
||||
+9
-5
@@ -4,11 +4,15 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("부대편성", 1);
|
||||
|
||||
$query = "select no,nation,troop from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation,troop from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -22,7 +26,8 @@ $troopcount = MYDB_num_rows($result);
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>부대편성</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -147,7 +152,6 @@ echo "
|
||||
</tr>
|
||||
</table>";
|
||||
|
||||
MYDB_close($connect);
|
||||
?>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr><td><?=backButton()?></td></tr>
|
||||
|
||||
+141
-73
@@ -3,39 +3,65 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
$v = new Validator($_POST + $_GET);
|
||||
$v->rule('integer', [
|
||||
'amount',
|
||||
'cost',
|
||||
'topv',
|
||||
'value',
|
||||
'term',
|
||||
'stuff',
|
||||
'sel'
|
||||
]);
|
||||
|
||||
$amount = Util::getReq('amount', 'int');
|
||||
$cost = Util::getReq('cost', 'int');
|
||||
$topv = Util::getReq('topv', 'int');
|
||||
$value = Util::getReq('value', 'int');
|
||||
$term = Util::getReq('term', 'int');
|
||||
$stuff = Util::getReq('stuff', 'int');
|
||||
$sel = Util::getReq('sel', 'int');
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
increaseRefresh("입찰", 1);
|
||||
|
||||
$query = "select turnterm from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,name,gold,rice,special from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$query = "select no,name,gold,rice,special from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no from auction where no1='{$me['no']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$tradeCount = MYDB_num_rows($result);
|
||||
|
||||
$query = "select no from auction where no2='{$me['no']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$bidCount = MYDB_num_rows($result);
|
||||
|
||||
$btCount = $tradeCount + $bidCount;
|
||||
|
||||
$unit = $admin['turnterm'] * 60;
|
||||
|
||||
$amount = round($amount / 10) * 10;
|
||||
$cost = round($cost / 10) * 10;
|
||||
$topv = round($topv / 10) * 10;
|
||||
$value = round($value / 10) * 10;
|
||||
if($term > 24) $term = 24;
|
||||
$amount = Util::round($amount / 10) * 10;
|
||||
$cost = Util::round($cost / 10) * 10;
|
||||
$topv = Util::round($topv / 10) * 10;
|
||||
$value = Util::round($value / 10) * 10;
|
||||
if ($term > 24) {
|
||||
$term = 24;
|
||||
}
|
||||
|
||||
$valid = 1;
|
||||
if(Session::getUserGrade() >= 5 || ($me['special'] != 30 && $btCount < 1) || ($me['special'] == 30 && $btCount < 3)) {
|
||||
if ($session->userGrade >= 5 || ($me['special'] != 30 && $btCount < 1) || ($me['special'] == 30 && $btCount < 3)) {
|
||||
} else {
|
||||
$msg = "ㆍ<span class='ev_warning'>더이상 등록할 수 없습니다.</span>";
|
||||
$msg2 = "ㆍ<span class='ev_warning'>더이상 등록할 수 없습니다.</span>";
|
||||
@@ -43,167 +69,209 @@ if(Session::getUserGrade() >= 5 || ($me['special'] != 30 && $btCount < 1) || ($m
|
||||
$btn = "hidden";
|
||||
}
|
||||
|
||||
if($btn == "판매") {
|
||||
if($stuff != 0) {
|
||||
if ($btn == "판매") {
|
||||
if ($stuff != 0) {
|
||||
$msg = "ㆍ<span class='ev_warning'>현재 쌀만 거래 가능합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($term < 0 || $term > 24) {
|
||||
if ($term < 0 || $term > 24) {
|
||||
$msg = "ㆍ<span class='ev_warning'>종료기한은 1 ~ 24 턴 이어야 합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($amount < 100 || $amount > 10000) {
|
||||
if ($amount < 100 || $amount > 10000) {
|
||||
$msg = "ㆍ<span class='ev_warning'>거래량은 100 ~ 10000 이어야 합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($cost > $amount * 2 || $cost * 2 < $amount) {
|
||||
if ($cost > $amount * 2 || $cost * 2 < $amount) {
|
||||
$msg = "ㆍ<span class='ev_warning'>시작판매가는 50% ~ 200% 이어야 합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($topv < $amount*1.1 || $topv > $amount * 2) {
|
||||
if ($topv < $amount*1.1 || $topv > $amount * 2) {
|
||||
$msg = "ㆍ<span class='ev_warning'>즉시판매가는 110% ~ 200% 이어야 합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($topv < $cost*1.1) {
|
||||
if ($topv < $cost*1.1) {
|
||||
$msg = "ㆍ<span class='ev_warning'>즉시판매가는 시작판매가의 110% 이상이어야 합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($amount > $me['rice'] - 1000) {
|
||||
if ($amount > $me['rice'] - 1000) {
|
||||
$msg = "ㆍ<span class='ev_warning'>기본 군량 1000은 거래할 수 없습니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($valid == 1) {
|
||||
if ($valid == 1) {
|
||||
$msg = "ㆍ<span class='ev_success'>등록 성공.</span>";
|
||||
$date = date("Y-m-d H:i:s", strtotime(date("Y-m-d H:i:s")) + $unit * $term);
|
||||
$query = "insert into auction (type, no1, name1, stuff, amount, cost, value, topv, expire) values (0, '{$me['no']}', '{$me['name']}', '$stuff', '$amount', '$cost', '$cost', '$topv', '$date')";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$db->insert('auction', [
|
||||
'type'=>0,
|
||||
'no1'=>$me['no'],
|
||||
'name1'=>$me['name'],
|
||||
'stuff'=>$stuff,
|
||||
'amount'=>$amount,
|
||||
'cost'=>$cost,
|
||||
'value'=>$cost,
|
||||
'topv'=>$topv,
|
||||
'expire'=>$date
|
||||
]);
|
||||
}
|
||||
} elseif($btn == "구매시도") {
|
||||
} elseif ($btn == "구매시도") {
|
||||
$query = "select no2,value,topv,expire,amount from auction where no='$sel'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$auction = MYDB_fetch_array($result);
|
||||
|
||||
if($value == $auction['topv']) {
|
||||
if ($value == $auction['topv']) {
|
||||
$valid = 2;
|
||||
}
|
||||
if(!$auction) {
|
||||
if (!$auction) {
|
||||
$msg = "ㆍ<span class='ev_warning'>종료된 거래입니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
/*
|
||||
if($stuff != 0) {
|
||||
$msg = "ㆍ<span class='ev_warning'>현재 쌀만 거래 가능합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
*/
|
||||
if($auction['no2'] > 0 && $value <= $auction['value']) {
|
||||
/*
|
||||
if($stuff != 0) {
|
||||
$msg = "ㆍ<span class='ev_warning'>현재 쌀만 거래 가능합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
*/
|
||||
if ($auction['no2'] > 0 && $value <= $auction['value']) {
|
||||
$msg = "ㆍ<span class='ev_warning'>현재판매가보다 높게 입찰해야 합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($value < $auction['value']) {
|
||||
if ($value < $auction['value']) {
|
||||
$msg = "ㆍ<span class='ev_warning'>현재판매가보다 높게 입찰해야 합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($value > $auction['topv']) {
|
||||
if ($value > $auction['topv']) {
|
||||
$msg = "ㆍ<span class='ev_warning'>즉시판매가보다 높을 수 없습니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($value > $me['gold'] - 1000) {
|
||||
if ($value > $me['gold'] - 1000) {
|
||||
$msg = "ㆍ<span class='ev_warning'>기본 자금 1000은 거래할 수 없습니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($valid == 1) {
|
||||
if ($valid == 1) {
|
||||
$msg = "ㆍ<span class='ev_success'>입찰 성공.</span> 거래완료는 빨라도 현재로부터 1턴 뒤입니다.";
|
||||
$date = date("Y-m-d H:i:s", strtotime(date("Y-m-d H:i:s")) + $unit);
|
||||
if($auction['expire'] > $date) $date = $auction['expire'];
|
||||
$query = "update auction set value='$value',no2='{$me['no']}',name2='{$me['name']}',expire='$date' where no='$sel'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
} elseif($valid == 2) {
|
||||
if ($auction['expire'] > $date) {
|
||||
$date = $auction['expire'];
|
||||
}
|
||||
|
||||
$db->update('auction', [
|
||||
'value'=>$value,
|
||||
'no2'=>$me['no'],
|
||||
'name2'=>$me['name'],
|
||||
'expire'=>$date,
|
||||
], 'no=%i', $sel);
|
||||
} elseif ($valid == 2) {
|
||||
$msg = "ㆍ<span class='ev_success'>즉시판매 성공.</span> 거래완료는 빨라도 현재로부터 1턴 뒤입니다.";
|
||||
$date = date("Y-m-d H:i:s", strtotime(date("Y-m-d H:i:s")) + $unit);
|
||||
$query = "update auction set value='$value',no2='{$me['no']}',name2='{$me['name']}',expire='$date' where no='$sel'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$db->update('auction', [
|
||||
'value'=>$value,
|
||||
'no2'=>$me['no'],
|
||||
'name2'=>$me['name'],
|
||||
'expire'=>$date,
|
||||
], 'no=%i', $sel);
|
||||
}
|
||||
} elseif($btn == "구매") {
|
||||
if($stuff != 0) {
|
||||
} elseif ($btn == "구매") {
|
||||
if ($stuff != 0) {
|
||||
$msg2 = "ㆍ<span class='ev_warning'>현재 쌀만 거래 가능합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($term < 0 || $term > 24) {
|
||||
if ($term < 0 || $term > 24) {
|
||||
$msg2 = "ㆍ<span class='ev_warning'>종료기한은 1 ~ 24 턴 이어야 합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($amount < 100 || $amount > 10000) {
|
||||
if ($amount < 100 || $amount > 10000) {
|
||||
$msg2 = "ㆍ<span class='ev_warning'>거래량은 100 ~ 10000 이어야 합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($cost > $amount * 2 || $cost * 2 < $amount) {
|
||||
if ($cost > $amount * 2 || $cost * 2 < $amount) {
|
||||
$msg2 = "ㆍ<span class='ev_warning'>시작구매가는 50% ~ 200% 이어야 합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($topv < $amount * 0.5 || $topv > $amount * 0.9) {
|
||||
if ($topv < $amount * 0.5 || $topv > $amount * 0.9) {
|
||||
$msg2 = "ㆍ<span class='ev_warning'>즉시구매가는 50% ~ 90% 이어야 합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($topv > $cost * 0.9) {
|
||||
if ($topv > $cost * 0.9) {
|
||||
$msg2 = "ㆍ<span class='ev_warning'>즉시구매가는 시작구매가의 90% 이하이어야 합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($cost > $me['gold'] - 1000) {
|
||||
if ($cost > $me['gold'] - 1000) {
|
||||
$msg2 = "ㆍ<span class='ev_warning'>기본 자금 1000은 거래할 수 없습니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($valid == 1) {
|
||||
if ($valid == 1) {
|
||||
$msg2 = "ㆍ<span class='ev_success'>등록 성공.</span>";
|
||||
$date = date("Y-m-d H:i:s", strtotime(date("Y-m-d H:i:s")) + $unit * $term);
|
||||
$query = "insert into auction (type, no1, name1, stuff, amount, cost, value, topv, expire) values (1, '{$me['no']}', '{$me['name']}', '$stuff', '$amount', '$cost', '$cost', '$topv', '$date')";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$db->insert('auction', [
|
||||
'type'=>1,
|
||||
'no1'=>$me['no'],
|
||||
'name1'=>$me['name'],
|
||||
'stuff'=>$stuff,
|
||||
'amount'=>$amount,
|
||||
'cost'=>$cost,
|
||||
'value'=>$cost,
|
||||
'topv'=>$topv,
|
||||
'expire'=>$date
|
||||
]);
|
||||
}
|
||||
} elseif($btn == "판매시도") {
|
||||
} elseif ($btn == "판매시도") {
|
||||
$query = "select no2,value,topv,expire,amount from auction where no='$sel'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$auction = MYDB_fetch_array($result);
|
||||
|
||||
if($value == $auction['topv']) {
|
||||
if ($value == $auction['topv']) {
|
||||
$valid = 2;
|
||||
}
|
||||
if(!$auction) {
|
||||
if (!$auction) {
|
||||
$msg2 = "ㆍ<span class='ev_warning'>종료된 거래입니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($stuff != 0) {
|
||||
if ($stuff != 0) {
|
||||
$msg2 = "ㆍ<span class='ev_warning'>현재 쌀만 거래 가능합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($auction['no2'] > 0 && $value >= $auction['value']) {
|
||||
if ($auction['no2'] > 0 && $value >= $auction['value']) {
|
||||
$msg2 = "ㆍ<span class='ev_warning'>현재구매가보다 낮게 입찰해야 합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($value > $auction['value']) {
|
||||
if ($value > $auction['value']) {
|
||||
$msg2 = "ㆍ<span class='ev_warning'>현재구매가보다 낮게 입찰해야 합니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($value < $auction['topv']) {
|
||||
if ($value < $auction['topv']) {
|
||||
$msg2 = "ㆍ<span class='ev_warning'>즉시구매가보다 낮을 수 없습니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($value > $me['rice'] - 1000) {
|
||||
if ($value > $me['rice'] - 1000) {
|
||||
$msg2 = "ㆍ<span class='ev_warning'>기본 군량 1000은 거래할 수 없습니다.</span>";
|
||||
$valid = 0;
|
||||
}
|
||||
if($valid == 1) {
|
||||
if ($valid == 1) {
|
||||
$msg2 = "ㆍ<span class='ev_success'>입찰 성공.</span> 거래완료는 빨라도 현재로부터 1턴 뒤입니다.";
|
||||
$date = date("Y-m-d H:i:s", strtotime(date("Y-m-d H:i:s")) + $unit);
|
||||
if($auction['expire'] > $date) $date = $auction['expire'];
|
||||
$query = "update auction set value='$value',no2='{$me['no']}',name2='{$me['name']}',expire='$date' where no='$sel'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
} elseif($valid == 2) {
|
||||
if ($auction['expire'] > $date) {
|
||||
$date = $auction['expire'];
|
||||
}
|
||||
|
||||
$db->update('auction', [
|
||||
'value'=>$value,
|
||||
'no2'=>$me['no'],
|
||||
'name2'=>$me['name'],
|
||||
'expire'=>$date,
|
||||
], 'no=%i', $sel);
|
||||
} elseif ($valid == 2) {
|
||||
$msg2 = "ㆍ<span class='ev_success'>즉시구매 성공.</span> 거래완료는 빨라도 현재로부터 1턴 뒤입니다.";
|
||||
$date = date("Y-m-d H:i:s", strtotime(date("Y-m-d H:i:s")) + $unit);
|
||||
$query = "update auction set value='$value',no2='{$me['no']}',name2='{$me['name']}',expire='$date' where no='$sel'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$db->update('auction', [
|
||||
'value'=>$value,
|
||||
'no2'=>$me['no'],
|
||||
'name2'=>$me['name'],
|
||||
'expire'=>$date,
|
||||
], 'no=%i', $sel);
|
||||
}
|
||||
}
|
||||
|
||||
Submit("b_auction.php", $msg, $msg2);
|
||||
|
||||
|
||||
+49
-35
@@ -4,44 +4,58 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
|
||||
// $btn0~15, $gold0~15
|
||||
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
increaseRefresh("베팅", 1);
|
||||
|
||||
$query = "select tournament,phase,tnmt_type,develcost from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
if($admin['tournament'] != 6) {
|
||||
//echo "<script>location.replace('b_betting.php');</script>";
|
||||
echo 'b_betting.php';//TODO:debug all and replace
|
||||
exit();
|
||||
}
|
||||
|
||||
$query = "select gold,bet0,bet1,bet2,bet3,bet4,bet5,bet6,bet7,bet8,bet9,bet10,bet11,bet12,bet13,bet14,bet15,bet0+bet1+bet2+bet3+bet4+bet5+bet6+bet7+bet8+bet9+bet10+bet11+bet12+bet13+bet14+bet15 as bet from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
for($i=0; $i < 16; $i++) {
|
||||
if(${"btn{$i}"} == "베팅!") {
|
||||
$gold = ${"gold{$i}"};
|
||||
$mebet = $me["bet{$i}"];
|
||||
if($gold >= 10 && $gold <= 1000) {
|
||||
if($gold + 500 <= $me['gold'] && $gold + $mebet <= 1000 && $gold + $me['bet'] <= 1000) {
|
||||
$query = "update general set gold=gold-'$gold',bet{$i}=bet{$i}+'$gold',betgold=betgold+'$gold' where owner='{$_SESSION['userID']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$query = "update game set bet{$i}=bet{$i}+'$gold'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
}
|
||||
$betTarget = -1;
|
||||
$betGold = -1;
|
||||
for($i=0;$i<16;$i++){
|
||||
$textBtn = "btn{$i}";
|
||||
$textGold = "gold{$i}";
|
||||
$btn = Util::getReq($textBtn);
|
||||
$gold = Util::getReq($textGold, 'int');
|
||||
if($btn === "베팅!" && $gold){
|
||||
$betTarget = $i;
|
||||
$betGold = $gold;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
if($betTarget < 0 || $betGold < 10 || $betGold > 1000){
|
||||
header('Location: b_betting.php');
|
||||
exit();
|
||||
}
|
||||
|
||||
<!--<script>location.replace('b_betting.php');</script>//TODO:debug all and replace-->
|
||||
b_betting.php
|
||||
|
||||
//로그인 검사
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
|
||||
increaseRefresh("베팅", 1);
|
||||
|
||||
$tournament = $db->queryFirstField('SELECT tournament FROM game LIMIT 1');
|
||||
if($tournament != 6) {
|
||||
header('Location: b_betting.php');
|
||||
exit();
|
||||
}
|
||||
|
||||
$bets = $db->queryFirstList('SELECT bet0,bet1,bet2,bet3,bet4,bet5,bet6,bet7,bet8,bet9,bet10,bet11,bet12,bet13,bet14,bet15,gold FROM general WHERE `owner`=%i', $userID);
|
||||
$myGold = array_pop($bets);
|
||||
$totalBet = array_sum($bets);
|
||||
|
||||
//NOTE: 위 코드에서 $betTarget은 0~15의 정수임이 보장된다.
|
||||
$oldBet = $bets[$betTarget];
|
||||
if($betGold + 500 <= $myGold && $betGold + $oldBet <= 1000 && $betGold + $totalBet <= 1000) {
|
||||
$db->update('general', [
|
||||
'gold'=>$db->sqleval('gold - %i', $betGold),
|
||||
"bet{$betTarget}"=>$db->sqleval("bet{$betTarget} + %i", $betGold),
|
||||
'betgold'=>$db->sqleval('betgold + %i', $betGold)
|
||||
], 'owner = %i', $userID);
|
||||
$db->update('game', [
|
||||
"bet{$betTarget}"=>$db->sqleval("bet{$betTarget} + %i", $betGold)
|
||||
], true);
|
||||
}
|
||||
|
||||
header('location: b_betting.php');
|
||||
|
||||
+12
-4
@@ -3,14 +3,22 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
$title = Util::getReq('title');
|
||||
$msg = Util::getReq('msg');
|
||||
$num = Util::getReq('num');
|
||||
$reply = Util::getReq('reply');
|
||||
// $title, $msg, $num
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
if(getBlockLevel() != 1 && getBlockLevel() != 3) {
|
||||
$query = "select no,nation from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -21,7 +29,7 @@ if(getBlockLevel() != 1 && getBlockLevel() != 3) {
|
||||
$msg = trim($msg);
|
||||
$reply = trim($reply);
|
||||
|
||||
$nation = getNation($connect, $me['nation']);
|
||||
$nation = getNation($me['nation']);
|
||||
|
||||
//새글 추가시
|
||||
if($num == -1 && $title != "" && $msg != "") {
|
||||
|
||||
+14
-4
@@ -5,11 +5,21 @@ include "lib.php";
|
||||
include "func.php";
|
||||
// $btn, $msg, $scoutmsg, $rate, $bill, $secretlimit
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$btn = Util::getReq('btn');
|
||||
$msg = Util::getReq('msg');
|
||||
$scoutmsg = Util::getReq('scoutmsg');
|
||||
$rate = Util::getReq('rate', 'int');
|
||||
$bill = Util::getReq('bill', 'int');
|
||||
$secretlimit = Util::getReq('secretlimit', 'int');
|
||||
|
||||
$query = "select no,nation,level from general where owner='{$_SESSION['userID']}'";
|
||||
//로그인 검사
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select no,nation,level from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
|
||||
+47
-32
@@ -4,18 +4,38 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
// $turn, $command, $cost, $name, $nationname, $note, $double, $third, $fourth
|
||||
$turn = Util::getReq('turn', 'array_int');
|
||||
$command = Util::getReq('command', 'int', 0);
|
||||
$cost = Util::getReq('cost', 'int');
|
||||
$name = Util::getReq('name');
|
||||
$nationname = Util::getReq('nationname', 'string', '');
|
||||
$note = Util::getReq('note', 'string', '');
|
||||
$double = Util::getReq('double', 'int', 0);
|
||||
$third = Util::getReq('third', 'int', 0);
|
||||
$fourth = Util::getReq('fourth', 'int', 0);
|
||||
|
||||
if(!$turn){
|
||||
$turn = [0];
|
||||
}
|
||||
|
||||
'@phan-var int $double';
|
||||
'@phan-var int $third';
|
||||
'@phan-var int $fourth';
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
if($command < 0) { $command = 0; }
|
||||
if($double < 0) { $double = 0; }
|
||||
if($third < 0) { $third = 0; }
|
||||
if($fourth < 0) { $fourth = 0; }
|
||||
$double = round($double, 0);
|
||||
$third = round($third, 0);
|
||||
$fourth = round($fourth, 0);
|
||||
$double = Util::round($double);
|
||||
$third = Util::round($third);
|
||||
$fourth = Util::round($fourth);
|
||||
if($command > 99) { $command = 0; }
|
||||
if($double > 9999) { $double = 9999; }
|
||||
if($third > 9999) { $third = 9999; }
|
||||
@@ -30,23 +50,21 @@ if($command == 46) {
|
||||
$name = str_replace(" ", "", $name);
|
||||
$name = str_replace(" ", "뷁", $name);
|
||||
if($name == "") { $name = "무명"; }
|
||||
$name = StringUtil::SubStrForWidth($name, 0, 12);
|
||||
$name = StringUtil::subStringForWidth($name, 0, 12);
|
||||
|
||||
$query = "update general set makenation='{$name}' where owner='{$_SESSION['userID']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$db->update('general', [
|
||||
'makenation'=>$name
|
||||
], 'owner=%i', $userID);
|
||||
|
||||
$count = sizeof($turn);
|
||||
$str = "con=con";
|
||||
for($i=0; $i < $count; $i++) {
|
||||
$str .= ",turn{$turn[$i]}='{$comStr}'";
|
||||
$query = [];
|
||||
foreach($turn as $turnIdx){
|
||||
$query['turn'.$turnIdx] = $comStr;
|
||||
}
|
||||
$query = "update general set {$str} where owner='{$_SESSION['userID']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
//echo "<script>location.replace('index.php');</script>";
|
||||
echo 'index.php';//TODO:debug all and replace
|
||||
$db->update('general', $query, 'owner=%i', $userID);
|
||||
header('Location:index.php');
|
||||
//통합제의
|
||||
} elseif($command == 53) {
|
||||
$query = "select nation,level from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select nation,level from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -56,12 +74,12 @@ if($command == 46) {
|
||||
$nationname = str_replace(" ", "", $nationname);
|
||||
$nationname = str_replace(" ", "뷁", $nationname);
|
||||
if($nationname == "") { $nationname = "무명"; }
|
||||
$nationname = StringUtil::SubStrForWidth($nationname, 0, 12);
|
||||
$nationname = StringUtil::subStringForWidth($nationname, 0, 12);
|
||||
|
||||
$query = "update general set makenation='{$nationname}' where level>=5 and nation='{$me['nation']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$count = sizeof($turn);
|
||||
$count = count($turn);
|
||||
$str = "type=type";
|
||||
for($i=0; $i < $count; $i++) {
|
||||
$str .= ",l{$me['level']}turn{$turn[$i]}='{$comStr}'";
|
||||
@@ -73,7 +91,7 @@ if($command == 46) {
|
||||
echo 'b_chiefcenter.php';//TODO:debug all and replace
|
||||
//불가침
|
||||
} elseif($command == 61) {
|
||||
$query = "select nation,level from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select nation,level from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -82,12 +100,12 @@ if($command == 46) {
|
||||
$note = str_replace("|", "", $note);
|
||||
$note = str_replace(" ", "", $note);
|
||||
$note = str_replace(" ", "뷁", $note);
|
||||
$note = StringUtil::SubStrForWidth($note, 0, 90);
|
||||
$note = StringUtil::subStringForWidth($note, 0, 90);
|
||||
|
||||
$query = "update diplomacy set reserved='{$note}' where me='{$me['nation']}' and you='$double'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$count = sizeof($turn);
|
||||
$count = count($turn);
|
||||
$str = "type=type";
|
||||
for($i=0; $i < $count; $i++) {
|
||||
$str .= ",l{$me['level']}turn{$turn[$i]}='{$comStr}'";
|
||||
@@ -102,14 +120,14 @@ if($command == 46) {
|
||||
//백성동원, 수몰, 허보, 피장파장, 의병모집, 이호경식, 급습
|
||||
//국기변경
|
||||
} elseif($command == 23 || $command == 24 || $command == 27 || $command == 51 || $command == 52 || $command > 60) {
|
||||
$query = "select no,nation,level from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation,level from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
if(($command == 23 || $command == 24 || $command == 27) && $me['no'] == $third) {
|
||||
// 자기자신에게 악용 금지
|
||||
} elseif($me['level'] >= 5) {
|
||||
$count = sizeof($turn);
|
||||
$count = count($turn);
|
||||
$str = "type=type";
|
||||
for($i=0; $i < $count; $i++) {
|
||||
$str .= ",l{$me['level']}turn{$turn[$i]}='{$comStr}'";
|
||||
@@ -120,15 +138,12 @@ if($command == 46) {
|
||||
//echo "<script>location.replace('b_chiefcenter.php');</script>";
|
||||
echo 'b_chiefcenter.php';//TODO:debug all and replace
|
||||
} else {
|
||||
$count = sizeof($turn);
|
||||
$str = "con=con";
|
||||
for($i=0; $i < $count; $i++) {
|
||||
$str .= ",turn{$turn[$i]}='{$comStr}'";
|
||||
$query = [];
|
||||
foreach($turn as $turnIdx){
|
||||
$query['turn'.$turnIdx] = $comStr;
|
||||
}
|
||||
$query = "update general set {$str} where owner='{$_SESSION['userID']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
//echo "<script>location.replace('index.php');</script>";
|
||||
echo 'index.php';//TODO:debug all and replace
|
||||
$db->update('general', $query, 'owner=%i', $userID);
|
||||
header('Location:index.php');
|
||||
}
|
||||
|
||||
|
||||
|
||||
+37
-6
@@ -5,15 +5,24 @@ include "lib.php";
|
||||
include "func.php";
|
||||
// $btn, $level, $genlist, $outlist
|
||||
|
||||
$btn = Util::getReq('btn');
|
||||
$level = Util::getReq('level', 'int');
|
||||
$genlist = Util::getReq('genlist', 'int');
|
||||
$outlist = Util::getReq('outlist', 'int');
|
||||
$citylist = Util::getReq('citylist', 'int');
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select startyear,year,month from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,nation,level from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation,level from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
$meLevel = $me['level'];
|
||||
@@ -22,6 +31,13 @@ $query = "select no from general where nation='{$me['nation']}' and level=12";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$ruler = MYDB_fetch_array($result);
|
||||
|
||||
//수뇌가 아니면 아무것도 할 수 없음
|
||||
if($meLevel < 5){
|
||||
echo 'b_myBossInfo.php';//TODO:debug all and replace
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
if($btn == "임명") {
|
||||
$query = "select no,nation,level,leader,power,intel from general where no='$genlist'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
@@ -46,11 +62,19 @@ if($btn == "임명") {
|
||||
}
|
||||
}
|
||||
|
||||
//나와 대상 장수는 국가가 같아야 함
|
||||
if($me['nation'] != $general['nation']){
|
||||
echo 'b_myBossInfo.php';//TODO:debug all and replace
|
||||
exit();
|
||||
}
|
||||
|
||||
if($btn == "추방") {
|
||||
$query = "select name,l{$meLevel}set,chemi from nation where nation='{$me['nation']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$nation = MYDB_fetch_array($result);
|
||||
|
||||
$alllog = [];
|
||||
|
||||
//이미 지정했다면 무시
|
||||
if($nation["l{$meLevel}set"] == 0 && $general['level'] > 0 && $general['level'] < 12) {
|
||||
$query = "select no from diplomacy where me='{$general['nation']}' and state>='3' and state<='4'";
|
||||
@@ -159,10 +183,10 @@ if($btn == "추방") {
|
||||
$query = "select year,month from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
addHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D>{$nation['name']}</>에서 추방됨");
|
||||
pushGeneralHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D>{$nation['name']}</>에서 추방됨");
|
||||
|
||||
pushGenLog($general, $log);
|
||||
pushAllLog($alllog);
|
||||
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||
}
|
||||
} elseif($btn == "임명" && $level >= 5 && $level <= 11) {
|
||||
$query = "select l{$level}set,level,chemi from nation where nation='{$me['nation']}'";
|
||||
@@ -218,10 +242,16 @@ if($btn == "추방") {
|
||||
case 2: $lv = 3; break;
|
||||
}
|
||||
|
||||
$query = "select gen{$lv} from city where city='$citylist'";
|
||||
$query = "select gen{$lv} from city where nation='{$me['nation']}' and city='$citylist'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$city = MYDB_fetch_array($result);
|
||||
if(!$city){
|
||||
//echo "<script>location.replace('b_myBossInfo.php');</script>";
|
||||
echo 'b_myBossInfo.php';//TODO:debug all and replace
|
||||
die();
|
||||
}
|
||||
$oldlist = $city["gen{$lv}"];
|
||||
|
||||
if($oldlist != 0) {
|
||||
//기존 장수 일반으로
|
||||
$query = "update general set level=1 where no='$oldlist'";
|
||||
@@ -237,6 +267,7 @@ if($btn == "추방") {
|
||||
case 3: if($general['intel'] >= GameConst::$goodgenintel) { $valid = 1; } break;
|
||||
default: $valid = 1; break;
|
||||
}
|
||||
|
||||
if($valid == 1) {
|
||||
// 신임 장수의 원래 자리 해제
|
||||
$query = "update city set gen1=0 where gen1='$genlist'";
|
||||
|
||||
+10
-4
@@ -4,13 +4,19 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
// $title, $msg, $num
|
||||
$title = Util::getReq('title');
|
||||
$msg = Util::getReq('msg');
|
||||
$num = Util::getReq('num', 'int');
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
if(getBlockLevel() != 1 && getBlockLevel() != 3) {
|
||||
$query = "select no,nation from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -21,7 +27,7 @@ if(getBlockLevel() != 1 && getBlockLevel() != 3) {
|
||||
$msg = trim($msg);
|
||||
$reply = trim($reply);
|
||||
|
||||
$nation = getNation($connect, $me['nation']);
|
||||
$nation = getNation($me['nation']);
|
||||
|
||||
//새글 추가시
|
||||
if($num == -1 && $title != "" && $msg != "") {
|
||||
|
||||
@@ -6,10 +6,13 @@ include "func.php";
|
||||
// $msg
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$query = "select no,nation from general where owner='{$_SESSION['userID']}'";
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select no,nation from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
|
||||
+46
-32
@@ -4,16 +4,25 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
// $btn, $msg
|
||||
$gen = Util::getReq('gen', 'int');
|
||||
$sel = Util::getReq('sel', 'int');
|
||||
|
||||
//관리자용
|
||||
$auto = Util::getReq('gen', 'int');
|
||||
$type = Util::getReq('type', 'int');
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select tournament,phase,tnmt_type,develcost from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,name,tournament from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,name,tournament from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -24,17 +33,19 @@ case 2: $tp = "power"; $tp2 = "일기토"; $tp3 = "power"; break;
|
||||
case 3: $tp = "intel"; $tp2 = "설전"; $tp3 = "intel"; break;
|
||||
}
|
||||
|
||||
if($me['tournament'] == 1 && Session::getUserGrade() < 5) { echo "<script>location.replace('b_tournament.php');</script>"; exit(); }
|
||||
if($me['tournament'] == 1 && $session->userGrade < 5) { echo "<script>location.replace('b_tournament.php');</script>"; exit(); }
|
||||
|
||||
if($btn == "자동개최설정" && Session::getUserGrade() >= 5) {
|
||||
$query = "update game set tnmt_trig={$trig}";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
} elseif($btn == "개최" && Session::getUserGrade() >= 5) {
|
||||
startTournament($connect, $auto, $type);
|
||||
} elseif($btn == "중단" && Session::getUserGrade() >= 5) {
|
||||
$query = "update game set tnmt_auto=0, tournament=0, phase=0";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
} elseif((($btn == "투입" || $btn == "무명투입" || $btn == "쪼렙투입" || $btn == "일반투입" || $btn == "굇수투입" || $btn == "랜덤투입") && Session::getUserGrade() >= 5) || $btn == "참가") {
|
||||
if($btn == "자동개최설정" && $session->userGrade >= 5) {
|
||||
$db->update('game', ['tnmt_trig'=>$trig], true);
|
||||
} elseif($btn == "개최" && $session->userGrade >= 5) {
|
||||
startTournament($auto, $type);
|
||||
} elseif($btn == "중단" && $session->userGrade >= 5) {
|
||||
$db->update('game', [
|
||||
'tnmt_auto'=>0,
|
||||
'tournament'=>0,
|
||||
'phase'=>0
|
||||
], true);
|
||||
} elseif((($btn == "투입" || $btn == "무명투입" || $btn == "쪼렙투입" || $btn == "일반투입" || $btn == "굇수투입" || $btn == "랜덤투입") && $session->userGrade >= 5) || $btn == "참가") {
|
||||
if($btn == "투입") {
|
||||
$query = "select no,name,npc,leader,power,intel,explevel,gold,horse,weap,book from general where no='$gen'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
@@ -97,13 +108,15 @@ if($btn == "자동개최설정" && Session::getUserGrade() >= 5) {
|
||||
$query = "select grp from tournament where grp<10 group by grp having count(*)=8";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$grpCount = MYDB_num_rows($result);
|
||||
$occupied = [];
|
||||
for($i=0; $i < $grpCount; $i++) {
|
||||
$grp = MYDB_fetch_array($result);
|
||||
$occupied[$grp['grp']] = 1;
|
||||
}
|
||||
$map = [];
|
||||
for($i=0; $i < 8; $i++) {
|
||||
if($occupied[$i] == 0) {
|
||||
$map[count($map)] = $i;
|
||||
$map[] = $i;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,8 +138,9 @@ if($btn == "자동개최설정" && Session::getUserGrade() >= 5) {
|
||||
$query = "update game set tournament=2, phase=0";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
} elseif(($btn == "쪼렙전부투입" || $btn == "일반전부투입" || $btn == "굇수전부투입" || $btn == "랜덤전부투입") && Session::getUserGrade() >= 5) {
|
||||
} elseif(($btn == "쪼렙전부투입" || $btn == "일반전부투입" || $btn == "굇수전부투입" || $btn == "랜덤전부투입") && $session->userGrade >= 5) {
|
||||
$z = 0;
|
||||
$code = [];
|
||||
for($i=0; $i < 8; $i++) {
|
||||
$query = "select grp from tournament where grp='$i'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
@@ -169,7 +183,7 @@ if($btn == "자동개최설정" && Session::getUserGrade() >= 5) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
|
||||
$grp = floor($code[$i] / 10);
|
||||
$grp = intdiv($code[$i], 10);
|
||||
$grp_no = $code[$i] % 10;
|
||||
$query = "insert into tournament (no, npc, name, ldr, pwr, itl, lvl, grp, grp_no, h, w, b) values ('{$general['no']}', '{$general['npc']}', '{$general['name']}', '{$general['leader']}', '{$general['power']}', '{$general['intel']}', '{$general['explevel']}', '$grp', '$grp_no', '{$general['horse']}', '{$general['weap']}', '{$general['book']}')";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
@@ -179,25 +193,25 @@ if($btn == "자동개최설정" && Session::getUserGrade() >= 5) {
|
||||
|
||||
$query = "update game set tournament=2, phase=0";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
} elseif($btn == "무명전부투입" && Session::getUserGrade() >= 5) { fillLowGenAll($connect);
|
||||
} elseif($btn == "예선" && Session::getUserGrade() >= 5) { qualify($connect, $admin['tnmt_type'], $admin['tournament'], $admin['phase']);
|
||||
} elseif($btn == "예선전부" && Session::getUserGrade() >= 5) { qualifyAll($connect, $admin['tnmt_type'], $admin['tournament'], $admin['phase']);
|
||||
} elseif($btn == "추첨" && Session::getUserGrade() >= 5) { selection($connect, $admin['tnmt_type'], $admin['tournament'], $admin['phase']);
|
||||
} elseif($btn == "추첨전부" && Session::getUserGrade() >= 5) { selectionAll($connect, $admin['tnmt_type'], $admin['tournament'], $admin['phase']);
|
||||
} elseif($btn == "본선" && Session::getUserGrade() >= 5) { finallySingle($connect, $admin['tnmt_type'], $admin['tournament'], $admin['phase']);
|
||||
} elseif($btn == "본선전부" && Session::getUserGrade() >= 5) { finallyAll($connect, $admin['tnmt_type'], $admin['tournament'], $admin['phase']);
|
||||
} elseif($btn == "배정" && Session::getUserGrade() >= 5) { final16set($connect);
|
||||
} elseif($btn == "베팅마감" && Session::getUserGrade() >= 5) {
|
||||
} elseif($btn == "무명전부투입" && $session->userGrade >= 5) { fillLowGenAll();
|
||||
} elseif($btn == "예선" && $session->userGrade >= 5) { qualify($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
|
||||
} elseif($btn == "예선전부" && $session->userGrade >= 5) { qualifyAll($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
|
||||
} elseif($btn == "추첨" && $session->userGrade >= 5) { selection($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
|
||||
} elseif($btn == "추첨전부" && $session->userGrade >= 5) { selectionAll($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
|
||||
} elseif($btn == "본선" && $session->userGrade >= 5) { finallySingle($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
|
||||
} elseif($btn == "본선전부" && $session->userGrade >= 5) { finallyAll($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
|
||||
} elseif($btn == "배정" && $session->userGrade >= 5) { final16set();
|
||||
} elseif($btn == "베팅마감" && $session->userGrade >= 5) {
|
||||
$dt = date("Y-m-d H:i:s", time() + 60);
|
||||
$query = "update game set tournament='7',phase='0',tnmt_time='$dt'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
} elseif($btn == "16강" && Session::getUserGrade() >= 5) { finalFight($connect, $admin['tnmt_type'], $admin['tournament'], $admin['phase'], 16);
|
||||
} elseif($btn == "8강" && Session::getUserGrade() >= 5) { finalFight($connect, $admin['tnmt_type'], $admin['tournament'], $admin['phase'], 8);
|
||||
} elseif($btn == "4강" && Session::getUserGrade() >= 5) { finalFight($connect, $admin['tnmt_type'], $admin['tournament'], $admin['phase'], 4);
|
||||
} elseif($btn == "결승" && Session::getUserGrade() >= 5) { finalFight($connect, $admin['tnmt_type'], $admin['tournament'], $admin['phase'], 2);
|
||||
} elseif($btn == "포상" && Session::getUserGrade() >= 5) { setGift($connect, $admin['tnmt_type'], $admin['tournament'], $admin['phase']);
|
||||
} elseif($btn == "회수" && Session::getUserGrade() >= 5) { setRefund($connect);
|
||||
} elseif($btn == "메시지" && Session::getUserGrade() >= 5) {
|
||||
} elseif($btn == "16강" && $session->userGrade >= 5) { finalFight($admin['tnmt_type'], $admin['tournament'], $admin['phase'], 16);
|
||||
} elseif($btn == "8강" && $session->userGrade >= 5) { finalFight($admin['tnmt_type'], $admin['tournament'], $admin['phase'], 8);
|
||||
} elseif($btn == "4강" && $session->userGrade >= 5) { finalFight($admin['tnmt_type'], $admin['tournament'], $admin['phase'], 4);
|
||||
} elseif($btn == "결승" && $session->userGrade >= 5) { finalFight($admin['tnmt_type'], $admin['tournament'], $admin['phase'], 2);
|
||||
} elseif($btn == "포상" && $session->userGrade >= 5) { setGift($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
|
||||
} elseif($btn == "회수" && $session->userGrade >= 5) { setRefund();
|
||||
} elseif($btn == "메시지" && $session->userGrade >= 5) {
|
||||
$msg = addslashes(SQ2DQ($msg));
|
||||
$query = "update game set tnmt_msg='$msg'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
+40
-33
@@ -4,55 +4,62 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
// $btn, $name, $troop
|
||||
$btn = Util::getReq('btn');
|
||||
$name = Util::getReq('name');
|
||||
$troop = Util::getReq('troop', 'int');
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = $session::getUserID();
|
||||
|
||||
$query = "select no,nation,troop from general where owner='{$_SESSION['userID']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
$db = DB::db();
|
||||
|
||||
$me = $db->queryFirstRow('SELECT `no`, nation, troop FROM general WHERE `owner`=%i', $userID);
|
||||
|
||||
$name = trim($name);
|
||||
$name = addslashes(SQ2DQ($name));
|
||||
if($btn == "부 대 창 설" && $name != "" && $me['troop'] == 0) {
|
||||
$query = "insert into troop (name,nation,no) values ('$name','{$me['nation']}','{$me['no']}')";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$db->insert('troop',[
|
||||
'name'=>$name,
|
||||
'nation'=>$me['nation'],
|
||||
'no'=>$me['no']
|
||||
]);
|
||||
$troopID = $db->insertId();
|
||||
|
||||
$query = "select troop from troop where no='{$me['no']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$troop = MYDB_fetch_array($result);
|
||||
|
||||
$query = "update general set troop='{$troop['troop']}' where no='{$me['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$db->update('general', [
|
||||
'troop'=>$troopID
|
||||
], 'no=%i',$me['no']);
|
||||
} elseif($btn == "부 대 변 경" && $name != "") {
|
||||
$query = "update troop set name='$name' where no='{$me['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$db->update('troop', [
|
||||
'name'=>$name
|
||||
], 'no=%i',$me['no']);
|
||||
} elseif($btn == "부 대 추 방" && $gen != 0) {
|
||||
$query = "update general set troop='0' where no='$gen'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$db->update('general', [
|
||||
'troop'=>0
|
||||
], 'no=%i AND troop=(SELECT troop FROM troop WHERE no = %i)', $gen, $me['no']);
|
||||
} elseif($btn == "부 대 가 입" && $troop != 0) {
|
||||
$query = "update general set troop='$troop' where no='{$me['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$troop = $db->queryFirstField('SELECT troop FROM troop WHERE no = %i', $troop);
|
||||
if($troop){
|
||||
$db->update('general', [
|
||||
'troop'=>$troop
|
||||
], 'no=%i', $me['no']);
|
||||
}
|
||||
} elseif($btn == "부 대 탈 퇴") {
|
||||
$query = "select no from troop where troop='{$me['troop']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$troop = MYDB_fetch_array($result);
|
||||
|
||||
$troopLeader = $db->queryFirstField('SELECT `no` FROM troop WHERE troop=%i', $me['troop']);
|
||||
|
||||
//부대장일 경우
|
||||
if($troop['no'] == $me['no']) {
|
||||
if($troopLeader == $me['no']) {
|
||||
// 모두 탈퇴
|
||||
$query = "update general set troop='0' where troop='{$me['troop']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$db->update('general', [
|
||||
'troop'=>0
|
||||
], 'troop=%i',$me['troop']);
|
||||
// 부대 삭제
|
||||
$query = "delete from troop where troop='{$me['troop']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$db->delete('troop', 'troop=%i', $me['troop']);
|
||||
} else {
|
||||
$query = "update general set troop='0' where no='{$me['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$db->update('general', [
|
||||
'troop'=>0
|
||||
], 'no=%i', $me['no']);
|
||||
}
|
||||
}
|
||||
|
||||
echo "<script>location.replace('b_troop.php');</script>";
|
||||
|
||||
MYDB_close($connect);
|
||||
header('Location:b_troop.php');
|
||||
|
||||
+6
-3
@@ -4,8 +4,11 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select killturn from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
@@ -13,7 +16,7 @@ $admin = MYDB_fetch_array($result);
|
||||
|
||||
$admin['killturn'] *= 3;
|
||||
|
||||
$query = "update general set killturn='{$admin['killturn']}' where owner='{$_SESSION['userID']}'";
|
||||
$query = "update general set killturn='{$admin['killturn']}' where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
//echo "<script>location.replace('b_myPage.php');</script>";
|
||||
|
||||
+18
-8
@@ -3,25 +3,35 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
$btn = Util::getReq('btn');
|
||||
$sel = Util::getReq('sel', 'int');
|
||||
$comment = Util::getReq('comment');
|
||||
$title = Util::getReq('title');
|
||||
$str = Util::getReq('str');
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin();
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select develcost,vote,votecomment from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,vote,name,nation,horse,weap,book,item,npc from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,vote,name,nation,horse,weap,book,item,npc from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
if($btn == "투표" && $me['vote'] == 0 && $sel > 0) {
|
||||
$develcost = $admin['develcost'] * 5;
|
||||
$query = "update general set gold=gold+{$develcost},vote='{$sel}' where owner='{$_SESSION['userID']}'";
|
||||
$query = "update general set gold=gold+{$develcost},vote='{$sel}' where owner='{$userID}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log = array();
|
||||
$log = uniqueItem($connect, $me, $log, 1);
|
||||
$log = [];
|
||||
$log = uniqueItem($me, $log, 1);
|
||||
pushGenLog($me, $log);
|
||||
}
|
||||
else if($btn == "댓글" && $comment != "") {
|
||||
@@ -32,7 +42,7 @@ else if($btn == "댓글" && $comment != "") {
|
||||
|
||||
$nation = getNationStaticInfo($me['nation']);
|
||||
if($nation == null) {
|
||||
$nation['name'] = "재야";
|
||||
$nation = ['name' => "재야"];
|
||||
}
|
||||
|
||||
if($admin['votecomment'] != "") { $admin['votecomment'] .= "|"; }
|
||||
@@ -45,7 +55,7 @@ else if($btn == "댓글" && $comment != "") {
|
||||
|
||||
}
|
||||
|
||||
if(Session::getUserGrade() < 5){
|
||||
if($session->userGrade < 5){
|
||||
echo "<!--<script>location.replace('a_vote.php');</script>"; //TODO:debug all and replace -->
|
||||
echo 'a_vote.php ';
|
||||
die();
|
||||
|
||||
+19
-9
@@ -4,8 +4,10 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
CheckLogin(1);
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
@@ -13,8 +15,14 @@ $connect = dbConn();
|
||||
<head>
|
||||
<title>커맨드리스트</title>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
||||
<script type="text/javascript">
|
||||
<?php
|
||||
if(!$session->isLoggedIn()){
|
||||
echo 'window.parent.location.href = "../";';
|
||||
}
|
||||
?>
|
||||
function myclock() {
|
||||
lastday = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
|
||||
|
||||
@@ -55,11 +63,13 @@ function myclock() {
|
||||
</head>
|
||||
<body OnLoad='myclock()'>
|
||||
<?php
|
||||
myCommandList($connect);
|
||||
myCommandList();
|
||||
|
||||
function myCommandList() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
function myCommandList($connect) {
|
||||
global $_basecolor, $_basecolor2, $_basecolor3;
|
||||
global $images;
|
||||
$date = date('Y-m-d H:i:s');
|
||||
|
||||
// 명령 목록
|
||||
@@ -67,10 +77,10 @@ function myCommandList($connect) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,turntime,term,turn0,turn1,turn2,turn3,turn4,turn5,turn6,turn7,turn8,turn9,turn10,turn11,turn12,turn13,turn14,turn15,turn16,turn17,turn18,turn19,turn20,turn21,turn22,turn23 from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,turntime,term,turn0,turn1,turn2,turn3,turn4,turn5,turn6,turn7,turn8,turn9,turn10,turn11,turn12,turn13,turn14,turn15,turn16,turn17,turn18,turn19,turn20,turn21,turn22,turn23 from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
$turn = getTurn($connect, $me, 2);
|
||||
$turn = getTurn($me, 2);
|
||||
|
||||
echo "<table width=300 height=700 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg2>
|
||||
<form name=clock>
|
||||
|
||||
+4
-21
@@ -1,31 +1,14 @@
|
||||
@charset "UTF-8";
|
||||
|
||||
|
||||
html, body{
|
||||
background-color:black;
|
||||
color:white;
|
||||
}
|
||||
|
||||
table { font-family:'맑은 고딕'; line-height:110%; }
|
||||
font { font-family:'맑은 고딕'; line-height:110%; }
|
||||
input { font-family:'맑은 고딕'; line-height:110%; height:20px }
|
||||
select { font-family:'굴림'; line-height:100%; }
|
||||
#bg0 {
|
||||
background-image:url('/images/back_walnut.jpg');
|
||||
}
|
||||
#bg1 {
|
||||
background-image:url('/images/back_green.jpg');
|
||||
}
|
||||
#bg2 {
|
||||
background-image:url('/images/back_blue.jpg');
|
||||
}
|
||||
|
||||
.bg0{
|
||||
background-image:url('/images/back_walnut.jpg');
|
||||
}
|
||||
.bg1{
|
||||
background-image:url('/images/back_green.jpg');
|
||||
}
|
||||
|
||||
.bg2{
|
||||
background-image:url('/images/back_blue.jpg');
|
||||
}
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
+28
-1
@@ -1,7 +1,10 @@
|
||||
@charset "UTF-8";
|
||||
|
||||
body {
|
||||
color:white; background-color:black; border-width:1px; border-color:gray; background-image:url('/images/back.jpg'); background-position:center; background-repeat:repeat-y;
|
||||
color:white;
|
||||
background-color:black;
|
||||
border-width:1px;
|
||||
border-color:gray; background-position:center; background-repeat:repeat-y;
|
||||
}
|
||||
|
||||
#container {
|
||||
@@ -26,6 +29,30 @@ color:white; background-color:black; border-width:1px; border-color:gray; backgr
|
||||
display:block;
|
||||
}
|
||||
|
||||
.commandButton {
|
||||
float:left;
|
||||
width:111px;
|
||||
height:30px;
|
||||
font-weight:bold;
|
||||
font-size:13px;
|
||||
margin:0;
|
||||
display:block;
|
||||
}
|
||||
|
||||
.commandButton:disabled::before{
|
||||
content:'【'
|
||||
}
|
||||
|
||||
.commandButton:disabled::after{
|
||||
content:'】'
|
||||
}
|
||||
|
||||
.commandButton:disabled{
|
||||
background-color:transparent !important;
|
||||
color:gray !important;
|
||||
border-color:transparent !important;
|
||||
}
|
||||
|
||||
.toolbarButton2 {
|
||||
float:left;
|
||||
background-color:#225500;
|
||||
|
||||
+2
-48
@@ -11,12 +11,6 @@
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.map_detail .map_title{
|
||||
background:
|
||||
url('/images/ltitle.jpg') no-repeat left,
|
||||
url('/images/rtitle.jpg') no-repeat right;
|
||||
}
|
||||
|
||||
.map_title_text{
|
||||
margin:auto;
|
||||
text-align:center;
|
||||
@@ -27,52 +21,12 @@
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.map_detail.map_spring .map_title_text{
|
||||
background:
|
||||
url('/images/ad.gif') no-repeat left,
|
||||
url('/images/spring.gif') no-repeat right;
|
||||
}
|
||||
|
||||
.map_detail.map_summer .map_title_text{
|
||||
background:
|
||||
url('/images/ad.gif') no-repeat left,
|
||||
url('/images/summer.gif') no-repeat right;
|
||||
}
|
||||
|
||||
.map_detail.map_fall .map_title_text{
|
||||
background:
|
||||
url('/images/ad.gif') no-repeat left,
|
||||
url('/images/fall.gif') no-repeat right;
|
||||
}
|
||||
|
||||
.map_detail.map_winter .map_title_text{
|
||||
background:
|
||||
url('/images/ad.gif') no-repeat left,
|
||||
url('/images/winter.gif') no-repeat right;
|
||||
}
|
||||
|
||||
.map_body{
|
||||
width:700px;
|
||||
height:500px;
|
||||
position:relative;
|
||||
}
|
||||
|
||||
.map_spring .map_body{
|
||||
background: url('/images/map1.jpg') no-repeat;
|
||||
}
|
||||
|
||||
.map_summer .map_body{
|
||||
background: url('/images/map2.jpg') no-repeat;
|
||||
}
|
||||
|
||||
.map_fall .map_body{
|
||||
background: url('/images/map3.jpg') no-repeat;
|
||||
}
|
||||
|
||||
.map_winter .map_body{
|
||||
background: url('/images/map4.jpg') no-repeat;
|
||||
}
|
||||
|
||||
.world_map .city_tooltip{
|
||||
position: absolute;
|
||||
z-index:6;
|
||||
@@ -135,7 +89,7 @@
|
||||
|
||||
/*
|
||||
.map_detail .city_base.city_level_{0} .city_bg{
|
||||
//$img = loadImg('/images/cast_{0}.gif');
|
||||
//$img = loadImg('cast_{0}.gif');
|
||||
//$parent = cssSelect('.city_base');
|
||||
width: $img.width;
|
||||
height: $img.height;
|
||||
@@ -222,7 +176,7 @@
|
||||
|
||||
/*
|
||||
.map_detail .city_base.city_level_{0} .city_img{
|
||||
//$img = loadImg('/images/cast_{0}.gif');
|
||||
//$img = loadImg('cast_{0}.gif');
|
||||
//$parent = cssSelect('.city_base');
|
||||
width: $img.width;
|
||||
height: $img.height;
|
||||
|
||||
+19
-7
@@ -3,9 +3,18 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
$ok = Util::getReq('ok');
|
||||
$when = Util::getReq('when', 'int');
|
||||
$gen = Util::getReq('gen', 'int'); //XXX: -_-;;;;;;;;;;;;
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin(1);
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
//FIXME: 망했음. CriticalFailure. 재 구현.
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
//$when = ($when + 1) * 2;
|
||||
|
||||
@@ -13,7 +22,7 @@ $query = "select year,month from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,name,nation,level,picture,imgsvr from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,name,nation,level,picture,imgsvr from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -51,6 +60,9 @@ $query = "select reserved from diplomacy where me='{$you['nation']}' and you='{$
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$dip2 = MYDB_fetch_array($result);
|
||||
|
||||
$mylog = [];
|
||||
$youlog = [];
|
||||
|
||||
if($ok == "수락") {
|
||||
// 서신 보낸 후 멸망,선양 등 했을때.
|
||||
if($me['level'] < 5) {
|
||||
@@ -75,8 +87,8 @@ if($ok == "수락") {
|
||||
|
||||
$youlog[] = "<C>●</><D><b>{$mynation['name']}</b></>(와)과 <C>$when</>년 불가침에 성공했습니다.";
|
||||
$mylog[] = "<C>●</><D><b>{$younation['name']}</b></>(와)과 <C>$when</>년 불가침에 합의했습니다.";
|
||||
addHistory($you, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$mynation['name']}</b></>(와)과 {$when}년 불가침 성공");
|
||||
addHistory($me, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$younation['name']}</b></>(와)과 {$when}년 불가침 수락");
|
||||
pushGeneralHistory($you, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$mynation['name']}</b></>(와)과 {$when}년 불가침 성공");
|
||||
pushGeneralHistory($me, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$younation['name']}</b></>(와)과 {$when}년 불가침 수락");
|
||||
|
||||
//국메로 저장
|
||||
$msg = "【외교】{$admin['year']}년 {$admin['month']}월:{$younation['name']}(와)과 {$when}년 불가침 합의, 비고: {$dip2['reserved']}";
|
||||
@@ -113,8 +125,8 @@ if($ok == "수락") {
|
||||
|
||||
pushGenLog($me, $mylog);
|
||||
pushGenLog($you, $youlog);
|
||||
//pushAllLog($alllog);
|
||||
//pushHistory($history);
|
||||
//pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||
//pushWorldHistory($history, $admin['year'], $admin['month']);
|
||||
|
||||
echo "<script>location.replace('msglist.php');</script>";
|
||||
|
||||
|
||||
+21
-7
@@ -3,15 +3,24 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
$ok = Util::getReq('ok');
|
||||
$gen = Util::getReq('gen', 'int'); //XXX: -_-;;;;;;;;;;;;
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin(1);
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
//FIXME: 망했음. CriticalFailure. 재 구현.
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select year,month from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,name,nation,level,picture,imgsvr from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,name,nation,level,picture,imgsvr from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -44,6 +53,11 @@ $query = "select state from diplomacy where me='{$me['nation']}' and you='{$you[
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$dip = MYDB_fetch_array($result);
|
||||
|
||||
$mylog = [];
|
||||
$youlog = [];
|
||||
$alllog = [];
|
||||
$history = [];
|
||||
|
||||
if($ok == "수락") {
|
||||
// 서신 보낸 후 멸망,선양 등 했을때.
|
||||
if($me['level'] < 5) {
|
||||
@@ -61,8 +75,8 @@ if($ok == "수락") {
|
||||
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<Y><b>【파기】</b></><D><b>{$mynation['name']}</b></>(이)가 <D><b>{$younation['name']}</b></>(와)과 불가침을 파기 하였습니다.";
|
||||
$youlog[] = "<C>●</><D><b>{$mynation['name']}</b></>(와)과 파기에 성공했습니다.";
|
||||
$mylog[] = "<C>●</><D><b>{$younation['name']}</b></>(와)과 파기에 합의했습니다.";
|
||||
addHistory($you, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$mynation['name']}</b></>(와)과 파기 성공");
|
||||
addHistory($me, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$younation['name']}</b></>(와)과 파기 수락");
|
||||
pushGeneralHistory($you, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$mynation['name']}</b></>(와)과 파기 성공");
|
||||
pushGeneralHistory($me, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$younation['name']}</b></>(와)과 파기 수락");
|
||||
|
||||
//외교 변경
|
||||
$query = "update diplomacy set state='2',term='0' where me='{$me['nation']}' and you='{$you['nation']}'";
|
||||
@@ -92,8 +106,8 @@ if($ok == "수락") {
|
||||
|
||||
pushGenLog($me, $mylog);
|
||||
pushGenLog($you, $youlog);
|
||||
pushAllLog($alllog);
|
||||
pushHistory($history);
|
||||
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||
pushWorldHistory($history, $admin['year'], $admin['month']);
|
||||
|
||||
echo "<script>location.replace('msglist.php');</script>";
|
||||
|
||||
|
||||
+21
-7
@@ -3,15 +3,24 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
$ok = Util::getReq('ok');
|
||||
$gen = Util::getReq('gen', 'int'); //XXX: -_-;;;;;;;;;;;;
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin(1);
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
//FIXME: 망했음. CriticalFailure. 재 구현.
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select year,month from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,name,nation,level,picture,imgsvr from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,name,nation,level,picture,imgsvr from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -44,6 +53,11 @@ $query = "select state from diplomacy where me='{$me['nation']}' and you='{$you[
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$dip = MYDB_fetch_array($result);
|
||||
|
||||
$mylog = [];
|
||||
$youlog = [];
|
||||
$alllog = [];
|
||||
$history = [];
|
||||
|
||||
if($ok == "수락") {
|
||||
// 서신 보낸 후 멸망,선양 등 했을때.
|
||||
if($me['level'] < 5) {
|
||||
@@ -61,8 +75,8 @@ if($ok == "수락") {
|
||||
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<Y><b>【종전】</b></><D><b>{$mynation['name']}</b></>(이)가 <D><b>{$younation['name']}</b></>(와)과 <M>종전 합의</> 하였습니다.";
|
||||
$youlog[] = "<C>●</><D><b>{$mynation['name']}</b></>(와)과 종전에 성공했습니다.";
|
||||
$mylog[] = "<C>●</><D><b>{$younation['name']}</b></>(와)과 종전에 합의했습니다.";
|
||||
addHistory($you, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$mynation['name']}</b></>(와)과 종전 성공");
|
||||
addHistory($me, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$younation['name']}</b></>(와)과 종전 수락");
|
||||
pushGeneralHistory($you, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$mynation['name']}</b></>(와)과 종전 성공");
|
||||
pushGeneralHistory($me, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$younation['name']}</b></>(와)과 종전 수락");
|
||||
|
||||
//외교 변경
|
||||
$query = "update diplomacy set state='2',term='0' where me='{$mynation['nation']}' and you='{$younation['nation']}'";
|
||||
@@ -97,8 +111,8 @@ if($ok == "수락") {
|
||||
|
||||
pushGenLog($me, $mylog);
|
||||
pushGenLog($you, $youlog);
|
||||
pushAllLog($alllog);
|
||||
pushHistory($history);
|
||||
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||
pushWorldHistory($history, $admin['year'], $admin['month']);
|
||||
|
||||
echo "<script>location.replace('msglist.php');</script>";
|
||||
|
||||
|
||||
+22
-8
@@ -3,15 +3,24 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
$ok = Util::getReq('ok');
|
||||
$gen = Util::getReq('gen', 'int'); //XXX: -_-;;;;;;;;;;;;
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin(1);
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
//FIXME: 망했음. CriticalFailure. 재 구현.
|
||||
|
||||
$query = "select year,month from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,name,nation,level,picture,imgsvr from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,name,nation,level,picture,imgsvr from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -69,6 +78,11 @@ for($i=0; $i < $warcount; $i++) {
|
||||
}
|
||||
}
|
||||
|
||||
$mylog = [];
|
||||
$youlog = [];
|
||||
$alllog = [];
|
||||
$history = [];
|
||||
|
||||
if($ok == "수락") {
|
||||
// 서신 보낸 후 멸망 했을때.
|
||||
if($me['level'] < 5) {
|
||||
@@ -85,7 +99,7 @@ if($ok == "수락") {
|
||||
$mylog[] = "<C>●</>양국 국력이 너무 높습니다. 통합 실패.";
|
||||
} elseif($mynation['gennum']+$younation['gennum'] > $avgnation['gennum']+$stdnation['gennum']) {
|
||||
$mylog[] = "<C>●</>양국 장수가 많습니다. 통합 실패.";
|
||||
} elseif(!isClose($connect, $younation['nation'], $mynation['nation'])) {
|
||||
} elseif(!isClose($younation['nation'], $mynation['nation'])) {
|
||||
$mylog[] = "<C>●</>인접한 국가가 아니므로 불가능합니다. 통합 실패.";
|
||||
} elseif($dip['state'] == 0) {
|
||||
$mylog[] = "<C>●</>아국과 교전중입니다. 통합 실패.";
|
||||
@@ -100,8 +114,8 @@ if($ok == "수락") {
|
||||
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<Y><b>【통합시도】</b></><D><b>{$mynation['name']}</b></>(와)과 <D><b>{$younation['name']}</b></>(이)가 통합을 시도합니다.";
|
||||
$mylog[] = "<C>●</><D><b>{$younation['name']}</b></>(와)과 통합에 동의했습니다.";
|
||||
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$me['name']}</>(이)가 <D><b>{$younation['name']}</b></>(와)과 <M>통합</>에 동의하였습니다.";
|
||||
addHistory($you, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$mynation['name']}</b></>(와)과 통합 시도");
|
||||
addHistory($me, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$younation['name']}</b></>(와)과 통합 시도");
|
||||
pushGeneralHistory($you, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$mynation['name']}</b></>(와)과 통합 시도");
|
||||
pushGeneralHistory($me, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$younation['name']}</b></>(와)과 통합 시도");
|
||||
|
||||
//외교 변경
|
||||
$query = "update diplomacy set state='3',term='24' where me='{$mynation['nation']}' and you='{$younation['nation']}'";
|
||||
@@ -131,8 +145,8 @@ if($ok == "수락") {
|
||||
|
||||
pushGenLog($me, $mylog);
|
||||
pushGenLog($you, $youlog);
|
||||
pushAllLog($alllog);
|
||||
pushHistory($history);
|
||||
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||
pushWorldHistory($history, $admin['year'], $admin['month']);
|
||||
|
||||
echo "<script>location.replace('msglist.php');</script>";
|
||||
|
||||
|
||||
+15
-7
@@ -10,14 +10,18 @@ include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
|
||||
CheckLogin(1);
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
//FIXME: 망했음. CriticalFailure. 재 구현.
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select startyear,year,month,killturn from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,name,nation,nations,level,troop,npc,gold,rice from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,name,nation,nations,level,troop,npc,gold,rice from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -29,12 +33,16 @@ $query = "select name,nation,level,capital,scout from nation where nation='{$you
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$nation = MYDB_fetch_array($result);
|
||||
|
||||
$mylog = [];
|
||||
$youlog = [];
|
||||
$allog = [];
|
||||
|
||||
if($ok == "수락" && $me['level'] < 12 && $nation['level'] > 0 && $nation['scout'] == 0 && $me['nation'] != $nation['nation'] && $admin['year'] >= $admin['startyear']+3 && strpos($me['nations'], ",{$nation['nation']},") === false) {
|
||||
$youlog[] = "<C>●</><Y>{$me['name']}</> 등용에 성공했습니다.";
|
||||
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$me['name']}</>(이)가 <D><b>{$nation['name']}</b></>(으)로 <S>망명</>하였습니다.";
|
||||
$mylog[] = "<C>●</><D>{$nation['name']}</>(으)로 망명하여 수도로 이동합니다.";
|
||||
addHistory($you, "<C>●</>{$admin['year']}년 {$admin['month']}월:<Y>{$me['name']}</> 등용에 성공");
|
||||
addHistory($me, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D>{$nation['name']}</>(으)로 망명");
|
||||
pushGeneralHistory($you, "<C>●</>{$admin['year']}년 {$admin['month']}월:<Y>{$me['name']}</> 등용에 성공");
|
||||
pushGeneralHistory($me, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D>{$nation['name']}</>(으)로 망명");
|
||||
|
||||
// 임관내역 추가
|
||||
$me['nations'] .= "{$nation['nation']},";
|
||||
@@ -163,8 +171,8 @@ if($ok == "수락" && $me['level'] < 12 && $nation['level'] > 0 && $nation['scou
|
||||
|
||||
pushGenLog($me, $mylog);
|
||||
pushGenLog($you, $youlog);
|
||||
pushAllLog($alllog);
|
||||
pushHistory($history);
|
||||
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||
//pushWorldHistory($history, $admin['year'], $admin['month']);
|
||||
|
||||
echo "<script>location.replace('msglist.php');</script>";
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ class DB{
|
||||
* DB 객체 생성
|
||||
*
|
||||
* @return \MeekroDB
|
||||
* @suppress PhanTypeMismatchProperty
|
||||
*/
|
||||
public static function db(){
|
||||
if(self::$uDB === null){
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
class VersionGit{
|
||||
public static $version = '_tK_verionGit_';
|
||||
|
||||
private function __construct(){}
|
||||
}
|
||||
//{"version":"_tK_verionGit_"}
|
||||
@@ -1,10 +0,0 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
if(!defined('ROOT')){
|
||||
define('ROOT', '../..');
|
||||
}
|
||||
require_once(ROOT.'/f_config/config.php');
|
||||
|
||||
|
||||
CustomHeader();
|
||||
+21
-8
@@ -3,15 +3,23 @@ namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
$ok = Util::getReq('ok');
|
||||
$gen = Util::getReq('gen', 'int'); //XXX: -_-;;;;;;;;;;;;
|
||||
|
||||
//로그인 검사
|
||||
CheckLogin(1);
|
||||
$connect = dbConn();
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
//FIXME: 망했음. CriticalFailure. 재 구현.
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select year,month from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,name,nation,level,picture,imgsvr from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,name,nation,level,picture,imgsvr from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -61,6 +69,11 @@ for($i=0; $i < $warcount; $i++) {
|
||||
}
|
||||
}
|
||||
|
||||
$mylog = [];
|
||||
$youlog = [];
|
||||
$alllog = [];
|
||||
$history = [];
|
||||
|
||||
if($ok == "수락") {
|
||||
// 서신 보낸 후 멸망 했을때.
|
||||
if($me['level'] < 5) {
|
||||
@@ -75,7 +88,7 @@ if($ok == "수락") {
|
||||
$mylog[] = "<C>●</>상대가 방랑군이므로 불가능합니다. 투항 실패.";
|
||||
} elseif($younation['power'] / $mynation['power'] <= 3) {
|
||||
$mylog[] = "<C>●</>아국과 상대국의 국력차이가 크지 않습니다. 투항 실패.";
|
||||
} elseif($losecitynum != 0 && !isClose($connect, $younation['nation'], $mynation['nation'])) {
|
||||
} elseif($losecitynum != 0 && !isClose($younation['nation'], $mynation['nation'])) {
|
||||
$mylog[] = "<C>●</>인접한 국가가 아니므로 불가능합니다. 투항 실패.";
|
||||
} elseif($dip['state'] == 0) {
|
||||
$mylog[] = "<C>●</>아국과 교전중입니다. 투항 실패.";
|
||||
@@ -90,8 +103,8 @@ if($ok == "수락") {
|
||||
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<Y><b>【합병시도】</b></><D><b>{$mynation['name']}</b></>(와)과 <D><b>{$younation['name']}</b></>(이)가 합병을 시도합니다.";
|
||||
$mylog[] = "<C>●</><D><b>{$younation['name']}</b></>(와)과 합병에 동의했습니다.";
|
||||
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$me['name']}</>(이)가 <D><b>{$younation['name']}</b></>(와)과 <M>합병</>에 동의하였습니다.";
|
||||
addHistory($you, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$mynation['name']}</b></>(와)과 합병 시도");
|
||||
addHistory($me, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$younation['name']}</b></>(와)과 합병 시도");
|
||||
pushGeneralHistory($you, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$mynation['name']}</b></>(와)과 합병 시도");
|
||||
pushGeneralHistory($me, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$younation['name']}</b></>(와)과 합병 시도");
|
||||
|
||||
//외교 변경
|
||||
$query = "update diplomacy set state='5',term='24' where me='{$mynation['nation']}' and you='{$younation['nation']}'";
|
||||
@@ -121,8 +134,8 @@ if($ok == "수락") {
|
||||
|
||||
pushGenLog($me, $mylog);
|
||||
pushGenLog($you, $youlog);
|
||||
pushAllLog($alllog);
|
||||
pushHistory($history);
|
||||
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||
pushWorldHistory($history, $admin['year'], $admin['month']);
|
||||
|
||||
echo "<script>location.replace('msglist.php');</script>";
|
||||
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
file_put_contents("logs/_db_bug.txt", $message."\n", FILE_APPEND);
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
||||
<title>에러</title>
|
||||
<link rel=stylesheet href=css/common.css type=text/css>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<br><br><br><br><br>
|
||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
||||
<tr><td align=center style=background-color:225500;><font color=orange size=5>서 버 에 러</font></td></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<font color=white size=3>두가지 중 한가지 이유일 수 있습니다.<br><br>
|
||||
1. 현재 서버가 처리중입니다. 몇초 후 아래 버튼을 눌러주세요.<br><br>
|
||||
2. 오랫동안 이 메세지가 뜰 경우는 서버에 에러가 발생하여 잠시 중단된 상태입니다.<br>
|
||||
운영자가 처리할 때까지 기다려주세요.</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td align=center><font color=white size=3>잠시 후 아래의 버튼을 눌러주세요.</font></td></tr>
|
||||
<tr><td align=center><input type=button value='몇초간 지난 후 눌러주세요' onclick=location.replace('index.php')></td></tr>
|
||||
<tr><td align=center><?=$message;?></td></tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+403
-655
@@ -1,7 +1,6 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
require(__dir__.'/../vendor/autoload.php');
|
||||
require_once 'process_war.php';
|
||||
require_once 'func_gamerule.php';
|
||||
require_once 'func_process.php';
|
||||
@@ -22,94 +21,6 @@ require_once('func_map.php');
|
||||
require_once('func_diplomacy.php');
|
||||
require_once('func_command.php');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 로그인한 유저의 장수 id를 받아옴
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
function getGeneralID($forceExit=false, $countLogin=true){
|
||||
$userID = Session::getUserID();
|
||||
if(!$userID){ //유저id 없으면 어차피 의미 없음.
|
||||
return null;
|
||||
}
|
||||
|
||||
$idKey = DB::prefix().'p_no';
|
||||
$generalID = Util::array_get($_SESSION[$idKey], null);
|
||||
|
||||
if($generalID){
|
||||
return $generalID;
|
||||
}
|
||||
|
||||
$db = DB::db();
|
||||
//흠?
|
||||
$generalID = $db->queryFirstField('select no from general where owner = %i', $userID);
|
||||
if(!$generalID && $forceExit){
|
||||
header('Location:..');
|
||||
die();
|
||||
}
|
||||
|
||||
if($generalID && $countLogin){
|
||||
//로그인으로 처리
|
||||
//XXX: 'get' 함수인데 update가 들어가있다.
|
||||
//TODO: 조금더 적절한 형태의 로그인 카운트를 생각해볼 것
|
||||
$query=$db->query("update general set logcnt=logcnt+1 ,ip = %s_ip,lastconnect=%s_lastConnect,conmsg=%s_conmsg where owner= %s_userID",[
|
||||
'ip' => getenv("REMOTE_ADDR"),
|
||||
'lastConnect' => date('Y-m-d H:i:s'),
|
||||
'conmsg' => Util::array_get($_SESSION['conmsg'], ''),
|
||||
'userID' => $userID
|
||||
]);
|
||||
$_SESSION[$idKey] = $generalID;
|
||||
}
|
||||
|
||||
return $generalID;
|
||||
}
|
||||
|
||||
/**
|
||||
* 로그인한 유저의 장수명을 받아옴
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
function getGeneralName($forceExit=false)
|
||||
{
|
||||
$generalID = getGeneralID();
|
||||
if(!$generalID){
|
||||
if($forceExit){
|
||||
header('Location:..');
|
||||
die();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
$nameKey = DB::prefix().'p_name';
|
||||
$generalName = Util::array_get($_SESSION[$nameKey], null);
|
||||
|
||||
if($generalName){
|
||||
return $generalName;
|
||||
}
|
||||
|
||||
//흠?
|
||||
$generalName = DB::db()->queryFirstField('select name from general where no = %i', $generalID);
|
||||
if(!$generalName){
|
||||
//이게 말이 돼?
|
||||
resetSessionGeneralValues();
|
||||
if($forceExit){
|
||||
header('Location:..');
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
if($generalName){
|
||||
$_SESSION[$nameKey] = $generalName;
|
||||
}
|
||||
|
||||
return $generalName;
|
||||
}
|
||||
|
||||
/**
|
||||
* nationID를 이용하여 국가의 '어지간해선' 변경되지 않는 정보(이름, 색, 성향, 규모, 수도)를 반환해줌
|
||||
*
|
||||
@@ -157,36 +68,16 @@ function getAllNationStaticInfo(){
|
||||
}
|
||||
|
||||
function GetImageURL($imgsvr) {
|
||||
global $image, $image1;
|
||||
if($imgsvr == 0) {
|
||||
return $image;
|
||||
return ServConfig::$sharedIconPath;
|
||||
} else {
|
||||
return $image1;
|
||||
return AppConf::getUserIconPathWeb();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* generalID를 이용해 각 서버 등록 여부를 확인함
|
||||
*
|
||||
* FIXME: 현재의 구현으로는 session에 p_no가 남아있지만 general 테이블에서는 삭제되어있는 진풍경(!)이 펼쳐질 수도 있음.
|
||||
* 장수가 사망했을 때에 바로 테이블에서 삭제하는 것이 아니라 삭제 플래그를 설정하는 것이 나을 것임.
|
||||
* (퀘 섭등 NPC가 빙의할 경우에도 마찬가지!)
|
||||
*
|
||||
* 세팅된 플래그는 새롭게 장수를 생성하거나, 새로 빙의할 때 초기화하는 것이 적절한 해결책일 것.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function isSigned(){
|
||||
$generalID = getGeneralID();
|
||||
if(!$generalID){
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
function checkLimit($con, $conlimit) {
|
||||
if(Session::getUserGrade()>=4){
|
||||
$session = Session::getInstance();
|
||||
if($session->userGrade>=4){
|
||||
return 0;
|
||||
}
|
||||
if($con > $conlimit) {
|
||||
@@ -200,7 +91,7 @@ function checkLimit($con, $conlimit) {
|
||||
}
|
||||
|
||||
function getBlockLevel() {
|
||||
return DB::db()->queryFirstField('select block from general where no = %i', getGeneralID());
|
||||
return DB::db()->queryFirstField('select block from general where no = %i', Session::getInstance()->generalID);
|
||||
}
|
||||
|
||||
function getRandGenName() {
|
||||
@@ -224,15 +115,17 @@ function getRandGenName() {
|
||||
|
||||
|
||||
|
||||
function cityInfo($connect) {
|
||||
global $_basecolor, $_basecolor2, $images;
|
||||
function cityInfo() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$query = "select no,city from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,city from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
// 도시 정보
|
||||
$city = getCity($connect, $me['city']);
|
||||
$city = getCity($me['city']);
|
||||
|
||||
$nation = getNationStaticInfo($city['nation']);
|
||||
|
||||
@@ -251,7 +144,7 @@ function cityInfo($connect) {
|
||||
$tradeStr = $city['trade'] . "%";
|
||||
}
|
||||
|
||||
if($nation['color'] == "" ) { $nation['color'] = "000000"; }
|
||||
if($nation['color'] == "" ) { $nation['color'] = "#000000"; }
|
||||
echo "<table width=640 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg2>
|
||||
<tr><td colspan=8 align=center style=height:20;color:".newColor($nation['color']).";background-color:{$nation['color']};font-weight:bold;font-size:13px;>【 ".CityConst::$regionMap[$city['region']]." | ".CityConst::$levelMap[$city['level']]." 】 {$city['name']}</td></tr>
|
||||
<tr><td colspan=8 align=center style=height:20;color:".newColor($nation['color']).";background-color:{$nation['color']}><b>";
|
||||
@@ -267,7 +160,7 @@ function cityInfo($connect) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$gen1 = MYDB_fetch_array($result);
|
||||
} else {
|
||||
$gen1['name'] = '-';
|
||||
$gen1 = ['name'=>'-'];
|
||||
}
|
||||
|
||||
if($city['gen2'] > 0) {
|
||||
@@ -275,7 +168,7 @@ function cityInfo($connect) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$gen2 = MYDB_fetch_array($result);
|
||||
} else {
|
||||
$gen2['name'] = '-';
|
||||
$gen2 = ['name'=>'-'];
|
||||
}
|
||||
|
||||
if($city['gen3'] > 0) {
|
||||
@@ -283,7 +176,7 @@ function cityInfo($connect) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$gen3 = MYDB_fetch_array($result);
|
||||
} else {
|
||||
$gen3['name'] = '-';
|
||||
$gen3 = ['name'=>'-'];
|
||||
}
|
||||
|
||||
echo "
|
||||
@@ -335,14 +228,16 @@ function cityInfo($connect) {
|
||||
";
|
||||
}
|
||||
|
||||
function myNationInfo($connect) {
|
||||
global $_basecolor, $_basecolor2, $images;
|
||||
function myNationInfo() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$query = "select startyear,year from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,nation from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -383,9 +278,9 @@ function myNationInfo($connect) {
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=68 align=center id=bg1><b>".getLevel(12, $nation['level'])."</b></td>
|
||||
<td width=178 align=center>";echo $level12==''?"-":"{$level12['name']}"; echo "</td>
|
||||
<td width=178 align=center>";echo $level12?$level12['name']:"-"; echo "</td>
|
||||
<td width=68 align=center id=bg1><b>".getLevel(11, $nation['level'])."</b></td>
|
||||
<td width=178 align=center>";echo $level11==''?"-":"{$level11['name']}"; echo "</td>
|
||||
<td width=178 align=center>";echo $level11?$level11['name']:"-"; echo "</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=center id=bg1><b>총주민</b></td>
|
||||
@@ -510,17 +405,21 @@ function commandGroup($typename, $type=0) {
|
||||
}
|
||||
}
|
||||
|
||||
function commandTable($connect) {
|
||||
function commandTable() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$query = "select startyear,year,develcost,scenario from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,npc,troop,city,nation,level,crew,makelimit,special from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,npc,troop,city,nation,level,crew,makelimit,special from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
$troop = getTroop($connect, $me['troop']);
|
||||
$city = getCity($connect, $me['city']);
|
||||
$troop = getTroop($me['troop']);
|
||||
$city = getCity($me['city']);
|
||||
|
||||
$nationcount = count(getAllNationStaticInfo());
|
||||
|
||||
@@ -559,11 +458,11 @@ function commandTable($connect) {
|
||||
if($nation['type'] == 2 || $nation['type'] == 4 || $nation['type'] == 7 || $nation['type'] == 10) { $develcostE *= 0.8; $colorE = 1; }
|
||||
if($nation['type'] == 1 || $nation['type'] == 3 || $nation['type'] == 9) { $develcostE *= 1.2; $colorE = 2; }
|
||||
|
||||
$develcostA = round($develcostA);
|
||||
$develcostB = round($develcostB);
|
||||
$develcostC = round($develcostC);
|
||||
$develcostD = round($develcostD);
|
||||
$develcostE = round($develcostE);
|
||||
$develcostA = Util::round($develcostA);
|
||||
$develcostB = Util::round($develcostB);
|
||||
$develcostC = Util::round($develcostC);
|
||||
$develcostD = Util::round($develcostD);
|
||||
$develcostE = Util::round($develcostE);
|
||||
|
||||
echo "
|
||||
<select name=commandtype size=1 style=width:260px;color:white;background-color:black;font-size:12;>";
|
||||
@@ -660,13 +559,11 @@ function commandTable($connect) {
|
||||
addCommand("탈취(무력경험, 자금$develcost5, 군량$develcost5)", 33);
|
||||
addCommand("파괴(무력경험, 자금$develcost5, 군량$develcost5)", 34);
|
||||
addCommand("선동(통솔경험, 자금$develcost5, 군량$develcost5)", 35);
|
||||
// addCommand("기습(통, 무, 지, 자금$develcost10, 군량$develcost10)", 36);
|
||||
} else {
|
||||
addCommand("화계(지력경험, 자금$develcost5, 군량$develcost5)", 32, 0);
|
||||
addCommand("탈취(무력경험, 자금$develcost5, 군량$develcost5)", 33, 0);
|
||||
addCommand("파괴(무력경험, 자금$develcost5, 군량$develcost5)", 34, 0);
|
||||
addCommand("선동(통솔경험, 자금$develcost5, 군량$develcost5)", 35, 0);
|
||||
// addCommand("기습(통, 무, 지, 자금500, 군량500)", 36, 0);
|
||||
}
|
||||
commandGroup("", 1);
|
||||
commandGroup("========= 개 인 ==========");
|
||||
@@ -744,12 +641,16 @@ function commandTable($connect) {
|
||||
";
|
||||
}
|
||||
|
||||
function CoreCommandTable($connect) {
|
||||
function CoreCommandTable() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$query = "select develcost from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select no,nation,city,level from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select no,nation,city,level from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -779,11 +680,7 @@ function CoreCommandTable($connect) {
|
||||
addCommand("몰수", 24, $valid);
|
||||
commandGroup("", 1);
|
||||
commandGroup("====== 외 교 ======");
|
||||
if($citycount <= 4) {
|
||||
addCommand("통합 제의", 53, $valid);
|
||||
} else {
|
||||
addCommand("통합 제의", 53, 0);
|
||||
}
|
||||
addCommand("통합 제의", 53, $valid);
|
||||
|
||||
addCommand("항복 권고", 51, $valid);
|
||||
if($nation['level'] >= 2) {
|
||||
@@ -797,33 +694,29 @@ function CoreCommandTable($connect) {
|
||||
addCommand("파기 제의", 64, $valid);
|
||||
commandGroup("", 1);
|
||||
commandGroup("====== 특 수 ======");
|
||||
if($citycount >= 5) {
|
||||
addCommand("초토화", 65, $valid);
|
||||
} else {
|
||||
addCommand("초토화", 65, 0);
|
||||
}
|
||||
addCommand("초토화", 65, $valid);
|
||||
addCommand("천도/3턴(금쌀{$admin['develcost']}0)", 66, $valid);
|
||||
$cost = $admin['develcost'] * 500 + 60000; // 7만~13만
|
||||
addCommand("증축/6턴(금쌀{$cost})", 67, $valid);
|
||||
addCommand("감축/6턴", 68, $valid);
|
||||
commandGroup("", 1);
|
||||
commandGroup("====== 전 략 ======");
|
||||
$term = round(sqrt($genCount*8)*10);
|
||||
$term = Util::round(sqrt($genCount*8)*10);
|
||||
addCommand("필사즉생/3턴(전략{$term})", 71, $valid);
|
||||
$term = round(sqrt($genCount*4)*10);
|
||||
$term = Util::round(sqrt($genCount*4)*10);
|
||||
addCommand("백성동원/1턴(전략{$term})", 72, $valid);
|
||||
$term = round(sqrt($genCount*4)*10);
|
||||
$term = Util::round(sqrt($genCount*4)*10);
|
||||
addCommand("수몰/3턴(전략{$term})", 73, $valid);
|
||||
$term = round(sqrt($genCount*4)*10);
|
||||
$term = Util::round(sqrt($genCount*4)*10);
|
||||
addCommand("허보/2턴(전략{$term})", 74, $valid);
|
||||
$term = round(sqrt($genCount*2)*10);
|
||||
$term = Util::round(sqrt($genCount*2)*10);
|
||||
if($term < 72) { $term = 72; }
|
||||
addCommand("피장파장/3턴(전략{$term})", 75, $valid);
|
||||
$term = round(sqrt($genCount*10)*10);
|
||||
$term = Util::round(sqrt($genCount*10)*10);
|
||||
addCommand("의병모집/3턴(전략{$term})", 76, $valid);
|
||||
$term = round(sqrt($genCount*16)*10);
|
||||
$term = Util::round(sqrt($genCount*16)*10);
|
||||
addCommand("이호경식/1턴(전략{$term})", 77, $valid);
|
||||
$term = round(sqrt($genCount*16)*10);
|
||||
$term = Util::round(sqrt($genCount*16)*10);
|
||||
addCommand("급습/1턴(전략{$term})", 78, $valid);
|
||||
commandGroup("", 1);
|
||||
commandGroup("====== 기 타 ======");
|
||||
@@ -838,18 +731,23 @@ function CoreCommandTable($connect) {
|
||||
";
|
||||
}
|
||||
|
||||
function myInfo($connect) {
|
||||
$query = "select no from general where owner='{$_SESSION['userID']}'";
|
||||
function myInfo() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$query = "select no from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
generalInfo($connect, $me['no']);
|
||||
generalInfo($me['no']);
|
||||
}
|
||||
|
||||
function generalInfo($connect, $no) {
|
||||
global $_basecolor, $_basecolor2, $image, $images;
|
||||
function generalInfo($no) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select img from game limit 1";
|
||||
$query = "select show_img_level from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
|
||||
@@ -872,7 +770,7 @@ function generalInfo($connect, $no) {
|
||||
$lbonus = "";
|
||||
}
|
||||
|
||||
$troop = getTroop($connect, $general['troop']);
|
||||
$troop = getTroop($general['troop']);
|
||||
|
||||
$level = getLevel($general['level'], $nation['level']);
|
||||
if($general['level'] == 2) {
|
||||
@@ -898,9 +796,9 @@ function generalInfo($connect, $no) {
|
||||
$horsename = getHorseName($general['horse']);
|
||||
$itemname = getItemName($general['item']);
|
||||
if($general['injury'] > 0) {
|
||||
$leader = floor($general['leader'] * (100 - $general['injury'])/100);
|
||||
$power = floor($general['power'] * (100 - $general['injury'])/100);
|
||||
$intel = floor($general['intel'] * (100 - $general['injury'])/100);
|
||||
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
||||
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
||||
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
||||
} else {
|
||||
$leader = $general['leader'];
|
||||
$power = $general['power'];
|
||||
@@ -915,13 +813,13 @@ function generalInfo($connect, $no) {
|
||||
$remaining = substr($general['turntime'], 14, 2) - date('i');
|
||||
if($remaining < 0) { $remaining = 60 + $remaining; }
|
||||
|
||||
if($nation['color'] == "") { $nation['color'] = "000000"; }
|
||||
if($nation['color'] == "") { $nation['color'] = "#000000"; }
|
||||
|
||||
if($general['age'] < 60) { $general['age'] = "<font color=limegreen>{$general['age']} 세</font>"; }
|
||||
elseif($general['age'] < 80) { $general['age'] = "<font color=yellow>{$general['age']} 세</font>"; }
|
||||
else { $general['age'] = "<font color=red>{$general['age']} 세</font>"; }
|
||||
|
||||
$general['connect'] = round($general['connect'] / 10, 0) * 10;
|
||||
$general['connect'] = Util::round($general['connect'] / 10) * 10;
|
||||
$special = $general['special'] == 0 ? "{$general['specage']}세" : "<font color=limegreen>".getGenSpecial($general['special'])."</font>";
|
||||
$special2 = $general['special2'] == 0 ? "{$general['specage2']}세" : "<font color=limegreen>".getGenSpecial($general['special2'])."</font>";
|
||||
|
||||
@@ -946,13 +844,13 @@ function generalInfo($connect, $no) {
|
||||
elseif($general['mode'] == 1) { $general['mode'] = "<font color=limegreen>수비 함(훈사60)</font>"; }
|
||||
else { $general['mode'] = "<font color=red>수비 안함</font>"; }
|
||||
|
||||
$weapImage = "{$images}/weap{$general['crewtype']}.jpg";
|
||||
if($admin['show_img_level'] < 2) { $weapImage = "{$image}/default.jpg"; };
|
||||
$weapImage = ServConfig::$gameImagePath."/weap{$general['crewtype']}.jpg";
|
||||
if($admin['show_img_level'] < 2) { $weapImage = ServConfig::$sharedIconPath."/default.jpg"; };
|
||||
$imageTemp = GetImageURL($general['imgsvr']);
|
||||
echo "<table width=498 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg2>
|
||||
<tr>
|
||||
<td width=64 height=64 align=center rowspan=3 background={$imageTemp}/{$general['picture']}> </td>
|
||||
<td align=center colspan=9 height=16 style=color:".newColor($nation['color']).";background-color:{$nation['color']};font-weight:bold;font-size:13px;>{$specUser} {$general['name']} 【 {$level} | {$call} | {$color}{$injury}</font> 】 ".substr($general['turntime'], 11)."</td>
|
||||
<td align=center colspan=9 height=16 style=color:".newColor($nation['color']).";background-color:{$nation['color']};font-weight:bold;font-size:13px;>{$general['name']} 【 {$level} | {$call} | {$color}{$injury}</font> 】 ".substr($general['turntime'], 11)."</td>
|
||||
</tr>
|
||||
<tr height=16>
|
||||
<td align=center id=bg1><b>통솔</b></td>
|
||||
@@ -1022,16 +920,23 @@ function generalInfo($connect, $no) {
|
||||
</table>";
|
||||
}
|
||||
|
||||
function myInfo2($connect) {
|
||||
$query = "select no from general where owner='{$_SESSION['userID']}'";
|
||||
function myInfo2() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$query = "select no from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
generalInfo2($connect, $me['no']);
|
||||
generalInfo2($me['no']);
|
||||
}
|
||||
|
||||
function generalInfo2($connect, $no) {
|
||||
global $_basecolor, $_basecolor2, $image, $images, $_dexLimit;
|
||||
function generalInfo2($no) {
|
||||
global $_dexLimit;
|
||||
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select personal,experience,dedication,firenum,warnum,killnum,deathnum,killcrew,deathcrew,belong,killnum*100/warnum as winrate,killcrew/deathcrew*100 as killrate,dex0,dex10,dex20,dex30,dex40 from general where no='$no'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
@@ -1136,258 +1041,10 @@ function generalInfo2($connect, $no) {
|
||||
</table>";
|
||||
}
|
||||
|
||||
function pushTrickLog($log) {
|
||||
$size = count($log);
|
||||
if($size > 0) {
|
||||
$fp = fopen("logs/_tricklog.txt", "a");
|
||||
for($i=0; $i < $size; $i++) {
|
||||
fwrite($fp, $log[$i]."\n");
|
||||
}
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
function adminMsg() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
function pushProcessLog($log) {
|
||||
$size = count($log);
|
||||
if($size > 0) {
|
||||
$date = date('Y_m_d');
|
||||
$fp = fopen("logs/_{$date}_processlog.txt", "a");
|
||||
for($i=0; $i < $size; $i++) {
|
||||
fwrite($fp, $log[$i]."\n");
|
||||
}
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
|
||||
function delStepLog() {
|
||||
$date = date('Y_m_d');
|
||||
@unlink("logs/_{$date}_steplog.txt");
|
||||
}
|
||||
|
||||
function pushStepLog($log) {
|
||||
$date = date('Y_m_d');
|
||||
$fp = fopen("logs/_{$date}_steplog.txt", "a");
|
||||
fwrite($fp, $log."\n");
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
function pushLockLog($log) {
|
||||
$size = count($log);
|
||||
if($size > 0) {
|
||||
$date = date('Y_m_d');
|
||||
$fp = fopen("logs/_{$date}_locklog.txt", "a");
|
||||
for($i=0; $i < $size; $i++) {
|
||||
fwrite($fp, $log[$i]."\n");
|
||||
}
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
|
||||
function pushAdminLog($log) {
|
||||
$size = count($log);
|
||||
if($size > 0) {
|
||||
$fp = fopen("logs/_adminlog.txt", "a");
|
||||
for($i=0; $i < $size; $i++) {
|
||||
fwrite($fp, $log[$i]."\n");
|
||||
}
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
|
||||
function pushAuctionLog($log) {
|
||||
$size = count($log);
|
||||
if($size > 0) {
|
||||
$fp = fopen("logs/_auctionlog.txt", "a");
|
||||
for($i=0; $i < $size; $i++) {
|
||||
fwrite($fp, $log[$i]."\n");
|
||||
}
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
|
||||
function pushGenLog($general, $log) {
|
||||
$size = count($log);
|
||||
if($size > 0) {
|
||||
$fp = fopen("logs/gen{$general['no']}.txt", "a");
|
||||
for($i=0; $i < $size; $i++) {
|
||||
fwrite($fp, $log[$i]."\n");
|
||||
}
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
|
||||
function pushBatRes($general, $log) {
|
||||
$size = count($log);
|
||||
if($size > 0) {
|
||||
$fp = fopen("logs/batres{$general['no']}.txt", "a");
|
||||
for($i=0; $i < $size; $i++) {
|
||||
fwrite($fp, $log[$i]."\n");
|
||||
}
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
|
||||
function pushBatLog($general, $log) {
|
||||
$size = count($log);
|
||||
if($size > 0) {
|
||||
$fp = fopen("logs/batlog{$general['no']}.txt", "a");
|
||||
for($i=0; $i < $size; $i++) {
|
||||
fwrite($fp, $log[$i]."\n");
|
||||
}
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
|
||||
function pushAllLog($log) {
|
||||
$text = join("\n", $log)."\n";
|
||||
file_put_contents(__dir__.'/logs/_alllog.txt', $text, FILE_APPEND);
|
||||
}
|
||||
|
||||
function pushHistory($history) {
|
||||
$text = join("\n", $history)."\n";
|
||||
file_put_contents(__dir__.'/logs/_history.txt', $text, FILE_APPEND);
|
||||
}
|
||||
|
||||
function getRawLog($path, $count, $line_length){
|
||||
//TODO: tail과 유사한 형태로 처리할 수 있는게 나을 듯. 그 이전에 파일 로그는 좀... ㅜㅜ
|
||||
if(!file_exists($path)){
|
||||
return null;
|
||||
}
|
||||
|
||||
$fp = fopen($path, 'r');
|
||||
@fseek(fp, -$count * $line_length, SEEK_END);
|
||||
$data = fread($fp, $count * $line_length);
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
function TrickLog($count) {
|
||||
if(!file_exists("logs/_tricklog.txt")){
|
||||
return '';
|
||||
}
|
||||
$fp = @fopen("logs/_tricklog.txt", "r");
|
||||
@fseek($fp, -$count*150, SEEK_END);
|
||||
$file = @fread($fp, $count*150);
|
||||
@fclose($fp);
|
||||
$log = explode("\n",$file);
|
||||
$str = "";
|
||||
for($i=0; $i < $count; $i++) { $str .= ConvertLog($log[count($log)-2-$i])."<br>"; }
|
||||
echo $str;
|
||||
}
|
||||
|
||||
function AllLog($count) {
|
||||
if(!file_exists("logs/_alllog.txt")){
|
||||
return '';
|
||||
}
|
||||
$fp = @fopen("logs/_alllog.txt", "r");
|
||||
@fseek($fp, -$count*300, SEEK_END);
|
||||
$file = @fread($fp, $count*300);
|
||||
@fclose($fp);
|
||||
$log = explode("\n",$file);
|
||||
$str = "";
|
||||
for($i=0; $i < $count; $i++) {
|
||||
$str .= isset($log[count($log)-2-$i]) ? ConvertLog($log[count($log)-2-$i])."<br>" : "<br>";
|
||||
}
|
||||
echo $str;
|
||||
}
|
||||
|
||||
function AuctionLog($count) {
|
||||
if(!file_exists("logs/_auctionlog.txt")){
|
||||
return '';
|
||||
}
|
||||
$fp = @fopen("logs/_auctionlog.txt", "r");
|
||||
@fseek($fp, -$count*300, SEEK_END);
|
||||
$file = @fread($fp, $count*300);
|
||||
@fclose($fp);
|
||||
$log = explode("\n",$file);
|
||||
$str = "";
|
||||
for($i=0; $i < $count; $i++) { $str .= ConvertLog($log[count($log)-2-$i])."<br>"; }
|
||||
echo $str;
|
||||
}
|
||||
|
||||
function History($count) {
|
||||
if(!file_exists("logs/_history.txt")){
|
||||
return '';
|
||||
}
|
||||
$fp = @fopen("logs/_history.txt", "r");
|
||||
@fseek($fp, -300*$count, SEEK_END); //
|
||||
$file = @fread($fp, $count*300);
|
||||
@fclose($fp);
|
||||
$log = explode("\n",$file);
|
||||
$str = "";
|
||||
for($i=0; $i < $count; $i++) {
|
||||
$str .= isset($log[count($log)-2-$i]) ? ConvertLog($log[count($log)-2-$i])."<br>" : "<br>";
|
||||
}
|
||||
echo $str;
|
||||
}
|
||||
|
||||
function MyLog($no, $count) {
|
||||
if(!file_exists("logs/gen{$no}.txt")){
|
||||
return '';
|
||||
}
|
||||
$fp = @fopen("logs/gen{$no}.txt", "r");
|
||||
@fseek($fp, -$count*300, SEEK_END);
|
||||
$file = @fread($fp, $count*300);
|
||||
@fclose($fp);
|
||||
$log = explode("\n",$file);
|
||||
$str = "";
|
||||
for($i=0; $i < $count; $i++) {
|
||||
$str .= isset($log[count($log)-2-$i]) ? ConvertLog($log[count($log)-2-$i])."<br>" : "<br>";
|
||||
}
|
||||
echo $str;
|
||||
}
|
||||
|
||||
function MyBatRes($no, $count) {
|
||||
if(!file_exists("logs/batres{$no}.txt")){
|
||||
return '';
|
||||
}
|
||||
$fp = @fopen("logs/batres{$no}.txt", "r");
|
||||
@fseek($fp, -$count*300, SEEK_END);
|
||||
$file = @fread($fp, $count*300);
|
||||
@fclose($fp);
|
||||
$log = explode("\n",$file);
|
||||
$str = "";
|
||||
for($i=0; $i < $count; $i++) {
|
||||
$str .= isset($log[count($log)-2-$i]) ? ConvertLog($log[count($log)-2-$i])."<br>" : "<br>";
|
||||
}
|
||||
echo $str;
|
||||
}
|
||||
|
||||
function MyBatLog($no, $count) {
|
||||
if(!file_exists("logs/batlog{$no}.txt")){
|
||||
return '';
|
||||
}
|
||||
$fp = @fopen("logs/batlog{$no}.txt", "r");
|
||||
@fseek($fp, -$count*300, SEEK_END);
|
||||
$file = @fread($fp, $count*300);
|
||||
@fclose($fp);
|
||||
$log = explode("\n",$file);
|
||||
$str = "";
|
||||
for($i=0; $i < $count; $i++) {
|
||||
$str .= isset($log[count($log)-2-$i]) ? ConvertLog($log[count($log)-2-$i])."<br>" : "<br>";
|
||||
}
|
||||
echo $str;
|
||||
}
|
||||
|
||||
function MyHistory($connect, $no) {
|
||||
$query = "select history from general where no='$no'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
echo ConvertLog($general['history']);
|
||||
}
|
||||
|
||||
function addHistory($me, $history) {
|
||||
DB::db()->query("update general set history=concat(%s, history) where no=%i",
|
||||
$history.'<br>', $me['no']);
|
||||
}
|
||||
|
||||
function addNationHistory($nation, $history) {
|
||||
//FIXME: update 쿼리만으로도 구성 가능해보임.
|
||||
$nation['history'] = "{$nation['history']}{$history}<br>";
|
||||
DB::db()->query("update nation set history=concat(%s, history) where nation=%i",
|
||||
$history.'<br>', $nation['nation']);
|
||||
}
|
||||
|
||||
function adminMsg($connect) {
|
||||
$query = "select msg from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
@@ -1400,35 +1057,41 @@ function getOnlineNum() {
|
||||
return DB::db()->queryFirstField('select `online` from `game` where `no`=1');
|
||||
}
|
||||
|
||||
function onlinegen($connect) {
|
||||
function onlinegen() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$onlinegen = "";
|
||||
$generalID = getGeneralID();
|
||||
$generalID = Session::getInstance()->generalID;
|
||||
$nationID = DB::db()->queryFirstField('select `nation` from `general` where `no` = %i', $generalID);
|
||||
if($nationID !== null || Util::toInt($nationID) === 0) {
|
||||
if($nationID === null || Util::toInt($nationID) === 0) {
|
||||
$query = "select onlinegen from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$game = MYDB_fetch_array($result);
|
||||
|
||||
$onlinegen = $game['onlinegen'];
|
||||
} else {
|
||||
$query = "select onlinegen from nation where nation='{$_SESSION['p_nation']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$nation = MYDB_fetch_array($result);
|
||||
|
||||
$onlinegen = $nation['onlinegen'];
|
||||
$onlinegen = DB::db()->queryFirstField('select onlinegen from nation where nation=%i',$nationID);
|
||||
}
|
||||
return $onlinegen;
|
||||
}
|
||||
|
||||
function onlineNation($connect) {
|
||||
function onlineNation() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select onlinenation from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$game = MYDB_fetch_array($result);
|
||||
return $game['onlinenation'];
|
||||
}
|
||||
|
||||
function nationMsg($connect) {
|
||||
$query = "select no,nation from general where owner='{$_SESSION['userID']}'";
|
||||
function nationMsg() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$query = "select no,nation from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
@@ -1451,13 +1114,14 @@ function PushMsg($type, $nation, $picture, $imgsvr, $from, $fromcolor, $to, $toc
|
||||
else { $file = "_nation_msg{$nation}.txt"; }
|
||||
$fp = fopen("logs/{$file}", "a");
|
||||
//로그 파일에 기록
|
||||
$str = "{$type}|".StringUtil::Fill($from,12," ")."|".StringUtil::Fill($to,12," ")."|".$date."|".$msg."|".$fromcolor."|".$tocolor."|".$picture."|".$imgsvr;
|
||||
$str = "{$type}|".StringUtil::padStringAlignRight($from,12," ")."|".StringUtil::padStringAlignRight($to,12," ")."|".$date."|".$msg."|".$fromcolor."|".$tocolor."|".$picture."|".$imgsvr;
|
||||
fwrite($fp, "{$str}\n");
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
function msgprint($connect, $msg, $name, $picture, $imgsvr, $when, $num, $type) {
|
||||
global $_basecolor2, $_basecolor4, $images;
|
||||
function msgprint($msg, $name, $picture, $imgsvr, $when, $num, $type) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$message = explode("|", $msg);
|
||||
$count = (count($message) - 2)/2;
|
||||
@@ -1510,7 +1174,12 @@ function msgprint($connect, $msg, $name, $picture, $imgsvr, $when, $num, $type)
|
||||
|
||||
function banner() {
|
||||
|
||||
return sprintf('<font size=2>%s / %s <br> %s</font>', GameConst::$version, GameConst::$banner, GameConst::$helper);
|
||||
return sprintf(
|
||||
'<font size=2>%s %s / %s <br> %s</font>',
|
||||
GameConst::$title,
|
||||
VersionGit::$version,
|
||||
GameConst::$banner,
|
||||
GameConst::$helper);
|
||||
}
|
||||
|
||||
function addTurn($date, int $turnterm, int $turn=1) {
|
||||
@@ -1567,26 +1236,43 @@ function cutDay($date, int $turnterm) {
|
||||
}
|
||||
|
||||
function increaseRefresh($type="", $cnt=1) {
|
||||
$generalID = Session::
|
||||
//FIXME: 로그인, 비로그인 시 처리가 명확하지 않음
|
||||
$session = Session::getInstance();
|
||||
$generalID = $session->generalID;
|
||||
|
||||
$date = date('Y-m-d H:i:s');
|
||||
|
||||
DB::db()->query('UPDATE game set refresh=refresh+%i where `no`=1', $cnt);
|
||||
$db = DB::db();
|
||||
$db->update('game', [
|
||||
'refresh'=>$db->sqleval('refresh+%i', $cnt)
|
||||
], true);
|
||||
|
||||
if(!Util::array_get($_SESSION['userID'], null)) {
|
||||
DB::db()->query('UPDATE general set `lastrefresh`=%s_date, `con`=`con`+%i_cnt, `connect`=`connect`+%i_cnt, refcnt=refcnt+%i_cnt, refresh=refresh+%i_cnt where `no`=%i_no',[
|
||||
'date'=>$date,
|
||||
'cnt'=>$cnt,
|
||||
'owner'->getGeneralID()
|
||||
]);
|
||||
if($generalID) {
|
||||
$db->update('general', [
|
||||
'lastrefresh'=>$date,
|
||||
'con'=>$db->sqleval('con + %i', $cnt),
|
||||
'connect'=>$db->sqleval('connect + %i', $cnt),
|
||||
'refcnt'=>$db->sqleval('refcnt + %i', $cnt),
|
||||
'refresh'=>$db->sqleval('refresh + %i', $cnt)
|
||||
], 'owner=%i', $generalID);
|
||||
}
|
||||
|
||||
$date = date('Y_m_d H:i:s');
|
||||
$date2 = substr($date, 0, 10);
|
||||
$online = getOnlineNum();
|
||||
$fp = fopen("logs/_{$date2}_refresh.txt", "a");
|
||||
$msg = StringUtil::Fill2($date,20," ").StringUtil::Fill2($_SESSION['userName'],13," ").StringUtil::Fill2($_SESSION['p_name'],13," ").StringUtil::Fill2($_SESSION['p_ip'],16," ").StringUtil::Fill2($type, 10, " ")." 동접자: {$online}";
|
||||
fwrite($fp, $msg."\n");
|
||||
fclose($fp);
|
||||
file_put_contents(
|
||||
"logs/_{$date2}_refresh.txt",
|
||||
sprintf(
|
||||
"%s, %s, %s, %s, %s, %d\n",
|
||||
$date,
|
||||
$session->userName,
|
||||
$session->generalName,
|
||||
$session->ip,
|
||||
$type,
|
||||
$online
|
||||
),
|
||||
FILE_APPEND
|
||||
);
|
||||
|
||||
$proxy_headers = array(
|
||||
'HTTP_VIA',
|
||||
@@ -1611,9 +1297,16 @@ function increaseRefresh($type="", $cnt=1) {
|
||||
if(isset($_SERVER[$x])) $str .= "//{$x}:{$_SERVER[$x]}";
|
||||
}
|
||||
if($str != "") {
|
||||
file_put_contents("logs/_{$date2}_ipcheck.txt",
|
||||
sprintf("ID:%s//name:%s//REMOTE_ADDR:%s%s\n",
|
||||
$_SESSION['userName'],$_SESSION['p_name'],$_SERVER['REMOTE_ADDR'],$str), FILE_APPEND);
|
||||
file_put_contents(
|
||||
"logs/_{$date2}_ipcheck.txt",
|
||||
sprintf(
|
||||
"%s, %s, %s%s\n",
|
||||
$session->userName,
|
||||
$session->generalName,
|
||||
$_SERVER['REMOTE_ADDR'],
|
||||
$str
|
||||
),
|
||||
FILE_APPEND);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1637,23 +1330,26 @@ function updateTraffic() {
|
||||
'maxonline'=>$game['maxonline']
|
||||
], true);
|
||||
|
||||
$db->update('general', ['refresh'=>0]);
|
||||
$db->update('general', ['refresh'=>0], true);
|
||||
|
||||
$date = date('Y-m-d H:i:s');
|
||||
$fp = fopen("logs/_traffic.txt", "a");
|
||||
//일시|년|월|총갱신|접속자|최다갱신자
|
||||
$msg = StringUtil::Fill2($date,20," ")."|".StringUtil::Fill2($game['year'],3," ")."|".StringUtil::Fill2($game['month'],2," ")."|".StringUtil::Fill2($game['refresh'],8," ")."|".StringUtil::Fill2($online,5," ")."|".StringUtil::Fill2($user['name']."(".$user['refresh'].")",20," ");
|
||||
fwrite($fp, $msg."\n");
|
||||
fclose($fp);
|
||||
file_put_contents(__dir__."logs/_traffic.txt",
|
||||
StringUtil::padStringAlignRight($date,20," ")
|
||||
."|".StringUtil::padStringAlignRight($game['year'],3," ")
|
||||
."|".StringUtil::padStringAlignRight($game['month'],2," ")
|
||||
."|".StringUtil::padStringAlignRight($game['refresh'],8," ")
|
||||
."|".StringUtil::padStringAlignRight($online,5," ")
|
||||
."|".StringUtil::padStringAlignRight($user['name']."(".$user['refresh'].")",20," ")
|
||||
, FILE_APPEND);
|
||||
}
|
||||
|
||||
function CheckOverhead() {
|
||||
//서버정보
|
||||
$db = DB::db();
|
||||
$admin = $db->queryFirstRow('SELECT conweight, turnterm, conlimit from GAME LIMIT 1');
|
||||
$admin = $db->queryFirstRow('SELECT turnterm, conlimit from GAME LIMIT 1');
|
||||
|
||||
$con = $admin['turnterm'] * 6;
|
||||
$con *= $admin['conweight'] / 100;
|
||||
|
||||
|
||||
if($con != $admin['conlimit']){
|
||||
@@ -1688,7 +1384,12 @@ function tryLock() {
|
||||
function unlock() {
|
||||
// 풀림
|
||||
//NOTE: unlock에는 table lock이 필요없는가?
|
||||
DB::db()->query("update plock set plock=0");
|
||||
$db = DB::db();
|
||||
$db->query("lock tables plock write");
|
||||
$db->update('plock', [
|
||||
'plock'=>0
|
||||
], true);
|
||||
$db->query("unlock tables");
|
||||
}
|
||||
|
||||
function timeover() {
|
||||
@@ -1703,7 +1404,10 @@ function timeover() {
|
||||
else { return 0; }
|
||||
}
|
||||
|
||||
function checkDelay($connect) {
|
||||
function checkDelay() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
//서버정보
|
||||
$query = "select turnterm,now() as now,TIMESTAMPDIFF(MINUTE,turntime,now()) as offset from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
@@ -1720,7 +1424,7 @@ function checkDelay($connect) {
|
||||
$threshold = 3;
|
||||
}
|
||||
//지연 해야할 밀린 턴 횟수
|
||||
$iter = floor($admin['offset'] / $term);
|
||||
$iter = intdiv($admin['offset'], $term);
|
||||
if($iter > $threshold) {
|
||||
$minute = $iter * $term;
|
||||
$query = "update game set turntime=DATE_ADD(turntime, INTERVAL $minute MINUTE),starttime=DATE_ADD(starttime, INTERVAL $minute MINUTE),tnmt_time=DATE_ADD(tnmt_time, INTERVAL $minute MINUTE)";
|
||||
@@ -1732,7 +1436,11 @@ function checkDelay($connect) {
|
||||
}
|
||||
}
|
||||
|
||||
function updateOnline($connect) {
|
||||
function updateOnline() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$nationname = [];
|
||||
|
||||
//국가별 이름 매핑
|
||||
foreach(getAllNationStaticInfo() as $nation) {
|
||||
$nationname[$nation['nation']] = $nation['name'];
|
||||
@@ -1777,7 +1485,12 @@ function updateOnline($connect) {
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
|
||||
function checkTurn($connect) {
|
||||
function checkTurn() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$alllog = [];
|
||||
|
||||
// 잦은 갱신 금지 현재 5초당 1회
|
||||
if(!timeover()) { return; }
|
||||
// 현재 처리중이면 접근 불가
|
||||
@@ -1793,16 +1506,16 @@ function checkTurn($connect) {
|
||||
return;
|
||||
}
|
||||
|
||||
$locklog[0] = "- checkTurn() : ".date('Y-m-d H:i:s')." : ".$_SESSION['userName'];
|
||||
pushLockLog($locklog);
|
||||
$session = Session::getInstance();
|
||||
|
||||
pushLockLog(["- checkTurn() : ".date('Y-m-d H:i:s')." : ".$session->userName]);
|
||||
|
||||
// 파일락 해제
|
||||
if(!flock($fp, LOCK_UN)) { return; }
|
||||
// 세마포어 해제
|
||||
//if(!@sem_release($sema)) { echo "치명적 에러! 유기체에게 문의하세요!"; exit(1); }
|
||||
|
||||
$locklog[0] = "- checkTurn() 입 : ".date('Y-m-d H:i:s')." : ".$_SESSION['userName'];
|
||||
pushLockLog($locklog);
|
||||
pushLockLog(["- checkTurn() 입 : ".date('Y-m-d H:i:s')." : ".$session->userName]);
|
||||
|
||||
//if(STEP_LOG) delStepLog();
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', 진입');
|
||||
@@ -1818,10 +1531,10 @@ function checkTurn($connect) {
|
||||
}
|
||||
// 1턴이상 갱신 없었으면 서버 지연
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', checkDelay');
|
||||
checkDelay($connect);
|
||||
checkDelay();
|
||||
// 접속자수, 접속국가, 국가별 접속장수 갱신
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', checkDelay');
|
||||
updateOnline($connect);
|
||||
updateOnline();
|
||||
//접속자 수 따라서 갱신제한 변경
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', CheckOverhead');
|
||||
CheckOverhead();
|
||||
@@ -1848,15 +1561,15 @@ function checkTurn($connect) {
|
||||
//if(PROCESS_LOG) pushProcessLog($processlog);
|
||||
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', processAI');
|
||||
if($general['npc'] >= 2) { processAI($connect, $general['no']); } // npc AI 처리
|
||||
if($general['npc'] >= 2) { processAI($general['no']); } // npc AI 처리
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', PreprocessCommand');
|
||||
PreprocessCommand($connect, $general['no']);
|
||||
PreprocessCommand($general['no']);
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', processCommand');
|
||||
processCommand($connect, $general['no']);
|
||||
processCommand($general['no']);
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', updateCommand');
|
||||
updateCommand($connect, $general['no']);
|
||||
updateCommand($general['no']);
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', updateTurntime');
|
||||
updateTurntime($connect, $general['no']);
|
||||
updateTurntime($general['no']);
|
||||
|
||||
}
|
||||
|
||||
@@ -1865,10 +1578,9 @@ function checkTurn($connect) {
|
||||
updateTraffic();
|
||||
// 1달마다 처리하는 것들, 벌점 감소 및 건국,전턴,합병 -1, 군량 소모
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', preUpdateMonthly');
|
||||
$result = preUpdateMonthly($connect);
|
||||
$result = preUpdateMonthly();
|
||||
if($result == false) {
|
||||
$locklog[0] = "-- checkTurn() 오류출 : ".date('Y-m-d H:i:s')." : ".$_SESSION['userName'];
|
||||
pushLockLog($locklog);
|
||||
pushLockLog(["-- checkTurn() 오류출 : ".date('Y-m-d H:i:s')." : ".$session->userName]);
|
||||
|
||||
// 잡금 해제
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', unlock');
|
||||
@@ -1877,69 +1589,66 @@ function checkTurn($connect) {
|
||||
}
|
||||
|
||||
// 그 시각 년도,월 저장
|
||||
$dt = turnDate($connect, $nextTurn);
|
||||
$dt = turnDate($nextTurn);
|
||||
$admin['year'] = $dt[0]; $admin['month'] = $dt[1];
|
||||
|
||||
$locklog[0] = "-- checkTurn() ".$admin['month']."월 : ".date('Y-m-d H:i:s')." : ".$_SESSION['userName'];
|
||||
pushLockLog($locklog);
|
||||
pushLockLog(["-- checkTurn() ".$admin['month']."월 : ".date('Y-m-d H:i:s')." : ".$session->userName]);
|
||||
|
||||
// 이벤트 핸들러 동작
|
||||
foreach (DB::db()->query('SELECT * from event') as $rawEvent) {
|
||||
$eventID = $rawEvent['id'];
|
||||
$cond = Json::decode($rawEvent['cond']);
|
||||
$cond = Json::decode($rawEvent['condition']);
|
||||
$action = Json::decode($rawEvent['action']);
|
||||
$event = new Event\EventHandler($cond, $action);
|
||||
|
||||
$event->tryRunEvent(array_merge([
|
||||
'currentEventID'=>$eventID
|
||||
], $admin));
|
||||
$event->tryRunEvent(['currentEventID'=>$eventID] + $admin);
|
||||
}
|
||||
|
||||
// 분기계산. 장수들 턴보다 먼저 있다면 먼저처리
|
||||
if($admin['month'] == 1) {
|
||||
// NPC 등장
|
||||
//if($admin['scenario'] > 0 && $admin['scenario'] < 20) { RegNPC($connect); }
|
||||
//if($admin['scenario'] > 0 && $admin['scenario'] < 20) { RegNPC(); }
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', processGoldIncome');
|
||||
processGoldIncome($connect);
|
||||
processGoldIncome();
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', processSpring');
|
||||
processSpring($connect);
|
||||
processSpring();
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', updateYearly');
|
||||
updateYearly($connect);
|
||||
updateYearly();
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', updateQuaterly');
|
||||
updateQuaterly($connect);
|
||||
updateQuaterly();
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', disaster');
|
||||
disaster($connect);
|
||||
disaster();
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', tradeRate');
|
||||
tradeRate($connect);
|
||||
tradeRate();
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', addAge');
|
||||
addAge($connect);
|
||||
addAge();
|
||||
// 새해 알림
|
||||
$alllog[] = "<C>◆</>{$admin['month']}월:<C>{$admin['year']}</>년이 되었습니다.";
|
||||
pushAllLog($alllog);
|
||||
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||
} elseif($admin['month'] == 4) {
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', updateQuaterly');
|
||||
updateQuaterly($connect);
|
||||
updateQuaterly();
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', disaster');
|
||||
disaster($connect);
|
||||
disaster();
|
||||
} elseif($admin['month'] == 7) {
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', processRiceIncome');
|
||||
processRiceIncome($connect);
|
||||
processRiceIncome();
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', processFall');
|
||||
processFall($connect);
|
||||
processFall();
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', updateQuaterly');
|
||||
updateQuaterly($connect);
|
||||
updateQuaterly();
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', disaster');
|
||||
disaster($connect);
|
||||
disaster();
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', tradeRate');
|
||||
tradeRate($connect);
|
||||
tradeRate();
|
||||
} elseif($admin['month'] == 10) {
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', updateQuaterly');
|
||||
updateQuaterly($connect);
|
||||
updateQuaterly();
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', disaster');
|
||||
disaster($connect);
|
||||
disaster();
|
||||
}
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', postUpdateMonthly');
|
||||
postUpdateMonthly($connect);
|
||||
postUpdateMonthly();
|
||||
|
||||
// 다음달로 넘김
|
||||
$prevTurn = $nextTurn;
|
||||
@@ -1953,7 +1662,7 @@ function checkTurn($connect) {
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
// 그 시각 년도,월 저장
|
||||
$dt = turnDate($connect, $prevTurn);
|
||||
$dt = turnDate($prevTurn);
|
||||
$admin['year'] = $dt[0]; $admin['month'] = $dt[1];
|
||||
// 현재시간의 월턴시간 이후 분단위 장수 처리
|
||||
do {
|
||||
@@ -1968,15 +1677,15 @@ function checkTurn($connect) {
|
||||
//if(PROCESS_LOG) pushProcessLog($processlog);
|
||||
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', processAI');
|
||||
if($general['npc'] >= 2) { processAI($connect, $general['no']); } // npc AI 처리
|
||||
if($general['npc'] >= 2) { processAI($general['no']); } // npc AI 처리
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', PreprocessCommand');
|
||||
PreprocessCommand($connect, $general['no']);
|
||||
PreprocessCommand($general['no']);
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', processCommand');
|
||||
processCommand($connect, $general['no']);
|
||||
processCommand($general['no']);
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', updateCommand');
|
||||
updateCommand($connect, $general['no']);
|
||||
updateCommand($general['no']);
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', updateTurntime');
|
||||
updateTurntime($connect, $general['no']);
|
||||
updateTurntime($general['no']);
|
||||
}
|
||||
} while($gencount > 0);
|
||||
|
||||
@@ -1998,23 +1707,25 @@ function checkTurn($connect) {
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
//토너먼트 처리
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', processTournament');
|
||||
processTournament($connect);
|
||||
processTournament();
|
||||
//거래 처리
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', processAuction');
|
||||
processAuction($connect);
|
||||
processAuction();
|
||||
// 잡금 해제
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', unlock');
|
||||
unlock();
|
||||
|
||||
$locklog[0] = "- checkTurn() 출 : ".date('Y-m-d H:i:s')." : ".$_SESSION['userName'];
|
||||
pushLockLog($locklog);
|
||||
pushLockLog(["- checkTurn() 출 : ".date('Y-m-d H:i:s')." : ".$session->userName]);
|
||||
|
||||
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', finish');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function addAge($connect) {
|
||||
function addAge() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
//나이와 호봉 증가
|
||||
$query = "update general set age=age+1,belong=belong+1";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
@@ -2030,13 +1741,12 @@ function addAge($connect) {
|
||||
|
||||
for($i=0; $i < $gencount; $i++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
$special = getSpecial($connect, $general['leader'], $general['power'], $general['intel']);
|
||||
$special = getSpecial($general['leader'], $general['power'], $general['intel']);
|
||||
$query = "update general set special='$special' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log[0] = "<C>●</>특기 【<b><L>".getGenSpecial($special)."</></b>】(을)를 익혔습니다!";
|
||||
addHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:특기 【<b><C>".getGenSpecial($special)."</></b>】(을)를 습득");
|
||||
pushGenLog($general, $log);
|
||||
pushGeneralHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:특기 【<b><C>".getGenSpecial($special)."</></b>】(을)를 습득");
|
||||
pushGenLog($general, "<C>●</>특기 【<b><L>".getGenSpecial($special)."</></b>】(을)를 익혔습니다!");
|
||||
}
|
||||
|
||||
$query = "select no,name,nation,leader,power,intel,npc,dex0,dex10,dex20,dex30,dex40 from general where specage2<=age and special2='0'";
|
||||
@@ -2045,19 +1755,21 @@ function addAge($connect) {
|
||||
|
||||
for($i=0; $i < $gencount; $i++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
$special2 = getSpecial2($connect, $general['leader'], $general['power'], $general['intel'], 0, $general['dex0'], $general['dex10'], $general['dex20'], $general['dex30'], $general['dex40']);
|
||||
$special2 = getSpecial2($general['leader'], $general['power'], $general['intel'], 0, $general['dex0'], $general['dex10'], $general['dex20'], $general['dex30'], $general['dex40']);
|
||||
|
||||
$query = "update general set special2='$special2' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log[0] = "<C>●</>특기 【<b><L>".getGenSpecial($special2)."</></b>】(을)를 익혔습니다!";
|
||||
addHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:특기 【<b><C>".getGenSpecial($special2)."</></b>】(을)를 습득");
|
||||
pushGenLog($general, $log);
|
||||
pushGeneralHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:특기 【<b><C>".getGenSpecial($special2)."</></b>】(을)를 습득");
|
||||
pushGenLog($general, "<C>●</>특기 【<b><L>".getGenSpecial($special2)."</></b>】(을)를 익혔습니다!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function turnDate($connect, $curtime) {
|
||||
function turnDate($curtime) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select startyear,starttime,turnterm,year,month from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
@@ -2066,9 +1778,9 @@ function turnDate($connect, $curtime) {
|
||||
$curturn = cutTurn($curtime, $admin['turnterm']);
|
||||
$num = 0;
|
||||
$term = $admin['turnterm']*60;
|
||||
$num = floor((strtotime($curturn) - strtotime($turn)) / $term);
|
||||
$num = intdiv((strtotime($curturn) - strtotime($turn)), $term);
|
||||
|
||||
$year = $admin['startyear'] + floor($num / 12);
|
||||
$year = $admin['startyear'] + intdiv($num, 12);
|
||||
$month = 1 + (12+$num) % 12;
|
||||
|
||||
// 바뀐 경우만 업데이트
|
||||
@@ -2076,13 +1788,15 @@ function turnDate($connect, $curtime) {
|
||||
$query = "update game set year='$year',month='$month'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
$value[0] = $year;
|
||||
$value[1] = $month;
|
||||
return $value;
|
||||
|
||||
return [$year, $month];
|
||||
}
|
||||
|
||||
|
||||
function triggerTournament($connect) {
|
||||
function triggerTournament() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select tournament,tnmt_trig from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
@@ -2092,11 +1806,15 @@ function triggerTournament($connect) {
|
||||
$type = rand() % 6; // 0 : 전력전, 1 : 통솔전, 2 : 일기토, 3 : 설전
|
||||
//전력전 50%, 통, 일, 설 각 17%
|
||||
if($type > 3) { $type = 0; }
|
||||
startTournament($connect, $admin['tnmt_trig'], $type);
|
||||
startTournament($admin['tnmt_trig'], $type);
|
||||
}
|
||||
}
|
||||
|
||||
function PreprocessCommand($connect, $no) {
|
||||
function PreprocessCommand($no) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$log = [];
|
||||
|
||||
$query = "select no,name,city,injury,special2,item,turn0 from general where no='$no'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
@@ -2109,8 +1827,7 @@ function PreprocessCommand($connect, $no) {
|
||||
$query = "update general set injury=0 where no='$no'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log[0] = "<C>●</><C>의술</>을 펼쳐 스스로 치료합니다!";
|
||||
pushGenLog($general, $log);
|
||||
pushGenLog($general, "<C>●</><C>의술</>을 펼쳐 스스로 치료합니다!");
|
||||
}
|
||||
|
||||
$query = "select no,name,injury from general where city='{$general['city']}' and injury>10 order by rand()";
|
||||
@@ -2119,7 +1836,7 @@ function PreprocessCommand($connect, $no) {
|
||||
|
||||
if($patientCount > 0) {
|
||||
// 50% 확률로 치료
|
||||
$patientCount = round($patientCount * 0.5);
|
||||
$patientCount = Util::round($patientCount * 0.5);
|
||||
|
||||
$patientName = "";
|
||||
for($i=0; $i < $patientCount; $i++) {
|
||||
@@ -2129,8 +1846,7 @@ function PreprocessCommand($connect, $no) {
|
||||
$query = "update general set injury=0 where no='{$patient['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log[0] = "<C>●</><Y>{$general['name']}</>(이)가 <C>의술</>로써 치료해줍니다!";
|
||||
pushGenLog($patient, $log);
|
||||
pushGenLog($patient, "<C>●</><Y>{$general['name']}</>(이)가 <C>의술</>로써 치료해줍니다!");
|
||||
|
||||
if($patientName == "") {
|
||||
$patientName = $patient['name'];
|
||||
@@ -2138,12 +1854,11 @@ function PreprocessCommand($connect, $no) {
|
||||
}
|
||||
|
||||
if($patientCount == 1) {
|
||||
$log[0] = "<C>●</><C>의술</>을 펼쳐 도시의 장수 <Y>{$patientName}</>(을)를 치료합니다!";
|
||||
pushGenLog($general, "<C>●</><C>의술</>을 펼쳐 도시의 장수 <Y>{$patientName}</>(을)를 치료합니다!");
|
||||
} else {
|
||||
$patientCount -= 1;
|
||||
$log[0] = "<C>●</><C>의술</>을 펼쳐 도시의 장수들 <Y>{$patientName}</> 외 <C>{$patientCount}</>명을 치료합니다!";
|
||||
pushGenLog($general, "<C>●</><C>의술</>을 펼쳐 도시의 장수들 <Y>{$patientName}</> 외 <C>{$patientCount}</>명을 치료합니다!");
|
||||
}
|
||||
pushGenLog($general, $log);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2175,7 +1890,12 @@ function PreprocessCommand($connect, $no) {
|
||||
}
|
||||
|
||||
|
||||
function updateTurntime($connect, $no) {
|
||||
function updateTurntime($no) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$alllog = [];
|
||||
$log = [];
|
||||
|
||||
$query = "select year,month,isUnited,turnterm from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
@@ -2194,15 +1914,15 @@ function updateTurntime($connect, $no) {
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name2']}</>(이)가 <Y>{$general['name']}</>의 육체에서 <S>유체이탈</>합니다!";
|
||||
pushAllLog($alllog);
|
||||
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||
|
||||
if($admin['isUnited'] == 0) {
|
||||
CheckHall($connect, $no);
|
||||
CheckHall($no);
|
||||
}
|
||||
} else {
|
||||
// 군주였으면 유지 이음
|
||||
if($general['level'] == 12) {
|
||||
nextRuler($connect, $general);
|
||||
nextRuler($general);
|
||||
}
|
||||
|
||||
//도시의 태수, 군사, 시중직도 초기화
|
||||
@@ -2307,7 +2027,7 @@ function updateTurntime($connect, $no) {
|
||||
}
|
||||
}
|
||||
|
||||
pushAllLog($alllog);
|
||||
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -2315,18 +2035,18 @@ function updateTurntime($connect, $no) {
|
||||
|
||||
if($general['age'] >= 80 && $general['npc'] == 0) {
|
||||
if($admin['isUnited'] == 0) {
|
||||
CheckHall($connect, $no);
|
||||
CheckHall($no);
|
||||
}
|
||||
|
||||
$query = "update general set leader=leader*0.85,power=power*0.85,intel=intel*0.85,injury=0,experience=experience*0.5,dedication=dedication*0.5,firenum=0,warnum=0,killnum=0,deathnum=0,killcrew=0,deathcrew=0,age=20,specage=0,specage2=0,crew=crew*0.85,dex0=dex0*0.5,dex10=dex10*0.5,dex20=dex20*0.5,dex30=dex30*0.5,dex40=dex40*0.5 where no='$no'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <R>은퇴</>하고 그 자손이 유지를 이어받았습니다.";
|
||||
pushAllLog($alllog);
|
||||
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||
|
||||
$log[0] = "<C>●</>나이가 들어 <R>은퇴</>하고 자손에게 자리를 물려줍니다.";
|
||||
pushGenLog($general, $log);
|
||||
addHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:나이가 들어 은퇴하고, 자손에게 관직을 물려줌");
|
||||
pushGeneralHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:나이가 들어 은퇴하고, 자손에게 관직을 물려줌");
|
||||
}
|
||||
|
||||
$turntime = addTurn($general['turntime'], $admin['turnterm']);
|
||||
@@ -2335,7 +2055,10 @@ function updateTurntime($connect, $no) {
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
|
||||
function CheckHall($connect, $no) {
|
||||
function CheckHall($no) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$type = array(
|
||||
"experience",
|
||||
"dedication",
|
||||
@@ -2417,7 +2140,15 @@ function CheckHall($connect, $no) {
|
||||
}
|
||||
|
||||
|
||||
function uniqueItem($connect, $general, $log, $vote=0) {
|
||||
function uniqueItem($general, $log, $vote=0) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$log = [];
|
||||
$alllog = [];
|
||||
$history = [];
|
||||
$occupied = [];
|
||||
$item = [];
|
||||
|
||||
if($general['npc'] >= 2 || $general['betray'] > 1) { return $log; }
|
||||
if($general['weap'] > 6 || $general['book'] > 6 || $general['horse'] > 6 || $general['item'] > 6) { return $log; }
|
||||
|
||||
@@ -2432,9 +2163,9 @@ function uniqueItem($connect, $general, $log, $vote=0) {
|
||||
if($game['scenario'] == 0) { $prob = $gen['cnt'] * 5; } // 5~6개월에 하나씩 등장
|
||||
else { $prob = $gen['cnt']; } // 1~2개월에 하나씩 등장
|
||||
|
||||
if($vote == 1) { $prob = round($gen['cnt'] * 0.7 / 3); } // 투표율 70%, 투표 한번에 2~3개 등장
|
||||
elseif($vote == 2) { $prob = round($gen['cnt'] / 10 / 2); } // 랜임시 2개(10%) 등장(200명중 20명 랜임시도?)
|
||||
elseif($vote == 3) { $prob = round($gen['cnt'] / 10 / 4); } // 건국시 4개(20%) 등장(200명시 20국 정도 됨)
|
||||
if($vote == 1) { $prob = Util::round($gen['cnt'] * 0.7 / 3); } // 투표율 70%, 투표 한번에 2~3개 등장
|
||||
elseif($vote == 2) { $prob = Util::round($gen['cnt'] / 10 / 2); } // 랜임시 2개(10%) 등장(200명중 20명 랜임시도?)
|
||||
elseif($vote == 3) { $prob = Util::round($gen['cnt'] / 10 / 4); } // 건국시 4개(20%) 등장(200명시 20국 정도 됨)
|
||||
|
||||
if($prob < 3) { $prob = 3; }
|
||||
//아이템 습득 상황
|
||||
@@ -2457,7 +2188,7 @@ function uniqueItem($connect, $general, $log, $vote=0) {
|
||||
}
|
||||
for($i=7; $i <= 26; $i++) {
|
||||
if($occupied[$i] == 0) {
|
||||
$item[count($item)] = $i;
|
||||
$item[] = $i;
|
||||
}
|
||||
}
|
||||
$it = $item[rand() % count($item)];
|
||||
@@ -2467,15 +2198,15 @@ function uniqueItem($connect, $general, $log, $vote=0) {
|
||||
|
||||
$nation = getNationStaticInfo($general['nation']);
|
||||
|
||||
if($nation == null) {
|
||||
$nation['name'] = "재야";
|
||||
if($nation === null) {
|
||||
$nation = ['name' => "재야"];
|
||||
}
|
||||
|
||||
switch($sel) {
|
||||
case 0:
|
||||
$log[] = "<C>●</><C>".getWeapName($it)."</>(을)를 습득했습니다!";
|
||||
$alllog[0] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>(이)가 <C>".getWeapName($it)."</>(을)를 습득했습니다!";
|
||||
addHistory($general, "<C>●</>{$game['year']}년 {$game['month']}월:<C>".getWeapName($it)."</>(을)를 습득");
|
||||
pushGeneralHistory($general, "<C>●</>{$game['year']}년 {$game['month']}월:<C>".getWeapName($it)."</>(을)를 습득");
|
||||
if($vote == 0) {
|
||||
$history[0] = "<C>●</>{$game['year']}년 {$game['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getWeapName($it)."</>(을)를 습득했습니다!";
|
||||
} elseif($vote == 1) {
|
||||
@@ -2489,7 +2220,7 @@ function uniqueItem($connect, $general, $log, $vote=0) {
|
||||
case 1:
|
||||
$log[] = "<C>●</><C>".getBookName($it)."</>(을)를 습득했습니다!";
|
||||
$alllog[0] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>(이)가 <C>".getBookName($it)."</>(을)를 습득했습니다!";
|
||||
addHistory($general, "<C>●</>{$game['year']}년 {$game['month']}월:<C>".getBookName($it)."</>(을)를 습득");
|
||||
pushGeneralHistory($general, "<C>●</>{$game['year']}년 {$game['month']}월:<C>".getBookName($it)."</>(을)를 습득");
|
||||
if($vote == 0) {
|
||||
$history[0] = "<C>●</>{$game['year']}년 {$game['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getBookName($it)."</>(을)를 습득했습니다!";
|
||||
} elseif($vote == 1) {
|
||||
@@ -2503,7 +2234,7 @@ function uniqueItem($connect, $general, $log, $vote=0) {
|
||||
case 2:
|
||||
$log[] = "<C>●</><C>".getHorseName($it)."</>(을)를 습득했습니다!";
|
||||
$alllog[0] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>(이)가 <C>".getHorseName($it)."</>(을)를 습득했습니다!";
|
||||
addHistory($general, "<C>●</>{$game['year']}년 {$game['month']}월:<C>".getHorseName($it)."</>(을)를 습득");
|
||||
pushGeneralHistory($general, "<C>●</>{$game['year']}년 {$game['month']}월:<C>".getHorseName($it)."</>(을)를 습득");
|
||||
if($vote == 0) {
|
||||
$history[0] = "<C>●</>{$game['year']}년 {$game['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getHorseName($it)."</>(을)를 습득했습니다!";
|
||||
} elseif($vote == 1) {
|
||||
@@ -2517,7 +2248,7 @@ function uniqueItem($connect, $general, $log, $vote=0) {
|
||||
case 3:
|
||||
$log[] = "<C>●</><C>".getItemName($it)."</>(을)를 습득했습니다!";
|
||||
$alllog[0] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>(이)가 <C>".getItemName($it)."</>(을)를 습득했습니다!";
|
||||
addHistory($general, "<C>●</>{$game['year']}년 {$game['month']}월:<C>".getItemName($it)."</>(을)를 습득");
|
||||
pushGeneralHistory($general, "<C>●</>{$game['year']}년 {$game['month']}월:<C>".getItemName($it)."</>(을)를 습득");
|
||||
if($vote == 0) {
|
||||
$history[0] = "<C>●</>{$game['year']}년 {$game['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getItemName($it)."</>(을)를 습득했습니다!";
|
||||
} elseif($vote == 1) {
|
||||
@@ -2529,14 +2260,16 @@ function uniqueItem($connect, $general, $log, $vote=0) {
|
||||
}
|
||||
break;
|
||||
}
|
||||
pushAllLog($alllog);
|
||||
pushHistory($history);
|
||||
pushGeneralPublicRecord($alllog, $game['year'], $game['month']);
|
||||
pushWorldHistory($history, $game['year'], $game['month']);
|
||||
}
|
||||
}
|
||||
return $log;
|
||||
}
|
||||
|
||||
function checkAbility($connect, $general, $log) {
|
||||
function checkAbility($general, $log) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$limit = GameConst::$upgradeLimit;
|
||||
|
||||
@@ -2583,7 +2316,10 @@ function checkAbility($connect, $general, $log) {
|
||||
return $log;
|
||||
}
|
||||
|
||||
function checkDedication($connect, $general, $log) {
|
||||
function checkDedication($general, $log) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$dedlevel = getDedLevel($general['dedication']);
|
||||
|
||||
$query = "update general set dedlevel='$dedlevel' where no='{$general['no']}'";
|
||||
@@ -2600,7 +2336,10 @@ function checkDedication($connect, $general, $log) {
|
||||
return $log;
|
||||
}
|
||||
|
||||
function checkExperience($connect, $general, $log) {
|
||||
function checkExperience($general, $log) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$explevel = getExpLevel($general['experience']);
|
||||
|
||||
$query = "update general set explevel='$explevel' where no='{$general['no']}'";
|
||||
@@ -2617,7 +2356,10 @@ function checkExperience($connect, $general, $log) {
|
||||
return $log;
|
||||
}
|
||||
|
||||
function getAdmin($connect) {
|
||||
function getAdmin() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select * from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
@@ -2625,15 +2367,22 @@ function getAdmin($connect) {
|
||||
return $admin;
|
||||
}
|
||||
|
||||
function getMe($connect) {
|
||||
$query = "select * from general where owner='{$_SESSION['userID']}'";
|
||||
function getMe() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$query = "select * from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error("접속자가 많아 접속을 중단합니다. 잠시후 갱신해주세요.<br>getMe : ".MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
return $me;
|
||||
}
|
||||
|
||||
function getTroop($connect, $troop) {
|
||||
function getTroop($troop) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select * from troop where troop='$troop'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$troop = MYDB_fetch_array($result);
|
||||
@@ -2641,7 +2390,10 @@ function getTroop($connect, $troop) {
|
||||
return $troop;
|
||||
}
|
||||
|
||||
function getCity($connect, $city, $sel="*") {
|
||||
function getCity($city, $sel="*") {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select {$sel} from city where city='$city'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$city = MYDB_fetch_array($result);
|
||||
@@ -2649,7 +2401,10 @@ function getCity($connect, $city, $sel="*") {
|
||||
return $city;
|
||||
}
|
||||
|
||||
function getNation($connect, $nation) {
|
||||
function getNation($nation) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select * from nation where nation='$nation'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$nation = MYDB_fetch_array($result);
|
||||
@@ -2657,7 +2412,11 @@ function getNation($connect, $nation) {
|
||||
return $nation;
|
||||
}
|
||||
|
||||
function deleteNation($connect, $general) {
|
||||
function deleteNation($general) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$history = [];
|
||||
$date = substr($general['turntime'],11,5);
|
||||
|
||||
$query = "select year,month from game limit 1";
|
||||
@@ -2684,11 +2443,14 @@ function deleteNation($connect, $general) {
|
||||
$query = "delete from diplomacy where me='{$general['nation']}' or you='{$general['nation']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
pushHistory($history);
|
||||
pushWorldHistory($history, $admin['year'], $admin['month']);
|
||||
refreshNationStaticInfo();
|
||||
}
|
||||
|
||||
function nextRuler($connect, $general) {
|
||||
function nextRuler($general) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select year,month from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
@@ -2724,8 +2486,8 @@ function nextRuler($connect, $general) {
|
||||
// 아무도 없으면 국가 삭제
|
||||
if($corecount == 0) {
|
||||
//분쟁기록 모두 지움
|
||||
DeleteConflict($connect, $general['nation']);
|
||||
deleteNation($connect, $general);
|
||||
DeleteConflict($general['nation']);
|
||||
deleteNation($general);
|
||||
return;
|
||||
} else {
|
||||
$nextruler = MYDB_fetch_array($result);
|
||||
@@ -2747,92 +2509,74 @@ function nextRuler($connect, $general) {
|
||||
$query = "update city set gen3=0 where gen3='{$nextruler['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【유지】</b></><Y>{$nextruler['name']}</>(이)가 <D><b>{$nation['name']}</b></>의 유지를 이어 받았습니다";
|
||||
$history = ["<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【유지】</b></><Y>{$nextruler['name']}</>(이)가 <D><b>{$nation['name']}</b></>의 유지를 이어 받았습니다"];
|
||||
|
||||
pushHistory($history);
|
||||
addNationHistory($nation, "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【유지】</b></><Y>{$nextruler['name']}</>(이)가 <D><b>{$nation['name']}</b></>의 유지를 이어 받음.");
|
||||
pushWorldHistory($history, $admin['year'], $admin['month']);
|
||||
pushNationHistory($nation, "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【유지】</b></><Y>{$nextruler['name']}</>(이)가 <D><b>{$nation['name']}</b></>의 유지를 이어 받음.");
|
||||
// 장수 삭제 및 부대처리는 checkTurn에서
|
||||
}
|
||||
|
||||
/**
|
||||
* $maxDist 이내의 도시를 검색하는 함수
|
||||
* @param $from 기준 도시 코드
|
||||
* @param $maxDist 검색하고자 하는 최대 거리
|
||||
* @param $distForm 리턴 타입. true일 경우 $result[$dist] = [...$city] 이며, false일 경우 $result[$city] = $dist 임
|
||||
*/
|
||||
function searchDistance(int $from, int $maxDist=99, bool $distForm = false) {
|
||||
$queue = new \SplQueue();
|
||||
|
||||
function distance($connect, $from, $maxDist=99) {
|
||||
include_once("queue.php");
|
||||
$cities = [];
|
||||
$distanceList = [];
|
||||
|
||||
$query = "select city,path from city";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$cityNum = MYDB_num_rows($result);
|
||||
for($i=0; $i < $cityNum; $i++) {
|
||||
$city = MYDB_fetch_array($result);
|
||||
$cityPath[$city['city']] = $city['path'];
|
||||
$dist[$city['city']] = 99;
|
||||
}
|
||||
$queue->enqueue([$from, 0]);
|
||||
|
||||
$select = 0;
|
||||
$queue = new Queue(20);
|
||||
$queue2 = new Queue(20);
|
||||
$q = $queue;
|
||||
$q2 = $queue2;
|
||||
$distance = $dist[$from] = 0;
|
||||
$q->push($from);
|
||||
while($q->getSize() > 0 || $q2->getSize() > 0) {
|
||||
$distance++;
|
||||
if($distance > $maxDist) return $dist;
|
||||
while($q->getSize() > 0) {
|
||||
$city = $q->pop();
|
||||
unset($path);
|
||||
$path = explode("|", $cityPath[$city]);
|
||||
for($i=0; $i < count($path); $i++) {
|
||||
if($dist[$path[$i]] > $distance) {
|
||||
$dist[$path[$i]] = $distance;
|
||||
$q2->push($path[$i]);
|
||||
}
|
||||
while(!$queue->isEmpty()){
|
||||
list($cityID, $dist) = $queue->dequeue();
|
||||
|
||||
if(!key_exists($dist, $distanceList)){
|
||||
$distanceList[$dist] = [];
|
||||
}
|
||||
$distanceList[$dist][] = $cityID;
|
||||
|
||||
$cities[$cityID] = $dist;
|
||||
if($dist >= $maxDist){
|
||||
return;
|
||||
}
|
||||
|
||||
foreach(array_keys(CityConst::byID($cityID)->path) as $connCityID){
|
||||
if(key_exists($connCityID, $cities)){
|
||||
continue;
|
||||
}
|
||||
$queue->enqueue([$connCityID, $dist+1]);
|
||||
}
|
||||
if($select == 0) {
|
||||
$q2 = $queue;
|
||||
$q = $queue2;
|
||||
} else {
|
||||
$q = $queue;
|
||||
$q2 = $queue2;
|
||||
}
|
||||
$select = 1 - $select;
|
||||
}
|
||||
|
||||
return $dist;
|
||||
if($distForm){
|
||||
unset($distanceList[0]);
|
||||
return $distanceList;
|
||||
}
|
||||
else{
|
||||
return $cities;
|
||||
}
|
||||
}
|
||||
|
||||
function isClose($connect, $nation1, $nation2) {
|
||||
$isClose = 0;
|
||||
// $nation1의 모든 도시
|
||||
$query = "select path from city where nation='$nation1'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$citycount = MYDB_num_rows($result);
|
||||
function isClose($nation1, $nation2) {
|
||||
$db = DB::db();
|
||||
|
||||
// 국가의 모든 도시 검색
|
||||
for($i=0; $i < $citycount; $i++) {
|
||||
$city = MYDB_fetch_array($result);
|
||||
$nation1Cities = [];
|
||||
foreach($db->queryFirstColumn('SELECT city FROM city WHERE nation = %i', $nation1) as $city){
|
||||
$nation1Cities[$city] = $city;
|
||||
}
|
||||
|
||||
// 각 도시당 모든 인접 도시 플래그 세팅
|
||||
$path = explode("|", $city['path']);
|
||||
for($j=0; $j < count($path); $j++) {
|
||||
$barrier[$path[$j]] = 1;
|
||||
foreach($db->queryFirstColumn('SELECT city FROM city WHERE nation = %i', $nation2) as $city){
|
||||
foreach(array_keys(CityConst::byID($city)->path) as $adjCity){
|
||||
if(key_exists($adjCity, $nation1Cities)){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// $nation2의 모든 도시 선택
|
||||
$query = "select city from city where nation='$nation2'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$citycount = MYDB_num_rows($result);
|
||||
|
||||
for($i=0; $i < $citycount; $i++) {
|
||||
$city = MYDB_fetch_array($result);
|
||||
|
||||
if($barrier[$city['city']] == 1) {
|
||||
$isClose = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return $isClose;
|
||||
return false;
|
||||
}
|
||||
|
||||
function CharExperience($exp, $personal) {
|
||||
@@ -2842,7 +2586,7 @@ function CharExperience($exp, $personal) {
|
||||
case 4: case 5: case 7: case 10:
|
||||
$exp *= 0.9; break;
|
||||
}
|
||||
$exp = round($exp);
|
||||
$exp = Util::round($exp);
|
||||
|
||||
return $exp;
|
||||
}
|
||||
@@ -2852,7 +2596,7 @@ function CharDedication($ded, $personal) {
|
||||
case 10:
|
||||
$ded *= 0.9; break;
|
||||
}
|
||||
$ded = round($ded);
|
||||
$ded = Util::round($ded);
|
||||
|
||||
return $ded;
|
||||
}
|
||||
@@ -2899,7 +2643,11 @@ function CharCritical($rate, $personal) {
|
||||
return $rate;
|
||||
}
|
||||
|
||||
function TrickInjury($connect, $city, $type=0) {
|
||||
function TrickInjury($city, $type=0) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$log = [];
|
||||
|
||||
$query = "select year,month from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
@@ -2917,7 +2665,7 @@ function TrickInjury($connect, $city, $type=0) {
|
||||
|
||||
$injury = rand() % 100;
|
||||
if($injury < 30) { // 부상률 30%
|
||||
$injury = floor($injury / 2) + 1; // 부상 1~16
|
||||
$injury = intdiv($injury, 2) + 1; // 부상 1~16
|
||||
|
||||
$query = "update general set crew=crew*0.98,atmos=atmos*0.98,train=train*0.98,injury=injury+'$injury' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
+35
-22
@@ -3,7 +3,7 @@ namespace sammo;
|
||||
|
||||
function GetStuffName($stuff) {
|
||||
$type1 = $stuff % 10;
|
||||
$type2 = floor($stuff / 10);
|
||||
$type2 = intdiv($stuff, 10);
|
||||
|
||||
switch($type1) {
|
||||
case 0: $str = "쌀"; break;
|
||||
@@ -16,7 +16,10 @@ function GetStuffName($stuff) {
|
||||
return $str;
|
||||
}
|
||||
|
||||
function registerAuction($connect) {
|
||||
function registerAuction() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select startyear,year,month,turnterm from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
@@ -59,7 +62,7 @@ function registerAuction($connect) {
|
||||
}
|
||||
for($i=7; $i <= 26; $i++) {
|
||||
if($occupied[$i] == 0) {
|
||||
$item[count($item)] = $i;
|
||||
$item[] = $i;
|
||||
}
|
||||
}
|
||||
$it = $item[rand() % count($item)];
|
||||
@@ -72,8 +75,8 @@ function registerAuction($connect) {
|
||||
if($cost < 5000) { $cost = 5000; }
|
||||
if($topv < 10000) { $topv = 10000; }
|
||||
|
||||
$cost = round($cost / 10) * 10;
|
||||
$topv = round($topv / 10) * 10;
|
||||
$cost = Util::round($cost / 10) * 10;
|
||||
$topv = Util::round($topv / 10) * 10;
|
||||
|
||||
$term = 12;
|
||||
$date = date("Y-m-d H:i:s", strtotime(date("Y-m-d H:i:s")) + $unit * $term);
|
||||
@@ -82,8 +85,8 @@ function registerAuction($connect) {
|
||||
|
||||
$alllog[0] = "<C>●</>{$admin['month']}월:<C>".GetStuffName($stuff)."</>(이)가 거래장에 등장했습니다!";
|
||||
$history[0] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【암시장】</b></><Y>ⓝ암시장상인</>(이)가 <C>".GetStuffName($stuff)."</>(을)를 판다는 소문이 돌고 있습니다!";
|
||||
pushAllLog($alllog);
|
||||
pushHistory($history);
|
||||
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||
pushWorldHistory($history, $admin['year'], $admin['month']);
|
||||
}
|
||||
}
|
||||
*/
|
||||
@@ -102,9 +105,9 @@ function registerAuction($connect) {
|
||||
if($cost <= $amount*0.8) { $cost = $amount*0.8; }
|
||||
if($cost >= $amount*1.2) { $cost = $amount*1.2; }
|
||||
|
||||
$amount = round($amount / 10) * 10;
|
||||
$cost = round($cost / 10) * 10;
|
||||
$topv = round($topv / 10) * 10;
|
||||
$amount = Util::round($amount / 10) * 10;
|
||||
$cost = Util::round($cost / 10) * 10;
|
||||
$topv = Util::round($topv / 10) * 10;
|
||||
|
||||
$term = 3 + rand() % 10;
|
||||
$date = date("Y-m-d H:i:s", strtotime(date("Y-m-d H:i:s")) + $unit * $term);
|
||||
@@ -126,9 +129,9 @@ function registerAuction($connect) {
|
||||
if($cost <= $amount*0.8) { $cost = $amount*0.8; }
|
||||
if($cost >= $amount*1.2) { $cost = $amount*1.2; }
|
||||
|
||||
$amount = round($amount / 10) * 10;
|
||||
$cost = round($cost / 10) * 10;
|
||||
$topv = round($topv / 10) * 10;
|
||||
$amount = Util::round($amount / 10) * 10;
|
||||
$cost = Util::round($cost / 10) * 10;
|
||||
$topv = Util::round($topv / 10) * 10;
|
||||
|
||||
$term = 3 + rand() % 10;
|
||||
$date = date("Y-m-d H:i:s", strtotime(date("Y-m-d H:i:s")) + $unit * $term);
|
||||
@@ -137,7 +140,17 @@ function registerAuction($connect) {
|
||||
}
|
||||
}
|
||||
|
||||
function processAuction($connect) {
|
||||
function processAuction() {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$trader = [];
|
||||
$traderLog = [];
|
||||
$auctionLog = [];
|
||||
$bidderLog = [];
|
||||
$alllog = [];
|
||||
$history = [];
|
||||
|
||||
$date = date("Y-m-d H:i:s");
|
||||
|
||||
$query = "select year,month from game limit 1";
|
||||
@@ -167,7 +180,7 @@ function processAuction($connect) {
|
||||
$bidder = MYDB_fetch_array($result);
|
||||
|
||||
$sel1 = $auction['stuff'] % 10;
|
||||
$sel2 = floor($auction['stuff'] / 10);
|
||||
$sel2 = intdiv($auction['stuff'], 10);
|
||||
switch($sel1) {
|
||||
case 1: $type = "weap"; break;
|
||||
case 2: $type = "book"; break;
|
||||
@@ -185,7 +198,7 @@ function processAuction($connect) {
|
||||
$bidderLog[0] = "<S>◆</>{$auction['no']}번 거래 <M>유찰</>! 이미 아이템을 누군가가 가로챘습니다!";
|
||||
$auctionLog[0] = "<S>◆</>{$admin['year']}년 {$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <M>유찰</> : <Y>{$auction['name1']}</>(이)가 <C>".GetStuffName($auction['stuff'])."</>(을)를 판매, <Y>{$auction['name2']}</>(이)가 금 <C>{$auction['value']}</>(으)로 입찰, 그러나 아이템 이미 매진!";
|
||||
} elseif($auction['value'] > $bidder['gold'] - 1000) {
|
||||
$gold = round($auction['value'] * 0.01);
|
||||
$gold = Util::round($auction['value'] * 0.01);
|
||||
$bidder['gold'] -= $gold;
|
||||
if($bidder['gold'] < 0) $bidder['gold'] = 0;
|
||||
$query = "update general set gold='{$bidder['gold']}' where no='{$auction['no2']}'";
|
||||
@@ -205,8 +218,8 @@ function processAuction($connect) {
|
||||
|
||||
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$auction['name2']}</>(이)가 <C>".GetStuffName($auction['stuff'])."</>(을)를 구매했습니다!";
|
||||
$history[0] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【암시장】</b></><Y>{$auction['name2']}</>(이)가 <C>".GetStuffName($auction['stuff'])."</>(을)를 구매했습니다!";
|
||||
pushAllLog($alllog);
|
||||
pushHistory($history);
|
||||
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||
pushWorldHistory($history, $admin['year'], $admin['month']);
|
||||
}
|
||||
pushGenLog($trader, $traderLog);
|
||||
pushGenLog($bidder, $bidderLog);
|
||||
@@ -248,7 +261,7 @@ function processAuction($connect) {
|
||||
//판매거래
|
||||
if($auction['type'] == 0) {
|
||||
if($auction['amount'] > $trader['rice'] - 1000) {
|
||||
$gold = round($auction['value'] * 0.01);
|
||||
$gold = Util::round($auction['value'] * 0.01);
|
||||
$trader['gold'] -= $gold;
|
||||
if($trader['gold'] < 0) $trader['gold'] = 0;
|
||||
$query = "update general set gold='{$trader['gold']}' where no='{$auction['no1']}'";
|
||||
@@ -258,7 +271,7 @@ function processAuction($connect) {
|
||||
$bidderLog[0] = "<S>◆</>판매자의 군량 부족으로 {$auction['no']}번 거래 <M>유찰</>!";
|
||||
$auctionLog[0] = "<S>◆</>{$admin['year']}년 {$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <M>유찰</> : <Y>{$auction['name1']}</>(이)가 쌀 <C>{$auction['amount']}</>(을)를 판매, <Y>{$auction['name2']}</>(이)가 금 <C>{$auction['value']}</>(으)로 입찰, 그러나 판매자 군량부족, 벌금 <C>{$gold}</>";
|
||||
} elseif($auction['value'] > $bidder['gold'] - 1000) {
|
||||
$gold = round($auction['value'] * 0.01);
|
||||
$gold = Util::round($auction['value'] * 0.01);
|
||||
$bidder['gold'] -= $gold;
|
||||
if($bidder['gold'] < 0) $bidder['gold'] = 0;
|
||||
$query = "update general set gold='{$bidder['gold']}' where no='{$auction['no2']}'";
|
||||
@@ -289,7 +302,7 @@ function processAuction($connect) {
|
||||
//구매거래
|
||||
} else {
|
||||
if($auction['amount'] > $bidder['rice'] - 1000) {
|
||||
$gold = round($auction['value'] * 0.01);
|
||||
$gold = Util::round($auction['value'] * 0.01);
|
||||
$bidder['gold'] -= $gold;
|
||||
if($bidder['gold'] < 0) $bidder['gold'] = 0;
|
||||
$query = "update general set gold='{$bidder['gold']}' where no='{$auction['no2']}'";
|
||||
@@ -299,7 +312,7 @@ function processAuction($connect) {
|
||||
$bidderLog[0] = "<S>◆</>입찰자의 군량 부족으로 {$auction['no']}번 거래 <M>유찰</>! 벌금 <C>{$gold}</>";
|
||||
$auctionLog[0] = "<S>◆</>{$admin['year']}년 {$admin['month']}월, {$auction['no']}번 <S>구매</> <M>유찰</> : <Y>{$auction['name1']}</>(이)가 쌀 <C>{$auction['amount']}</>(을)를 구매, <Y>{$auction['name2']}</>(이)가 금 <C>{$auction['value']}</>(으)로 입찰, 그러나 입찰자 군량부족, 벌금 <C>{$gold}</>";
|
||||
} elseif($auction['value'] > $trader['gold'] - 1000) {
|
||||
$gold = round($auction['value'] * 0.01);
|
||||
$gold = Util::round($auction['value'] * 0.01);
|
||||
$trader['gold'] -= $gold;
|
||||
if($trader['gold'] < 0) $trader['gold'] = 0;
|
||||
$query = "update general set gold='{$trader['gold']}' where no='{$auction['no1']}'";
|
||||
|
||||
+143
-117
@@ -1,7 +1,12 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
function getTurn($connect, $general, $type, $font=1) {
|
||||
function getTurn($general, $type, $font=1) {
|
||||
$str = [];
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$turn = [];
|
||||
$turn[0] = $general["turn0"];
|
||||
|
||||
if($type >= 1) {
|
||||
@@ -72,7 +77,7 @@ function getTurn($connect, $general, $type, $font=1) {
|
||||
break;
|
||||
case 16: //전쟁
|
||||
$double = $command[1];
|
||||
$city = getCity($connect, $double, "name");
|
||||
$city = getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】(으)로 출병";
|
||||
break;
|
||||
case 17: //소집해제
|
||||
@@ -81,7 +86,7 @@ function getTurn($connect, $general, $type, $font=1) {
|
||||
|
||||
case 21: //이동
|
||||
$double = $command[1];
|
||||
$city = getCity($connect, $double, "name");
|
||||
$city = getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】(으)로 이동";
|
||||
break;
|
||||
case 22: //등용
|
||||
@@ -113,40 +118,35 @@ function getTurn($connect, $general, $type, $font=1) {
|
||||
break;
|
||||
case 30: //강행
|
||||
$double = $command[1];
|
||||
$city = getCity($connect, $double, "name");
|
||||
$city = getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】(으)로 강행";
|
||||
break;
|
||||
|
||||
case 31: //첩보
|
||||
$double = $command[1];
|
||||
$city= getCity($connect, $double, "name");
|
||||
$city= getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】에 첩보 실행";
|
||||
break;
|
||||
case 32: //화계
|
||||
$double = $command[1];
|
||||
$city= getCity($connect, $double, "name");
|
||||
$city= getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】에 화계 실행";
|
||||
break;
|
||||
case 33: //탈취
|
||||
$double = $command[1];
|
||||
$city= getCity($connect, $double, "name");
|
||||
$city= getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】에 탈취 실행";
|
||||
break;
|
||||
case 34: //파괴
|
||||
$double = $command[1];
|
||||
$city= getCity($connect, $double, "name");
|
||||
$city= getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】에 파괴 실행";
|
||||
break;
|
||||
case 35: //선동
|
||||
$double = $command[1];
|
||||
$city= getCity($connect, $double, "name");
|
||||
$city= getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】에 선동 실행";
|
||||
break;
|
||||
case 36: //기습
|
||||
$double = $command[1];
|
||||
$city= getCity($connect, $double, "name");
|
||||
$str[$i] = "【{$city['name']}】에 기습 실행";
|
||||
break;
|
||||
|
||||
case 41: //단련
|
||||
$str[$i] = "숙련도를 단련";
|
||||
@@ -250,7 +250,12 @@ function getTurn($connect, $general, $type, $font=1) {
|
||||
return $str;
|
||||
}
|
||||
|
||||
function getCoreTurn($connect, $nation, $level) {
|
||||
function getCoreTurn($nation, $level) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$str = [];
|
||||
$turn = [];
|
||||
|
||||
$turn[0] = $nation["l{$level}turn0"];
|
||||
$turn[1] = $nation["l{$level}turn1"];
|
||||
$turn[2] = $nation["l{$level}turn2"];
|
||||
@@ -275,7 +280,7 @@ function getCoreTurn($connect, $nation, $level) {
|
||||
case 23: //포상
|
||||
$fourth = $command[3];
|
||||
$third = $command[2];
|
||||
$double = $command[1];
|
||||
$double = (int)$command[1];
|
||||
|
||||
$query = "select name from general where no='$third'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
@@ -303,12 +308,12 @@ function getCoreTurn($connect, $nation, $level) {
|
||||
$query = "select name from general where no='$third'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
$city = getCity($connect, $double, "name");
|
||||
$city = getCity($double, "name");
|
||||
|
||||
$str[$i] = "【{$general['name']}】【{$city['name']}】(으)로 발령";
|
||||
break;
|
||||
case 51: //항복권고
|
||||
$double = $command[1];
|
||||
$double = (int)$command[1];
|
||||
|
||||
$nation = getNationStaticInfo($double);
|
||||
|
||||
@@ -317,7 +322,7 @@ function getCoreTurn($connect, $nation, $level) {
|
||||
case 52: //원조
|
||||
$fourth = $command[3];
|
||||
$third = $command[2];
|
||||
$double = $command[1];
|
||||
$double = (int)$command[1];
|
||||
|
||||
$nation = getNationStaticInfo($double);
|
||||
|
||||
@@ -330,7 +335,7 @@ function getCoreTurn($connect, $nation, $level) {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
|
||||
$double = $command[1];
|
||||
$double = (int)$command[1];
|
||||
|
||||
$nation = getNationStaticInfo($double);
|
||||
|
||||
@@ -338,7 +343,7 @@ function getCoreTurn($connect, $nation, $level) {
|
||||
break;
|
||||
case 61: //불가침제의
|
||||
$third = $command[2];
|
||||
$double = $command[1];
|
||||
$double = (int)$command[1];
|
||||
|
||||
$nation = getNationStaticInfo($double);
|
||||
|
||||
@@ -367,22 +372,22 @@ function getCoreTurn($connect, $nation, $level) {
|
||||
break;
|
||||
case 65: //초토
|
||||
$double = $command[1];
|
||||
$city = getCity($connect, $double, "name");
|
||||
$city = getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】(을)를 초토화";
|
||||
break;
|
||||
case 66: //천도
|
||||
$double = $command[1];
|
||||
$city = getCity($connect, $double, "name");
|
||||
$city = getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】(으)로 천도";
|
||||
break;
|
||||
case 67: //증축
|
||||
$double = $command[1];
|
||||
$city = getCity($connect, $double, "name");
|
||||
$city = getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】(을)를 증축";
|
||||
break;
|
||||
case 68: //감축
|
||||
$double = $command[1];
|
||||
$city = getCity($connect, $double, "name");
|
||||
$city = getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】(을)를 감축";
|
||||
break;
|
||||
case 71: //필사즉생
|
||||
@@ -390,17 +395,17 @@ function getCoreTurn($connect, $nation, $level) {
|
||||
break;
|
||||
case 72: //백성동원
|
||||
$double = $command[1];
|
||||
$city = getCity($connect, $double, "name");
|
||||
$city = getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】에 백성동원";
|
||||
break;
|
||||
case 73: //수몰
|
||||
$double = $command[1];
|
||||
$city = getCity($connect, $double, "name");
|
||||
$city = getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】(을)를 수몰";
|
||||
break;
|
||||
case 74: //허보
|
||||
$double = $command[1];
|
||||
$city = getCity($connect, $double, "name");
|
||||
$city = getCity($double, "name");
|
||||
$str[$i] = "【{$city['name']}】에 허보";
|
||||
break;
|
||||
case 75: //피장파장
|
||||
@@ -414,14 +419,14 @@ function getCoreTurn($connect, $nation, $level) {
|
||||
$str[$i] = "의병모집";
|
||||
break;
|
||||
case 77: //이호경식
|
||||
$double = $command[1];
|
||||
$double = (int)$command[1];
|
||||
|
||||
$nation = getNationStaticInfo($double);
|
||||
|
||||
$str[$i] = "【{$nation['name']}】에 이호경식";
|
||||
break;
|
||||
case 78: //급습
|
||||
$double = $command[1];
|
||||
$double = (int)$command[1];
|
||||
|
||||
$nation = getNationStaticInfo($double);
|
||||
|
||||
@@ -448,7 +453,11 @@ function getCoreTurn($connect, $nation, $level) {
|
||||
}
|
||||
|
||||
|
||||
function processCommand($connect, $no) {
|
||||
function processCommand($no) {
|
||||
$session = Session::getInstance();
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select npc,no,name,picture,imgsvr,nation,nations,city,troop,injury,leader,leader2,power,power2,intel,intel2,experience,dedication,level,gold,rice,crew,crewtype,train,atmos,weap,book,horse,item,turntime,makenation,makelimit,killturn,block,dedlevel,explevel,age,belong,personal,special,special2,term,turn0,dex0,dex10,dex20,dex30,dex40 from general where no='$no'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
@@ -456,7 +465,7 @@ function processCommand($connect, $no) {
|
||||
$query = "select month,killturn from game limit 1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$admin = MYDB_fetch_array($result);
|
||||
$log = array();
|
||||
$log = [];
|
||||
|
||||
// 블럭자는 미실행. 삭턴 감소
|
||||
if($general['block'] == 2) {
|
||||
@@ -486,29 +495,29 @@ function processCommand($connect, $no) {
|
||||
}
|
||||
|
||||
switch($corecommand[0]) {
|
||||
case 23: process_23($connect, $general); break; //포상
|
||||
case 24: process_24($connect, $general); break; //몰수
|
||||
case 27: process_27($connect, $general); break; //발령
|
||||
case 51: process_51($connect, $general); break; //항복권고
|
||||
case 52: process_52($connect, $general); break; //원조
|
||||
case 53: process_53($connect, $general); break; //통합제의
|
||||
case 61: process_61($connect, $general); break; //불가침제의
|
||||
case 62: process_62($connect, $general); break; //선전 포고
|
||||
case 63: process_63($connect, $general); break; //종전 제의
|
||||
case 64: process_64($connect, $general); break; //파기 제의
|
||||
case 65: process_65($connect, $general); break; //초토화
|
||||
case 66: process_66($connect, $general); break; //천도
|
||||
case 67: process_67($connect, $general); break; //증축
|
||||
case 68: process_68($connect, $general); break; //감축
|
||||
case 71: process_71($connect, $general); break; //필사즉생
|
||||
case 72: process_72($connect, $general); break; //백성동원
|
||||
case 73: process_73($connect, $general); break; //수몰
|
||||
case 74: process_74($connect, $general); break; //허보
|
||||
case 75: process_75($connect, $general); break; //피장파장
|
||||
case 76: process_76($connect, $general); break; //의병모집
|
||||
case 77: process_77($connect, $general); break; //이호경식
|
||||
case 78: process_78($connect, $general); break; //급습
|
||||
case 81: process_81($connect, $general); break; //국기변경
|
||||
case 23: process_23($general); break; //포상
|
||||
case 24: process_24($general); break; //몰수
|
||||
case 27: process_27($general); break; //발령
|
||||
case 51: process_51($general); break; //항복권고
|
||||
case 52: process_52($general); break; //원조
|
||||
case 53: process_53($general); break; //통합제의
|
||||
case 61: process_61($general); break; //불가침제의
|
||||
case 62: process_62($general); break; //선전 포고
|
||||
case 63: process_63($general); break; //종전 제의
|
||||
case 64: process_64($general); break; //파기 제의
|
||||
case 65: process_65($general); break; //초토화
|
||||
case 66: process_66($general); break; //천도
|
||||
case 67: process_67($general); break; //증축
|
||||
case 68: process_68($general); break; //감축
|
||||
case 71: process_71($general); break; //필사즉생
|
||||
case 72: process_72($general); break; //백성동원
|
||||
case 73: process_73($general); break; //수몰
|
||||
case 74: process_74($general); break; //허보
|
||||
case 75: process_75($general); break; //피장파장
|
||||
case 76: process_76($general); break; //의병모집
|
||||
case 77: process_77($general); break; //이호경식
|
||||
case 78: process_78($general); break; //급습
|
||||
case 81: process_81($general); break; //국기변경
|
||||
case 99: break; //수뇌부휴식
|
||||
}
|
||||
|
||||
@@ -523,7 +532,7 @@ function processCommand($connect, $no) {
|
||||
if($general['npc'] >= 2 || $general['killturn'] > $admin['killturn']) {
|
||||
$query = "update general set recturn=turn0,resturn='FAIL',myset=3,con=0,killturn=killturn-1 where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
} elseif(floor($command[0]) == 0 && Session::getUserGrade() < 5) {
|
||||
} elseif(intval($command[0]) == 0 && $session->userGrade < 5) {
|
||||
$query = "update general set recturn=turn0,resturn='FAIL',myset=3,con=0,killturn=killturn-1 where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
} else {
|
||||
@@ -542,59 +551,61 @@ function processCommand($connect, $no) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:아무것도 실행하지 않았습니다. <1>$date</>";
|
||||
pushGenLog($general, $log);
|
||||
break;
|
||||
case 1: process_1($connect, $general, 1); break; //농업
|
||||
case 2: process_1($connect, $general, 2); break; //상업
|
||||
case 3: process_3($connect, $general); break; //기술
|
||||
case 4: process_4($connect, $general); break; //선정
|
||||
case 5: process_5($connect, $general, 1); break; //수비
|
||||
case 6: process_5($connect, $general, 2); break; //성벽
|
||||
case 7: process_7($connect, $general); break; //정착 장려
|
||||
case 8: process_8($connect, $general); break; //치안
|
||||
case 9: process_9($connect, $general); break; //조달
|
||||
case 1: process_1($general, 1); break; //농업
|
||||
case 2: process_1($general, 2); break; //상업
|
||||
case 3: process_3($general); break; //기술
|
||||
case 4: process_4($general); break; //선정
|
||||
case 5: process_5($general, 1); break; //수비
|
||||
case 6: process_5($general, 2); break; //성벽
|
||||
case 7: process_7($general); break; //정착 장려
|
||||
case 8: process_8($general); break; //치안
|
||||
case 9: process_9($general); break; //조달
|
||||
|
||||
case 11: process_11($connect, $general, 1); break; //징병
|
||||
case 12: process_11($connect, $general, 2); break; //모병
|
||||
case 13: process_13($connect, $general); break; //훈련
|
||||
case 14: process_14($connect, $general); break; //사기진작
|
||||
case 15: process_15($connect, $general); break; //전투태세
|
||||
case 16: process_16($connect, $general); break; //전쟁
|
||||
case 17: process_17($connect, $general); break; //소집해제
|
||||
case 11: process_11($general, 1); break; //징병
|
||||
case 12: process_11($general, 2); break; //모병
|
||||
case 13: process_13($general); break; //훈련
|
||||
case 14: process_14($general); break; //사기진작
|
||||
case 15: process_15($general); break; //전투태세
|
||||
case 16: process_16($general); break; //전쟁
|
||||
case 17: process_17($general); break; //소집해제
|
||||
|
||||
case 21: process_21($connect, $general); break; //이동
|
||||
//case 22: process_22($connect, $general); break; //등용 //TODO:등용장 재 디자인
|
||||
case 25: process_25($connect, $general); break; //임관
|
||||
case 26: process_26($connect, $general); break; //집합
|
||||
case 28: process_28($connect, $general); break; //귀환
|
||||
case 29: process_29($connect, $general); break; //인재탐색
|
||||
case 30: process_30($connect, $general); break; //강행
|
||||
case 21: process_21($general); break; //이동
|
||||
//case 22: process_22($general); break; //등용 //TODO:등용장 재 디자인
|
||||
case 25: process_25($general); break; //임관
|
||||
case 26: process_26($general); break; //집합
|
||||
case 28: process_28($general); break; //귀환
|
||||
case 29: process_29($general); break; //인재탐색
|
||||
case 30: process_30($general); break; //강행
|
||||
|
||||
case 31: process_31($connect, $general); break; //첩보
|
||||
case 32: process_32($connect, $general); break; //화계
|
||||
case 33: process_33($connect, $general); break; //탈취
|
||||
case 34: process_34($connect, $general); break; //파괴
|
||||
case 35: process_35($connect, $general); break; //선동
|
||||
case 36: process_36($connect, $general); break; //기습
|
||||
case 31: process_31($general); break; //첩보
|
||||
case 32: process_32($general); break; //화계
|
||||
case 33: process_33($general); break; //탈취
|
||||
case 34: process_34($general); break; //파괴
|
||||
case 35: process_35($general); break; //선동
|
||||
|
||||
case 41: process_41($connect, $general); break; //단련
|
||||
case 42: process_42($connect, $general); break; //견문
|
||||
case 43: process_43($connect, $general); break; //증여
|
||||
case 44: process_44($connect, $general); break; //헌납
|
||||
case 45: process_45($connect, $general); break; //하야
|
||||
case 46: process_46($connect, $general); break; //건국
|
||||
case 47: process_47($connect, $general); break; //방랑
|
||||
case 48: process_48($connect, $general); break; //장비매매
|
||||
case 49: process_49($connect, $general); break; //군량매매
|
||||
case 50: process_50($connect, $general); break; //요양
|
||||
case 41: process_41($general); break; //단련
|
||||
case 42: process_42($general); break; //견문
|
||||
case 43: process_43($general); break; //증여
|
||||
case 44: process_44($general); break; //헌납
|
||||
case 45: process_45($general); break; //하야
|
||||
case 46: process_46($general); break; //건국
|
||||
case 47: process_47($general); break; //방랑
|
||||
case 48: process_48($general); break; //장비매매
|
||||
case 49: process_49($general); break; //군량매매
|
||||
case 50: process_50($general); break; //요양
|
||||
|
||||
case 54: process_54($connect, $general); break; //선양
|
||||
case 55: process_55($connect, $general); break; //거병
|
||||
case 56: process_56($connect, $general); break; //해산
|
||||
case 57: process_57($connect, $general); break; //모반 시도
|
||||
case 54: process_54($general); break; //선양
|
||||
case 55: process_55($general); break; //거병
|
||||
case 56: process_56($general); break; //해산
|
||||
case 57: process_57($general); break; //모반 시도
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function updateCommand($connect, $no, $type=0) {
|
||||
function updateCommand($no, $type=0) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select no,nation,level from general where no='$no'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
@@ -626,7 +637,10 @@ where nation='{$general['nation']}'
|
||||
}
|
||||
|
||||
|
||||
function backupdateCommand($connect, $no, $type=0) {
|
||||
function backupdateCommand($no, $type=0) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
$query = "select no,nation,level from general where no='$no'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
@@ -666,30 +680,38 @@ where nation='{$general['nation']}'
|
||||
}
|
||||
|
||||
|
||||
function command_Single($connect, $turn, $command) {
|
||||
function command_Single($turn, $command) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$command = EncodeCommand(0, 0, 0, $command);
|
||||
|
||||
$count = sizeof($turn);
|
||||
$count = count($turn);
|
||||
$str = "con=con";
|
||||
for($i=0; $i < $count; $i++) {
|
||||
$str .= ",turn{$turn[$i]}='{$command}'";
|
||||
}
|
||||
$query = "update general set {$str} where owner='{$_SESSION['userID']}'";
|
||||
$query = "update general set {$str} where owner='{$userID}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
//echo "<script>location.replace('commandlist.php');</script>";
|
||||
echo 'commandlist.php';//TODO:debug all and replace
|
||||
|
||||
}
|
||||
|
||||
function command_Chief($connect, $turn, $command) {
|
||||
function command_Chief($turn, $command) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$command = EncodeCommand(0, 0, 0, $command);
|
||||
|
||||
$query = "select nation,level from general where owner='{$_SESSION['userID']}'";
|
||||
$query = "select nation,level from general where owner='{$userID}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
if($me['level'] >= 5) {
|
||||
$count = sizeof($turn);
|
||||
$count = count($turn);
|
||||
$str = "type=type";
|
||||
for($i=0; $i < $count; $i++) {
|
||||
$str .= ",l{$me['level']}turn{$turn[$i]}='{$command}'";
|
||||
@@ -701,9 +723,12 @@ function command_Chief($connect, $turn, $command) {
|
||||
echo 'b_chiefcenter.php';//TODO:debug all and replace
|
||||
}
|
||||
|
||||
function command_Other($connect, $turn, $commandtype) {
|
||||
function command_Other($turn, $commandtype) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
echo "<form name=form1 action=processing.php method=post target=_parent>";
|
||||
$count = sizeof($turn);
|
||||
$count = count($turn);
|
||||
for($i=0; $i < $count; $i++) {
|
||||
echo "<input type=hidden name=turn[] value=$turn[$i]>";
|
||||
}
|
||||
@@ -715,18 +740,19 @@ function command_Other($connect, $turn, $commandtype) {
|
||||
|
||||
|
||||
function EncodeCommand($fourth, $third, $double, $command) {
|
||||
$str = StringUtil::Fill2($fourth, 4, "0");
|
||||
$str .= StringUtil::Fill2($third, 4, "0");
|
||||
$str .= StringUtil::Fill2($double, 4, "0");
|
||||
$str .= StringUtil::Fill2($command, 2, "0");
|
||||
$str = StringUtil::padStringAlignRight((string)$fourth, 4, "0");
|
||||
$str .= StringUtil::padStringAlignRight((string)$third, 4, "0");
|
||||
$str .= StringUtil::padStringAlignRight((string)$double, 4, "0");
|
||||
$str .= StringUtil::padStringAlignRight((string)$command, 2, "0");
|
||||
return $str;
|
||||
}
|
||||
|
||||
function DecodeCommand($str) {
|
||||
$command[3] = floor(substr($str, 0, 4));
|
||||
$command[2] = floor(substr($str, 4, 4));
|
||||
$command[1] = floor(substr($str, 8, 4));
|
||||
$command[0] = floor(substr($str, 12, 2));
|
||||
$command = [];
|
||||
$command[3] = (int)(substr($str, 0, 4));
|
||||
$command[2] = (int)(substr($str, 4, 4));
|
||||
$command[1] = (int)(substr($str, 8, 4));
|
||||
$command[0] = (int)(substr($str, 12, 2));
|
||||
return $command;
|
||||
}
|
||||
|
||||
|
||||
+24
-24
@@ -361,7 +361,7 @@ function getHonor($experience) {
|
||||
|
||||
function getExpLevel($experience) {
|
||||
if($experience < 1000) {
|
||||
$level = floor($experience / 100);
|
||||
$level = intdiv($experience, 100);
|
||||
} else {
|
||||
for($level = 0; $experience > (($level+1)*($level+1)*10); $level++) {
|
||||
}
|
||||
@@ -388,20 +388,20 @@ function getLevelPer($exp, $level) {
|
||||
return $per;
|
||||
}
|
||||
|
||||
function getBill($dedication) {
|
||||
function getBill(int $dedication) : int{
|
||||
for($level = 0; $dedication > (($level+1)*($level+1)*100); $level++) {
|
||||
}
|
||||
|
||||
return ($level * 200 + 400);
|
||||
}
|
||||
|
||||
function getCost($armtype) {
|
||||
function getCost(int $armtype) : int {
|
||||
//FIXME: 정말로 side effect가 없으려면 query는 밖으로 이동해야함.
|
||||
//TODO: 병종 값이 column으로 들어있는건 전혀 옳지 않음. key->value 형태로 바꿔야함
|
||||
return DB::db()->queryFirstColumn('select %b from game limit 1', sprintf('cst%d', $armtype));
|
||||
}
|
||||
|
||||
function TechLimit($startyear, $year, $tech) {
|
||||
function TechLimit($startyear, $year, $tech) : int {
|
||||
$limit = 0;
|
||||
if($year < $startyear+ 5 && $tech >= 1000) { $limit = 1; }
|
||||
if($year < $startyear+10 && $tech >= 2000) { $limit = 1; }
|
||||
@@ -418,7 +418,7 @@ function TechLimit($startyear, $year, $tech) {
|
||||
return $limit;
|
||||
}
|
||||
|
||||
function getTechAbil($tech) {
|
||||
function getTechAbil($tech) : int{
|
||||
if($tech < 1000) { $abil = 0; }
|
||||
elseif($tech < 2000) { $abil = 25; }
|
||||
elseif($tech < 3000) { $abil = 50; }
|
||||
@@ -435,7 +435,7 @@ function getTechAbil($tech) {
|
||||
return $abil;
|
||||
}
|
||||
|
||||
function getTechCost($tech) {
|
||||
function getTechCost($tech) : float{
|
||||
if($tech < 1000) { $cost = 1.00; }
|
||||
elseif($tech < 2000) { $cost = 1.15; }
|
||||
elseif($tech < 3000) { $cost = 1.30; }
|
||||
@@ -452,7 +452,7 @@ function getTechCost($tech) {
|
||||
return $cost;
|
||||
}
|
||||
|
||||
function getTechCall($tech) {
|
||||
function getTechCall($tech) : string {
|
||||
if($tech < 1000) { $str = '0등급'; }
|
||||
elseif($tech < 2000) { $str = '1등급'; }
|
||||
elseif($tech < 3000) { $str = '2등급'; }
|
||||
@@ -469,7 +469,7 @@ function getTechCall($tech) {
|
||||
return $str;
|
||||
}
|
||||
|
||||
function getDexCall($dex) {
|
||||
function getDexCall($dex) : string {
|
||||
if($dex < 2500) { $str = '<font color="navy">F-</font>'; }
|
||||
elseif($dex < 7500) { $str = '<font color="navy">F</font>'; }
|
||||
elseif($dex < 15000) { $str = '<font color="navy">F+</font>'; }
|
||||
@@ -504,7 +504,7 @@ function getDexCall($dex) {
|
||||
return $str;
|
||||
}
|
||||
|
||||
function getDexLevel($dex) {
|
||||
function getDexLevel($dex) : int {
|
||||
if($dex < 2500) { $lvl = 0; }
|
||||
elseif($dex < 7500) { $lvl = 1; }
|
||||
elseif($dex < 15000) { $lvl = 2; }
|
||||
@@ -545,7 +545,7 @@ function getDexLog($dex1, $dex2) {
|
||||
}
|
||||
|
||||
|
||||
function getWeapName($weap) {
|
||||
function getWeapName($weap) : string {
|
||||
switch($weap) {
|
||||
case 0: $weapname = '-'; break;
|
||||
case 1: $weapname = '단도(+1)'; break;
|
||||
@@ -579,7 +579,7 @@ function getWeapName($weap) {
|
||||
return $weapname;
|
||||
}
|
||||
|
||||
function getWeapEff($weap) {
|
||||
function getWeapEff($weap) : int{
|
||||
switch($weap) {
|
||||
case 7: $weap = 7; break;
|
||||
case 8: $weap = 7; break;
|
||||
@@ -606,7 +606,7 @@ function getWeapEff($weap) {
|
||||
return $weap;
|
||||
}
|
||||
|
||||
function getBookName($book) {
|
||||
function getBookName($book) : string {
|
||||
switch($book) {
|
||||
case 0: $bookname = '-'; break;
|
||||
case 1: $bookname = '효경전(+1)'; break;
|
||||
@@ -640,7 +640,7 @@ function getBookName($book) {
|
||||
return $bookname;
|
||||
}
|
||||
|
||||
function getBookEff($book) {
|
||||
function getBookEff($book) : int {
|
||||
switch($book) {
|
||||
case 7: $book = 7; break;
|
||||
case 8: $book = 7; break;
|
||||
@@ -667,7 +667,7 @@ function getBookEff($book) {
|
||||
return $book;
|
||||
}
|
||||
|
||||
function getHorseName($horse) {
|
||||
function getHorseName($horse) : string {
|
||||
switch($horse) {
|
||||
case 0: $horsename = '-'; break;
|
||||
case 1: $horsename = '노기(+1)'; break;
|
||||
@@ -701,7 +701,7 @@ function getHorseName($horse) {
|
||||
return $horsename;
|
||||
}
|
||||
|
||||
function getHorseEff($horse) {
|
||||
function getHorseEff($horse) : int {
|
||||
switch($horse) {
|
||||
case 7: $horse = 7; break;
|
||||
case 8: $horse = 7; break;
|
||||
@@ -728,7 +728,7 @@ function getHorseEff($horse) {
|
||||
return $horse;
|
||||
}
|
||||
|
||||
function getItemName($item) {
|
||||
function getItemName($item) : string {
|
||||
switch($item) {
|
||||
case 0: $itemname = '-'; break;
|
||||
case 1: $itemname = '환약(치료)'; break;
|
||||
@@ -762,7 +762,7 @@ function getItemName($item) {
|
||||
return $itemname;
|
||||
}
|
||||
|
||||
function getItemCost2($weap) {
|
||||
function getItemCost2($weap) : int {
|
||||
switch($weap) {
|
||||
case 0: $weapcost = 0; break;
|
||||
case 1: $weapcost = 100; break;
|
||||
@@ -776,7 +776,7 @@ function getItemCost2($weap) {
|
||||
return $weapcost;
|
||||
}
|
||||
|
||||
function getItemCost($weap) {
|
||||
function getItemCost($weap) : int {
|
||||
switch($weap) {
|
||||
case 0: $weapcost = 0; break;
|
||||
case 1: $weapcost = 1000; break;
|
||||
@@ -792,7 +792,7 @@ function getItemCost($weap) {
|
||||
|
||||
|
||||
|
||||
function ConvertLog($str, $type=1) {
|
||||
function ConvertLog(string $str, $type=1) : string {
|
||||
//TODO: 이 함수는 없애야 한다. CSS로 대신하자
|
||||
if($type > 0) {
|
||||
$str = str_replace("<1>", "<font size=1>", $str);
|
||||
@@ -833,10 +833,10 @@ function ConvertLog($str, $type=1) {
|
||||
|
||||
|
||||
|
||||
function newColor($color) {
|
||||
function newColor($color) : string {
|
||||
switch($color) {
|
||||
case "":
|
||||
case "330000":
|
||||
case "#330000":
|
||||
case "#FF0000":
|
||||
case "#800000":
|
||||
case "#A0522D":
|
||||
@@ -852,14 +852,14 @@ function newColor($color) {
|
||||
case "#7B68EE":
|
||||
case "#800080":
|
||||
case "#A9A9A9":
|
||||
case "000000":
|
||||
case "#000000":
|
||||
$color = "#FFFFFF"; break;
|
||||
default:
|
||||
$color = "000000"; break;
|
||||
$color = "#000000"; break;
|
||||
}
|
||||
return $color;
|
||||
}
|
||||
|
||||
function backColor($color) {
|
||||
function backColor($color) : string {
|
||||
return newColor($color);
|
||||
}
|
||||
|
||||
+24
-18
@@ -58,8 +58,8 @@ function acceptScout($messageInfo, $general, $msgResponse){
|
||||
$youlog[] = "<C>●</><Y>{$myName}</> 등용에 성공했습니다.";
|
||||
$alllog[] = "<C>●</>{$month}월:<Y>{$myName}</>(이)가 <D><b>{$nationName}</b></>(으)로 <S>망명</>하였습니다.";
|
||||
$mylog[] = "<C>●</><D>{$nationName}</>(으)로 망명하여 수도로 이동합니다.";
|
||||
addHistory($you, "<C>●</>{$year}년 {$month}월:<Y>{$myName}</> 등용에 성공");
|
||||
addHistory($me, "<C>●</>{$year}년 {$month}월:<D>{$nationName}</>(으)로 망명");
|
||||
pushGeneralHistory($you, "<C>●</>{$year}년 {$month}월:<Y>{$myName}</> 등용에 성공");
|
||||
pushGeneralHistory($me, "<C>●</>{$year}년 {$month}월:<D>{$nationName}</>(으)로 망명");
|
||||
|
||||
$me['nations'] .= "{$nationID},";
|
||||
|
||||
@@ -136,8 +136,8 @@ function acceptScout($messageInfo, $general, $msgResponse){
|
||||
|
||||
pushGenLog($me, $mylog);
|
||||
pushGenLog($you, $youlog);
|
||||
pushAllLog($alllog);
|
||||
pushHistory($alllog);
|
||||
pushGeneralPublicRecord($alllog, $year, $month);
|
||||
pushWorldHistory($alllog, $year, $month);
|
||||
|
||||
return [true, 'success'];
|
||||
}
|
||||
@@ -149,6 +149,12 @@ function declineScout($messageInfo, $reason=null){
|
||||
];
|
||||
$you = ['no'=>$messageInfo['src']['id']];
|
||||
|
||||
$nation = getNationStaticInfo($messageInfo['src']['nationID']);
|
||||
$generalID = $me['no'];
|
||||
$nationID = $nation['nation'];
|
||||
$nationName = $nation['name'];
|
||||
$myName = $me['name'];
|
||||
|
||||
$mylog = [];
|
||||
$youlog = [];
|
||||
|
||||
@@ -167,7 +173,7 @@ function declineScout($messageInfo, $reason=null){
|
||||
$db = DB::db();
|
||||
$db->query('UPDATE `message` SET `valid_until`=\'1234-11-22 11:22:33\' WHERE `id` = %i', $messageInfo['id']);
|
||||
|
||||
sendRawMessage('private', false, $general['no'], $messageInfo['src'], $messageInfo['dest'], $msg, null, null, ['parent'=>$messageInfo['id']]);
|
||||
sendRawMessage('private', false, $you['no'], $messageInfo['src'], $messageInfo['dest'], $msg, null, null, ['parent'=>$messageInfo['id']]);
|
||||
|
||||
pushGenLog($me, $mylog);
|
||||
pushGenLog($you, $youlog);
|
||||
@@ -175,44 +181,44 @@ function declineScout($messageInfo, $reason=null){
|
||||
return [true, 'success'];
|
||||
}
|
||||
|
||||
function acceptAlly($messageInfo, $general){
|
||||
function acceptAlly($messageInfo, $general, $msgResponse){
|
||||
return [false, 'NYI'];
|
||||
}
|
||||
|
||||
function declineAlly($messageInfo, $general, $msgResponse){
|
||||
|
||||
}
|
||||
|
||||
function declineAlly($messageInfo, $general){
|
||||
function acceptBreakAlly($messageInfo, $general, $msgResponse){
|
||||
|
||||
}
|
||||
|
||||
function acceptBreakAlly($messageInfo, $general){
|
||||
function declineBreakAlly($messageInfo, $general, $msgResponse){
|
||||
|
||||
}
|
||||
|
||||
function declineBreakAlly($messageInfo, $general){
|
||||
function acceptStopWar($messageInfo, $general, $msgResponse){
|
||||
|
||||
}
|
||||
|
||||
function acceptStopWar($messageInfo, $general){
|
||||
|
||||
}
|
||||
|
||||
function declineStopWar($messageInfo, $general){
|
||||
function declineStopWar($messageInfo, $general, $msgResponse){
|
||||
|
||||
}
|
||||
|
||||
|
||||
function acceptMergeNations($messageInfo, $general){
|
||||
function acceptMergeNations($messageInfo, $general, $msgResponse){
|
||||
|
||||
}
|
||||
|
||||
function declineMergeNations($messageInfo, $general){
|
||||
function declineMergeNations($messageInfo, $general, $msgResponse){
|
||||
|
||||
}
|
||||
|
||||
|
||||
function acceptSurrender($messageInfo, $general){
|
||||
function acceptSurrender($messageInfo, $general, $msgResponse){
|
||||
|
||||
}
|
||||
|
||||
function declineSurrender($messageInfo, $general){
|
||||
function declineSurrender($messageInfo, $general, $msgResponse){
|
||||
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user