Translate application to Korean and convert encodings to UTF-8

This commit is contained in:
sanjeok77
2026-06-22 22:22:41 +09:00
parent dc9058e0da
commit f43e7fa915
61 changed files with 11582 additions and 11644 deletions
Regular → Executable
+304 -309
View File
@@ -1,309 +1,304 @@
#!/usr/local/bin/perl #!/usr/bin/perl
# サーバーの環境に合わせて変更して下さい。 # サーバーの環境に合わせて変更して下さい。
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 罪と罰++ 二律背反 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
$ver = '作戦会議室 v1.1'; # バージョン情報(変更不可) $ver = '作戦会議室 v1.1'; # バージョン情報(変更不可)
#--- [注意事項] --------------------------------------------# #--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#=============================================================================== #===============================================================================
# 設定項目 # 設定項目
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 各種ファイル # 各種ファイル
require './inc/ore_sub-bbs.cgi'; # 各種掲示板共通な設定項目読み込み require './inc/ore_sub-bbs.cgi'; # 各種掲示板共通な設定項目読み込み
$script = "./campbbs.cgi"; # このスクリプトのパス $script = "./campbbs.cgi"; # このスクリプトのパス
$logfile = "./logdata/camp_log_"; # ログファイルの一部($logfile$camp.\cgiとなる) $logfile = "./logdata/camp_log_"; # ログファイルの一部($logfile$camp.\cgiとなる)
$memfile = "./logdata/camp_mem_"; # 参加者ファイルの一部($memfile$camp.\cgiとなる) $memfile = "./logdata/camp_mem_"; # 参加者ファイルの一部($memfile$camp.\cgiとなる)
$lockkey = 0; # ファイルロック(0=no 1=yes) $lockkey = 0; # ファイルロック(0=no 1=yes)
$lockfile = "./camp.lock"; # ロックファイル名 $lockfile = "./camp.lock"; # ロックファイル名
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 環境設定 # 環境設定
$title = "作戦会議室"; # タイトル名 $title = "작전회의실"; # タイトル名
$max = 100; # 最大保有記事数 $max = 100; # 最大保有記事数
$reload_mn = 5; # 最短リロード間隔(この秒数以内に発言するとエラー[負荷対策]) $reload_mn = 5; # 最短リロード間隔(この秒数以内に発言するとエラー[負荷対策])
$reload_limit= 120; # この秒数発言がないと退室扱いにする $reload_limit= 120; # この秒数発言がないと退室扱いにする
$com_limit = 240; # コメントの最大文字数(半角換算) $com_limit = 240; # コメントの最大文字数(半角換算)
$tagkey = 0; # タグの許可 (0=no 1=yes) $tagkey = 0; # タグの許可 (0=no 1=yes)
$nolink = 1; # URL宣伝排除 (0=no 1=yes) $nolink = 1; # URL宣伝排除 (0=no 1=yes)
# 機種別設定 # 機種別設定
if($mv_mode eq 'mv'){ if($mv_mode eq 'mv'){
# モバイル用設定 # モバイル用設定
$log_last= 15; # 表示行数(モバイル) $log_last= 15; # 表示行数(モバイル)
# BODYタグ装飾 # BODYタグ装飾
$body = 'bgcolor="black" text="white" link="pink" vlink="pink" alink="pink"'; $body = 'bgcolor="black" text="white" link="pink" vlink="pink" alink="pink"';
$hr_color= 'white'; # 罫線の色(モバイル) $hr_color= 'white'; # 罫線の色(モバイル)
}else{ }else{
# PC用設定 # PC用設定
@reload_time= (90,120,180); # リロード時間 @reload_time= (90,120,180); # リロード時間
$log_last= 50; # 表示行数(PC) $log_last= 50; # 表示行数(PC)
# BODYタグ装飾 # BODYタグ装飾
$body = 'bgcolor="#111122" text="#ddddee" link="#ffddee" vlink="#ffddee" alink="#ffddee"'; $body = 'bgcolor="#111122" text="#ddddee" link="#ffddee" vlink="#ffddee" alink="#ffddee"';
} }
#=============================================================================== #===============================================================================
# 以下処理 基本的にこれ以下はいじらないように。 # 以下処理 基本的にこれ以下はいじらないように。
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# メイン処理 # メイン処理
&axs_check; # アクセス制御 &axs_check; # アクセス制御
&decode; # フォームデコード &decode; # フォームデコード
&mandata_open; # 参加者ログ読み込み &mandata_open; # 参加者ログ読み込み
&get_time; # 日時取得 &get_time; # 日時取得
&error("無所属の方はご利用になれません。<br>交流広場をご利用ください。") if(!$DAT{'camp'}); &error("무소속이신 분은 이용하실 수 없습니다.<br>교류 광장을 이용해 주세요.") if(!$DAT{'camp'});
&member; &member;
if($mode eq "regist" && $com){ &regist; } # 書き込み処理 if($mode eq "regist" && $com){ &regist; } # 書き込み処理
&html; # ページ表示 &html; # ページ表示
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 記事表示部 # 記事表示部
sub html { sub html {
# 表示開始 # 表示開始
&header; &header;
if($mv_mode eq 'mv'){ if($mv_mode eq 'mv'){
print <<"EOM"; print <<"EOM";
$camp_info[$DAT{'camp'}][0]専用<br>$title $camp_info[$DAT{'camp'}][0]전용<br>$title
<form name="park" method="$method" action="$script"> <form name="park" method="$method" action="$script">
<input type=hidden name=mode value="regist"> <input type=hidden name=mode value="regist">
<input type=hidden name=id value="$id"> <input type=hidden name=id value="$id">
<input type=hidden name=pw value="$pw"> <input type=hidden name=pw value="$pw">
<input type=text name=comment size=8> <input type=text name=comment size=8>
<input type=submit value="発言"><input type=reset value="クリア"> <input type=submit value="말하기"><input type=reset value="초기화">
</form> </form>
<form name="ore_" method="$method" action="$ore_game"> <form name="ore_" method="$method" action="$ore_game">
<input type=hidden name=id value="$id"> <input type=hidden name=id value="$id">
<input type=hidden name=pw value="$pw"> <input type=hidden name=pw value="$pw">
<input type=hidden name=cmd value="-1"> <input type=hidden name=cmd value="-1">
<input type=submit value="戻る"> <input type=submit value="돌아가기">
</form> </form>
EOM EOM
} }
else{ else{
print <<"EOM"; print <<"EOM";
<table> <table>
<tr> <tr>
<td width="220"><img src="./imgs/title_game.png" width="220" height="52"></td> <td width="220"><img src="./imgs/title_game.png" width="220" height="52"></td>
<td valign="bottom" align="left"> <td valign="bottom" align="left">
<b>$title</b><br> <b>$title</b><br>
<small span style="color:$camp_info[$DAT{'camp'}][1]"> $camp_info[$DAT{'camp'}][0]の作戦会議室 </small> <small span style="color:$camp_info[$DAT{'camp'}][1]"> $camp_info[$DAT{'camp'}][0]의 작전회의실 </small>
</td> </td>
</tr> </tr>
<tr> <tr>
<form name="park" method="$method" action="$script"> <form name="park" method="$method" action="$script">
<td colspan="2" nowrap> <td colspan="2" nowrap>
<input type="hidden" name="mode" value="regist"> <input type="hidden" name="mode" value="regist">
<input type="hidden" name="id" value="$id"> <input type="hidden" name="id" value="$id">
<input type="hidden" name="pw" value="$pw"> <input type="hidden" name="pw" value="$pw">
<input type="hidden" name="rd" value="$rd"> <input type="hidden" name="rd" value="$rd">
<input type="text" name="comment" class="button1" style="width:300px"> <input type="text" name="comment" class="button1" style="width:300px">
<input type="submit" value="発言/更新" class="button1" style="width:80px"> <input type="submit" value="말하기/갱신" class="button1" style="width:80px">
<input type=reset value="クリア" class="button1" style="width:60px"> <input type=reset value="초기화" class="button1" style="width:60px">
</td> </td>
</form> </form>
</tr> </tr>
<tr> <tr>
<form method="$method" action="$script"> <form method="$method" action="$script">
<input type="hidden" name="mode" value="regist"> <input type="hidden" name="mode" value="regist">
<input type="hidden" name="id" value="$id"> <input type="hidden" name="id" value="$id">
<input type="hidden" name="pw" value="$pw"> <input type="hidden" name="pw" value="$pw">
<td align="left"> <td align="left">
<tt>更新:<select name="rd" size="1" class="button1" style="width:60px"> <tt>갱신:<select name="rd" size="1" class="button1" style="width:60px">
EOM EOM
print qq|<option value="$rd">$reload_time[$rd]</option>|; print qq|<option value="$rd">$reload_time[$rd]</option>|;
foreach(0 .. $#reload_time){ foreach(0 .. $#reload_time){
print qq|<option value="$_">$reload_time[$_]</option>| if($rd!=$_); print qq|<option value="$_">$reload_time[$_]</option>| if($rd!=$_);
} }
print <<EOM; print <<EOM;
</select> <input type="submit" value="変更" class="button1" style="width:60px"> </select> <input type="submit" value="변경" class="button1" style="width:60px">
</td> </td>
</form> </form>
<form name="ore_" method="$method" action="$ore_game"> <form name="ore_" method="$method" action="$ore_game">
<td align="right"> <td align="right">
<input type=hidden name=id value="$id"> <input type=hidden name=id value="$id">
<input type=hidden name=pw value="$pw"> <input type=hidden name=pw value="$pw">
<input type=hidden name=cmd value="-1"> <input type=hidden name=cmd value="-1">
<input type=submit value="戻る" class="button1" style="width:80px"> <input type=submit value="돌아가기" class="button1" style="width:80px">
</td> </td>
</form> </form>
</tr> </tr>
</table> </table>
EOM EOM
} }
# 参加者表示:$member # 参加者表示:$member
($mv_mode eq 'mv') ? ($mv_mode eq 'mv') ?
print qq|参加者($num)<hr color=\"$hr_color\">\n|: print qq|참가자($num)<hr color=\"$hr_color\">\n|:
print qq|<hr size="8" color="#666699"><span class=\"mem\"><br>参加者($num)$member</span><hr color="#c0c0c0" size="4">\n|; print qq|<hr size="8" color="#666699"><span class=\"mem\"><br>참가자($num)$member</span><hr color="#c0c0c0" size="4">\n|;
# ログを展開 # ログを展開
open(IN,"$logfile$DAT{'camp'}\.cgi") || &error("Open Error : $logfile$DAT{'camp'}\.cgi"); open(IN,"$logfile$DAT{'camp'}\.cgi") || &error("Open Error : $logfile$DAT{'camp'}\.cgi");
local $log_last_flag=0; local $log_last_flag=0;
while (<IN>) { while (<IN>) {
$log_last_flag++; $log_last_flag++;
local($date,$nm,$camp,$com,$sogo,$addr,$host) = split(/<>/); local($date,$nm,$camp,$com,$sogo,$addr,$host) = split(/<>/);
$nm = qq|$nm <small>[$sogo_p[$sogo]]</small>| if($sogo); $nm = qq|$nm <small>[$sogo_p[$sogo]]</small>| if($sogo);
($mv_mode eq 'mv') ? $com =~ s/ハァト/<font color="pink">\&\#63726<\/font>/g : $com =~ s/ハァト/<span class="f1">ゥ<\/span>/g ; ($mv_mode eq 'mv') ? $com =~ s/하트/<font color="pink">\&\#63726<\/font>/g : $com =~ s/하트/<span class="f1">ゥ<\/span>/g ;
($mv_mode eq 'mv') ? ($mv_mode eq 'mv') ?
print qq|$nm:$com [$camp_info[$camp][0] $date]<br>\n|: print qq|$nm:$com [$camp_info[$camp][0] $date]<br>\n|:
print qq|<span style="color:$camp_info[$camp][1]">$nm $com </span><span class="date">[ $camp_info[$camp][0] $date ]</span><hr>\n|; print qq|<span style="color:$camp_info[$camp][1]">$nm $com </span><span class="date">[ $camp_info[$camp][0] $date ]</span><hr>\n|;
last if $log_last_flag > $log_last; last if $log_last_flag > $log_last;
} }
close(IN); close(IN);
# 著作権表示(削除禁止) # 著作権表示(削除禁止)
print "<hr>\n"; print "<hr>\n";
&copyright; &copyright;
exit; exit;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# ログ書き込み処理 # ログ書き込み処理
sub regist { sub regist {
# ファイルロック # ファイルロック
if ($lockkey) { &lock; } if ($lockkey) { &lock; }
# ログを読み込み # ログを読み込み
open(IN,"$logfile$DAT{'camp'}\.cgi") || &error("Open Error : $logfile$DAT{'camp'}\.cgi"); open(IN,"$logfile$DAT{'camp'}\.cgi") || &error("Open Error : $logfile$DAT{'camp'}\.cgi");
@lines = <IN>; @lines = <IN>;
close(IN); close(IN);
# 最大記事数処理 # 最大記事数処理
while ($max <= @lines) { pop(@lines); } while ($max <= @lines) { pop(@lines); }
# ログ更新処理 # ログ更新処理
unshift (@lines,"$date<>$DAT{'nm'}<>$DAT{'camp'}<>$com<>$DAT{'sogo'}<>$addr<>$host<>$agent<>\n"); unshift (@lines,"$date<>$DAT{'nm'}<>$DAT{'camp'}<>$com<>$DAT{'sogo'}<>$addr<>$host<>$agent<>\n");
open(OUT,">$logfile$DAT{'camp'}\.cgi") || &error("Write Error : $logfile$DAT{'camp'}\.cgi"); open(OUT,">$logfile$DAT{'camp'}\.cgi") || &error("Write Error : $logfile$DAT{'camp'}\.cgi");
print OUT @lines; print OUT @lines;
close(OUT); close(OUT);
# ロック解除 # ロック解除
if (-e $lockfile) { unlink($lockfile); } if (-e $lockfile) { unlink($lockfile); }
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 在室者処理 # 在室者処理
sub member { sub member {
open(IN,"$memfile$DAT{'camp'}\.cgi") || &error("Open Error : $memfile$DAT{'camp'}\.cgi"); open(IN,"$memfile$DAT{'camp'}\.cgi") || &error("Open Error : $memfile$DAT{'camp'}\.cgi");
@data = <IN>; @data = <IN>;
close(IN); close(IN);
$member=""; $member="";
@new=(); @new=();
$flag=0; $flag=0;
$flag2=0; $flag2=0;
foreach (@data) { foreach (@data) {
($time2,$name2,$host2) = split(/<>/); ($time2,$name2,$host2) = split(/<>/);
# 発言のない者は削除 # 発言のない者は削除
if ($time-$reload_limit > $time2) { next; } if ($time-$reload_limit > $time2) { next; }
elsif ($host2 eq "$addr") { elsif ($host2 eq "$addr") {
# 発言/更新間隔 # 発言/更新間隔
# &error("$reload_mn秒以上間隔を空けて発言してください。") if($reload_mn+$time2>$time); # &error("$reload_mn초 이상 간격을 두고 말해 주세요.") if($reload_mn+$time2>$time);
if($reload_mn+$time2>$time){ if($reload_mn+$time2>$time){
print "Status: 204\n\n"; print "Status: 204\n\n";
exit; exit;
} }
# 退室者は削除 # 退室者は削除
if ($_[0] eq 'bye') { next; } if ($_[0] eq 'bye') { next; }
# ホスト名が同一であれば時間と名前を更新 # ホスト名が同一であれば時間と名前を更新
$_ = "$time<>$DAT{'nm'}<>$addr<>\n"; $_ = "$time<>$DAT{'nm'}<>$addr<>\n";
$name2 = $DAT{'nm'}; $name2 = $DAT{'nm'};
$flag=1; $flag=1;
} }
# 更新用配列 @new に追加 # 更新用配列 @new に追加
if ($name2 ne "$host2") { if ($name2 ne "$host2") {
push(@new,$_); push(@new,$_);
# 参加者表示用文字列を作成 # 参加者表示用文字列を作成
if(!$flag2){$member .="$name2◇";$flag2=1;} if(!$flag2){$member .="$name2◇";$flag2=1;}
else{$member .="$name2◆";$flag2=0;} else{$member .="$name2◆";$flag2=0;}
} }
} }
# 新規参加者を追加 # 新規参加者を追加
if (!$flag && $mv_mode eq 'pc') { if (!$flag && $mv_mode eq 'pc') {
if ($DAT{'nm'} ne "$host") { if ($DAT{'nm'} ne "$host") {
push(@new,"$time<>$DAT{'nm'}<>$addr<>\n"); push(@new,"$time<>$DAT{'nm'}<>$addr<>\n");
$member .= (!$flag2) ? "$DAT{'nm'} [IN]◇" : "$DAT{'nm'} [IN]◆"; $member .= (!$flag2) ? "$DAT{'nm'} [IN]◇" : "$DAT{'nm'} [IN]◆";
} }
} }
# 参加者数を認識 # 参加者数を認識
$num = @new; $num = @new;
# ファイル更新 # ファイル更新
open(OUT,">$memfile$DAT{'camp'}\.cgi") || &error("Write Error : $memfile$DAT{'camp'}\.cgi"); open(OUT,">$memfile$DAT{'camp'}\.cgi") || &error("Write Error : $memfile$DAT{'camp'}\.cgi");
eval "flock(OUT,2);"; eval "flock(OUT,2);";
truncate(OUT,0); truncate(OUT,0);
seek(OUT,0,0); seek(OUT,0,0);
print OUT @new; print OUT @new;
close(OUT); close(OUT);
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# HTMLのヘッダー # HTMLのヘッダー
sub header { sub header {
print "Content-type: text/html\n\n"; print "Content-type: text/html\n\n";
print <<"EOM"; print <<"EOM";
<html> <html>
<head> <head>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8">
<title>$title</title> <title>$title</title>
EOM EOM
if($mv_mode eq 'pc' && $DAT{'camp'}){ if($mv_mode eq 'pc' && $DAT{'camp'}){
print <<"EOM"; print <<"EOM";
<META HTTP-EQUIV="refresh" CONTENT="$reload_time[$rd];URL=$script?id=$id&pw=$pw&rd=$rd"> <META HTTP-EQUIV="refresh" CONTENT="$reload_time[$rd];URL=$script?id=$id&pw=$pw&rd=$rd">
$css $css
<script language="JavaScript"> <script language="JavaScript">
<!-- <!--
function textfocus(){ function textfocus(){
document.park.comment.focus(); document.park.comment.focus();
return true; return true;
} }
//--> //-->
</script> </script>
EOM EOM
} }
(!$_[0] && $mv_mode eq 'pc') ? print qq|</head>\n<body $body onLoad="return textfocus()">| : print "</head>\n<body $body>" ; (!$_[0] && $mv_mode eq 'pc') ? print qq|</head>\n<body $body onLoad="return textfocus()">| : print "</head>\n<body $body>" ;
} }
Regular → Executable
+216 -217
View File
@@ -1,217 +1,216 @@
#!/usr/local/bin/perl #!/usr/bin/perl
# サーバーの環境に合わせて変更して下さい。 # サーバーの環境に合わせて変更して下さい。
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 罪と罰++ 二律背反 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
$ver = '過去の栄光 v1.0'; # バージョン情報(変更不可) $ver = '過去の栄光 v1.0'; # バージョン情報(変更不可)
#--- [注意事項] --------------------------------------------# #--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#=============================================================================== #===============================================================================
# 設定項目 # 設定項目
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 各種ファイル # 各種ファイル
require './inc/ore_sub-bbs.cgi'; # 各種掲示板共通な設定項目読み込み require './inc/ore_sub-bbs.cgi'; # 各種掲示板共通な設定項目読み込み
$script = "./hist.cgi"; # このスクリプトのパス $script = "./hist.cgi"; # このスクリプトのパス
$logfile = "./logdata/hist_log.cgi"; # ログファイルのパス $logfile = "./logdata/hist_log.cgi"; # ログファイルのパス
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 環境設定 # 環境設定
$title = "過去の栄光"; # タイトル名 $title = "과거의 영광"; # タイトル名
$maxlog = 60; # 最大記録行数 $maxlog = 60; # 最大記録行数
# 機種別設定 # 機種別設定
if($mv_mode eq 'mv'){ if($mv_mode eq 'mv'){
# モバイル用設定 # モバイル用設定
$log_last= 15; # 表示行数(モバイル) $log_last= 15; # 表示行数(モバイル)
# BODYタグ装飾 # BODYタグ装飾
$body = 'bgcolor="black" text="white" link="pink" vlink="pink" alink="pink"'; $body = 'bgcolor="black" text="white" link="pink" vlink="pink" alink="pink"';
$hr_color= 'white'; # 罫線の色(モバイル) $hr_color= 'white'; # 罫線の色(モバイル)
}else{ }else{
# PC用設定 # PC用設定
$log_last= 50; # 表示行数(PC) $log_last= 50; # 表示行数(PC)
# BODYタグ装飾 # BODYタグ装飾
$body = 'bgcolor="#111122" text="#ddddee" link="#ffddee" vlink="#ffddee" alink="#ffddee" style="font-size:14px"'; $body = 'bgcolor="#111122" text="#ddddee" link="#ffddee" vlink="#ffddee" alink="#ffddee" style="font-size:14px"';
} }
#=============================================================================== #===============================================================================
# 以下処理 基本的にこれ以下はいじらないように。 # 以下処理 基本的にこれ以下はいじらないように。
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# メイン処理 # メイン処理
&axs_check; &axs_check;
&decode_hist; &decode_hist;
$ore_game_ =($mode eq 'guest') ? $index : $ore_game ; $ore_game_ =($mode eq 'guest') ? $index : $ore_game ;
&html; &html;
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 記事表示部 # 記事表示部
sub html { sub html {
# 表示開始 # 表示開始
&header; &header;
if($mv_mode eq 'mv'){ if($mv_mode eq 'mv'){
print <<"EOM"; print <<"EOM";
<b>$title</b> <b>$title</b>
<form name="ore_" method="$method" action="$ore_game_"> <form name="ore_" method="$method" action="$ore_game_">
<input type=hidden name=id value="$id"> <input type=hidden name=id value="$id">
<input type=hidden name=pw value="$pw"> <input type=hidden name=pw value="$pw">
<input type=hidden name=cmd value="-1"> <input type=hidden name=cmd value="-1">
<input type=submit value="戻る"> <input type=submit value="돌아가기">
</form> </form>
EOM EOM
} }
else{ else{
print <<"EOM"; print <<"EOM";
<table> <table>
<tr> <tr>
<td width="220"><img src="./imgs/title_game.png" width="220" height="52"></td> <td width="220"><img src="./imgs/title_game.png" width="220" height="52"></td>
<td valign="bottom" align="left"> <td valign="bottom" align="left">
<b>$title</b><br> <b>$title</b><br>
<small> 悠久の大地の歩み </small> <small>~ 유구한 대지의 발자취 ~</small>
</td> </td>
</tr> </tr>
<form name="ore_" method="$method" action="$ore_game_"> <form name="ore_" method="$method" action="$ore_game_">
<tr> <tr>
<td align="right" colspan="2"> <td align="right" colspan="2">
<input type=hidden name=id value="$id"> <input type=hidden name=id value="$id">
<input type=hidden name=pw value="$pw"> <input type=hidden name=pw value="$pw">
<input type=hidden name=cmd value="-1"> <input type=hidden name=cmd value="-1">
<input type=submit value="戻る" class="button1" style="width:80px"> <input type=submit value="돌아가기" class="button1" style="width:80px">
</td> </td>
</tr> </tr>
</form> </form>
</table> </table>
EOM EOM
} }
($mv_mode eq 'mv') ? ($mv_mode eq 'mv') ?
print qq|<hr color=\"$hr_color\">\n|: print qq|<hr color=\"$hr_color\">\n|:
print qq|<hr size="8" color="#666699">\n|; print qq|<hr size="8" color="#666699">\n|;
# ログ読み込み # ログ読み込み
open(IN,"$logfile") || &error("Open Error : $logfile"); open(IN,"$logfile") || &error("Open Error : $logfile");
my @lines = <IN>; my @lines = <IN>;
close(IN); close(IN);
# 行数調整 # 行数調整
if($#lines > $maxlog){ if($#lines > $maxlog){
foreach(0 .. $#lines-$maxlog){ shift(@lines); } foreach(0 .. $#lines-$maxlog){ shift(@lines); }
} }
open (OUT,">$logfile") || &error("open error:$logfile"); open (OUT,">$logfile") || &error("open error:$logfile");
print OUT @lines; print OUT @lines;
close(OUT) or die "Can't close : $!"; close(OUT) or die "Can't close : $!";
# 記事展開 # 記事展開
@lines = reverse(@lines); @lines = reverse(@lines);
foreach(0 .. $log_last){ foreach(0 .. $log_last){
last if(!$lines[$_]); last if(!$lines[$_]);
my @y1 = split(/,/,$lines[$_]); my @y1 = split(/,/,$lines[$_]);
$y1[43] =~ s/wr_mes;//g; $y1[43] =~ s/wr_mes;//g;
if($mv_mode eq 'pc'){ if($mv_mode eq 'pc'){
foreach(1 .. $#camp_info){ foreach(1 .. $#camp_info){
$y1[43] =~ s/$camp_info[$_][0]/<span style="color:$camp_info[$_][1]">$camp_info[$_][0]<\/span>/g; $y1[43] =~ s/$camp_info[$_][0]/<span style="color:$camp_info[$_][1]">$camp_info[$_][0]<\/span>/g;
} }
} }
print "<li>$y1[43]<hr>\n"; print "<li>$y1[43]<hr>\n";
} }
# 著作権表示(削除禁止) # 著作権表示(削除禁止)
print "<hr>\n"; print "<hr>\n";
&copyright; &copyright;
exit; exit;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# デコード処理 # デコード処理
sub decode_hist { sub decode_hist {
local($buffer, @pairs, $name, $value); local($buffer, @pairs, $name, $value);
$post_flag=0; $post_flag=0;
if($ENV{'REQUEST_METHOD'} eq "POST"){ if($ENV{'REQUEST_METHOD'} eq "POST"){
$post_flag=1; $post_flag=1;
&error("投稿量が大きすぎます") if($ENV{'CONTENT_LENGTH'}>8192); &error("전송량이 너무 많습니다") if($ENV{'CONTENT_LENGTH'}>8192);
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}else{ }else{
$buffer = $ENV{'QUERY_STRING'}; $buffer = $ENV{'QUERY_STRING'};
&error("投稿量が大きすぎます") if(length($buffer)>7500) &error("전송량이 너무 많습니다") if(length($buffer)>7500)
} }
@pairs = split(/&/, $buffer); @pairs = split(/&/, $buffer);
foreach (@pairs) { foreach (@pairs) {
($name,$value) = split(/=/); ($name,$value) = split(/=/);
$value =~ tr/+/ /; $value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
# 荒らし処理 1 # 荒らし処理 1
$value =~ s/(<br>){4,}//g; $value =~ s/(<br>){4,}//g;
$value =~ s/( | ){6,}//g; $value =~ s/( | ){6,}//g;
$value =~ s/\r//g; $value =~ s/\r//g;
$value =~ s/\n//g; $value =~ s/\n//g;
# 記号置換え 1 # 記号置換え 1
$value =~ s/\s/&nbsp;/g; $value =~ s/\s/&nbsp;/g;
$value =~ s/</&lt;/g; $value =~ s/</&lt;/g;
$value =~ s/>/&gt;/g; $value =~ s/>/&gt;/g;
$value =~ s/\"/&quot;/g; $value =~ s/\"/&quot;/g;
# 記号置換え 2 # 記号置換え 2
$value =~ s/\?/&#63\;/g; $value =~ s/\?/&#63\;/g;
$value =~ s/,/&#44\;/g; $value =~ s/,/&#44\;/g;
$value =~ s/'/&#39\;/g; $value =~ s/'/&#39\;/g;
$value =~ s/`/&#96\;/g; $value =~ s/`/&#96\;/g;
$value =~ s/\;/&#59\;/g; $value =~ s/\;/&#59\;/g;
$value =~ s/\\/&#92\;/g; $value =~ s/\\/&#92\;/g;
$value =~ s/\|/&#124\;/g; $value =~ s/\|/&#124\;/g;
$value =~ s/\//&#47\;/g; $value =~ s/\//&#47\;/g;
$value =~ s/\./&#46\;/g; $value =~ s/\./&#46\;/g;
# 文字コードをシフトJIS変換 # 文字コードをシフトJIS変換
&jcode'convert(*value, "sjis", "", "z"); # &jcode'convert(*value, "sjis", "", "z");
$in{$name} = $value; $in{$name} = $value;
} }
$pw = $in{'pw'}; if(length($in{'pw'})>8) { &error("文字数エラーです3"); } $pw = $in{'pw'}; if(length($in{'pw'})>8) { &error("글자 수 오류입니다 3"); }
$id = $in{'id'}; if(length($in{'id'})>24) { &error("文字数エラーです4"); } $id = $in{'id'}; if(length($in{'id'})>24) { &error("글자 수 오류입니다 4"); }
if ($base_url) { if ($base_url) {
$ref_url = $ENV{'HTTP_REFERER'}; $ref_url = $ENV{'HTTP_REFERER'};
$ref_url =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $ref_url =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if ($ref_url !~ /$base_url/i) { &error("不正なアクセスです"); } if ($ref_url !~ /$base_url/i) { &error("올바르지 않은 접근입니다"); }
} }
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# HTMLのヘッダー # HTMLのヘッダー
sub header { sub header {
print "Content-type: text/html\n\n"; print "Content-type: text/html\n\n";
print <<"EOM"; print <<"EOM";
<html> <html>
<head> <head>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8">
<title>$title</title> <title>$title</title>
EOM EOM
print "$css" if($mv_mode eq 'pc'); print "$css" if($mv_mode eq 'pc');
print "</head>\n<body $body>\n"; print "</head>\n<body $body>\n";
} }
+301 -301
View File
@@ -1,302 +1,302 @@
<html> <html>
<head> <head>
<title>罪と罰++ 取り扱い説明書</title> <title>죄와 벌++ 사용설명서</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head> </head>
<!-- (C)2001 Vivid Studio. + BLANK BOARD --> <!-- (C)2001 Vivid Studio. + BLANK BOARD -->
<body bgcolor="#000000" text="#eeeeee" link="#ccccff" vlink="#ccccff" alink="#ccccff"> <body bgcolor="#000000" text="#eeeeee" link="#ccccff" vlink="#ccccff" alink="#ccccff">
<basefont size="2"> <basefont size="2">
<font face="MS P明朝, 細明朝体" size="5"><b>罪と罰<sup>++</sup> 取り扱い説明書</b></font> <font face="MS P明朝, 細明朝体" size="5"><b>죄와 벌<sup>++</sup> 사용설명서</b></font>
<br> <br> <br> <br>
<br> <br> <br> <br>
- <a href="#1">ストーリー</a> - - <a href="#1">스토리</a> -
<a href="#2">目的</a> - <a href="#2">목적</a> -
<a href="#3">ステータス説明</a> - <a href="#3">능력치(스탯) 설명</a> -
<a href="#4">コマンド説明</a> -<br> <a href="#4">명령어 설명</a> -<br>
- <a href="#5">メニュー説明</a> - - <a href="#5">메뉴 설명</a> -
<a href="./st.html">特殊技・階級技</a> - <a href="./st.html">특수기·계급기</a> -
<a href="#6">アドバイス(参考)</a> - <a href="#6">도움말(참고)</a> -
<br> <br> <br> <br>
- <a href="../index.cgi">タイトルへ戻る</a> - - <a href="../index.cgi">메인 화면으로 돌아가기</a> -
<br> <br> <br> <br>
<tt><br> <br></tt><table width=440 cellspacing=1 cellpadding=0 height=360 bordercolor=#000000> <tt><br> <br></tt><table width=440 cellspacing=1 cellpadding=0 height=360 bordercolor=#000000>
<tr> <tr>
<td width=55 height=45> </td><td width=55> </td><td width=55 bgcolor=#ffccff> </td><td width=55> </td><td width=55> </td><td width=55> </td><td width=55 bgcolor=#55BBFF> </td><td width=55> </td> <td width=55 height=45> </td><td width=55> </td><td width=55 bgcolor=#ffccff> </td><td width=55> </td><td width=55> </td><td width=55> </td><td width=55 bgcolor=#55BBFF> </td><td width=55> </td>
</tr><tr> </tr><tr>
<td height=45> </td><td bgcolor=#ffccff> </td><td bgcolor=#ffccff> </td><td bgcolor=#EE9999> </td><td bgcolor=#EE9999> </td><td> </td> <td height=45> </td><td bgcolor=#ffccff> </td><td bgcolor=#ffccff> </td><td bgcolor=#EE9999> </td><td bgcolor=#EE9999> </td><td> </td>
<td bgcolor=#55BBFF><b style="font-size:9pt;color:#222222">ヤマト神国</b></td> <td bgcolor=#55BBFF><b style="font-size:9pt;color:#222222">야마토 신국</b></td>
<td bgcolor=#55BBFF> </td> <td bgcolor=#55BBFF> </td>
</tr><tr> </tr><tr>
<td bgcolor=#ffccff height=45> </td><td bgcolor=#ffccff> </td> <td bgcolor=#ffccff height=45> </td><td bgcolor=#ffccff> </td>
<td bgcolor=#ffccff><b style="font-size:9pt;color:#222222">ソーディナ<br>帝国</b></td> <td bgcolor=#ffccff><b style="font-size:9pt;color:#222222">소디나<br>제국</b></td>
<td bgcolor=#ffccff> </td><td bgcolor=#EE9999> </td><td> </td><td bgcolor=#55BBFF> </td><td bgcolor=#55BBFF> </td> <td bgcolor=#ffccff> </td><td bgcolor=#EE9999> </td><td> </td><td bgcolor=#55BBFF> </td><td bgcolor=#55BBFF> </td>
</tr><tr> </tr><tr>
<td height=45> </td><td bgcolor=#ffccff> </td><td bgcolor=#ffccff> </td><td bgcolor=#EE9999> </td><td bgcolor=#EE9999><b style="font-size:9pt;color:#222222">アルメリア<br>王国</b></td> <td height=45> </td><td bgcolor=#ffccff> </td><td bgcolor=#ffccff> </td><td bgcolor=#EE9999> </td><td bgcolor=#EE9999><b style="font-size:9pt;color:#222222">알메리아<br>왕국</b></td>
<td bgcolor=#EE9999> </td><td> </td><td bgcolor=#55BBFF> </td> <td bgcolor=#EE9999> </td><td> </td><td bgcolor=#55BBFF> </td>
</tr><tr> </tr><tr>
<td bgcolor=#00EEEE height=45> </td><td bgcolor=#00EEEE> </td><td bgcolor=#ffccff> </td> <td bgcolor=#00EEEE height=45> </td><td bgcolor=#00EEEE> </td><td bgcolor=#ffccff> </td>
<td bgcolor=#ffccff><small style="color:#222222">永遠の証<br>跡地</small></td> <td bgcolor=#ffccff><small style="color:#222222">영원의 증표<br></small></td>
<td bgcolor=#EE9999> </td><td bgcolor=#EE9999> </td><td> </td><td> </td> <td bgcolor=#EE9999> </td><td bgcolor=#EE9999> </td><td> </td><td> </td>
</tr><tr> </tr><tr>
<td height=45> </td><td bgcolor=#00EEEE> </td> <td height=45> </td><td bgcolor=#00EEEE> </td>
<td bgcolor=#00EEEE><b style="font-size:9pt;color:#222222">フラリン<br>教国</b></td> <td bgcolor=#00EEEE><b style="font-size:9pt;color:#222222">플라린<br>교국</b></td>
<td bgcolor=#00EEEE> </td><td bgcolor=#88EE88> </td><td bgcolor=#88EE88> </td><td bgcolor=#88EE88> </td><td> </td> <td bgcolor=#00EEEE> </td><td bgcolor=#88EE88> </td><td bgcolor=#88EE88> </td><td bgcolor=#88EE88> </td><td> </td>
</tr><tr> </tr><tr>
<td height=45> </td><td> </td><td bgcolor=#00EEEE> </td><td bgcolor=#88EE88> </td> <td height=45> </td><td> </td><td bgcolor=#00EEEE> </td><td bgcolor=#88EE88> </td>
<td bgcolor=#88EE88><b style="font-size:9pt;color:#222222">イギス<br>連合国</b></td> <td bgcolor=#88EE88><b style="font-size:9pt;color:#222222">이기스<br>연합국</b></td>
<td bgcolor=#88EE88> </td><td> </td><td> </td> <td bgcolor=#88EE88> </td><td> </td><td> </td>
</tr><tr> </tr><tr>
<td height=45> </td><td> </td><td> </td><td> </td><td bgcolor=#88EE88> </td><td> </td><td> </td><td> </td> <td height=45> </td><td> </td><td> </td><td> </td><td bgcolor=#88EE88> </td><td> </td><td> </td><td> </td>
</tr></table><tt><br><b style="font-size:11pt">エルタニア ワールドマップ</b><br></tt> </tr></table><tt><br><b style="font-size:11pt">엘타니아 월드맵</b><br></tt>
<br> <br> <br> <br>
<hr align="center" size="1"> <hr align="center" size="1">
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#1">ストーリー</a></font></b></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#1">스토리</a></font></b></font>
<br> <br> <br> <br>
幾千年も昔、この地は魑魅魍魎や負の業に塗れた混沌によって支配されていた。<br> 수천 년 전, 이 땅은 이매망량과 음산한 카르마로 뒤덮인 혼돈에 의해 지배되고 있었다.<br>
この地の神々は辟易し、安息の地を創造するべくその地の中心に位置する大陸を隆起させ下界と隔てた。<br> 이 땅의 신들은 탄식하며 안식처를 창조하고자 그 땅의 중심에 위치한 대륙을 융기시켜 하계와 격리했다.<br>
その大地はエルタニアと名づけられた。<br> 그 대지는 엘타니아라 명명되었다.<br>
神々は自らの力と引き換えにエルタニアの中心に聖木「永遠の証」を育んだ。<br> 신들은 스스로의 힘을 대가로 바쳐 엘타니아의 중심에 성스러운 나무 '영원의 증표'를 길러냈다.<br>
永遠の証は大地に根付き、その根は負の業を浄化し秩序を生み出すという。<br> '영원의 증표'는 대지에 뿌리를 내렸고, 그 뿌리는 사악한 업을 정화하며 질서를 만들어 냈다고 전해진다.<br>
<br> <br> <br> <br>
エルタニアにひしめき合う国家は、永遠の証の加護により、長らく平和な時を刻んでいた。<br> 엘타니아의 수많은 국가들은 '영원의 증표'의 가호 아래 오랫동안 평화로운 세월을 보내고 있었다.<br>
<br> <br> <br> <br>
時はエルタニア暦591<br> 때는 엘타니아력 591<br>
長らく存続していた秩序が終わりを迎える。<br> 오랫동안 지속되었던 질서가 종말을 고한다.<br>
永い時を経て永遠の証に綻びが生じていたのである。<br> 기나긴 세월이 흐르며 '영원의 증표'에 균열이 생기기 시작한 것이다.<br>
<br> <br> <br> <br>
そして綻びが風穴へと変わるとき、<br> 그리고 균열이 커다란 바람구멍으로 변했을 때,<br>
エルタニアは負の業に塗れた混沌の闇へと包まれた。<br> 엘타니아는 사악한 카르마로 가득 찬 혼돈의 어둠 속으로 휩싸였다.<br>
<br> <br> <br> <br>
大陸北方を支配する大国、ソーディナ王国で、突如大規模な内乱が発生。<br> 대륙 북방을 지배하는 대국 소디나 왕국에서 갑작스럽게 대규모 내란이 발생.<br>
王家は根絶やされ、新たに宰相であったギザロフが王位につき、<br> 왕가는 멸족당하였고, 새로운 왕으로 재상이었던 기자로프가 등극하면서,<br>
ソーディナ王国もソーディナ帝国とその名を変えてしまったのだ。<br> 소디나 왕국 역시 소디나 제국으로 그 이름을 바꾸고 말았다.<br>
更に皇帝となったギザロフが最初に行なった命令、<br> 나아가 황제가 된 기자로프가 가장 먼저 내린 명령,<br>
それは、大陸の全国家に対し一切の降伏や譲歩を<br> 그것은 대륙의 모든 국가를 향해 일체의 항복이나 양보를<br>
認めない冷徹な宣戦布告であった。<br> 허용하지 않는 냉혹한 선전포고였다.<br>
皇帝ギザロフ率いるソーディナ帝国軍は他を寄せ付けない圧倒的な強さで他国を次々と支配していった。<br> 황제 기자로프가 이끄는 소디나 제국군은 적수를 찾을 수 없는 압도적인 무력으로 타국을 차례차례 지배해 나갔다.<br>
<br> <br> <br> <br>
そんな中、大陸の西に位置し武勇で名を馳せるアルメリア王国と、<br> 그러한 소용돌이 속에서 대륙 서쪽에 위치하여 무용으로 이름을 떨치던 알메리아 왕국과,<br>
大陸の国教であるマーナ教の聖地、フラリン教国も己の思惑とは別に戦乱に巻き込まれる事となった。<br> 대륙의 국교인 마나교의 성지 플라린 교국도 자신들의 의도와는 무관하게 전란의 불길 속에 휩싸이게 되었다.<br>
唯一、大小の国からなる大陸南方の国、イギス連合共和国が徹底抗戦の構えを見せていたが、<br> 유일하게 대소의 국가들로 구성된 대륙 남방의 나라 이기스 연합 공화국이 철저한 항전의 태세를 갖추었으나,<br>
政治的まとまりを欠く連合国は鉄の結束力を持つソーディナ帝国軍の前に徐々に追い込まれていった。<br> 정치적 결속력이 부족했던 연합국은 철의 결속력을 자랑하는 소디나 제국군 앞에 서서히 파멸의 길로 몰렸다.<br>
<br> <br> <br> <br>
聖木「永遠の証」に生じた風穴は拡大の一途を辿り、<br> 성스러운 나무 '영원의 증표'에 생긴 구멍은 계속해서 커져만 갔고,<br>
エルタニア暦603年、永遠の証はついに消滅。そのことにより下界と隔てていた結界が崩壊した。<br> 엘타니아력 603년, 마침내 '영원의 증표'가 완전히 소멸했다. 이와 함께 하계와의 경계를 유지하던 결계가 붕괴했다.<br>
下界においてエルタニア大陸の北に位置する孤島ヤマト。<br> 하계에서 엘타니아 대륙 북쪽에 자리한 외딴 섬 야마토.<br>
その地を支配していたヤマト神国も、結界崩壊によりエルタニアの覇権を狙う。<br> 그 땅을 지배하던 야마토 신국 역시 결계 붕괴를 틈타 엘타니아의 패권을 거머쥐고자 침공을 선언했다.<br>
<br> <br> <br> <br>
ここに戦乱の時代が幕を開けたのである… 이리하여 전란의 시대가 마침내 막을 올린 것이다...
<br> <br> <br> <br>
<br> <br> <br> <br>
<hr align="center" size="1"> <hr align="center" size="1">
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#2">目的</a></font></b></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#2">목적</a></font></b></font>
<br> <br> <br> <br>
特にありません。<br>プレイヤー次第です。 특별히 정해진 것은 없습니다.<br>플레이어의 선택에 달려 있습니다.<br>
本ゲームは、ひたすら修行して最強キャラになるのも良し、<br> 본 게임은 오로지 수행을 거듭하여 최강의 캐릭터가 되는 것도 좋고,<br>
戦争を起こしてエルタニアの地を統一するのも良し、<br> 전쟁을 일으켜 엘타니아 대륙을 통일하는 것도 좋으며,<br>
下克上の世で策略を練っても良し、<br> 하극상의 세상 속에서 책략을 꾸미는 것도 좋고,<br>
エルタニアの地に蔓延る魑魅魍魎を討伐して英雄になるのも良し、など<br> 엘타니아 땅에 도사리는 이매망량을 토벌하여 영웅이 되는 것도 좋은 등,<br>
とても自由度の高いゲームに仕上がっています。 매우 자유도 높은 플레이 방식을 지원합니다.
<br> <br> <br> <br>
<br> <br> <br> <br>
<hr align="center" size="1"> <hr align="center" size="1">
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#3">ステータス説明</a></font></b></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#3">능력치(스탯) 설명</a></font></b></font>
<br> <br> <br> <br>
<b>NAME(名前)</b> - プレイヤーの名前<br> <b>NAME(이름)</b> - 플레이어의 이름<br>
<br> <br> <br> <br>
<b>LEVEL(レベル)</b> - プレイヤーのレベル レベル×レベル×10で1レベルUP<br> <b>LEVEL(레벨)</b> - 플레이어의 레벨 (레벨 × 레벨 × 10만큼 경험치를 쌓으면 1레벨 상승)<br>
<br> <br> <br> <br>
<b>体力(HP)</b> - キャラクタの生命力 これがゼロになると戦闘で敗北します<br> <b>체력(HP)</b> - 캐릭터의 생명력. 이 수치가 0이 되면 전투에서 패배합니다.<br>
<br> <br> <br> <br>
<b>精神(MP)</b> - キャラクタの精神力 これを消費する事で様々な必殺技が使用できます<br> <b>정신(MP)</b> - 캐릭터의 정신력. 이를 소비하여 다양한 필살기를 사용할 수 있습니다.<br>
<br> <br> <br> <br>
<font color="#FF0000">* - このゲームではHP・MPを回復するコマンドは基本的にありません。<br> <font color="#FF0000">*주의 - 본 게임에는 HP 및 MP를 즉시 회복하는 명령어가 기본적으로 제공되지 않습니다.<br>
    体力・精神共に毎分1ポイントづつ自然に回復します。<br>     체력과 정신 모두 1분마다 1포인트씩 자연 회복됩니다.<br>
    つまり体力を10回復したいなら10分待てば良いという事です。ちなみにリロードしまくってると全然回復しません(笑</font><br>     즉, 체력을 10 회복하고 싶다면 10분을 대기하면 됩니다. 참고로 새로고침(F5)을 연타하고 있으면 전혀 회복되지 않습니다. (웃음</font><br>
<br> <br> <br> <br>
<b>UA</b> - キャラクタの攻撃力 これが高ければ高い程、相手に与えるダメージが大きくなります<br> <b>UA</b> - 캐릭터의 공격력. 이 수치가 높을수록 적에게 주는 피해가 커집니다.<br>
<br> <br> <br> <br>
<b>UD</b> - キャラクタの防御力 これが高ければ高い程、相手から受けるダメージが少なくなります<br> <b>UD</b> - 캐릭터의 방어력. 이 수치가 높을수록 적에게 받는 피해가 경감됩니다.<br>
<br> <br> <br> <br>
<b>LR</b> - キャラクタの指揮力 これが高ければ高い程、政治効率・部隊能力が上がります<br> <b>LR</b> - 캐릭터의 지휘력. 이 수치가 높을수록 내정 효율 및 부대 전투력이 상승합니다.<br>
<br> <br> <br> <br>
<b>GOLD(お金)</b> - キャラクタの所持金 能力を上げたり兵を雇ったりする為に必要です。<br> <b>GOLD(소지금)</b> - 캐릭터가 보유한 돈. 능력치를 올리거나 병사를 고용하는 데 필요합니다.<br>
<font color="#FF0000">                  国に属していると階級に応じて六時間毎に給与が出ます。<br> <font color="#FF0000">                  국가에 소속되어 있으면 계급에 따라 6시간마다 월급이 지급됩니다.<br>
                  これは仕官してから、もしくは最後に給与を貰ってから六時間後という事になります。<br>                   이는 임관한 시점 혹은 마지막으로 월급을 받은 시점으로부터 6시간째에 지급됨을 의미합니다.<br>
                  そして、仮に12時間ほっといたから、給与が2回分でるという事はありません。<br>                   따라서 접속 없이 12시간을 방치했다고 해서 월급이 2회분 누적되어 지급되지는 않습니다.<br>
                  後は修業で勝利した場合や戦争で勝利すると得られます</font><br>                   그 외에도 수행 및 전쟁에서 승리하여 획득할 수도 있습니다.</font><br>
<br> <br> <br> <br>
<b>経験値</b> - キャラクタの経験値 一定値まで上げる事によってレベルが上昇します<br> <b>경험치</b> - 캐릭터의 경험치. 일정 수치까지 쌓으면 레벨이 상승합니다.<br>
<br> <br> <br> <br>
<b>称号</b> - 現在キャラクタが取得している称号です<br> <b>칭호</b> - 현재 캐릭터가 획득한 칭호입니다<br>
<br> <br> <br> <br>
<b>武具</b> - 現在キャラクタが装備している武具です。装備すると戦闘中の通常攻撃が強化します。武具は1つしか持つことが出来ません<br> <b>무구</b> - 현재 캐릭터가 장착 중인 장비입니다. 장착 시 전투 중의 일반 공격력이 강화됩니다. 무구는 단 하나만 소지할 수 있습니다<br>
<br> <br> <br> <br>
<b>道具</b> - 現在キャラクタが所持している道具です。戦闘中に使用することができます。道具は1つしか持つことが出来ません<br> <b>도구</b> - 현재 캐릭터가 소지하고 있는 아이템입니다. 전투 중에 사용할 수 있습니다. 도구는 단 하나만 소지할 수 있습니다<br>
<br> <br> <br> <br>
<b>所属</b> - キャラクタの所属 現在のキャラクタの所属です。国に属していると国の名前が、放浪していると無所属と表示されます<br> <b>소속</b> - 캐릭터의 현재 소속 국가입니다. 소속된 국가가 있다면 국가 이름이, 방랑 상태라면 '무소속'으로 표시됩니다。<br>
<br> <br> <br> <br>
<b>兵数</b> - キャラクタの兵 現在、キャラクタが指揮している部隊の最大兵数です。 階級によって指揮できる兵数は違います<br> <b>병력 수</b> - 캐릭터가 통솔하는 부대의 최대 병력 수입니다. 계급에 따라 지휘할 수 있는 부대 규모가 다릅니다。<br>
<br> <br> <br> <br>
<b>RANK(階級)</b> - キャラクタの階級 キャラクタの現在の階級です。国の仕事に従事したり戦争で勝利する事で上昇します<br> <b>RANK(계급)</b> - 캐릭터의 현재 계급입니다. 국가 내정에 종사하거나 전쟁에서 승리하면 상승합니다。<br>
<br> <br> <br> <br>
<b>総国力</b> - 現在の各国の総合的な国力です。この数値で給与が増減します。また各国のどれかが1万を超えると一応ゲーム終了です。<br> <b>총 국력</b> - 현재 각 국가의 종합적인 국력 수치입니다. 이 수치에 따라 월급이 증감합니다. 또한 어느 한 국가의 국력이 10,000을 돌파하면 게임이 일단 완전히 종료(클리어)됩니다。<br>
       ゲームクリアになると国データが総て初期状態に戻ります。キャラクタデータに変化はありません<br>        게임 클리어 시 모든 국가 데이터는 초기 상태로 재설정되지만, 캐릭터 데이터는 보존됩니다<br>
<br> <br> <br> <br>
<b>国家予算</b> - 現在の各国の国家予算です。これがないと戦争が起こせません。商業をおこなう事で増えます<br> <b>国家予算</b> - 현재 각 국가의 예산 잔액입니다. 예산이 부족하면 전쟁을 개시할 수 없습니다. 상업 내정을 실행하면 늘어납니다<br>
<br> <br> <br> <br>
<b>兵糧</b> - 現在の各国の兵糧です。これがないと戦争が起こせません。農業をおこなう事で増えます<br> <b>군량(식량)</b> - 현재 각 국가의 군량 보유량입니다. 군량이 부족하면 전쟁을 개시할 수 없습니다. 농업 내정을 실행하면 늘어납니다<br>
<br> <br> <br> <br>
<b>総兵士数</b> - 現在の各国の兵士数です。これがないと戦争を起こせません<br> <b>총 병사 수</b> - 현재 각 국가의 예비 병력 수입니다. 병사가 부족하면 전쟁을 일으킬 수 없습니다<br>
        また敵に攻め込まれた場合にないと、戦時徴兵がおこなわれる事になり、<br>         또한 적국이 침공해 왔을 때 예비 병력이 부족하면 강제 '전시 징병'이 실행됩니다。<br>
        総兵士数は防衛に出た部隊の最大数になりますが、国力が著しく低下します。注意が必要です<br>         이 경우 총 병사 수는 방어전에 출전하는 부대의 최대 규모 수준으로 충당되지만, 대신 국력이 심각하게 깎이므로 철저한 대비가 요구됩니다<br>
<br> <br> <br> <br>
   <font color="#FF0000"> - 一応言っておきますが国データはプレイヤー全員の共有物です</font><br>    <font color="#FF0000">주의 - 국가 정보(국력, 예산 등)는 모든 플레이어가 공유하는 자원입니다</font><br>
<br> <br> <br> <br>
<b>定員</b> - 各国の参加定員です。これを越すと一時的に入国制限がかかります。<br> <b>정원</b> - 각 국가별 최대 수용 인원입니다. 정원을 초과하면 일시적으로 신규 입국이 제한됩니다。<br>
<br> <br> <br> <br>
<hr align="center" size="1"> <hr align="center" size="1">
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#4"> コマンド説明</a></font></b></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#4"> 명령어 설명</a></font></b></font>
<br> <br> <br> <br>
<b>修行</b> - 登録キャラクタとの対戦。所属による制限なし<br> <b>수행</b> - 등록된 캐릭터들과의 대전 모드입니다. 소속 국가 제한 없이 이용할 수 있습니다<br>
       リストから対戦相手を選び戦闘を行う。勝利するとお金と経験値を獲得できる<br>        목록에서 대전 상대를 지목하여 전투를 치르며, 승리 시 돈과 경험치를 획득합니다<br>
       ただし、自キャラと敵キャラのレベル差で入手経験値とお金の額が変化するので注意<br>        단, 대전자와 본인 캐릭터의 레벨 차이에 따라 획득하는 금액과 경험치가 크게 달라지므로 주의하십시오。<br>
<br> <br>
     <b>戦闘の仕方</b> -<br>      <b>전투 방식</b> -<br>
<br> <br>
        修業時の戦闘はプレイヤーキャラクタ先攻で交互に攻撃を繰り返して行われます<br>         수행 시의 전투는 기본적으로 유저가 선제 공격권을 가지며, 턴마다 교대로 타격을 주고받습니다<br>
        コマンドは最初は『攻撃』コマンドしかありませんが、レベルが上がっていくとコマンドが増えます<br>         처음에는 '공격' 커맨드만 활성화되어 있으나, 레벨이 오름에 따라 다양한 기술 커맨드가 추가됩니다<br>
        それを特殊コマンドといい、つまりRPGでいう所の魔法です<br>         이를 '특수기'라고 부르며, RPG 장르의 마법이나 스킬에 해당합니다<br>
        精神を消費しますが、特殊コマンドは強力な攻撃なので短期に決着をつけたい場合などに使うと良いでしょう<br>         정신(MP)을 소모하지만 대단히 강력하므로 전투를 단숨에 끝내고 싶을 때 활용하면 유용합니다<br>
        ちなみに特殊攻撃はレベルが5の倍数づつ覚えます。LV5、LV10、LV15…<br>         참고로 특수기는 레벨이 5의 배수가 될 때마다 습득합니다. (Lv.5, Lv.10, Lv.15...)<br>
<font color="#FF0000">        階級が上級騎士以上の「階級技」という、技を使用できるようになります<br> <font color="#FF0000">         계급이 '상급기사' 이상에 도달하면 '계급기'라는 전용 기술을 구사할 수 있게 됩니다<br>
        階級技はレベルに関係なく使用することができます。ちなみに4種類の階級技が存在します</font><br>         계급기는 캐릭터의 레벨과 무관하게 사용이 가능합니다. 계급기는 총 4종류가 존재합니다</font><br>
        ○ - <a href="./st.html">特殊技・階級技</a><br>         ○ - <a href="./st.html">특수기·계급기 설명</a><br>
<br> <br> <br> <br>
<b>内政</b> - 国に所属している場合に実行可能なコマンド<br> <b>내정</b> - 국가에 소속된 경우에만 실행할 수 있는 명령어입니다<br>
<br> <br>
     <b>農業</b> - 農作を行い兵糧を蓄える<br>      <b>농업</b> - 식량을 재배하여 국가의 군량을 비축합니다<br>
     <b>商業</b> - 商業を行い国家予算を増やす<br>      <b>상업</b> - 상업 활동을 활성화하여 국가 예산을 확보합니다。<br>
     <b>軍備</b> - 戦争に備え軍備を強化する<br>      <b>군비</b> - 다가올 전쟁에 대비해 군비를 확장합니다。<br>
     <b>軍備コマンド</b> - 軍備を行います<br>      <b>군비 명령어</b> - 군비 강화를 진행합니다<br>
          <b>兵を雇う</b> - 兵を雇います。この時使われるのはキャラクタのお金です<br>           <b>병사 고용</b> - 부대원을 모집합니다. 이때 지출되는 자금은 캐릭터의 소금(GOLD)입니다<br>
          <b>兵を訓練する</b> - キャラクタの部隊の兵を訓練します。最大は100<br>           <b>부대 훈련</b> - 거느리고 있는 부대원을 훈련합니다. 최대 훈련도는 100입니다<br>
    <br>     <br>
     内政を行なう事によってキャラクタの評価が高まり一定になる毎に階級が上がる<br>      내정을 수행하면 캐릭터의 공헌도(평가)가 쌓이고, 기준치를 돌파할 때마다 계급이 상승합니다<br>
     階級が上がれば給与が増える。キャラクタが率いる部隊数が増える<br>      계급이 오르면 월급이 오르고, 인솔할 수 있는 부대의 최대 병력 수도 증가합니다<br>
     ちなみに無所属に階級はありません。無所属では給与は出ません。無所属では部隊自体持てません<br>      참고로 무소속 상태에서는 계급도, 월급도 존재하지 않으며 부대를 소유할 수도 없습니다<br>
<font color="#FF0000">     階級が上級騎士以上の場合、内政を行うと功労金がもらえます<br> <font color="#FF0000">      계급이 상급기사 이상인 경우, 내정 명령을 내릴 때마다 포상금을 받습니다<br>
     功労金は階級が高いほど高額になります</font><br>      포상금은 계급이 올라갈수록 액수가 높아집니다</font><br>
<br> <br>
<b>兵を訓練する</b> -<br> <b>부대 훈련</b> -<br>
<br> <br>
     キャラクタの率いる部隊を訓練します。訓練する事で戦争時の部隊能力が上昇します<br>      거느리고 있는 부대를 훈련시킵니다. 훈련도가 높을수록 실제 전쟁 시 부대의 종합 능력치가 큰 폭으로 보강됩니다<br>
<br> <br> <br> <br>
<b>戦争</b> - 国に所属している場合に実行可能なコマンド<br> <b>전쟁</b> - 국가에 소속되어 있을 때만 기획할 수 있는 명령어입니다<br>
     キャラクタの部隊総数に対して国家予算が1/10 兵糧が1/1以上あれば他国に攻め込めます<br>      출전하려는 총 병력 대비 국가 예산 1/10 이상, 군량이 1/1 이상 확보되어 있으면 타국을 공격할 수 있습니다<br>
     敵国に攻め込み勝利する事で敵国の国力を奪えます。国力=領土と考えて下さい<br>      적국을 쳐들어가 승리를 거두면 상대국의 국력을 강탈할 수 있습니다. 국력은 영토의 개념으로 이해하시면 편합니다<br>
<br> <br>
     戦争が始まると敵国から適当に選ばれたプレイヤーキャラクタ、またはNPCが防衛部隊として出現します<br>      전쟁이 발발하면 방어 측 국가에서 무작위로 선별된 유저 캐릭터 혹은 NPC 부대가 수비대로 출현합니다<br>
<br> <br>
     <b>- 戦争の進め方 -</b><br>      <b>- 전쟁 수행 절차 -</b><br>
<br> <br>
     戦争ではジャンケンの要領で戦闘を行います<br>      전쟁 시에는 가위바위보와 유사한 속성 연쇄 방식으로 전투를 치릅니다<br>
<br> <br>
     攻撃陣形→防御陣形→突撃陣形→攻撃陣形…<br>      공격 진형 → 방어 진형 → 돌격 진형 → 공격 진형 ...<br>
<br> <br>
     という具合に、敵が防御陣形時に攻撃陣形を取れば、相手に多大な損害を与える事ができ、<br>      즉, 적 부대가 방어 진형일 때 아군이 공격 진형을 선택하면 적에게 치명적인 피해를 입힐 수 있으나,<br>
     反対に敵が攻撃陣形時に防御陣形を取ってしまうと、自部隊に甚大な被害がでてしまうのです<br>      반대로 적이 공격 진형일 때 방어 진형을 취해 버리면 아군 부대가 막대한 괴멸 피해를 입게 됩니다<br>
<br> <br>
    <b>- 一騎討ち -</b><br>     <b>- 일대일 결투 (일기토) -</b><br>
<br> <br>
     状況によって敵から一騎討ちを申し込まれる場合があります<br>      전투 진행 상황에 따라 적장으로부터 일대일 결투 신청이 들어오는 경우가 있습니다<br>
     断るのも受けるのも自由ですが断ると評価がすこし下がり受ければすこし上がります<br>      결투 신청을 거절하든 수락하든 자유지만 거절하면 평판이 소폭 하락하고, 수락하면 약간 상승합니다<br>
     一騎討ちの流れは修業モードとまったく変わりません。相手のHPを0にすれば勝ちです<br>      결투 방식은 수행 모드와 동일합니다. 적의 체력(HP)을 먼저 0으로 만드는 쪽이 승리합니다<br>
     一騎討ちに勝利すると普段より多めに評価値が上昇し、負けると多めに下がります。気をつけて下さい<br>      결투에서 이기면 평판 점수가 크게 가산되지만, 패배하면 대량 감점되므로 신중하게 판단하십시오<br>
<br> <br>
    戦争では勝っても負けても経験値とお金が手に入りますが、撤退した場合は無報酬です<br>     전쟁을 치르면 승패에 상관없이 경험치와 자금을 얻지만, 전장에서 도중에 퇴각하면 아무런 보상도 받지 못합니다<br>
    ただ撤退すれば兵力はその時点の数値で国の総兵士数に戻りますから、勝てない相手と当たってしまったら撤退した方が利口です<br>     다만 퇴각할 경우 살아남은 병력은 해당 시점 기준으로 고스란히 아국의 총 병력으로 보존되어 반환되므로, 도저히 이길 수 없는 강적을 만났다면 무리하지 않고 후퇴하는 편이 현명합니다<br>
    無闇に戦って兵力がゼロになるまで戦ってしまうと、確かに僅かな経験値とお金が手に入りますが、<br>     끝까지 버티다 부대가 완전히 전멸(병력 0)하면 아주 적은 량의 돈과 경험치는 보전되겠으나,<br>
    総兵士数は出撃したキャラクタ部隊の兵士数だけドーンと減ってしまいます<br>     나라 전체의 총 예비 병력풀에서 해당 출전 부대의 전멸한 규모만큼 고스란히 날아가 버리게 됩니다<br>
    兵士はプレイヤー全員の共有物という事を良く考えて戦闘に望んでください<br>     병사 자원은 국가에 속한 모든 플레이어의 공유 자산임을 잊지 마시고 전략적으로 움직여 주십시오<br>
<br> <br> <br> <br>
<b>能力</b> - キャラクタの能力上昇コマンド。所属による制限なし<br> <b>능력</b> - 캐릭터의 스탯 강화 명령어입니다. 소속 국가 제한이 없습니다<br>
     お金を1万G支払う事で各能力(HP、MP、UA、UD、LR)を上昇させる事が出来ます<br>      자금 10,000G를 지불하여 각 스탯(HP, MP, UA, UD, LR)을 직접 육성할 수 있습니다<br>
     各ステータスの上限は体力・精神は9999。他は999です<br>      능력치별 최대 육성 한도는 체력/정신이 9,999이며, 나머지 스탯은 999까지 올릴 수 있습니다<br>
<br> <br> <br> <br>
<b>仕官</b> - キャラクタを国に仕官させたり、野に下ったりする為のコマンドです<br> <b>임관/하야</b> - 캐릭터를 특정 국가에 충성 서약(임관)시키거나 하야하여 방랑길(무소속)에 나설 때 쓰이는 메뉴입니다<br>
     このゲームではスタート直後は全員無所属です<br>      처음 가입하면 모든 플레이어가 무소속 상태로 시작합니다<br>
     ですから自分の好きな国にこのコマンドで仕官して下さい<br>      원하시는 국가를 정한 뒤 이 명령어로 임관하시기 바랍니다<br>
    一応言っておきますが、このゲームで無所属していても良い事はひとつもありません<br>      단언컨대 무소속으로 지내는 동안에는 성장에 어떠한 메리트도 주어지지 않습니다<br>
     また他国に亡命した場合は階級が1~5下がりますので注意して下さい<br>      또한 타국으로 망명할 시에는 소속 계급이 1~5단계 강등되므로 주의를 요합니다<br>
<font color="#FF0000">    仕官はレベル2からです<br> <font color="#FF0000">     임관은 레벨 2부터 가능합니다<br>
    各国にはそれぞれ定員があります。これを超えると一時的に入国不可になります<br>     각 국가마다 참여할 수 있는 정원이 한정되어 있어, 한도가 차면 일시적으로 가입할 수 없습니다<br>
    他国や無所属に亡命した場合、元国に移籍料を払います。移籍料のうち微量を元国の国家予算に割り当てられます<br>     타국으로 망명하거나 야인으로 돌아갈 시 이전 국가에 이적료를 치러야 합니다. 이적료의 일부는 직전 국가의 국가 예산으로 편입됩니다<br>
    移籍料は階級が高くなると安くなり、元国の国家予算に割り当てられる金額が増えます</font><br>     이적료는 본인의 원래 계급이 높을수록 감면되며, 기존 국가 예산으로 국고 보조되는 액수의 비율은 늘어납니다</font><br>
<br> <br> <br> <br>
<b>情報</b> - 現在所属している国の情報が見れます<br> <b>정보</b> - 현재 본인이 소속된 국가의 현황(국력 및 재정 정보 등)을 열람합니다<br>
<br> <br> <br> <br>
<b>回復</b> - 大金を支払うことでHP/MPを瞬時に全回復させます。レベルが高いほど高額になります<br> <b>치료</b> - 막대한 자금을 지출하여 아군의 체력(HP)과 정신력(MP)을 즉석에서 완전 충전합니다. 레벨이 오를수록 비용이 증가합니다<br>
     ただし、レベル40以上は額が上がりません<br>      단, 레벨 40 이후로는 금액이 고정되어 상승하지 않습니다<br>
<br> <br> <br> <br>
<b>宝くじ</b> - 1500Gで宝くじを行えます。約半数の方は元がとれることでしょう<br> <b>미니로또</b> - 1회당 500G를 들여 미니로또 추첨에 응합니다. 약 50%의 높은 확률로 본전을 뽑으실 수 있습니다<br>
<br> <br>
     <b>壱等賞</b> - 10G<br>      <b>1등상</b> - 10G<br>
     <b>弐等賞</b> - 5G<br>      <b>2등상</b> - 5G<br>
     <b>参等賞</b> - 1G<br>      <b>3등상</b> - 1G<br>
     <b>四等賞</b> - 1G<br>      <b>4등상</b> - 1G<br>
     <b>幸運賞</b> - HPもしくはMP全回復<br>      <b>행운상</b> - HP 혹은 MP 완전 회복<br>
     <b>不幸賞</b> - HPもしくはMP半減<br>      <b>불행상</b> - HP 혹은 MP 절반으로 감소<br>
     <b>罪罰賞</b> - ハグレメタルの剣(希少)<br>      <b>죄벌상</b> - 하구레메탈의 검(희귀 장비)<br>
<br> <br> <br> <br>
<b>討伐</b> - エルタニアの地に蔓延る魑魅魍魎を征伐します。<br> <b>토벌</b> - 엘타니아 전역을 활개치는 괴수와 흉악한 이매망량들을 소탕합니다。<br>
     討伐に成功すると地位と賞金を獲得できます。魑魅魍魎はとてつもなく強大です。<br>      토벌을 완수하면 그에 따른 공적치와 엄청난 현상금을 손에 넣습니다. 단, 출현하는 몬스터들은 무시무시하게 강력합니다。<br>
     討伐を繰り返すことで、エルタニアの英雄になることができます。<br>      끊임없이 몬스터 사냥을 성공시켜 대륙의 불멸의 영웅 반열에 올라 보십시오。<br>
     また、魑魅魍魎はごく稀に隠し武具や隠しアイテムを落とすことがあります。<br>      또한 토벌 도중 매우 낮은 확률로 필드 전용 유니크 무구나 히든 아이템을 노획할 수 있습니다。<br>
<br> <br> <br> <br>
<b>軍事</b> - 敵国に対する戦略<br> <b>군사</b> - 적대국을 약화시키기 위한 특수 파괴 및 첩보 공작 전략입니다。<br>
<br> <br>
     <b>諜報</b> - 敵国に諜報員を送り込み資金調達ルートを錯乱させる。敵国の国家予算を奪取<br>      <b>첩보</b> - 적국 심장부에 간첩을 투입하여 유통망을 마비시키고 상대 국가의 재정을 몰수합니다。<br>
     <b>強奪</b> - 敵国に奇襲攻撃をかけ、兵糧を奪取<br>      <b>강탈</b> - 경비가 허술한 적진 보급창을 기습하여 적국의 식량(군량)을 가로챕니다。<br>
     <b>洗脳</b> - 敵国の兵士陣を洗脳し、自国に引き入れる。敵国の兵士数を奪取<br>      <b>세뇌</b> - 적국의 수비대 대원들을 교묘하게 유인 및 세뇌하여 아군으로 전향시킵니다. 적의 징집 병력을 빼앗아 옵니다。<br>
<br> <br> <br> <br>
<br> <br> <br> <br>
<hr align="center" size="1"> <hr align="center" size="1">
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#5"> メニュー説明</a></font></b></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#5"> 메뉴 설명</a></font></b></font>
<br> <br> <br> <br>
<b>国際交流酒場</b> - 罪罰<sup>++</sup>プレイヤーのためのチャット・・・・形骸化しているような・・<br> <b>국제 교류 주점</b> - 플레이어 친목 도모를 위한 실시간 채팅방. 현재는 거의 사용되지 않는 분위기지만...<br>
<br> <br> <br> <br>
<b>国際交流広場</b> - プレイヤー同士の交流の場<br> <b>국제 교류 광장</b> - 유저 간 자유로운 소통과 정보 교류를 나누는 자유 게시판입니다。<br>
<br> <br> <br> <br>
<b>各国作戦会議</b> - 各国専用の作戦会議室。無所属は利用できません<br> <b>各国作戦会議</b> - 아국 동맹원들끼리만 사용하는 비공개 작전 본부입니다. 무소속은 입장할 수 없습니다<br>
<br> <br> <br> <br>
<b>ショッピングモール</b> - 武具や道具の売買、お金の融資など。 <b>쇼핑몰</b> - 장비 및 아이템 거래소, 금융 대출 및 기타 부가 시설이 입점한 종합 상가 구역입니다.
<br> <br> <br> <br>
     <b>武具</b> - 武具を買ったり売ったりできます。<br>      <b>무구 상점</b> - 전투용 무기 및 방어구를 구매하거나 불필요한 무구를 처분합니다。<br>
     <b>道具</b> - 道具を買ったり売ったりできます。<br>      <b>도구 상점</b> - 일회성 소비 아이템이나 유틸리티 도구를 거래합니다。<br>
     <b>金融</b> - お金を借りれます。借金をすると返済までの期間、烙印を押されます。<br>      <b>금융(대출)</b> - 급전이 필요할 때 자금을 빌립니다. 단, 채무가 남아 있는 동안에는 불명예스러운 '낙인'이 찍힙니다。<br>
                烙印の称号が付加されると、いくつかの行動が制限されるので注意です。<br>                 낙인 칭호가 유지되는 동안에는 게임 내 일부 콘텐츠나 행동 제약이 따르게 되니 매우 유의하셔야 합니다。<br>
                また、借金には利息がつきますので、できるだけ早めに返済してください。                 또한 채무 잔액에는 상응하는 이자가 복리로 발생하므로 최대한 신속하게 상환하시기를 권장합니다.
<br> <br> <br> <br>
<b>公式条約</b> - 各国間で結んだ条約や同盟など・・・・形骸化しているような・・<br> <b>공식 조약</b> - 각 세력 간의 동맹, 평화 협정 및 공동 조약을 게시하는 공간입니다. 마찬가지로 거의 사용되지 않지만...<br>
<br> <br> <br> <br>
<b>過去の栄光</b> - 過去に行われた各国の攻防の記録<br> <b>명예의 전당</b> - 이전 라운드에서 화려한 활약을 펼치며 승리를 장식했던 기록들을 연대기 형태로 제공합니다。<br>
<br> <br> <br> <br>
<br> <br> <br> <br>
<hr align="center" size="1"> <hr align="center" size="1">
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#6"> アドバイス(参考)</a></font></b></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#6"> 도움말(참고)</a></font></b></font>
<br> <br> <br> <br>
罪罰<sup>++</sup>は、プレイヤーの方が思っている以上に結構簡単に重複登録は見破れます<br> 죄와 벌<sup>++</sup>은 다중 계정(다중 등록)을 시스템상으로 쉽게 모니터링하고 찾아낼 수 있습니다<br>
なので、重複登録はしないようにして下さい。見つけ次第全キャラ削除します。ルール違反はいけません<br> 따라서 다중 가입은 절대 엄금하며, 적발 시 예외 없이 전 계정 삭제 처리하오니 이용 규칙을 준수해 주십시오<br>
ちなみに参加人数は最大で170名です<br> 참고로 서버의 최대 참가 허용 정원은 170명입니다<br>
<br> <br> <br> <br>
<br> <br> <br> <br>
<br> <br> <br> <br>
<br> <br> <br> <br>
<br> <br> <br> <br>
<br> <br> <br> <br>
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a href="../index.cgi"> タイトルへ戻る</a></font></b></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a href="../index.cgi"> 메인 화면으로 돌아가기</a></font></b></font>
</body> </body>
</html> </html>
+121 -120
View File
@@ -1,120 +1,121 @@
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>説明書[モバイル版]</title> <title>설명서 [모바일 버전]</title>
</head> </head>
<body bgcolor="#000000" text="#eeeeee" link="#ccccff" vlink="#ccccff" alink="#ccccff"> <body bgcolor="#000000" text="#eeeeee" link="#ccccff" vlink="#ccccff" alink="#ccccff">
<a href="../index.cgi" ACCESSKEY="9">[9] トップに戻る</a> <a href="../index.cgi" ACCESSKEY="9">[9] 메인 화면으로</a>
<hr color="white"> <hr color="white">
<a name="#0">説明書</a> <a name="#0">설명서</a>
<br> <br>
<a href="#1" accesskey="1">[1] どんなゲーム?</a> <a href="#1" accesskey="1">[1] 어떤 게임인가요?</a>
/<a href="#2" accesskey="2">[2] ステータス説明</a> /<a href="#2" accesskey="2">[2] 스탯 설명</a>
/<a href="#3" accesskey="3">[3] コマンド説明</a> /<a href="#3" accesskey="3">[3] 명령어 설명</a>
/<a href="#4" accesskey="4">[4] メニュー説明</a> /<a href="#4" accesskey="4">[4] 메뉴 설명</a>
/<a href="./st_i.html" accesskey="5">[5] 階級・特殊技</a> /<a href="./st_i.html" accesskey="5">[5] 계급·특수기</a>
<hr color="white"> <hr color="white">
<a name="#1">1 どんなゲーム?</a> <a name="#1">1 어떤 게임인가요?</a>
<pre> <pre>
罪と罰++ は、悠久の大地「エルタニア」を舞台とするマルチプレイRPGです。 죄와 벌++은 유구한 대지 '엘타니아'를 무대로 하는 멀티플레이 RPG입니다.
このゲームには目的がありません。自らを鍛え最強のキャラに育てえるも良し、国に所属してエルタニアの覇権を狙うも良し、魑魅魍魎を討伐して英雄になるのも良しと、プレイヤーは自由に行動可能です。 이 게임에는 정해진 목적이 없습니다. 자신을 단련하여 최강의 캐릭터로 키우는 것도 좋고, 국가에 소속되어 엘타니아의 패권을 노리는 것도 좋으며, 이매망량을 토벌하여 영웅이 되는 것도 좋은 등 플레이어는 자유롭게 행동할 수 있습니다.
また、プレイヤー間のコミュニケーションが最も重要なポイントとなっているため、渋いゲームの割には、何故か カップル続出のげ~む です。 또한 플레이어 간의 커뮤니케이션이 가장 중요한 포인트이기 때문에, 겉보기와 달리 왠지 모르게 커플이 속출하는 게임이기도 합니다.
</pre> </pre>
<a href="#0" accesskey="0">[0] 先頭に戻る</a> <a href="#0" accesskey="0">[0] 처음으로</a>
<hr color="white"> <hr color="white">
<a name="2">2 ステータス説明</a> <a name="2">2 스탯 설명</a>
<pre> <pre>
NM - 名前 NM - 이름
LV - レベル &gt;&gt;レベル×レベル×10で1レベルUP LV - 레벨 >> 레벨 × 레벨 × 10만큼 경험치를 쌓으면 1레벨 상승
HP - 生命力 HP - 생명력
MP - 精神力 &gt;&gt;特殊技・階級技に必要 MP - 정신력 >> 특수기·계급기에 필요
UA - 攻撃力 UA - 공격력
UD - 防御力 UD - 방어력
LR - 指揮力 &gt;&gt;政治効率・部隊能力に影響 LR - 지휘력 >> 내정 효율·부대 능력에 영향
GOLD - 所持金 GOLD - 소지금
経験値 - レベルアップに必要 경험치 - 레벨업에 필요
称号 - 取得している称号 칭호 - 획득한 칭호
武具 - 装備している武具 무구 - 장착 중인 무구
道具 - 所持している道具 도구 - 소지 중인 도구
所属 - 国籍 &gt;&gt;放浪していると無所属 소속 - 국적 >> 방랑 시 무소속으로 표시
兵数 - 指揮している部隊の最大兵数 &gt;&gt; 階級により増減 병력 수 - 지휘 중인 부대의 최대 병력 수 >> 계급에 따라 증감
階級 - 現在の階級 &gt;&gt;内政や戦争に勝利すると上昇 계급 - 현재 계급 >> 내정 수행이나 전쟁 승리 시 상승
総国力 - この数値で給与が増減します。既定値に達するとゲームクリアになり、国データが総て初期状態に戻る。キャラクタデータは変化しない。 총 국력 - 이 수치에 따라 월급이 증감합니다. 목표치에 도달하면 게임 클리어가 되며, 모든 국가 데이터는 초기화됩니다. 캐릭터 데이터는 보존됩니다.
国家予算 - 戦争を起こすのに必要。商業をおこなうと増加 국가 예산 - 전쟁을 일으키는 데 필요. 상업 내정을 하면 증가
兵糧 - 戦争を起こすのに必要。農業をおこなうと増加 군량 - 전쟁을 일으키는 데 필요. 농업 내정을 하면 증가
総兵士数 - 戦争を起こすのに必要。少ないと敵に攻め込まれた時に国力が著しく低下する場合がある 총 병사 수 - 전쟁을 일으키는 데 필요. 부족하면 적의 침공 시 국력이 큰 폭으로 감소할 수 있음
</pre> </pre>
<a href="#0" accesskey="0">[0] 先頭に戻る</a> <a href="#0" accesskey="0">[0] 처음으로</a>
<hr color="white"> <hr color="white">
<a name="3">3 コマンド説明</a> <a name="3">3 명령어 설명</a>
<pre> <pre>
修行 - 登録キャラクタとの対戦 수행 - 등록된 캐릭터와의 대전
修業時の戦闘はプレイヤーキャラクタ先攻で交互に攻撃を繰り返して行われる。 수행 중의 전투는 플레이어 캐릭터 선공으로 턴마다 교대로 공격을 주고받습니다.
コマンドは最初は『攻撃』コマンドしかありませんが、レベルが上がっていくと特殊技が利用可能。 커맨드는 처음에는 '공격' 커맨드만 있지만, 레벨이 오르면 특수기를 사용할 수 있습니다.
精神を消費しますが、特殊コマンドは強力な攻撃なので短期に決着をつけたい場合などに使うと良い 정신을 소모하지만 강력한 기술이므로 전투를 빨리 끝내고 싶을 때 유용합니다.
特殊技はレベルが5の倍数づつ覚える。LV5、LV10、LV15… 특수기는 레벨이 5의 배수가 될 때마다 배웁니다. Lv.5, Lv.10, Lv.15...
階級が上級騎士以上の「階級技」を使用可能。 계급이 상급기사 이상이면 '계급기'를 사용할 수 있습니다.
階級技はレベルに関係なく使用可能。4種類の階級技が存在する 계급기는 레벨과 무관하게 사용할 수 있으며, 4종류의 계급기가 존재합니다.
内政 - 国に所属している場合に実行可能なコマンド 내정 - 국가 소속 상태일 때 실행할 수 있는 명령어
農業 - 兵糧増加 농업 - 군량 증가
商業 - 国家予算増加 상업 - 국가 예산 증가
軍備 - 戦争に備え軍備の強化 군비 - 전쟁 대비 군비 강화
軍備コマンド - 군비 명령어 -
・兵を雇う - 兵を雇う。使われるのはキャラクタ持ちです。 · 병사 고용 - 부대원을 고용합니다. 소모되는 자금은 캐릭터의 소지금입니다.
・兵を訓練する - キャラクタの部隊の兵を訓練。最大は100。 · 부대 훈련 - 아군 부대를 훈련합니다. 최대 수치는 100입니다.
・兵を訓練する - キャラクタの率いる部隊を訓練。訓練する事で戦争時の部隊能力が上昇。 · 부대 훈련 - 거느린 부대를 훈련하며, 훈련도에 따라 전쟁 시 부대 전투력이 상승합니다.
戦争 - 国所属の場合に実行可能 전쟁 - 국가 소속 상태일 때 실행 가능
キャラクタの部隊総数に対して国家予算が1/10 兵糧が1/1以上あれば他国に攻め込める。 출전할 부대 규모 대비 국가 예산 1/10 이상, 군량 1/1 이상 보유 시 타국을 침공할 수 있습니다.
敵国に攻め込み勝利する事で敵国の国力を奪える。 적국을 침략하여 승리하면 상대국의 국력을 뺏어옵니다.
戦争が始まると敵国から適当に選ばれたプレイヤーキャラクタ、またはNPCが防衛部隊として出現。 전쟁이 개시되면 적국에서 임의로 선정된 유저 캐릭터 혹은 NPC 부대가 수비대로 출현합니다.
- 戦争の進め方 - - 전쟁 수행 절차 -
戦争ではジャンケンの要領で戦闘を行う。 전쟁 시에는 가위바위보와 비슷한 상성 방식으로 전투를 치릅니다.
攻撃陣形→防御陣形→突撃陣形→攻撃陣形… 공격 진형 → 방어 진형 → 돌격 진형 → 공격 진형 ...
という具合に、敵が防御陣形時に攻撃陣形を取れば、相手に多大な損害を与える事ができ、 즉, 적이 방어 진형일 때 아군이 공격 진형을 선택하면 큰 피해를 줄 수 있으며,
反対に敵が攻撃陣形時に防御陣形を取ってしまうと、自部隊に甚大な被害がでてしまう。 반대로 적이 공격 진형일 때 방어 진형을 취해 버리면 아군 부대가 막대한 피해를 입게 됩니다.
- 一騎討ち - - 일대일 결투 (일기토) -
断ると評価が少し下がり、受ければ少し上昇。 거절하면 평판이 소폭 하락하고, 수락하면 약간 상승합니다.
一騎討ちに勝利すると多めに評価値が上昇し、負けると多めに減少。 결투에서 이기면 평판이 크게 오르고, 지면 큰 폭으로 깎입니다.
勝っても負けても経験値とお金が手に入るが、撤退は無報酬。 승패와 무관하게 경험치와 자금을 받지만, 중도 퇴각은 보상이 없습니다.
ただ撤退すれば兵力はその時点の数値で国の総兵士数に戻るから、勝てない相手の場合は撤退した方が利口。 다만 퇴각 시에는 살아남은 병력이 아군의 총 병력으로 보전되므로, 이길 수 없는 상대라면 후퇴하는 것이 현명합니다.
能力 - 能力上昇コマンド。所属による制限なし。 능력 - 능력치 강화 명령어. 소속 제한 없음.
仕官 - 国に仕官したり、放浪の身になったりする。 임관 - 국가에 임관하거나 하야하여 방랑합니다.
無所属していても良い事はひとつもない。仕官はレベル2から 무소속으로 있는 동안에는 이득이 전혀 없습니다. 임관은 레벨 2부터 가능합니다.
情報 - 現在所属している国の情報 정보 - 현재 소속된 국가의 현황 정보
回復 - HP/MPを瞬時に全回復 치료 - 체력(HP)과 정신력(MP)을 즉시 완전 회복
宝くじ - 1500G 미니로또 - 1500G
壱等10万G/弐等5万G/参等1万G/四等1千G/幸運 HPもしくはMP全回復/不幸 HP MP半減/罪罰 ハグレメタルの剣 1등 10만 G / 2등 5만 G / 3등 1만 G / 4등 1천 G / 행운 HP 혹은 MP 완전 회복 / 불행 HP, MP 절반 / 죄벌 하구레메탈의 검
討伐 - 魑魅魍魎を征伐。 토벌 - 이매망량 소탕.
討伐に成功すると地位と賞金を獲得。 토벌 성공 시 공헌도와 현상금 획득.
ごく稀に隠し武具や隠しアイテムを落とすことがある。 극히 드문 확률로 필드 전용 무구나 히든 아이템 획득 가능.
多く討伐すると英雄になれる。 토벌 횟수를 쌓아 영웅이 될 수 있습니다.
軍事 - 敵国に対する戦略 군사 - 적국에 대한 파괴 공작
諜報 - 国家予算を奪取 첩보 - 국가 예산 강탈
強奪 - 兵糧を奪取 강탈 - 군량 강탈
洗脳 - 敵国の兵士数を奪取 세뇌 - 적국의 수비대원 세뇌 포섭
</pre> </pre>
<a href="#0" accesskey="0">[0] 先頭に戻る</a> <a href="#0" accesskey="0">[0] 처음으로</a>
<hr color="white"> <hr color="white">
<a name="4">4 メニュー説明</a> <a name="4">4 메뉴 설명</a>
<pre> <pre>
交流広場 - プレイヤー同士の交流場 교류 광장 - 유저 간 소통과 교류를 위한 공간
作戦会議 - 作戦会議室。無所属は利用不可。 작전 회의 - 국가별 작전본부. 무소속 입장 불가.
ショッピング - 武具や道具の売買、お金の融資など。 쇼핑 - 무구 및 도구 거래, 대출 등.
金融で借金をすると返済まで烙印の称号が付加され、いくつかの行動が制限されるので注意。 대출을 받으면 상환 시까지 낙인 칭호가 찍히며, 일부 활동이 제약되므로 유의.
公式条約 - 各国間で結んだ条約や同盟など 공식 조약 - 세력 간 동맹 및 평화 협정 공고
過去の栄光 - 過去に行われた各国の攻防の記録 명예의 전당 - 역대 국가별 공방전 기록
</pre> </pre>
<a href="#0" accesskey="0">[0] 先頭に戻る</a> <a href="#0" accesskey="0">[0] 처음으로</a>
</body> <hr color="white">
</html> </body>
</html>
+32 -32
View File
@@ -1,32 +1,32 @@
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=x-sjis"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>VK“o˜^</title> <title>신규 가입</title>
<Style Type="text/css"> <Style Type="text/css">
<!-- <!--
A:link {text-decoration:none;} A:link {text-decoration:none;}
A:visited{text-decoration:none;} A:visited{text-decoration:none;}
A:hover {text-decoration:underline; color:#669966; background-color:#ccffcc;} A:hover {text-decoration:underline; color:#669966; background-color:#ccffcc;}
hr{color:#ff99cc; height:2px} hr{color:#ff99cc; height:2px}
input,textarea,select{border-left:2px solid #666666; input,textarea,select{border-left:2px solid #666666;
border-right:2px solid #666666; border-right:2px solid #666666;
border-top:2px solid #666666; border-top:2px solid #666666;
border-bottom:2px solid #666666; border-bottom:2px solid #666666;
background-color : #cccccc; color : #666666;} background-color : #cccccc; color : #666666;}
body{font-size:11pt} body{font-size:11pt}
--> -->
</Style> </Style>
</head> </head>
<body bgcolor="#000000" text="#eeeeee" link="#ccccff" vlink="#ccccff" alink="#ccccff"> <body bgcolor="#000000" text="#eeeeee" link="#ccccff" vlink="#ccccff" alink="#ccccff">
<center> <center>
VK“o˜^ 신규 가입
<form action="../ore_reg.cgi" method="POST" name="ore_reg"> <form action="../ore_reg.cgi" method="POST" name="ore_reg">
ÌßÚ²Ô°–¼:<input type="text" size="16" name="nm">(SŠp4`8•¶Žš)<br> 플레이어 이름:<input type="text" size="16" name="nm">(전각 4~8글자)<br>
ID:<input type="text" size="16" name="id">(”¼Šp‰p”4`12•¶Žš)<br> ID:<input type="text" size="16" name="id">(반각 영문/숫자 4~12글자)<br>
Ê߽ܰÄÞ:<input type="text" size="8" maxlength="8" name="pw">(”¼Šp‰p”4`8•¶Žš)<br> 비밀번호:<input type="text" size="8" maxlength="8" name="pw">(반각 영문/숫자 4~8글자)<br>
<input type="submit" value="OK"> <input type="submit" value="확인">
</form> </form>
<a href="index.cgi">INDEX‚Ö</a> <a href="index.cgi">메인으로</a>
</body> </body>
</html> </html>
+33 -33
View File
@@ -1,33 +1,33 @@
body { font-size: 12px; font-family: "MS Pゴシック", "Osaka"} body { font-size: 12px; font-family: "MS Pゴシック", "Osaka"}
.moji1 { font-size: 14px; font-style: normal; font-weight: 400; color: #bbbbcc} .moji1 { font-size: 14px; font-style: normal; font-weight: 400; color: #bbbbcc}
.moji2 { font-size: 12px; font-style: normal; font-weight: 400; color: #bbbbcc} .moji2 { font-size: 12px; font-style: normal; font-weight: 400; color: #bbbbcc}
.button1{ .button1{
font-family: "MS Pゴシック", "Osaka"; font-size: 14px; font-weight: 400; color: #bbbbcc; font-family: "MS Pゴシック", "Osaka"; font-size: 14px; font-weight: 400; color: #bbbbcc;
border: 4px #666699 ridge; cursor: hand; background-color: #111122; border: 4px #666699 ridge; cursor: hand; background-color: #111122;
width:160px; height:28px; width:160px; height:28px;
} }
.button2{ .button2{
font-family: "MS Pゴシック", "Osaka"; font-size: 14px; font-weight: 400; color: #bbbbcc; font-family: "MS Pゴシック", "Osaka"; font-size: 14px; font-weight: 400; color: #bbbbcc;
border: 2px #9999CC ridge; cursor: hand; background-color: #222244; border: 2px #9999CC ridge; cursor: hand; background-color: #222244;
height:24px; height:24px;
} }
.button3{ .button3{
font-family: "MS Pゴシック", "Osaka"; font-size: 12px; font-weight: 400; color: #9999bb; font-family: "MS Pゴシック", "Osaka"; font-size: 12px; font-weight: 400; color: #9999bb;
border: 1px #9999CC solid; cursor: hand; background-color: #222244; border: 1px #9999CC solid; cursor: hand; background-color: #222244;
height:20px; height:20px;
} }
select { select {
font-family: "MS Pゴシック", "Osaka"; font-size: 14px; font-weight: 400; color: #ccccee; font-family: "MS Pゴシック", "Osaka"; font-size: 14px; font-weight: 400; color: #ccccee;
cursor: hand; background-color: #333366; cursor: hand; background-color: #333366;
width:160px; height:28px; width:160px; height:28px;
} }
td { font-size:11pt;color:#222222} td { font-size:11pt;color:#222222}
.bar { .bar {
scrollbar-face-color: #333333; scrollbar-face-color: #333333;
scrollbar-highlight-color: #333333; scrollbar-highlight-color: #333333;
scrollbar-shadow-color: #000000; scrollbar-shadow-color: #000000;
scrollbar-arrow-color: #ffffff; scrollbar-arrow-color: #ffffff;
scrollbar-base-color: #000000; scrollbar-base-color: #000000;
scrollbar-3d-light-color: #ffffff; scrollbar-3d-light-color: #ffffff;
scrollbar-dark-shadow-color: #000000 scrollbar-dark-shadow-color: #000000
} }
+152 -152
View File
@@ -1,153 +1,153 @@
<html> <html>
<head> <head>
<title>罪と罰++ 特殊技・階級技</title> <title>죄와 벌++ 특수기·계급기</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head> </head>
<!-- (C)2001 Vivid Studio. + BLANK BOARD --> <!-- (C)2001 Vivid Studio. + BLANK BOARD -->
<body bgcolor="#000000" text="#eeeeee" link="#ccccff" vlink="#ccccff" alink="#ccccff"> <body bgcolor="#000000" text="#eeeeee" link="#ccccff" vlink="#ccccff" alink="#ccccff">
<basefont size="2"> <basefont size="2">
<font face="MS P明朝, 細明朝体" size="5"><b>罪と罰<sup>++</sup> 特殊技・階級技</b></font> <font face="MS P明朝, 細明朝体" size="5"><b>죄와 벌<sup>++</sup> 특수기·계급기</b></font>
<br> <br> <br> <br>
<br> <br> <br> <br>
- <a href="#1">アルメリア王国</a> - - <a href="#1">알메리아 왕국</a> -
<a href="#2">フラリン教国</a> - <a href="#2">플라린 교국</a> -
<a href="#3">イギス連合国</a> - <a href="#3">이기스 연합국</a> -
<a href="#4">ソーディナ帝国</a> - <a href="#4">소디나 제국</a> -
<a href="#5">ヤマト神国</a> -<br> <a href="#5">야마토 신국</a> -<br>
- <a href="#6">無所属</a> - - <a href="#6">무소속</a> -
<a href="#7">階級技</a> - <a href="#7">계급기</a> -
<br> <br> <br> <br>
- <a href="./Help.html">取り扱い説明書に戻る</a> - - <a href="./Help.html">사용설명서로 돌아가기</a> -
<a href="../index.cgi">タイトルへ戻る</a> - <a href="../index.cgi">메인 화면으로 돌아가기</a> -
<br> <br> <br> <br>
<br> <br> <br> <br>
<hr align="center" size="1"> <hr align="center" size="1">
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#1">アルメリア王国</a></font></b></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#1">알메리아 왕국</a></font></b></font>
<br> <br> <br> <br>
レベル5 疾風剣 [MP -6] UA1.5倍攻撃 레벨 5 질풍검 [MP -6] UA 1.5배 공격
<br> <br> <br> <br>
レベル10 生命功 [MP -9] 体力10回復 레벨 10 생명공 [MP -9] 체력 10 회복
<br> <br> <br> <br>
レベル15 奉撃功 [MP -12] 戦闘中UA-UP レ벨 15 봉격공 [MP -12] 전투 중 UA 상승
<br> <br> <br> <br>
レベル20 炎蒼旋 [MP -15] 防御無視で30ダメージ 레벨 20 염창선 [MP -15] 방어 무시 30 데미지
<br> <br> <br> <br>
レベル25 鋼気 [MP -18] 戦闘中UD-UP 레벨 25 강기 [MP -18] 전투 중 UD 상승
<br> <br> <br> <br>
レベル30 絶心功 [MP -21] 体力50回復 레벨 30 절심공 [MP -21] 체력 50 회복
<br> <br> <br> <br>
レベル35 鳳凰転生 [MP -60] 敵体力4~8割ダメージ(リスクあり) 레벨 35 봉황전생 [MP -60] 적 체력 40~80% 데미지 (리스크 있음)
<br> <br> <br> <br>
レベル40 魂砕き [MP -90] 確率で敵瞬殺(リスクあり) 레벨 40 혼 부수기 [MP -90] 확률로 적 즉사 (리스크 있음)
<br> <br> <br> <br>
<br> <br> <br> <br>
<hr align="center" size="1"> <hr align="center" size="1">
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#2">フラリン教国</a></font></b></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#2">플라린 교국</a></font></b></font>
<br> <br> <br> <br>
レベル5 バーティカルソード [MP -6] UA1.5倍攻撃 레벨 5 버티컬 소드 [MP -6] UA 1.5배 공격
<br> <br> <br> <br>
レベル10 アタック [MP -12] 戦闘中UA-UP 레벨 10 어택 [MP -12] 전투 중 UA 상승
<br> <br> <br> <br>
レベル15 ヒール [MP -6] 体力10回復 레벨 15 힐 [MP -6] 체력 10 회복
<br> <br> <br> <br>
レベル20 セイントクロス [MP -18] 防御無視で30ダメージ、更に体力回復 레벨 20 세인트 크로스 [MP -18] 방어 무시 30 데미지 및 체력 회복
<br> <br> <br> <br>
レベル25 アンクレアブレイク [MP -30] 敵UAをゼロに。 레벨 25 앙크레아 브레이크 [MP -30] 적 UA를 0으로 만듦.
<br> <br> <br> <br>
レベル30 ハイヒール [MP -21] 体力50回復 레벨 30 하이 힐 [MP -21] 체력 50 회복
<br> <br> <br> <br>
レベル35 夢を継ぐ者 [MP -45] 140200ダメージ 레벨 35 꿈을 잇는 자 [MP -45] 140~200 데미지
<br> <br> <br> <br>
レベル40 龍破斬 [MP -90] 200350ダメージ 레벨 40 용파참(드래곤 슬레이브) [MP -90] 200~350 데미지
<br> <br> <br> <br>
<br> <br> <br> <br>
<hr align="center" size="1"> <hr align="center" size="1">
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#3">イギス連合国</a></font></b></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#3">이기스 연합국</a></font></b></font>
<br> <br> <br> <br>
レベル5 ソードスラッシュ [MP -6] 防御無視で15ダメージ 레벨 5 소드 슬래시 [MP -6] 방어 무시 15 데미지
<br> <br> <br> <br>
レベル10 アタック [MP -12] 戦闘中UA-UP 레벨 10 어택 [MP -12] 전투 중 UA 상승
<br> <br> <br> <br>
レベル15 ソードダンス [MP -12] 防御無視で25ダメージ 레벨 15 소드 댄스 [MP -12] 방어 무시 25 데미지
<br> <br> <br> <br>
レベル20 シールド [MP -18] 戦闘中UD-UP 레벨 20 실드 [MP -18] 전투 중 UD 상승
<br> <br> <br> <br>
レベル25 アーマーブレイク [MP -25] 敵UDをゼロに。 레벨 25 아머 브레이크 [MP -25] 적 UD를 0으로 만듦.
<br> <br> <br> <br>
レベル30 ハイヒール [MP -21] 体力50回復 레벨 30 하이 힐 [MP -21] 체력 50 회복
<br> <br> <br> <br>
レベル35 オーガソード [MP -40] UA3倍攻撃 레벨 35 오거 소드 [MP -40] UA 3배 공격
<br> <br> <br> <br>
レベル40 アルティメットアタック [MP -99] 防御無視でHPとMPにUA3倍攻撃 레벨 40 얼티밋 어택 [MP -99] 방어 무시하고 적의 HP와 MP에 UA 3배 공격
<br> <br> <br> <br>
<br> <br> <br> <br>
<hr align="center" size="1"> <hr align="center" size="1">
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#4">ソーディナ帝国</a></font></b></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#4">소디나 제국</a></font></b></font>
<br> <br> <br> <br>
レベル5 暗黒剣 [MP -9] UA2倍攻撃 레벨 5 암흑검 [MP -9] UA 2배 공격
<br> <br> <br> <br>
レベル10 デッドクラウン [MP -12] 防御無視で20ダメージ、更に体力回復 레벨 10 데드 크라운 [MP -12] 방어 무시 20 데미지 및 체력 회복
<br> <br> <br> <br>
レベル15 ナイトメア [MP -10] 敵MPに30ダメージ 레벨 15 나이트메어 [MP -10] 적 MP에 30 데미지
<br> <br> <br> <br>
レベル20 黒炎 [MP -15] 防御無視で30ダメージ 레벨 20 흑염 [MP -15] 방어 무시 30 데미지
<br> <br> <br> <br>
レベル25 絶心功 [MP -21] 体力50回復 레벨 25 절심공 [MP -21] 체력 50 회복
<br> <br> <br> <br>
レベル30 アタック [MP -12] 戦闘中UA-UP 레벨 30 어택 [MP -12] 전투 중 UA 상승
<br> <br> <br> <br>
レベル35 シールド  [MP -18] 戦闘中UD-UP 레벨 35 실드  [MP -18] 전투 중 UD 상승
<br> <br> <br> <br>
レベル40 地獄門 [MP -70] 防御無視で200250ダメージ 레벨 40 지옥문 [MP -70] 방어 무시 200~250 데미지
<br> <br> <br> <br>
<br> <br> <br> <br>
<hr align="center" size="1"> <hr align="center" size="1">
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#5"> ヤマト神国</a></font></b></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#5"> 야마토 신국</a></font></b></font>
<br> <br> <br> <br>
レベル5 壱式 [MP -10] 防御無視で30ダメージ(リスクあり) 레벨 5 일식 [MP -10] 방어 무시 30 데미지 (리스크 있음)
<br> <br> <br> <br>
レベル10 壱式・断 [MP -10] UA1.5倍攻撃 레벨 10 일식·단 [MP -10] UA 1.5배 공격
<br> <br> <br> <br>
レベル15 弐式 [MP -20] 防御無視で70ダメージ(リスクあり) 레벨 15 이식 [MP -20] 방어 무시 70 데미지 (리스크 있음)
<br> <br> <br> <br>
レベル20 弐式・裂 [MP -20] UA22.5倍攻撃(リスクあり) 레벨 20 이식·열 [MP -20] UA 2~2.5배 공격 (리스크 있음)
<br> <br> <br> <br>
レベル25 参式 [MP -30] 防御無視で120ダメージ(リスクあり) 레벨 25 삼식 [MP -30] 방어 무시 120 데미지 (리스크 있음)
<br> <br> <br> <br>
レベル30 参式・波 [MP -30] UA33.5倍攻撃(リスクあり) 레벨 30 삼식·파 [MP -30] UA 3~3.5배 공격 (리스크 있음)
<br> <br> <br> <br>
レベル35 零式 [MP -60] 防御無視で200ダメージ(リスクあり) 레벨 35 영식 [MP -60] 방어 무시 200 데미지 (리스크 있음)
<br> <br> <br> <br>
レベル40 零式・絶 [MP -80] UA56倍攻撃(リスクあり) 레벨 40 영식·절 [MP -80] UA 5~6배 공격 (리스크 있음)
<br> <br> <br> <br>
<br> <br> <br> <br>
<hr align="center" size="1"> <hr align="center" size="1">
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#6"> 無所属</a></font></b></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#6"> 무소속</a></font></b></font>
<br> <br> <br> <br>
レベル5 マジン剣 [MP -3] UA5倍攻撃 레벨 5 마진검 [MP -3] UA 5배 공격
<br> <br> <br> <br>
レベル10 全回復 [MP -9] 体力完全回復 레벨 10 전회복 [MP -9] 체력 완전 회복
<br> <br> <br> <br>
レベル5以上 マジン剣 [MP -9] クリティカルヒット(UA4倍攻撃) ある条件により2.5%10%の確率で発動 레벨 5 이상 마진검 [MP -9] 크리티컬 히트 (UA 4배 공격) 특정 조건 충족 시 2.5%~10% 확률로 발동
<br> <br> <br> <br>
レベル1020 連続技 [MP -10] マジン剣 + 半回復  ある条件により2.5%10%の確率で発動 레벨 10~20 연속기 [MP -10] 마진검 + 절반 회복 특정 조건 충족 시 2.5%~10% 확률로 발동
<br> <br> <br> <br>
<br> <br> <br> <br>
<hr align="center" size="1"> <hr align="center" size="1">
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#7"> 階級技</a></font></b><small>(各国共通・無所属不可)</small></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a name="#7"> 계급기</a></font></b><small>(모든 국가 공통·무소속 사용 불가)</small></font>
<br> <br> <br> <br>
上級騎士 ファイアー [MP -5] (UA + UD)の2倍攻撃 상급기사 파이어 [MP -5] (UA + UD)의 2배 공격
<br> <br> <br> <br>
大隊長 アイスストーム [MP -25] (UA + UD)2.5倍攻撃 대대장 아이스 스톰 [MP -25] (UA + UD)2.5倍 공격
<br> <br> <br> <br>
上級大将 ダイヤキュート [MP -50] (UA + UD)の3倍攻撃 상급대장 다이아 큐트 [MP -50] (UA + UD)의 3배 공격
<br> <br> <br> <br>
元帥 ブレインダムド [MP -100] (UA + UD)の4倍攻撃 원수 브레인 댐드 [MP -100] (UA + UD)의 4배 공격
<br> <br> <br> <br>
<br> <br> <br> <br>
<br> <br> <br> <br>
<br> <br> <br> <br>
<br> <br> <br> <br>
<font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a href="../index.cgi"> タイトルへ戻る</a></font></b></font> <font face="MS P明朝, 細明朝体" size="3"><b><font color="#FF0000"><a href="../index.cgi"> 메인 화면으로 돌아가기</a></font></b></font>
</body> </body>
</html> </html>
+90 -90
View File
@@ -1,91 +1,91 @@
<html> <html>
<head> <head>
<title>特殊・階級技[モバイル版]</title> <title>특수·계급기 [모바일 버전]</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head> </head>
<body bgcolor="#000000" text="#eeeeee" link="#ccccff" vlink="#ccccff" alink="#ccccff"> <body bgcolor="#000000" text="#eeeeee" link="#ccccff" vlink="#ccccff" alink="#ccccff">
<a href="./Help_i.html" accesskey="9">[9]説明書に戻る</a> <a href="./Help_i.html" accesskey="9">[9] 설명서로 돌아가기</a>
<hr color="white"> <hr color="white">
<a name="0">特殊・階級技</a> <a name="0">특수·계급기</a>
<br> <br>
<a href="#1" accesskey="1">アルメリア王国</a> <a href="#1" accesskey="1">알메리아 왕국</a>
/<a href="#2" accesskey="2">フラリン教国</a> /<a href="#2" accesskey="2">플라린 교국</a>
/<a href="#3" accesskey="3">イギス連合国</a> /<a href="#3" accesskey="3">이기스 연합국</a>
/<a href="#4" accesskey="4">ソーディナ帝国</a> /<a href="#4" accesskey="4">소디나 제국</a>
/<a href="#5" accesskey="5">ヤマト神国</a> /<a href="#5" accesskey="5">야마토 신국</a>
/<a href="#6" accesskey="6">無所属</a> /<a href="#6" accesskey="6">무소속</a>
/<a href="#7" accesskey="7">階級技</a> /<a href="#7" accesskey="7">계급기</a>
<hr color="white"> <hr color="white">
<a name="1">アルメリア王国</a><br> <a name="1">알메리아 왕국</a><br>
レベル5 疾風剣 [MP -6] UA1.5倍攻撃<br> 레벨 5 질풍검 [MP -6] UA 1.5배 공격<br>
レベル10 生命功 [MP -9] 体力10回復<br> 레벨 10 생명공 [MP -9] 체력 10 회복<br>
レベル15 奉撃功 [MP -12] 戦闘中UA-UP<br> 레벨 15 봉격공 [MP -12] 전투 중 UA 상승<br>
レベル20 炎蒼旋 [MP -15] 防御無視で30ダメージ<br> 레벨 20 염창선 [MP -15] 방어 무시 30 데미지<br>
レベル25 鋼気 [MP -18] 戦闘中UD-UP<br> 레벨 25 강기 [MP -18] 전투 중 UD 상승<br>
レベル30 絶心功 [MP -21] 体力50回復<br> 레벨 30 절심공 [MP -21] 체력 50 회복<br>
レベル35 鳳凰転生 [MP -60] 敵体力4~8割ダメージ(リスクあり)<br> 레벨 35 봉황전생 [MP -60] 적 체력 40~80% 데미지 (리스크 있음)<br>
レベル40 魂砕き [MP -90] 確率で敵瞬殺(リスクあり) 레벨 40 혼 부수기 [MP -90] 확률로 적 즉사 (리스크 있음)
<a href="#0" accesskey="0">[0]先頭に戻る</a> <a href="#0" accesskey="0">[0] 처음으로</a>
<hr color="white"> <hr color="white">
<a name="2">フラリン教国</a><br> <a name="2">플라린 교국</a><br>
レベル5 バーティカルソード [MP -6] UA1.5倍攻撃<br> 레벨 5 버티컬 소드 [MP -6] UA 1.5배 공격<br>
レベル10 アタック [MP -12] 戦闘中UA-UP<br> 레벨 10 어택 [MP -12] 전투 중 UA 상승<br>
レベル15 ヒール [MP -6] 体力10回復<br> 레벨 15 힐 [MP -6] 체력 10 회복<br>
レベル20 セイントクロス [MP -18] 防御無視で30ダメージ、更に体力回復<br> 레벨 20 세인트 크로스 [MP -18] 방어 무시 30 데미지 및 체력 회복<br>
レベル25 アンクレアブレイク [MP -30] 敵UAをゼロに。<br> 레벨 25 앙크레아 브레이크 [MP -30] 적 UA를 0으로 만듦.<br>
レベル30 ハイヒール [MP -21] 体力50回復<br> 레벨 30 하이 힐 [MP -21] 체력 50 회복<br>
レベル35 夢を継ぐ者 [MP -45] 140~200ダメージ<br> 레벨 35 꿈을 잇는 자 [MP -45] 140~200 데미지<br>
レベル40 龍破斬 [MP -90] 200~350ダメージ 레벨 40 용파참 [MP -90] 200~350 데미지
<a href="#0" accesskey="0">[0]先頭に戻る</a> <a href="#0" accesskey="0">[0] 처음으로</a>
<hr color="white"> <hr color="white">
<a name="3">イギス連合国</a><br> <a name="3">이기스 연합국</a><br>
レベル5 ソードスラッシュ [MP -6] 防御無視で15ダメージ<br> 레벨 5 소드 슬래시 [MP -6] 방어 무시 15 데미지<br>
レベル10 アタック [MP -12] 戦闘中UA-UP<br> 레벨 10 어택 [MP -12] 전투 중 UA 상승<br>
レベル15 ソードダンス [MP -12] 防御無視で25ダメージ<br> 레벨 15 소드 댄스 [MP -12] 방어 무시 25 데미지<br>
レベル20 シールド [MP -18] 戦闘中UD-UP<br> 레벨 20 실드 [MP -18] 전투 중 UD 상승<br>
レベル25 アーマーブレイク [MP -25] 敵UDをゼロに。<br> 레벨 25 아머 브레이크 [MP -25] 적 UD를 0으로 만듦.<br>
レベル30 ハイヒール [MP -21] 体力50回復<br> 레벨 30 하이 힐 [MP -21] 체력 50 회복<br>
レベル35 オーガソード [MP -40] UA3倍攻撃<br> 레벨 35 오거 소드 [MP -40] UA 3배 공격<br>
レベル40 アルティメットアタック [MP -99] 防御無視でHPとMPにUA3倍攻撃 레벨 40 얼티밋 어택 [MP -99] 방어 무시하고 적의 HP와 MP에 UA 3배 공격
<a href="0" accesskey="0">[0]先頭に戻る</a> <a href="0" accesskey="0">[0] 처음으로</a>
<hr color="white"> <hr color="white">
<a name="4">ソーディナ帝国</a> <a name="4">소디나 제국</a>
<br> <br>
レベル5 暗黒剣 [MP -9] UA2倍攻撃<br> 레벨 5 암흑검 [MP -9] UA 2배 공격<br>
レベル10 デッドクラウン [MP -12] 防御無視で20ダメージ、更に体力回復<br> 레벨 10 데드 크라운 [MP -12] 방어 무시 20 데미지 및 체력 회복<br>
レベル15 ナイトメア [MP -10] 敵MPに30ダメージ<br> 레벨 15 나이트메어 [MP -10] 적 MP에 30 데미지<br>
レベル20 黒炎 [MP -15] 防御無視で30ダメージ<br> 레벨 20 흑염 [MP -15] 방어 무시 30 데미지<br>
レベル25 絶心功 [MP -21] 体力50回復<br> 레벨 25 절심공 [MP -21] 체력 50 회복<br>
レベル30 アタック [MP -12] 戦闘中UA-UP<br> 레벨 30 어택 [MP -12] 전투 중 UA 상승<br>
レベル35 シールド [MP -18] 戦闘中UD-UP<br> 레벨 35 실드 [MP -18] 전투 중 UD 상승<br>
レベル40 地獄門 [MP -70] 防御無視で200~250ダメージ 레벨 40 지옥문 [MP -70] 방어 무시 200~250 데미지
<a href="#0" accesskey="0">[0]先頭に戻る</a> <a href="#0" accesskey="0">[0] 처음으로</a>
<hr color="white"> <hr color="white">
<a name="5">ヤマト神国</a> <a name="5">야마토 신국</a>
<br> <br>
レベル5 壱式 [MP -10] 防御無視で30ダメージ(リスクあり)<br> 레벨 5 일식 [MP -10] 방어 무시 30 데미지 (리스크 있음)<br>
レベル10 壱式・断 [MP -10] UA1.5倍攻撃<br> 레벨 10 일식·단 [MP -10] UA 1.5배 공격<br>
レベル15 弐式 [MP -20] 防御無視で70ダメージ(リスクあり)<br> 레벨 15 이식 [MP -20] 방어 무시 70 데미지 (리스크 있음)<br>
レベル20 弐式・裂 [MP -20] UA2~2.5倍攻撃(リスクあり)<br> 레벨 20 이식·열 [MP -20] UA 2~2.5배 공격 (리스크 있음)<br>
レベル25 参式 [MP -30] 防御無視で120ダメージ(リスクあり)<br> 레벨 25 삼식 [MP -30] 방어 무시 120 데미지 (리스크 있음)<br>
レベル30 参式・波 [MP -30] UA3~3.5倍攻撃(リスクあり)<br> 레벨 30 삼식·파 [MP -30] UA 3~3.5배 공격 (리스크 있음)<br>
レベル35 零式 [MP -60] 防御無視で200ダメージ(リスクあり)<br> 레벨 35 영식 [MP -60] 방어 무시 200 데미지 (리스크 있음)<br>
レベル40 零式・絶 [MP -80] UA5~6倍攻撃(リスクあり)<hr color="white"> 레벨 40 영식·절 [MP -80] UA 5~6배 공격 (리스크 있음)<hr color="white">
<a href="#0" accesskey="0">[0]先頭に戻る</a> <a href="#0" accesskey="0">[0] 처음으로</a>
<hr color="white"> <hr color="white">
<a name="6">無所属</a> <a name="6">무소속</a>
<br> <br>
レベル5 マジン剣 [MP -3] UA5倍攻撃<br> 레벨 5 마진검 [MP -3] UA 5배 공격<br>
レベル10 全回復 [MP -9] 体力完全回復<br> 레벨 10 전회복 [MP -9] 체력 완전 회복<br>
レベル5以上 マジン剣 [MP -9] クリティカルヒット(UA4倍攻撃) ある条件により2.5%~10%の確率で発動<br> 레벨 5 이상 마진검 [MP -9] 크리티컬 히트 (UA 4배 공격) 특정 조건 충족 시 2.5%~10% 확률로 발동<br>
レベル10~20 連続技 [MP -10] マジン剣 + 半回復 ある条件により2.5%~10%の確率で発動 레벨 10~20 연속기 [MP -10] 마진검 + 절반 회복 특정 조건 충족 시 2.5%~10% 확률로 발동
<a href="#0" accesskey="0">[0]先頭に戻る</a> <a href="#0" accesskey="0">[0] 처음으로</a>
<hr color="white"> <hr color="white">
<a name="7">階級技</a>(各国共通・無所属不可)<br> <a name="7">계급기</a>(모든 국가 공통·무소속 사용 불가)<br>
上級騎士 ファイアー [MP -5] (UA + UD)の2倍攻撃<br> 상급기사 파이어 [MP -5] (UA + UD)의 2배 공격<br>
大隊長 アイスストーム [MP -25] (UA + UD)2.5倍攻撃<br> 대대장 아이스 스톰 [MP -25] (UA + UD)2.5배 공격<br>
上級大将 ダイヤキュート [MP -50] (UA + UD)の3倍攻撃<br> 상급대장 다이아 큐트 [MP -50] (UA + UD)의 3배 공격<br>
元帥 ブレインダムド [MP -100] (UA + UD)の4倍攻撃 원수 브레인 댐드 [MP -100] (UA + UD)의 4배 공격
<a href="#0" accesskey="0">[0]先頭に戻る</a> <a href="#0" accesskey="0">[0] 처음으로</a>
</body> </body>
</html> </html>
Regular → Executable
+172 -172
View File
@@ -1,172 +1,172 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 能力 Version 1.0 # 능력 Version 1.0
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 能力メニュー # 능력 메뉴
sub ability{ sub ability{
if(!$type){ if(!$type){
&abi_up_data; &abi_up_data;
$log .= "UA $va G UD $vd G LR $vl G AG $vg G<br>体力・精神を15000 G を使いそれぞれの能\力を上げます<br>\n"; $log .= "UA $va G UD $vd G LR $vl G AG $vg G<br>체력·정신을 15000 G 사용하여 각각의 능력을 올립니다.<br>\n";
$tm=0; $tm=0;
$type='能力'; $type='능력';
&ability_menu; &ability_menu;
} }
&dat_write; &dat_write;
} }
sub ability_menu{ sub ability_menu{
# 能力コマンド # 능력 커맨드
@st = ('やめる','HP-UP','MP-UP','UA-UP','UD-UP','LR-UP','AG-UP'); @st = ('그만둔다','HP-UP','MP-UP','UA-UP','UD-UP','LR-UP','AG-UP');
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|; $log2 .=qq|<select name="cmd" size="1">\n|;
foreach(0 .. $#st){ $log2 .= "<option value=$_>$st[$_]</option>\n";} foreach(0 .. $#st){ $log2 .= "<option value=$_>$st[$_]</option>\n";}
$log2 .=qq|</select><br>\n|; $log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 能力処理 # 능력 처리
sub ability_exe{ sub ability_exe{
if(!$tm){ if(!$tm){
&abi_up_data; &abi_up_data;
if($cmd<=0){ if($cmd<=0){
$log .= "止めておきます<br>\n"; $log .= "그만둡니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif($cmd==1){ }elsif($cmd==1){
if($gold<15000){ if($gold<15000){
$log .= "お金が足りません<br>\n"; $log .= "돈이 부족합니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&ability_menu; &ability_menu;
}else{ }else{
$log .= "最大HPが3上がった<br>\n"; $log .= "최대 HP가 3 올랐다.<br>\n";
$max_hp+=3; $max_hp+=3;
$gold-=15000; $gold-=15000;
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
} }
}elsif($cmd==2){ }elsif($cmd==2){
if($gold<15000){ if($gold<15000){
$log .= "お金が足りません<br>\n"; $log .= "돈이 부족합니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&ability_menu; &ability_menu;
}else{ }else{
$log .= "最大MPが3上がった<br>\n"; $log .= "최대 MP가 3 올랐다.<br>\n";
$max_mp+=3; $max_mp+=3;
$gold-=15000; $gold-=15000;
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
} }
}elsif($cmd==3){ }elsif($cmd==3){
if($gold<$va){ if($gold<$va){
$log .= "お金が足りません<br>\n"; $log .= "돈이 부족합니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&ability_menu; &ability_menu;
}else{ }else{
$log .= "攻撃力が1上がった<br>\n"; $log .= "공격력이 1 올랐다.<br>\n";
$ua++; $ua++;
$gold-=$va; $gold-=$va;
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
} }
}elsif($cmd==4){ }elsif($cmd==4){
if($gold<$vd){ if($gold<$vd){
$log .= "お金が足りません<br>\n"; $log .= "돈이 부족합니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&ability_menu; &ability_menu;
}else{ }else{
$log .= "防御力が1上がった<br>\n"; $log .= "방어력이 1 올랐다.<br>\n";
$ud++; $ud++;
$gold-=$vd; $gold-=$vd;
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
} }
}elsif($cmd==5){ }elsif($cmd==5){
if($gold<$vl){ if($gold<$vl){
$log .= "お金が足りません<br>\n"; $log .= "돈이 부족합니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&ability_menu; &ability_menu;
}else{ }else{
$log .= "指揮力が1上がった<br>\n"; $log .= "지휘력이 1 올랐다.<br>\n";
$lr++; $lr++;
$gold-=$vl; $gold-=$vl;
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
} }
}elsif($cmd==6){ }elsif($cmd==6){
if($gold<$vg){ if($gold<$vg){
$log .= "お金が足りません<br>\n"; $log .= "돈이 부족합니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&ability_menu; &ability_menu;
}else{ }else{
$log .= "敏捷力が1上がった<br>\n"; $log .= "민첩성이 1 올랐다.<br>\n";
$ag++; $ag++;
$gold-=$vg; $gold-=$vg;
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
} }
} }
} }
&dat_write; &dat_write;
} }
# 能力上昇値計算 # 능력 상승치 계산
sub abi_up_data{ sub abi_up_data{
$va=int($ua*$ua)*100; $va=int($ua*$ua)*100;
$va=15000 if($va<15000); $va=15000 if($va<15000);
$va=500000 if($va>500000); $va=500000 if($va>500000);
$vd=int($ud*$ud)*100; $vd=int($ud*$ud)*100;
$vd=15000 if($vd<15000); $vd=15000 if($vd<15000);
$vd=500000 if($vd>500000); $vd=500000 if($vd>500000);
$vl=int($lr*$lr)*100; $vl=int($lr*$lr)*100;
$vl=30000 if($vl<30000); $vl=30000 if($vl<30000);
$vl=500000 if($vl>500000); $vl=500000 if($vl>500000);
$vg=int($ag*$ag)*100; $vg=int($ag*$ag)*100;
$vg=15000 if($vg<15000); $vg=15000 if($vg<15000);
$vg=500000 if($vg>500000); $vg=500000 if($vg>500000);
return ($va,$vd,$vl,$vg); return ($va,$vd,$vl,$vg);
} }
1; 1;
Regular → Executable
+150 -150
View File
@@ -1,150 +1,150 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 表示 PC用パーツ1 Version 1.0 # # 표시 PC용 파츠1 Version 1.0 #
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 通常表示用 # 통상 표시용
sub layout_flag_0{ sub layout_flag_0{
print <<EOM; print <<EOM;
<table width="740" border="0" cellspacing="0" cellpadding="0"> <table width="740" border="0" cellspacing="0" cellpadding="0">
<tr> <tr>
<td align="left" valign="top" width="540"> <td align="left" valign="top" width="540">
EOM EOM
if($log){ if($log){
print <<"EOM"; print <<"EOM";
<table width="100%" border="0" cellspacing="4" cellpadding="10" height="100" bgcolor="#444466"> <table width="100%" border="0" cellspacing="4" cellpadding="10" height="100" bgcolor="#444466">
<tr> <tr>
<td bgcolor="#000000" align="left" valign="top"> <td bgcolor="#000000" align="left" valign="top">
<tt class="moji1"> <tt class="moji1">
$log $log
</tt> </tt>
</td> </td>
</tr> </tr>
</table> </table>
<br> <br>
EOM EOM
} }
my @metu=('','()'); my @metu=('','(멸망)');
my $reset_time_out = int(($set-$time)/(3600*24)); my $reset_time_out = int(($set-$time)/(3600*24));
print <<"EOM"; print <<"EOM";
<table width="100%" border="0" cellspacing="4" cellpadding="4" bgcolor="#444466"> <table width="100%" border="0" cellspacing="4" cellpadding="4" bgcolor="#444466">
<tr> <tr>
<td bgcolor="#000000" align="center"> <td bgcolor="#000000" align="center">
<tt class="moji1"> <tt class="moji1">
$bmes $bmes
</tt> </tt>
</td> </td>
</tr> </tr>
</table> </table>
<br> <br>
<table width="100%" border="0" cellspacing="4" cellpadding="0" bgcolor="#444466"> <table width="100%" border="0" cellspacing="4" cellpadding="0" bgcolor="#444466">
<tr> <tr>
<td bgcolor="#000000" align="left" valign="top"> <td bgcolor="#000000" align="left" valign="top">
<!-- $rstで作っていた表示 --> <!-- $rst로 만들었던 표시 -->
<table border=0 cellpadding=2 cellspacing=2 width=100% align=center> <table border=0 cellpadding=2 cellspacing=2 width=100% align=center>
<tr> <tr>
<td bgcolor=#CCCCFF width=72>&nbsp;</td> <td bgcolor=#CCCCFF width=72>&nbsp;</td>
<td bgcolor=$color[1] align=center width=92>$cmp[1]$metu[$ce1]</td> <td bgcolor=$color[1] align=center width=92>$cmp[1]$metu[$ce1]</td>
<td bgcolor=$color[2] align=center width=92>$cmp[2]$metu[$ce2]</td> <td bgcolor=$color[2] align=center width=92>$cmp[2]$metu[$ce2]</td>
<td bgcolor=$color[3] align=center width=92>$cmp[3]$metu[$ce3]</td> <td bgcolor=$color[3] align=center width=92>$cmp[3]$metu[$ce3]</td>
<td bgcolor=$color[4] align=center width=92>$cmp[4]$metu[$ce4]</td> <td bgcolor=$color[4] align=center width=92>$cmp[4]$metu[$ce4]</td>
<td bgcolor=$color[5] align=center width=92>$cmp[5]$metu[$ce5]</td> <td bgcolor=$color[5] align=center width=92>$cmp[5]$metu[$ce5]</td>
</tr> </tr>
<tr> <tr>
<td bgcolor=#CCCCFF>総国力</td> <td bgcolor=#CCCCFF>총 국력</td>
<td bgcolor=$color[1] align=center>$cn1</td> <td bgcolor=$color[1] align=center>$cn1</td>
<td bgcolor=$color[2] align=center>$cn2</td> <td bgcolor=$color[2] align=center>$cn2</td>
<td bgcolor=$color[3] align=center>$cn3</td> <td bgcolor=$color[3] align=center>$cn3</td>
<td bgcolor=$color[4] align=center>$cn4</td> <td bgcolor=$color[4] align=center>$cn4</td>
<td bgcolor=$color[5] align=center>$cn5</td> <td bgcolor=$color[5] align=center>$cn5</td>
</tr> </tr>
<tr> <tr>
<td bgcolor=#CCCCFF>国家\予\算</td> <td bgcolor=#CCCCFF>국가 예산</td>
<td bgcolor=$color[1] align=center>$cg1</td> <td bgcolor=$color[1] align=center>$cg1</td>
<td bgcolor=$color[2] align=center>$cg2</td> <td bgcolor=$color[2] align=center>$cg2</td>
<td bgcolor=$color[3] align=center>$cg3</td> <td bgcolor=$color[3] align=center>$cg3</td>
<td bgcolor=$color[4] align=center>$cg4</td> <td bgcolor=$color[4] align=center>$cg4</td>
<td bgcolor=$color[5] align=center>$cg5</td> <td bgcolor=$color[5] align=center>$cg5</td>
</tr> </tr>
<tr> <tr>
<td bgcolor=#CCCCFF>総兵糧</td> <td bgcolor=#CCCCFF>총 군량</td>
<td bgcolor=$color[1] align=center>$cf1</td> <td bgcolor=$color[1] align=center>$cf1</td>
<td bgcolor=$color[2] align=center>$cf2</td> <td bgcolor=$color[2] align=center>$cf2</td>
<td bgcolor=$color[3] align=center>$cf3</td> <td bgcolor=$color[3] align=center>$cf3</td>
<td bgcolor=$color[4] align=center>$cf4</td> <td bgcolor=$color[4] align=center>$cf4</td>
<td bgcolor=$color[5] align=center>$cf5</td> <td bgcolor=$color[5] align=center>$cf5</td>
</tr> </tr>
<tr><td bgcolor=#CCCCFF>総兵士数</td> <tr><td bgcolor=#CCCCFF>총 병사 수</td>
<td bgcolor=$color[1] align=center>$cs1</td> <td bgcolor=$color[1] align=center>$cs1</td>
<td bgcolor=$color[2] align=center>$cs2</td> <td bgcolor=$color[2] align=center>$cs2</td>
<td bgcolor=$color[3] align=center>$cs3</td> <td bgcolor=$color[3] align=center>$cs3</td>
<td bgcolor=$color[4] align=center>$cs4</td> <td bgcolor=$color[4] align=center>$cs4</td>
<td bgcolor=$color[5] align=center>$cs5</td> <td bgcolor=$color[5] align=center>$cs5</td>
</tr> </tr>
<tr> <tr>
<td bgcolor=#CCCCFF>所属人数</td> <td bgcolor=#CCCCFF>소속 인원</td>
<td bgcolor=$color[1] align=center>$c1/$c1a</td> <td bgcolor=$color[1] align=center>$c1/$c1a</td>
<td bgcolor=$color[2] align=center>$c2/$c2a</td> <td bgcolor=$color[2] align=center>$c2/$c2a</td>
<td bgcolor=$color[3] align=center>$c3/$c3a</td> <td bgcolor=$color[3] align=center>$c3/$c3a</td>
<td bgcolor=$color[4] align=center>$c4/$c4a</td> <td bgcolor=$color[4] align=center>$c4/$c4a</td>
<td bgcolor=$color[5] align=center>$c5/$c5a</td> <td bgcolor=$color[5] align=center>$c5/$c5a</td>
</tr> </tr>
</table> </table>
<!-- ここまで --> <!-- 여기까지 -->
</td> </td>
</tr> </tr>
</table> </table>
</td> </td>
<td align="right" valign="top" width="190"> <td align="right" valign="top" width="190">
<table width="190" border="0" cellspacing="4" cellpadding="4" bgcolor="#444466" height="140"> <table width="190" border="0" cellspacing="4" cellpadding="4" bgcolor="#444466" height="140">
<tr> <tr>
<td bgcolor="#000000" align="left" valign="top" class="moji2"> <td bgcolor="#000000" align="left" valign="top" class="moji2">
<div align="center">- System Infomation -</div> <div align="center">- System Infomation -</div>
<hr size="2" noshade color="#9999bb" width="100%"> <hr size="2" noshade color="#9999bb" width="100%">
&nbsp;&nbsp; $goal_no <br> &nbsp;&nbsp; $goal_no <br>
&nbsp;&nbsp;統一期限まで 後 $reset_time_out &nbsp;&nbsp;통일 기한까지 남은 시간: $reset_time_out
</div> </div>
</td> </td>
</tr> </tr>
</table> </table>
<br> <br>
<table width="190" border="0" cellspacing="4" cellpadding="4" bgcolor="#444466"> <table width="190" border="0" cellspacing="4" cellpadding="4" bgcolor="#444466">
<tr> <tr>
<td bgcolor="#000000" align="left" valign="top" class="moji2"> <td bgcolor="#000000" align="left" valign="top" class="moji2">
参加総数: $all_mem / $sanka人定員<br> 참가 총수: $all_mem / 정원 $sanka<br>
統一国力: $data_reset&nbsp;&nbsp;難易度: $reset_point 통일 국력: $data_reset&nbsp;&nbsp;난이도: $reset_point
<hr size="2" noshade color="#9999bb"width=160> <hr size="2" noshade color="#9999bb"width=160>
前回の覇者: $hasya [$cmp[$hcamp]] 이전 패자: $hasya [$cmp[$hcamp]]
</td> </td>
</tr> </tr>
</table> </table>
</td> </td>
</tr> </tr>
</table> </table>
EOM EOM
} }
1; 1;
Regular → Executable
+82 -82
View File
@@ -1,82 +1,82 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# モバイル用サブルーチン Version 1.1 # # 모바일용 서브루틴 Version 1.1 #
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 画面レイアウト # 화면 레이아웃
sub html{ sub html{
local($shop_i); local($shop_i);
$shop_i = qq|<a href=$script?id=$id&pw=$pw&cmd=20 accesskey="2">2.ショッピング</a>/| if(!$type && $cmd<=0); $shop_i = qq|<a href=$script?id=$id&pw=$pw&cmd=20 accesskey="2">2. 쇼핑</a>/| if(!$type && $cmd<=0);
print "Content-type: text/html; charset=shift_jis\n\n" ; print "Content-type: text/html; charset=utf-8\n\n" ;
print qq|<html><head><meta http-equiv="Cache-Control" content="no-cache"><title>$titleh</title></head><body $body><center>|; print qq|<html><head><meta http-equiv="Cache-Control" content="no-cache"><title>$titleh</title></head><body $body><center>|;
print qq|$title_i<br>| if(!$tm && !$log); print qq|$title_i<br>| if(!$tm && !$log);
if($lt_mode =~ /00/){print qq|$log1<hr color=white>| if(!$tm && !$log)} if($lt_mode =~ /00/){print qq|$log1<hr color=white>| if(!$tm && !$log)}
else{print qq|$log1<hr color=white>|;} else{print qq|$log1<hr color=white>|;}
print qq|$log2<hr color=white>|; print qq|$log2<hr color=white>|;
print qq|$log<hr color=white>|; print qq|$log<hr color=white>|;
if(!$type && $cmd<=0){ if(!$type && $cmd<=0){
print qq|<a href="$index" accesskey="9">9.タイトル</a>/<a href="$park?id=$id&pw=$pw&camp=$camp&sogo=$sogo" accesskey="1">1.交流広場</a>/$shop_i<a href="$hist?id=$id&pw=$pw" accesskey="3">3.過去の栄光</a>/<a href="$public?id=$id&pw=$pw" accesskey="4">4.公式条約</a>/<a href="$campbbs?id=$id&pw=$pw" accesskey="5">5.作戦会議</a><hr color=white>| if($lt_mode =~ /01/); print qq|<a href="$index" accesskey="9">9. 타이틀</a>/<a href="$park?id=$id&pw=$pw&camp=$camp&sogo=$sogo" accesskey="1">1. 교류광장</a>/$shop_i<a href="$hist?id=$id&pw=$pw" accesskey="3">3. 과거의 영광</a>/<a href="$public?id=$id&pw=$pw" accesskey="4">4. 공식조약</a>/<a href="$campbbs?id=$id&pw=$pw" accesskey="5">5. 작전회의</a><hr color=white>| if($lt_mode =~ /01/);
print qq|$bmes<hr color=white>| if($lt_mode =~ /02/ && !$log); print qq|$bmes<hr color=white>| if($lt_mode =~ /02/ && !$log);
print qq|$rst<hr color=white>| if($lt_mode =~ /03/ && !$log); print qq|$rst<hr color=white>| if($lt_mode =~ /03/ && !$log);
print qq|参加総数:$now_sanka/$sanka人定員//統一国力:$data_reset/難易度:$reset_point//前回の覇者: $hasya [$cmp[$hcamp]]<hr color=white>| if($lt_mode =~ /04/ && !$log); print qq|참가 총수:$now_sanka/$sanka명 정원//통일 국력:$data_reset/난이도:$reset_point//이전 패자: $hasya [$cmp[$hcamp]]<hr color=white>| if($lt_mode =~ /04/ && !$log);
print qq|現在の参加者<br>$now_nm| if($lt_mode =~ /05/ && !$log); print qq|현재 참가자<br>$now_nm| if($lt_mode =~ /05/ && !$log);
print qq|<br>$kakiko<br>| if($lt_mode =~ /06/ && !$log); print qq|<br>$kakiko<br>| if($lt_mode =~ /06/ && !$log);
}else{ }else{
print qq|<a href="$index" accesskey="9">9.タイトル</a>/<a href="$park?id=$id&pw=$pw&camp=$camp&sogo=$sogo" accesskey="1">1.交流広場</a>/$shop_i<a href="$hist?id=$id&pw=$pw" accesskey="3">3.過去の栄光</a>/<a href="$public?id=$id&pw=$pw" accesskey="4">4.公式条約</a>/<a href="$campbbs?id=$id&pw=$pw" accesskey="5">5.作戦会議</a><hr color=white>| if($lt_mode =~ /11/); print qq|<a href="$index" accesskey="9">9. 타이틀</a>/<a href="$park?id=$id&pw=$pw&camp=$camp&sogo=$sogo" accesskey="1">1. 교류광장</a>/$shop_i<a href="$hist?id=$id&pw=$pw" accesskey="3">3. 과거의 영광</a>/<a href="$public?id=$id&pw=$pw" accesskey="4">4. 공식조약</a>/<a href="$campbbs?id=$id&pw=$pw" accesskey="5">5. 작전회의</a><hr color=white>| if($lt_mode =~ /11/);
print qq|$bmes<hr color=white>| if($lt_mode =~ /22/); print qq|$bmes<hr color=white>| if($lt_mode =~ /22/);
print qq|$rst<hr color=white>| if($lt_mode =~ /33/); print qq|$rst<hr color=white>| if($lt_mode =~ /33/);
print qq|参加総数:$now_sanka/$sanka人定員//統一国力:$data_reset/難易度:$reset_point//前回の覇者: $hasya [$cmp[$hcamp]]<hr color=white>| if($lt_mode =~ /44/); print qq|참가 총수:$now_sanka/$sanka명 정원//통일 국력:$data_reset/난이도:$reset_point//이전 패자: $hasya [$cmp[$hcamp]]<hr color=white>| if($lt_mode =~ /44/);
print qq|プレイ人数<br>$now_nm| if($lt_mode =~ /55/); print qq|플레이 인원<br>$now_nm| if($lt_mode =~ /55/);
print qq|<br>$kakiko<br>| if($lt_mode =~ /66/); print qq|<br>$kakiko<br>| if($lt_mode =~ /66/);
} }
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#ステータス表示 # 스태터스 표시
sub status{ sub status{
$log1.=<<EOM; $log1.=<<EOM;
$nm<br> $nm<br>
LV$lv $gold\G<br> LV$lv $gold\G<br>
HP$hp/$max_hp MP$mp/$max_mp<br> HP$hp/$max_hp MP$mp/$max_mp<br>
UA$ua/UD$ud/LR$lr/AG$ag<br> UA$ua/UD$ud/LR$lr/AG$ag<br>
経験値$exe/$next_lv<br> 경험치$exe/$next_lv<br>
$cmp[$camp] $cl[$rank]<br> $cmp[$camp] $cl[$rank]<br>
部隊$g_p[$rank] 訓練度$sol_lv<br> 부대$g_p[$rank] 훈련도$sol_lv<br>
EOM EOM
$log1.="称号[$sogo_p[$sogo]]<br>" if($sogo); $log1.="칭호[$sogo_p[$sogo]]<br>" if($sogo);
$log1.="[$dg_data[$dg_a][1]]/$dg_cnt<br>" if($dg_a && $dg_cnt); $log1.="[$dg_data[$dg_a][1]]/$dg_cnt<br>" if($dg_a && $dg_cnt);
$log1.="[$df_data[$df_a][1]]/$df_cnt<br>" if($df_a && $df_cnt); $log1.="[$df_data[$df_a][1]]/$df_cnt<br>" if($df_a && $df_cnt);
$log1.="[$di_data[$di_a][1]]/$di_cnt<br>" if($di_a && $di_cnt); $log1.="[$di_data[$di_a][1]]/$di_cnt<br>" if($di_a && $di_cnt);
my @metu=('','()'); my @metu=('','(멸망)');
$rst.=<<EOM; $rst.=<<EOM;
$cmp[1]$metu[$ce1] 国力$cn1 予\算$cg1 兵糧$cf1 兵士$cs1 人数$c1/$c1a $cmp[1]$metu[$ce1] 국력$cn1 예산$cg1 군량$cf1 병사$cs1 인원$c1/$c1a
<hr color=white>$cmp[2]$metu[$ce2] 国力$cn2 予\算$cg2 兵糧$cf2 兵士$cs2 人数$c2/$c2a <hr color=white>$cmp[2]$metu[$ce2] 국력$cn2 예산$cg2 군량$cf2 병사$cs2 인원$c2/$c2a
<hr color=white>$cmp[3]$metu[$ce3] 国力$cn3 予\算$cg3 兵糧$cf3 兵士$cs3 人数$c3/$c3a <hr color=white>$cmp[3]$metu[$ce3] 국력$cn3 예산$cg3 군량$cf3 병사$cs3 인원$c3/$c3a
<hr color=white>$cmp[4]$metu[$ce4] 国力$cn4 予\算$cg4 兵糧$cf4 兵士$cs4 人数$c4/$c4a <hr color=white>$cmp[4]$metu[$ce4] 국력$cn4 예산$cg4 군량$cf4 병사$cs4 인원$c4/$c4a
<hr color=white>$cmp[5]$metu[$ce5] 国力$cn5 予\算$cg5 兵糧$cf5 兵士$cs5 人数$c5/$c5a <hr color=white>$cmp[5]$metu[$ce5] 국력$cn5 예산$cg5 군량$cf5 병사$cs5 인원$c5/$c5a
<hr color=white> <hr color=white>
EOM EOM
} }
1;#削除不可 1;#삭제 불가
Regular → Executable
+368 -368
View File
@@ -1,368 +1,368 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# PC用サブルーチン Version 1.1 # # PC용 서브루틴 Version 1.1 #
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 画面レイアウト # 화면 레이아웃
sub html{ sub html{
# ヘッダー&圧縮転送有無 # 헤더 & 압축 전송 유무
&content_type; &content_type;
# マウス自動操作チート撃退 戦闘時に4/400 の確立で発動 # 마우스 자동 조작 치트 격퇴 전투 시에 4/400 확률로 발동
my $no_mouse = ($no_mouse && $type eq '修行中') ? int(rand(400)) : 100 ; my $no_mouse = ($no_mouse && $type eq '수행중') ? int(rand(400)) : 100 ;
print <<EOM; print <<EOM;
<html> <html>
<head> <head>
<title>$titleh</title> <title>$titleh</title>
<link rel=stylesheet type="text/css" href="$css" title="style"> <link rel=stylesheet type="text/css" href="$css" title="style">
EOM EOM
# Javascript自動操作チート防衛(frame取り込み防衛) # Javascript 자동 조작 치트 방어(frame 방어)
if($no_js){ if($no_js){
print <<EOM; print <<EOM;
<script language="javascript"> <script language="javascript">
<!-- <!--
if(self!=top){ if(self!=top){
top.location = self.location; top.location = self.location;
} }
//--> //-->
</script> </script>
EOM EOM
} }
print <<EOM; print <<EOM;
</head> </head>
<body $body class="bar"> <body $body class="bar">
<center> <center>
<table width="740" border="0" cellspacing="0" cellpadding="0"> <table width="740" border="0" cellspacing="0" cellpadding="0">
<tr> <tr>
<td align="left"> <td align="left">
$title $title
</td> </td>
</tr> </tr>
</table> </table>
<table width="740" border="0" cellspacing="0" cellpadding="0" height="300"> <table width="740" border="0" cellspacing="0" cellpadding="0" height="300">
<tr> <tr>
<td align="center" valign="middle" width="500"> <td align="center" valign="middle" width="500">
<table width="540" border="0" cellspacing="6" cellpadding="6" height="285" bgcolor="#444466"> <table width="540" border="0" cellspacing="6" cellpadding="6" height="285" bgcolor="#444466">
<tr> <tr>
<td bgcolor="#000000" align="left" valign="top"> <td bgcolor="#000000" align="left" valign="top">
$log1 $log1
</td> </td>
</tr> </tr>
</table> </table>
</td> </td>
<td align="right" valign="middle" width="200"> <td align="right" valign="middle" width="200">
<table border="0" cellspacing="0" cellpadding="5" height="285"> <table border="0" cellspacing="0" cellpadding="5" height="285">
<tr> <tr>
<form method="get" action="$index"> <form method="get" action="$index">
<td bgcolor="#000000" valign="middle"> <td bgcolor="#000000" valign="middle">
<input type="submit" value="† タイトルへ戻る †" class="button1"> <input type="submit" value="† 타이틀로 돌아가기 †" class="button1">
</td> </td>
</form> </form>
</tr> </tr>
EOM EOM
if($no_mouse==0){ if($no_mouse==0){
print qq|<tr>$log2</tr>|; print qq|<tr>$log2</tr>|;
} }
print<<EOM; print<<EOM;
<tr> <tr>
<form method="$method" action="$park"> <form method="$method" action="$park">
<td valilgn="middle"> <td valilgn="middle">
<input type="hidden" name="id" value="$id"> <input type="hidden" name="id" value="$id">
<input type="hidden" name="pw" value="$pw"> <input type="hidden" name="pw" value="$pw">
<input type="hidden" name="camp" value="$camp"> <input type="hidden" name="camp" value="$camp">
<input type="hidden" name="sogo" value="$sogo"> <input type="hidden" name="sogo" value="$sogo">
<input type="submit" value="† 国際交流広場 †" class="button1"> <input type="submit" value="† 국제 교류 광장 †" class="button1">
</td> </td>
</form> </form>
</tr> </tr>
EOM EOM
if($no_mouse==1){ if($no_mouse==1){
print qq|<tr>$log2</tr>|; print qq|<tr>$log2</tr>|;
} }
print<<EOM; print<<EOM;
<tr> <tr>
<form method="$method" action="$hist"> <form method="$method" action="$hist">
<td valilgn="middle"> <td valilgn="middle">
<input type="hidden" name="id" value="$id"> <input type="hidden" name="id" value="$id">
<input type="hidden" name="pw" value="$pw"> <input type="hidden" name="pw" value="$pw">
<input type="submit" value="† 過去の栄光 †" class="button1"> <input type="submit" value="† 과거의 영광 †" class="button1">
</td> </td>
</form> </form>
</tr> </tr>
EOM EOM
if(!$type && $cmd<=0){ if(!$type && $cmd<=0){
print <<"EOM"; print <<"EOM";
<tr> <tr>
<form method="$method" action="$script"> <form method="$method" action="$script">
<td valilgn="middle"> <td valilgn="middle">
<input type="hidden" name="id" value="$id"> <input type="hidden" name="id" value="$id">
<input type="hidden" name="pw" value="$pw"> <input type="hidden" name="pw" value="$pw">
<input type="hidden" name="cmd" value="20"> <input type="hidden" name="cmd" value="20">
<input type="submit" value="† ショッピングモール †" class="button1"> <input type="submit" value="† 쇼핑몰 †" class="button1">
</td> </td>
</form> </form>
</tr> </tr>
EOM EOM
} }
print <<"EOM"; print <<"EOM";
<tr> <tr>
<form method="$method" action="$public"> <form method="$method" action="$public">
<td valilgn="middle"> <td valilgn="middle">
<input type="hidden" name="id" value="$id"> <input type="hidden" name="id" value="$id">
<input type="hidden" name="pw" value="$pw"> <input type="hidden" name="pw" value="$pw">
<input type="submit" value="† 公式条約 †" class="button1"> <input type="submit" value="† 공식 조약 †" class="button1">
</td> </td>
</form> </form>
</tr> </tr>
EOM EOM
if($no_mouse==2){ if($no_mouse==2){
print qq|<tr>$log2</tr>|; print qq|<tr>$log2</tr>|;
} }
print<<EOM; print<<EOM;
<tr> <tr>
<form method="$method" action="$campbbs"> <form method="$method" action="$campbbs">
<td> <td>
<input type="hidden" name="id" value="$id"> <input type="hidden" name="id" value="$id">
<input type="hidden" name="pw" value="$pw"> <input type="hidden" name="pw" value="$pw">
<input type="submit" value="†各国作戦会議室†" class="button1"> <input type="submit" value="† 국가별 작전 회의실 †" class="button1">
</td> </td>
</form> </form>
</tr> </tr>
EOM EOM
if($no_mouse>=3){ if($no_mouse>=3){
print qq|<tr>$log2</tr>|; print qq|<tr>$log2</tr>|;
} }
print<<EOM; print<<EOM;
</table> </table>
</td> </td>
</tr> </tr>
</table> </table>
<br> <br>
EOM EOM
my($uti, $sti, $cuti, $csti) = times(); my($uti, $sti, $cuti, $csti) = times();
$uti += $cuti; $uti += $cuti;
$sti += $csti; $sti += $csti;
my($cpu) = $uti + $sti; my($cpu) = $uti + $sti;
my $disp="CPUs($cpu): User($uti) System($sti)<br>"; my $disp="CPUs($cpu): User($uti) System($sti)<br>";
if($layout_flag==1){ if($layout_flag==1){
print <<EOM; print <<EOM;
<table width="740" border="0" cellspacing="4" cellpadding="4" bgcolor="#444466"> <table width="740" border="0" cellspacing="4" cellpadding="4" bgcolor="#444466">
<tr> <tr>
<td bgcolor="#000000" align="center" valign="top" height="120"> <td bgcolor="#000000" align="center" valign="top" height="120">
<tt class="moji1"> <tt class="moji1">
$log $log
</tt> </tt>
</td> </td>
</tr> </tr>
</table> </table>
<br><br> <br><br>
EOM EOM
}elsif(!$layout_flag){ }elsif(!$layout_flag){
require './inc/ore_sub-base-p1_pc.cgi';&layout_flag_0; require './inc/ore_sub-base-p1_pc.cgi';&layout_flag_0;
} }
print <<"EOM"; print <<"EOM";
$disp<br> $disp<br>
<br> <br>
$kakiko $kakiko
EOM EOM
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#ステータス表示 #스태터스 표시
sub status{ sub status{
&settei;#設定読み込み &settei;#설정 읽기
my( my(
$hp_v,$hp_c,$hp_y, $hp_v,$hp_c,$hp_y,
$mp_v,$mp_c,$mp_y, $mp_v,$mp_c,$mp_y,
$ua_v,$ua_c, $ua_v,$ua_c,
$ud_v,$ud_c, $ud_v,$ud_c,
$lr_v,$lr_c, $lr_v,$lr_c,
); );
#HPグラフ #HP 그래프
if($max_hp <= 75){ if($max_hp <= 75){
$hp_v = $hp*2; $hp_v = $hp*2;
$hp_c = "#00bbff"; $hp_c = "#00bbff";
$hp_y = $max_hp*2-$hp*2; $hp_y = $max_hp*2-$hp*2;
}elsif($max_hp <= 300){ }elsif($max_hp <= 300){
$hp_v = $hp; $hp_v = $hp;
$hp_c = "#0099ff"; $hp_c = "#0099ff";
$hp_y = $max_hp-$hp; $hp_y = $max_hp-$hp;
}elsif($max_hp <= 600){ }elsif($max_hp <= 600){
$hp_v = int($hp/2); $hp_v = int($hp/2);
$hp_c = "#0077ff"; $hp_c = "#0077ff";
$hp_y = int($max_hp/2-$hp/2); $hp_y = int($max_hp/2-$hp/2);
}elsif($max_hp <= 1200){ }elsif($max_hp <= 1200){
$hp_v = int($hp/4); $hp_v = int($hp/4);
$hp_c = "#0055ff"; $hp_c = "#0055ff";
$hp_y = int($max_hp/4-$hp/4); $hp_y = int($max_hp/4-$hp/4);
}elsif($max_hp <= 2400){ }elsif($max_hp <= 2400){
$hp_v = int($hp/8); $hp_v = int($hp/8);
$hp_c = "#0033ff"; $hp_c = "#0033ff";
$hp_y = int($max_hp/8-$hp/8); $hp_y = int($max_hp/8-$hp/8);
}elsif($max_hp <= 4800){ }elsif($max_hp <= 4800){
$hp_v = int($hp/16); $hp_v = int($hp/16);
$hp_c = "#0011ff"; $hp_c = "#0011ff";
$hp_y = int($max_hp/16-$hp/16); $hp_y = int($max_hp/16-$hp/16);
}else{ }else{
$hp_v = int($hp/32); $hp_v = int($hp/32);
$hp_c = "#0011ff"; $hp_c = "#0011ff";
$hp_y = int($max_hp/32-$hp/32); $hp_y = int($max_hp/32-$hp/32);
} }
#MPグラフ #MP 그래프
if($max_mp <= 75){ if($max_mp <= 75){
$mp_v = $mp*2; $mp_v = $mp*2;
$mp_c = "#00ffcc"; $mp_c = "#00ffcc";
$mp_y = $max_mp*2-$mp*2; $mp_y = $max_mp*2-$mp*2;
}elsif($max_mp <= 300){ }elsif($max_mp <= 300){
$mp_v = $mp; $mp_v = $mp;
$mp_c = "#00ddcc"; $mp_c = "#00ddcc";
$mp_y = $max_mp-$mp; $mp_y = $max_mp-$mp;
}elsif($max_mp <= 600){ }elsif($max_mp <= 600){
$mp_v = int($mp/2); $mp_v = int($mp/2);
$mp_c = "#00bbcc"; $mp_c = "#00bbcc";
$mp_y = int($max_mp/2-$mp/2); $mp_y = int($max_mp/2-$mp/2);
}elsif($max_mp <= 1200){ }elsif($max_mp <= 1200){
$mp_v = int($mp/4); $mp_v = int($mp/4);
$mp_c = "#0099cc"; $mp_c = "#0099cc";
$mp_y = int($max_mp/4-$mp/4); $mp_y = int($max_mp/4-$mp/4);
}elsif($max_mp <= 2400){ }elsif($max_mp <= 2400){
$mp_v = int($mp/8); $mp_v = int($mp/8);
$mp_c = "#0077cc"; $mp_c = "#0077cc";
$mp_y = int($max_mp/8-$mp/8); $mp_y = int($max_mp/8-$mp/8);
}elsif($max_mp <= 4800){ }elsif($max_mp <= 4800){
$mp_v = int($mp/16); $mp_v = int($mp/16);
$mp_c = "#0055cc"; $mp_c = "#0055cc";
$mp_y = int($max_mp/16-$mp/16); $mp_y = int($max_mp/16-$mp/16);
}else{ }else{
$mp_v = int($mp/32); $mp_v = int($mp/32);
$mp_c = "#0033cc"; $mp_c = "#0033cc";
$mp_y = int($max_mp/32-$mp/32); $mp_y = int($max_mp/32-$mp/32);
} }
#UAグラフ #UA 그래프
if($ua <= 25){ if($ua <= 25){
$ua_v = $ua*4; $ua_v = $ua*4;
$ua_c = "#99ccff"; $ua_c = "#99ccff";
}elsif($ua <= 50){ }elsif($ua <= 50){
$ua_v = $ua*2; $ua_v = $ua*2;
$ua_c = "#9999ff"; $ua_c = "#9999ff";
}elsif($ua <= 100){ }elsif($ua <= 100){
$ua_v = $ua; $ua_v = $ua;
$ua_c = "#9966ff"; $ua_c = "#9966ff";
}elsif($ua <= 500){ }elsif($ua <= 500){
$ua_v = int($ua/2); $ua_v = int($ua/2);
$ua_c = "#9933ff"; $ua_c = "#9933ff";
}else{ }else{
$ua_v = int($ua/4); $ua_v = int($ua/4);
$ua_c = "#9900ff"; $ua_c = "#9900ff";
} }
#UDグラフ #UD 그래프
if($ud <= 25){ if($ud <= 25){
$ud_v = $ud*4; $ud_v = $ud*4;
$ud_c = "#33ffff"; $ud_c = "#33ffff";
}elsif($ud <= 50){ }elsif($ud <= 50){
$ud_v = $ud*2; $ud_v = $ud*2;
$ud_c = "#33ccff"; $ud_c = "#33ccff";
}elsif($ud <= 100){ }elsif($ud <= 100){
$ud_v = $ud; $ud_v = $ud;
$ud_c = "#3399ff"; $ud_c = "#3399ff";
}elsif($ud <= 500){ }elsif($ud <= 500){
$ud_v = int($ud/2); $ud_v = int($ud/2);
$ud_c = "#3366ff"; $ud_c = "#3366ff";
}else{ }else{
$ud_v = int($ud/4); $ud_v = int($ud/4);
$ud_c = "#3333ff"; $ud_c = "#3333ff";
} }
#LRグラフ #LR 그래프
if($lr <= 25){ if($lr <= 25){
$lr_v = $lr*4; $lr_v = $lr*4;
$lr_c = "#ccccff"; $lr_c = "#ccccff";
}elsif($lr <= 50){ }elsif($lr <= 50){
$lr_v = $lr*2; $lr_v = $lr*2;
$lr_c = "#cc99ff"; $lr_c = "#cc99ff";
}elsif($lr <= 100){ }elsif($lr <= 100){
$lr_v = $lr; $lr_v = $lr;
$lr_c = "#cc66ff"; $lr_c = "#cc66ff";
}elsif($lr <= 500){ }elsif($lr <= 500){
$lr_v = int($lr/2); $lr_v = int($lr/2);
$lr_c = "#cc33ff"; $lr_c = "#cc33ff";
}else{ }else{
$lr_v = int($lr/4); $lr_v = int($lr/4);
$lr_c = "#cc00ff"; $lr_c = "#cc00ff";
} }
#LRグラフ #AG 그래프
if($ag <= 25){ if($ag <= 25){
$ag_v = $ag*4; $ag_v = $ag*4;
$ag_c = "#ccccff"; $ag_c = "#ccccff";
}elsif($ag <= 50){ }elsif($ag <= 50){
$ag_v = $ag*2; $ag_v = $ag*2;
$ag_c = "#cc99ff"; $ag_c = "#cc99ff";
}elsif($ag <= 100){ }elsif($ag <= 100){
$ag_v = $ag; $ag_v = $ag;
$ag_c = "#cc66ff"; $ag_c = "#cc66ff";
}elsif($ag <= 500){ }elsif($ag <= 500){
$ag_v = int($ag/2); $ag_v = int($ag/2);
$ag_c = "#cc33ff"; $ag_c = "#cc33ff";
}else{ }else{
$ag_v = int($ag/4); $ag_v = int($ag/4);
$ag_c = "#cc00ff"; $ag_c = "#cc00ff";
} }
$hp_y = (!$hp_y) ? "" : "<img src=\"$imgs/spc.gif\" height=\"8\" width=\"$hp_y\" style=\"background-color:#555555\">"; $hp_y = (!$hp_y) ? "" : "<img src=\"$imgs/spc.gif\" height=\"8\" width=\"$hp_y\" style=\"background-color:#555555\">";
$mp_y = (!$mp_y) ? "" : "<img src=\"$imgs/spc.gif\" height=\"8\" width=\"$mp_y\" style=\"background-color:#555555\">"; $mp_y = (!$mp_y) ? "" : "<img src=\"$imgs/spc.gif\" height=\"8\" width=\"$mp_y\" style=\"background-color:#555555\">";
$ua_y = (!$dg_a) ? "" : "<img src=\"$imgs/spc.gif\" height=\"8\" width=\"$dg_data[$dg_a][4]\" style=\"background-color:#6666cc\">"; $ua_y = (!$dg_a) ? "" : "<img src=\"$imgs/spc.gif\" height=\"8\" width=\"$dg_data[$dg_a][4]\" style=\"background-color:#6666cc\">";
$ud_y = (!$df_a) ? "" : "<img src=\"$imgs/spc.gif\" height=\"8\" width=\"$df_data[$df_a][4]\" style=\"background-color:#6666cc\">"; $ud_y = (!$df_a) ? "" : "<img src=\"$imgs/spc.gif\" height=\"8\" width=\"$df_data[$df_a][4]\" style=\"background-color:#6666cc\">";
$log1.=<<EOM; $log1.=<<EOM;
<tt class="moji1"> <tt class="moji1">
<b>$nm</b>   <span style="font-size:12px">$seibetu[$sei]</span>&nbsp;&nbsp;&nbsp;&nbsp;ID: $id<br> <b>$nm</b>   <span style="font-size:12px">$seibetu[$sei]</span>&nbsp;&nbsp;&nbsp;&nbsp;ID: $id<br>
レベル <b>$lv</b> 階 級 <b>$cl[$rank]</b> 称 号 [<b>$sogo_p[$sogo]</b>]<br> 레벨 <b>$lv</b> 계 급 <b>$cl[$rank]</b> 칭 호 [<b>$sogo_p[$sogo]</b>]<br>
<br> <br>
体 力[HP] <img src="$imgs/spc.gif" height="8" width="$hp_v" style="background-color:$hp_c">$hp_y $hp/$max_hp<br> 체 력[HP] <img src="$imgs/spc.gif" height="8" width="$hp_v" style="background-color:$hp_c">$hp_y $hp/$max_hp<br>
魔 力[MP] <img src="$imgs/spc.gif" height="8" width="$mp_v" style="background-color:$mp_c">$mp_y $mp/$max_mp<br> 마 력[MP] <img src="$imgs/spc.gif" height="8" width="$mp_v" style="background-color:$mp_c">$mp_y $mp/$max_mp<br>
攻撃力[UA] <img src="$imgs/spc.gif" height="8" width="$ua_v" style="background-color:$ua_c">$ua_y $ua +$dg_data[$dg_a][4]<br> 공격력[UA] <img src="$imgs/spc.gif" height="8" width="$ua_v" style="background-color:$ua_c">$ua_y $ua +$dg_data[$dg_a][4]<br>
防御力[UD] <img src="$imgs/spc.gif" height="8" width="$ud_v" style="background-color:$ud_c">$ud_y $ud +$df_data[$df_a][4]<br> 방어력[UD] <img src="$imgs/spc.gif" height="8" width="$ud_v" style="background-color:$ud_c">$ud_y $ud +$df_data[$df_a][4]<br>
指揮力[LR] <img src="$imgs/spc.gif" height="8" width="$lr_v" style="background-color:$lr_c"> $lr<br> 지휘력[LR] <img src="$imgs/spc.gif" height="8" width="$lr_v" style="background-color:$lr_c"> $lr<br>
敏捷力[AG] <img src="$imgs/spc.gif" height="8" width="$ag_v" style="background-color:$ag_c"> $ag<br> 민첩성[AG] <img src="$imgs/spc.gif" height="8" width="$ag_v" style="background-color:$ag_c"> $ag<br>
<br> <br>
資 金 <b>$gold</b> 経験値 <b>$exe/$next_lv</b> 貢献値 <b>$rank_exe</b><br> 자 금 <b>$gold</b> 경험치 <b>$exe/$next_lv</b> 공헌도 <b>$rank_exe</b><br>
<br> <br>
所 属 <b>$cmp[$camp]</b> 部 隊 <b>$g_p[$rank]</b> 訓練度 <b>$sol_lv</b><br> 소 속 <b>$cmp[$camp]</b> 부 대 <b>$g_p[$rank]</b> 훈련도 <b>$sol_lv</b><br>
<br> <br>
武 具 [<b>$dg_data[$dg_a][1]</b>] 回数 [<b>$dg_cnt</b>]<br> 무 기 [<b>$dg_data[$dg_a][1]</b>] 횟수 [<b>$dg_cnt</b>]<br>
防 具 [<b>$df_data[$df_a][1]</b>] 回数 [<b>$df_cnt</b>]<br> 방 어구 [<b>$df_data[$df_a][1]</b>] 횟수 [<b>$df_cnt</b>]<br>
道 具 [<b>$di_data[$di_a][1]</b>] 回数 [<b>$di_cnt</b>] 도 구 [<b>$di_data[$di_a][1]</b>] 횟수 [<b>$di_cnt</b>]
</tt> </tt>
EOM EOM
} }
1;#削除不可 1;#삭제 불가
Regular → Executable
+1109 -1109
View File
File diff suppressed because it is too large Load Diff
Regular → Executable
+287 -305
View File
@@ -1,305 +1,287 @@
#-----------------------------------------------------------# $index = './index.cgi'; # 죄와 벌++ 탑 페이지
# 罪と罰++ 二律背反 # $usrdata = "./usrdata/"; # 캐릭터 데이터 보관 디렉터리.
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # $no_window = 1; # 현상유지·구속시간 이외의 다른 창 금지(0:없음 1:있음)[부하 방지 대책]
# BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# # 각국 설정 정보
# 各種掲示板共通設定 Version 1.1 @camp_info =( ['무소속', '#eeeeee'],
#--- [注意事項] --------------------------------------------# ['알메리아 왕국', '#ee9999'],
# 1.このスクリプトは以下の利用規程に従って配布しています。 # ['플라린 교국', '#00eeee'],
# http://www24.big.or.jp/~obo/game/ore_/gild/ # ['이기스 연합국', '#88ee88'],
#-----------------------------------------------------------# ['소디나 제국', '#ffccff'],
['야마토 신국', '#55bbff']);
#===============================================================================
# 各種掲示板共通設定項目 # 칭호
@sogo_p =('----','패자','영웅','빚쟁이 왕','귀축',' ',' ',' ',' ',' ','관리자');
require './jcode.pl'; # jcode.plのパス
# 디버그 모드
$ore_game = './ore_.cgi'; # 罪と罰++本体のパス # 없음: PC·모바일 양쪽 대응
$index = './index.cgi'; # 罪と罰++トップページ # pc : PC 한정 모드(모바일 미대응)
$usrdata = "./usrdata/"; # キャラデータ格納ディレクトリ。 # mv : 모바일 고정 모드(PC상에서 모바일 화면을 에뮬레이트 표시)
$mv_mode = '';
$no_window = 1; # 現状維持・拘束時間以外の他窓禁止(0:なし 1:あり)[負荷対策]
# 기기별 설정
# 各国設定情報 if( $ENV{'HTTP_USER_AGENT'}=~/DoCoMo/ ||
@camp_info =( ['無所属', '#eeeeee'], $ENV{'HTTP_USER_AGENT'}=~/UP\.Browser/ ||
['アルメリア王国', '#ee9999'], $ENV{'HTTP_USER_AGENT'}=~/J-PHONE/ ||
['フラリン教国', '#00eeee'], $ENV{'HTTP_USER_AGENT'}=~/ASTEL/ ||
['イギス連合国', '#88ee88'], $ENV{'HTTP_X_JPHONE_MSNAME'} || $mv_mode eq 'mv'){
['ソーディナ帝国', '#ffccff'],
['ヤマト神国', '#55bbff']); $mv_mode= 'mv'; # 모바일용 플래그(변경 불가)
$method = "GET"; # 폼 메서드(모바일)
# 称号 }else{
@sogo_p =('----','覇者','英雄','借金王','鬼畜',' ',' ',' ',' ',' ','管理人');
$mv_mode= 'pc'; # PC용 플래그(변경 불가)
# デバックモード $method = "POST"; # 폼 메서드(PC)
# なし:PC・モバイル両対応
# pc :PC限定モード(モバイル非対応) # 스타일 시트
# mv :モバイル固定モード(PC上でモバイル画面をエミュレート表示) $css =<<EOM;
$mv_mode = ''; <style type="text/css">
<!--
# 機種別設定 .button1{
if( $ENV{'HTTP_USER_AGENT'}=~/DoCoMo/ || font-family: "MS Pゴシック", "Osaka"; font-size: 12px; font-weight: 400; color: #bbbbcc;
$ENV{'HTTP_USER_AGENT'}=~/UP\.Browser/ || border: 2px #9999cc ridge; cursor: hand; background-color: #333366;
$ENV{'HTTP_USER_AGENT'}=~/J-PHONE/ || }
$ENV{'HTTP_USER_AGENT'}=~/ASTEL/ || body { font-size: 12pt;}
$ENV{'HTTP_X_JPHONE_MSNAME'} || $mv_mode eq 'mv'){ .mem { font-size: 10pt; color:#ddddee}
.date { font-size: 10pt; color:#dddddd}
$mv_mode= 'mv'; # モバイル用フラグ(変更不可) .f1{font-size:16pt; font-family:'Symbol','Palatino'; color:#ff99cc;}
$method = "GET"; # フォームメソッド(モバイル) -->
}else{ </style>
EOM
$mv_mode= 'pc'; # PC用フラグ(変更不可)
$method = "POST"; # フォームメソッド(PC) }
# スタイルシート # 호スト名取得モード
$css =<<EOM; # --> 0 : $ENV{'REMOTE_HOST'} で取得できる場合
<style type="text/css"> # --> 1 : gethostbyaddr で取得できる場合
<!-- $get_remotehost = 1;
.button1{
font-family: "MS Pゴシック", "Osaka"; font-size: 12px; font-weight: 400; color: #bbbbcc; # 다른 사이트로부터의 투고 배제 시에 지정 (http://부터 작성)
border: 2px #9999cc ridge; cursor: hand; background-color: #333366; $base_url = "";
}
body { font-size: 12pt;} # 액세스 제한(호스트명 또는 IP 주소 기술)
.mem { font-size: 10pt; color:#ddddee} @deny = (
.date { font-size: 10pt; color:#dddddd} "anonymizer.com",
.f1{font-size:16pt; font-family:'Symbol','Palatino'; color:#ff99cc;} "cache*.*.interlog.com",
--> "",
</style> ""
EOM );
}
#===============================================================================
# ホスト名取得モード # 이하 처리 기본적으로 이 이하는 수정하지 않도록.
# --> 0 : $ENV{'REMOTE_HOST'} で取得できる場合
# --> 1 : gethostbyaddr で取得できる場合 #-------------------------------------------------------------------------------
$get_remotehost = 1; # 참가자 데이터 개별 읽기
sub mandata_open{
# 他サイトから投稿排除時に指定 (http://から書く)
$base_url = ""; open(IN,"$usrdata$id\.cgi") || &error("Open Error : $usrdata$id\.cgi");
$dat = <IN>;
# アクセス制限(ホスト名もしくはIPアドレスを記述) close(IN);
@deny = (
"anonymizer.com", %DAT = '';
"cache*.*.interlog.com", my @prats = split(/,/,$dat);
"", foreach (0 .. $#prats){
"" my($key,$v) = split(/;/,$prats[$_]);
); $DAT{$key} = $v;
}
#=============================================================================== if($pw ne $DAT{'pw'}){ &error("비밀번호가 틀렸습니다"); }
# 以下処理 基本的にこれ以下はいじらないように。
if($no_window){
#------------------------------------------------------------------------------- &error("현재 이벤트를 종료한 후에 이용해 주십시오.") if($DAT{'pr'}<=0 && $DAT{'type'});
# 参加者データ個別読み込み }
sub mandata_open{
}
open(IN,"$usrdata$id\.cgi") || &error("Open Error : $usrdata$id\.cgi");
$dat = <IN>; #-------------------------------------------------------------------------------
close(IN); # 디코드 처리
sub decode {
%DAT = ''; local($buffer, @pairs, $name, $value);
my @prats = split(/,/,$dat); $post_flag=0;
foreach (0 .. $#prats){ if($ENV{'REQUEST_METHOD'} eq "POST"){
my($key,$v) = split(/;/,$prats[$_]); $post_flag=1;
$DAT{$key} = $v; &error("투고량이 너무 많습니다") if($ENV{'CONTENT_LENGTH'}>8192);
} read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}else{
if($pw ne $DAT{'pw'}){ &error("パスワードが間違ってます"); } $buffer = $ENV{'QUERY_STRING'};
&error("투고량이 너무 많습니다") if(length($buffer)>7500)
if($no_window){ }
&error("現在のイベントを終了してからご利用ください。") if($DAT{'pr'}<=0 && $DAT{'type'}); @pairs = split(/&/, $buffer);
} foreach (@pairs) {
($name,$value) = split(/=/);
} $value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
#-------------------------------------------------------------------------------
# デコード処理 # 문자 코드를 Shift_JIS 변환
sub decode { # &jcode'convert(*value, "sjis", "", "z");
local($buffer, @pairs, $name, $value);
$post_flag=0; $value =~ s/\&/&amp\;/g;
if($ENV{'REQUEST_METHOD'} eq "POST"){ $value =~ s/\;/&#59\;/g;
$post_flag=1; $value =~ s/\,/&#44\;/g;
&error("投稿量が大きすぎます") if($ENV{'CONTENT_LENGTH'}>8192);
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); # 태그 처리
}else{ if ($tagkey) {
$buffer = $ENV{'QUERY_STRING'}; $value =~ s/<!--(.|\n)*-->//g;
&error("投稿量が大きすぎます") if(length($buffer)>7500) $value =~ s/<>/&lt;&gt;/g;
} } else {
@pairs = split(/&/, $buffer); $value =~ s/</&lt;/g;
foreach (@pairs) { $value =~ s/>/&gt;/g;
($name,$value) = split(/=/); $value =~ s/\"/&quot;/g;
$value =~ tr/+/ /; }
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
# 개행 등 처리
# 文字コードをシフトJIS変換 if ($name eq "comment" && $br_mode) {
&jcode'convert(*value, "sjis", "", "z"); $value =~ s/\r\n/<br>/g;
$value =~ s/\r/<br>/g;
$value =~ s/\&/&amp\;/g; $value =~ s/\n/<br>/g;
$value =~ s/\;/&#59\;/g; } else {
$value =~ s/\,/&#44\;/g; $value =~ s/\r//g;
$value =~ s/\n//g;
# タグ処理 }
if ($tagkey) {
$value =~ s/<!--(.|\n)*-->//g; # 도배 처리 1
$value =~ s/<>/&lt;&gt;/g; $value =~ s/(<br>){4,}//g;
} else { $value =~ s/( | ){6,}//g;
$value =~ s/</&lt;/g;
$value =~ s/>/&gt;/g; # 기호 교체
$value =~ s/\"/&quot;/g; $value =~ s/\//&#47\;/g;
} $value =~ s/\./&#46\;/g;
$value =~ s/cgi/&#99\;&#103\;&#105\;/g;
# 改行等処理
if ($name eq "comment" && $br_mode) { $in{$name} = $value;
$value =~ s/\r\n/<br>/g; }
$value =~ s/\r/<br>/g;
$value =~ s/\n/<br>/g; &no_link($in{'comment'}) if($nolink);
} else {
$value =~ s/\r//g; $com = $in{'comment'}; if(length($in{'comment'})>$com_limit) { &error("글자 수 에러입니다 1"); }
$value =~ s/\n//g; $mode = $in{'mode'}; if(length($in{'mode'})>10) { &error("글자 수 에러입니다 2"); }
} $pw = $in{'pw'}; if(length($in{'pw'})>8 || !$in{'pw'}) { &error("글자 수 에러입니다 3"); }
$id = $in{'id'}; if(length($in{'id'})>24 || !$in{'id'}) { &error("글자 수 에러입니다 4"); }
# 荒らし処理 1 $ids = $in{'ids'}; if(length($in{'ids'})>12) { &error("글자 수 에러입니다 5"); }
$value =~ s/(<br>){4,}//g; $rd = $in{'rd'}; if(length($in{'rd'})>1) { &error("글자 수 에러입니다 6"); }
$value =~ s/( | ){6,}//g;
if ($base_url) {
# 記号置換え $ref_url = $ENV{'HTTP_REFERER'};
$value =~ s/\//&#47\;/g; $ref_url =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/\./&#46\;/g; if ($ref_url !~ /$base_url/i) { &error("잘못된 접근입니다"); }
$value =~ s/cgi/&#99\;&#103\;&#105\;/g; }
}
$in{$name} = $value;
} #-------------------------------------------------------------------------------
# 에러 처리
&no_link($in{'comment'}) if($nolink); sub error {
if (-e $lockfile) { unlink($lockfile); }
$com = $in{'comment'}; if(length($in{'comment'})>$com_limit) { &error("文字数エラーです 1"); }
$mode = $in{'mode'}; if(length($in{'mode'})>10) { &error("文字数エラーです 2"); } &header(1);
$pw = $in{'pw'}; if(length($in{'pw'})>8 || !$in{'pw'}) { &error("文字数エラーです 3"); } print "<center><hr width='75%'><P><h3>ERROR !</h3>\n";
$id = $in{'id'}; if(length($in{'id'})>24 || !$in{'id'}) { &error("文字数エラーです 4"); } print "<P><font color=red><B>$_[0]</B></font>\n";
$ids = $in{'ids'}; if(length($in{'ids'})>12) { &error("文字数エラーです 5"); } print "<P><hr width='75%'></center>\n";
$rd = $in{'rd'}; if(length($in{'rd'})>1) { &error("文字数エラーです 6"); } &copyright;
exit;
if ($base_url) { }
$ref_url = $ENV{'HTTP_REFERER'};
$ref_url =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; #-------------------------------------------------------------------------------
if ($ref_url !~ /$base_url/i) { &error("不正なアクセスです"); } # 락 파일 생성
} sub lock {
} local($lflag) = 0;
foreach (1 .. 5) {
#------------------------------------------------------------------------------- if (-e $lockfile) { sleep(1); }
# エラー処理 else {
sub error { open(LOCK,">$lockfile") || &error("Can't create $lockfile");
if (-e $lockfile) { unlink($lockfile); } close(LOCK);
$lflag = 1;
&header(1); last;
print "<center><hr width='75%'><P><h3>ERROR !</h3>\n"; }
print "<P><font color=red><B>$_[0]</B></font>\n"; }
print "<P><hr width='75%'></center>\n"; if ($lflag == 0) { &error("LOCK is BUSY"); }
&copyright; }
exit;
} #-------------------------------------------------------------------------------
# 액세스 체크(액세스 거부)
#------------------------------------------------------------------------------- sub axs_check {
# ロックファイルの生成 &get_host;
sub lock {
local($lflag) = 0; local($flag)=0;
foreach (1 .. 5) { foreach (@deny) {
if (-e $lockfile) { sleep(1); } if (!$_) { next; }
else { $_ =~ s/\*/\.\*/g;
open(LOCK,">$lockfile") || &error("Can't create $lockfile"); if ($host =~ /$_/i || $addr =~ /$_/i) { $flag=1; last; }
close(LOCK); }
$lflag = 1; if ($flag) { &error("액세스가 허용되지 않았습니다"); }
last; }
}
} #-------------------------------------------------------------------------------
if ($lflag == 0) { &error("LOCK is BUSY"); } # 호스트 정보 취득
} sub get_host {
$host = $ENV{'REMOTE_HOST'};
#------------------------------------------------------------------------------- $addr = $ENV{'REMOTE_ADDR'};
# アクセスチェック(アクセス拒否) $agent = $ENV{'HTTP_USER_AGENT'};
sub axs_check {
&get_host; if ($get_remotehost) {
if ($host eq "" || $host eq "$addr") {
local($flag)=0; $host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2);
foreach (@deny) { }
if (!$_) { next; } }
$_ =~ s/\*/\.\*/g; if ($host eq "") { $host = $addr; }
if ($host =~ /$_/i || $addr =~ /$_/i) { $flag=1; last; } }
}
if ($flag) { &error("アクセスを許可されていません"); } #-------------------------------------------------------------------------------
} # 시간 취득
sub get_time {
#------------------------------------------------------------------------------- $time = time;
# ホスト情報取得 ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime($time);
sub get_host { $hour= "0$hour" if($hour<10);
$host = $ENV{'REMOTE_HOST'}; $min = "0$min" if($min<10);
$addr = $ENV{'REMOTE_ADDR'}; $sec = "0$sec" if($sec<10);
$agent = $ENV{'HTTP_USER_AGENT'}; $month++;
$month = "0$month" if(month<10);
if ($get_remotehost) { @week=('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
if ($host eq "" || $host eq "$addr") { $date = "$month/$mday($week[$wday]) $hour:$min";
$host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2); srand($time);
} }
}
if ($host eq "") { $host = $addr; } #-------------------------------------------------------------------------------
} # 플레이 규제
sub safetime {
#------------------------------------------------------------------------------- foreach (0 .. $#safetime){
# 時間取得 &error("플레이 규제 시간 중입니다. 잠시만 기다려 주십시오.") if $hour eq $safetime[$_];
sub get_time { }
$time = time; }
($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime($time);
$hour= "0$hour" if($hour<10); #-------------------------------------------------------------------------------
$min = "0$min" if($min<10); # URL 배제
$sec = "0$sec" if($sec<10); sub no_link {
$month++; $_[0] =~ s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%]+)/$1<!-- $2 -->/g;
$month = "0$month" if(month<10); }
@week=('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
$date = "$month/$mday($week[$wday]) $hour:$min"; #-------------------------------------------------------------------------------
srand($time); # 삭제/변경 불가 반드시 표시할 것
} # 저작권 표시(삭제/변경 불가)
sub copyright{
#------------------------------------------------------------------------------- if($mv_mode eq 'mv'){
# プレイ規制 print <<"EOM";
sub safetime { <br><hr color="white">
foreach (0 .. $#safetime){ 과거의 영광 $ver<br>
&error("プレイ規制時間中です。暫くお待ち下さい。") if $hour eq $safetime[$_]; <a href="http://pom.to/" target="_blank">BLANK BOARD[인터넷 유원지♪]</a>
} </body>
} </html>
EOM
#------------------------------------------------------------------------------- }else{
# URL排除 print <<"EOM";
sub no_link { <div align="right" style="font-size:12px">
$_[0] =~ s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%]+)/$1<!-- $2 -->/g; $ver<br>
} <a href="http://www17.big.or.jp/~obochan/vivid/" target="_blank" style="font-size:13px">Vivid Studio.</a><br>
<a href="http://pom.to/" target="_blank" style="font-size:11px">BLANK BOARD[인터넷 유원지♪]</a>
#------------------------------------------------------------------------------- </div>
# 削除変更不可 必ず表示すること </body>
#著作権表示(削除・変更不可) </html>
sub copyright{ EOM
if($mv_mode eq 'mv'){ }
print <<"EOM"; }
<br><hr color="white">
過去の栄光 $ver<br>
<a href="http://pom.to/" target="_blank">BLANK BOARD[ねっと遊園地♪]</a>
</body>
</html> 1;#삭제 불가
EOM
}else{
print <<"EOM";
<div align="right" style="font-size:12px">
$ver<br>
<a href="http://www17.big.or.jp/~obochan/vivid/" target="_blank" style="font-size:13px">Vivid Studio.</a><br>
<a href="http://pom.to/" target="_blank" style="font-size:11px">BLANK BOARD[ねっと遊園地♪]</a>
</div>
</body>
</html>
EOM
}
}
1;#削除不可
Regular → Executable
+142 -142
View File
@@ -1,142 +1,142 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 仕官 Version 1.2 # 사관 Version 1.2
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 仕官メニュー # 사관 메뉴
sub changes{ sub changes{
if(!$type){ if(!$type){
&usrdata_read; &usrdata_read;
&usrdata_open; &usrdata_open;
require './inc/ore_sub-members-p1.cgi';&member_list; require './inc/ore_sub-members-p1.cgi';&member_list;
$log .= "参加者集計を更新します。<br>\n"; $log .= "참가자 집계를 갱신합니다.<br>\n";
$log .= "全参加者:$all_mem<br>$cmp[0]:$c0<br>$cmp[1]:$c1/$c1a<br>$cmp[2]:$c2/$c2a<br>$cmp[3]:$c3/$c3a<br>$cmp[4]:$c4/$c4a<br>$cmp[5]:$c5/$c5a<br>\n" if($mv_mode eq 'pc'); $log .= "전체 참가자:$all_mem<br>$cmp[0]:$c0<br>$cmp[1]:$c1/$c1a<br>$cmp[2]:$c2/$c2a<br>$cmp[3]:$c3/$c3a<br>$cmp[4]:$c4/$c4a<br>$cmp[5]:$c5/$c5a<br>\n" if($mv_mode eq 'pc');
$tm=0; $tm=0;
$type='仕官'; $type='사관';
&changes_menu1; &changes_menu1;
} }
&dat_write; &dat_write;
} }
sub changes_menu1{ sub changes_menu1{
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
} }
sub changes_menu2{ sub changes_menu2{
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|; $log2 .=qq|<select name="cmd" size="1">\n|;
$log2 .=qq|<option value="-1">やめる</option>\n|; $log2 .=qq|<option value="-1">그만둔다</option>\n|;
foreach(0 .. $#cmp){ $log2 .=qq|<option value="$_">$cmp[$_]</option>\n|;} foreach(0 .. $#cmp){ $log2 .=qq|<option value="$_">$cmp[$_]</option>\n|;}
$log2 .=qq|</select><br>\n|; $log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 仕官処理 # 사관 처리
sub changes_exe{ sub changes_exe{
if(!$tm){ if(!$tm){
$log .= "現在の所属から新たな所属へ<br>\n"; $log .= "현재 소속에서 새로운 소속으로<br>\n";
$tm=1; $tm=1;
$type='仕官'; $type='사관';
&changes_menu2; &changes_menu2;
}elsif($tm==1){ }elsif($tm==1){
if($cmd<=-1 || $cmd>$#cmp){ if($cmd<=-1 || $cmd>$#cmp){
$log .= "やめておきます<br>\n"; $log .= "그만두겠습니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif($cmd>=0 && (($c1 >= $c1a && $cmd == 1)||($c2 >= $c2a && $cmd == 2)||($c3 >= $c3a && $cmd == 3)||($c4 >= $c4a && $cmd == 4)||($c5 >= $c5a && $cmd == 5))){ }elsif($cmd>=0 && (($c1 >= $c1a && $cmd == 1)||($c2 >= $c2a && $cmd == 2)||($c3 >= $c3a && $cmd == 3)||($c4 >= $c4a && $cmd == 4)||($c5 >= $c5a && $cmd == 5))){
for($i=1,$j=1;$i<=$#cmp;$i++,$j++){ for($i=1,$j=1;$i<=$#cmp;$i++,$j++){
if($cmd==$j){ if($cmd==$j){
$log .= "$cmp[$i] は定員一杯で入国できません<br>\n"; $log .= "$cmp[$i] 은(는) 정원이 초과되어 입국할 수 없습니다.<br>\n";
} }
} }
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif($lv < $clv){ }elsif($lv < $clv){
$log .= "仕官はレベル $clv からです。<br>まずは修行で己を鍛えてください。<br>\n"; $log .= "사관은 레벨 $clv부터 가능합니다.<br>먼저 수행으로 자신을 단련해 주십시오.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}else{ }else{
if($lv >= 20 && $camp && $cmd){#レベルが15以上で先が無所属以外で元が無所属以外(国→国) if($lv >= 20 && $camp && $cmd){#레벨이 20 이상이고 대상이 무소속이 아니며 원래도 무소속이 아닐 때 (국가->국가)
$gold -=(15-$rank)*(int($lv/4))*8; $gold -=(15-$rank)*(int($lv/4))*8;
$log .= "国家移籍料金として金貨 $zx を支払います。<br>\n"; $log .= "국가 이적료로 금화 $zx를 지불합니다.<br>\n";
my $zy = $rank*(int($lv/10))*4; my $zy = $rank*(int($lv/10))*4;
if($camp == 1){$cg1 += $zy;} if($camp == 1){$cg1 += $zy;}
elsif($camp == 2){$cg2 += $zy;} elsif($camp == 2){$cg2 += $zy;}
elsif($camp == 3){$cg3 += $zy;} elsif($camp == 3){$cg3 += $zy;}
elsif($camp == 4){$cg4 += $zy;} elsif($camp == 4){$cg4 += $zy;}
elsif($camp == 5){$cg5 += $zy;} elsif($camp == 5){$cg5 += $zy;}
$log .= "$cmp[$camp] の国家\予\算が $zy 上昇した。<br>\n"; $log .= "$cmp[$camp] 의 국가 예산이 $zy 상승했다.<br>\n";
}elsif($lv >= 20 && !$cmd){#レベルが15以上で先が無所属(無or国→無) }elsif($lv >= 20 && !$cmd){#레벨이 20 이상이고 대상이 무소속일 때 (무소속 또는 국가->무소속)
$gold -=(15-$rank)*(int($lv/4))*8; $gold -=(15-$rank)*(int($lv/4))*8;
$log .= "国家移籍料金として金貨 $zx を支払います。<br>\n"; $log .= "국가 이적료로 금화 $zx를 지불합니다.<br>\n";
my $zy = $rank*(int($lv/10))*4; my $zy = $rank*(int($lv/10))*4;
if($camp == 1){$cg1 += $zy;} if($camp == 1){$cg1 += $zy;}
elsif($camp == 2){$cg2 += $zy;} elsif($camp == 2){$cg2 += $zy;}
elsif($camp == 3){$cg3 += $zy;} elsif($camp == 3){$cg3 += $zy;}
elsif($camp == 4){$cg4 += $zy;} elsif($camp == 4){$cg4 += $zy;}
elsif($camp == 5){$cg5 += $zy;} elsif($camp == 5){$cg5 += $zy;}
$log .= "$cmp[$camp] の国家\予\算が $zy 上昇した。<br>\n"; $log .= "$cmp[$camp] 의 국가 예산이 $zy 상승했다.<br>\n";
} }
$camp = $cmd; $camp = $cmd;
#レベルによる仕官時のマイナス値 #레벨에 따른 사관 시의 마이너스 수치
$rank-=($lv > 40)? int(rand(3))+3 : int(rand(4))+1; $rank-=($lv > 40)? int(rand(3))+3 : int(rand(4))+1;
$rank=1 if($rank<1); $rank=1 if($rank<1);
$rank=0 if(!$camp); $rank=0 if(!$camp);
$log .= "$cmp[$camp] へと所属を変え、$cl[$rank] の階級が与えられた<br>\n"; $log .= "$cmp[$camp] (으)로 소속을 변경하여, $cl[$rank] 계급이 부여되었다.<br>\n";
$roku=$time; $roku=$time;
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
} }
} }
&write_data; &write_data;
} }
1; 1;
Regular → Executable
+125 -125
View File
@@ -1,125 +1,125 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 情報 モバイル用サブルーチン Version 1.0 # # 정보 모바일용 서브루틴 Version 1.0 #
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 情報 # 정보
sub infomation_com{ sub infomation_com{
$log .= qq|現在の $cmp[$camp] の将兵一覧<br>\n|; $log .= qq|현재 $cmp[$camp]의 장병 일람<br>\n|;
local(@usrfile,@tdat); local(@usrfile,@tdat);
# 参加者データファイル一覧取得/読み込み # 참가자 데이터 파일 일람 취득/읽기
&usrdata_read; &usrdata_read;
&usrdata_open; &usrdata_open;
require './inc/ore_sub-members-p1.cgi';&member_list; require './inc/ore_sub-members-p1.cgi';&member_list;
if($camp eq'' || $camp < 1 || $camp > 5){ if($camp eq'' || $camp < 1 || $camp > 5){
foreach (0 .. $#tdat){ foreach (0 .. $#tdat){
%R = ''; %R = '';
my @prats = split(/,/,$tdat[$_]); my @prats = split(/,/,$tdat[$_]);
foreach $prats (@prats){ foreach $prats (@prats){
my($y,$x) = split(/;/,$prats); my($y,$x) = split(/;/,$prats);
$R{$y} = $x; $R{$y} = $x;
} }
$NM_V = $R{'nm'}; $NM_V = $R{'nm'};
$HP_MAX_V = $R{'max_hp'}; $HP_MAX_V = $R{'max_hp'};
$MP_MAX_V = $R{'max_mp'}; $MP_MAX_V = $R{'max_mp'};
$LV_V = $R{'rank'}; $LV_V = $R{'rank'};
$TM_V = $R{'lv'}; $TM_V = $R{'lv'};
$UA_V = $R{'ua'}; $UA_V = $R{'ua'};
$UD_V = $R{'ud'}; $UD_V = $R{'ud'};
$LR_V = $R{'lr'}; $LR_V = $R{'lr'};
$AG_V = $R{'ag'}; $AG_V = $R{'ag'};
$DG_A_V = $R{'dg_a'};#武具 $DG_A_V = $R{'dg_a'};#무기
$DF_A_V = $R{'df_a'};#防具 $DF_A_V = $R{'df_a'};#방어구
$SOGO_V = $R{'sogo'};#称号 $SOGO_V = $R{'sogo'};#칭호
$SEI_V = $R{'sei'};#性別 $SEI_V = $R{'sei'};#성별
$MES_V = $R{'info_mes'}; $MES_V = $R{'info_mes'};
$TYPE_V = ($R{'type'}) ? "$R{'type'}" : "待機中"; $TYPE_V = ($R{'type'}) ? "$R{'type'}" : "대기중";
$cnt = $_+1; $cnt = $_+1;
if($R{'camp'} == 0){ if($R{'camp'} == 0){
$log .=qq|$cnt Lv$TM_V|; $log .=qq|$cnt Lv$TM_V|;
# 称号 # 칭호
$log .= ($SOGO_V > 0) ? "$NM_V [$sogo_p[$SOGO_V]]" : "$NM_V"; $log .= ($SOGO_V > 0) ? "$NM_V [$sogo_p[$SOGO_V]]" : "$NM_V";
$log .=qq|HP$HP_MAX_V/MP$MP_MAX_V/UA$UA_V/UD$UD_V/LR$LR_V/AG$AG_V $cl[$LV_V]<hr color="white">\n|; $log .=qq|HP$HP_MAX_V/MP$MP_MAX_V/UA$UA_V/UD$UD_V/LR$LR_V/AG$AG_V $cl[$LV_V]<hr color="white">\n|;
} }
} }
}else{ }else{
foreach(0 .. $#tdat){ foreach(0 .. $#tdat){
%R = ''; %R = '';
my @prats = split(/,/,$tdat[$_]); my @prats = split(/,/,$tdat[$_]);
foreach $prats (@prats){ foreach $prats (@prats){
my($y,$x) = split(/;/,$prats); my($y,$x) = split(/;/,$prats);
$R{$y} = $x; $R{$y} = $x;
} }
if($camp == $R{'camp'}){ if($camp == $R{'camp'}){
$NM_V{$R{'nm'}} = $R{'nm'}; $NM_V{$R{'nm'}} = $R{'nm'};
$HP_MAX_V{$R{'nm'}} = $R{'max_hp'}; $HP_MAX_V{$R{'nm'}} = $R{'max_hp'};
$MP_MAX_V{$R{'nm'}} = $R{'max_mp'}; $MP_MAX_V{$R{'nm'}} = $R{'max_mp'};
$LV_V{$R{'nm'}} = $R{'rank'}; $LV_V{$R{'nm'}} = $R{'rank'};
$TM_V{$R{'nm'}} = $R{'lv'}; $TM_V{$R{'nm'}} = $R{'lv'};
$UA_V{$R{'nm'}} = $R{'ua'}; $UA_V{$R{'nm'}} = $R{'ua'};
$UD_V{$R{'nm'}} = $R{'ud'}; $UD_V{$R{'nm'}} = $R{'ud'};
$LR_V{$R{'nm'}} = $R{'lr'}; $LR_V{$R{'nm'}} = $R{'lr'};
$AG_V{$R{'nm'}} = $R{'ag'}; $AG_V{$R{'nm'}} = $R{'ag'};
$DG_A{$R{'nm'}} = $R{'dg_a'};#武具 $DG_A{$R{'nm'}} = $R{'dg_a'};#무기
$DF_A{$R{'nm'}} = $R{'df_a'};#防具 $DF_A{$R{'nm'}} = $R{'df_a'};#방어구
$SOGO_V{$R{'nm'}} =$R{'sogo'};#称号 $SOGO_V{$R{'nm'}} =$R{'sogo'};#칭호
$SEI_V{$R{'nm'}} =$R{'sei'};#性別 $SEI_V{$R{'nm'}} =$R{'sei'};#성별
$MES_V{$R{'nm'}} =$R{'info_mes'}; $MES_V{$R{'nm'}} =$R{'info_mes'};
$TYPE_V{$R{'nm'}} = ($R{'type'}) ? "$R{'type'}" : "待機中"; $TYPE_V{$R{'nm'}} = ($R{'type'}) ? "$R{'type'}" : "대기중";
$N_M{$R{'nm'}} = $_; $N_M{$R{'nm'}} = $_;
} }
} }
$l = $rk = 1; $l = $rk = 1;
foreach $nm (sort sclv keys(%LV_V)){ foreach $nm (sort sclv keys(%LV_V)){
$lv_v = $LV_V{$nm}; $lv_v = $LV_V{$nm};
next if($lv_v<=0); next if($lv_v<=0);
if($lv_v<$prv_lv){ $rk = $l; } if($lv_v<$prv_lv){ $rk = $l; }
$log .="$rk Lv$TM_V{$nm} "; $log .="$rk Lv$TM_V{$nm} ";
#称号 #칭호
$log .= ($SOGO_V{$nm} > 0) ? "$NM_V{$nm} [$sogo_p[$SOGO_V{$nm}]]" : "$NM_V{$nm}"; $log .= ($SOGO_V{$nm} > 0) ? "$NM_V{$nm} [$sogo_p[$SOGO_V{$nm}]]" : "$NM_V{$nm}";
$log .=qq| HP$HP_MAX_V{$nm}/MP$MP_MAX_V{$nm}/UA$UA_V{$nm}/UD$UD_V{$nm}/LR$LR_V{$nm}/AG$AG_V{$nm} $cl[$lv_v]<hr color="white">\n|; $log .=qq| HP$HP_MAX_V{$nm}/MP$MP_MAX_V{$nm}/UA$UA_V{$nm}/UD$UD_V{$nm}/LR$LR_V{$nm}/AG$AG_V{$nm} $cl[$lv_v]<hr color="white">\n|;
$prv_lv = $lv_v; $prv_lv = $lv_v;
$l++; $l++;
} }
} }
$tm = $cmd = 0; $tm = $cmd = 0;
$layout_flag=1; $layout_flag=1;
&call_main_st; &call_main_st;
} }
1;#削除不可 1;#삭제 불가
Regular → Executable
+164 -164
View File
@@ -1,164 +1,164 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 情報 PC用サブルーチン Version 1.0 # # 정보 PC용 서브루틴 Version 1.0 #
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 情報 # 정보
sub infomation_com{ sub infomation_com{
$log .= qq|<b style="color:$color[$camp]">現在の $cmp[$camp] に所属する将兵一覧</b><br><br>\n|; $log .= qq|<b style="color:$color[$camp]">현재 $cmp[$camp]에 소속된 장병 일람</b><br><br>\n|;
if($com){ if($com){
if($com =~ /:/){ &error("名前に不正な文字( : )が含まれています。",1); } if($com =~ /:/){ &error("이름에 올바르지 않은 문자( : )가 포함되어 있습니다.",1); }
if($com =~ /;/){ &error("名前に不正な文字( ; )が含まれています。",1); } if($com =~ /;/){ &error("이름에 올바르지 않은 문자( ; )가 포함되어 있습니다.",1); }
if($com =~ /,/){ &error("名前に不正な文字( , )が含まれています。",1); } if($com =~ /,/){ &error("이름에 올바르지 않은 문자( , )가 포함되어 있습니다.",1); }
if($com =~ /"/){ &error("名前に不正な文字( \" )が含まれています。",1); } if($com =~ /"/){ &error("이름에 올바르지 않은 문자( \" )가 포함되어 있습니다.",1); }
if($com =~ /'/){ &error("名前に不正な文字( ' )が含まれています。",1); } if($com =~ /'/){ &error("이름에 올바르지 않은 문자( ' )가 포함되어 있습니다.",1); }
if($com =~ /\//){ &error("名前に不正な文字( / )が含まれています。",1); } if($com =~ /\//){ &error("이름에 올바르지 않은 문자( / )가 포함되어 있습니다.",1); }
if(length($com)>80){ &error("全角40文字までです。",1); } if(length($com)>80){ &error("전각 40자까지 입력 가능합니다.",1); }
$com =~ s/\n//g; $com =~ s/\n//g;
$info_mes=$com; $info_mes=$com;
} }
local(@usrfile,@tdat); local(@usrfile,@tdat);
# 参加者データファイル一覧取得/読み込み # 참가자 데이터 파일 일람 취득/읽기
&usrdata_read; &usrdata_read;
&usrdata_open; &usrdata_open;
require './inc/ore_sub-members-p1.cgi';&member_list; require './inc/ore_sub-members-p1.cgi';&member_list;
if($camp eq'' || $camp < 1 || $camp > 5){ if($camp eq'' || $camp < 1 || $camp > 5){
$log .= "<table border=0 cellpadding=2 cellspacing=2 width=100%>\n<tr align=center bgcolor=#ccccee><td>順位</td><td>LV</td><td>名前</td><td>体力/精神</td><td>攻撃/防御/指揮/敏捷</td><td>武具</td><td>防具</td><td>階級</td><td>行動</td></tr>"; $log .= "<table border=0 cellpadding=2 cellspacing=2 width=100%>\n<tr align=center bgcolor=#ccccee><td>순위</td><td>LV</td><td>이름</td><td>체력/정신</td><td>공격/방어/지휘/민첩</td><td>무기</td><td>방어구</td><td>계급</td><td>행동</td></tr>";
foreach (0 .. $#tdat){ foreach (0 .. $#tdat){
%R = ''; %R = '';
my @prats = split(/,/,$tdat[$_]); my @prats = split(/,/,$tdat[$_]);
foreach $prats (@prats){ foreach $prats (@prats){
my($y,$x) = split(/;/,$prats); my($y,$x) = split(/;/,$prats);
$R{$y} = $x; $R{$y} = $x;
} }
$NM_V = $R{'nm'}; $NM_V = $R{'nm'};
$HP_MAX_V = $R{'max_hp'}; $HP_MAX_V = $R{'max_hp'};
$MP_MAX_V = $R{'max_mp'}; $MP_MAX_V = $R{'max_mp'};
$LV_V = $R{'rank'}; $LV_V = $R{'rank'};
$TM_V = $R{'lv'}; $TM_V = $R{'lv'};
$UA_V = $R{'ua'}; $UA_V = $R{'ua'};
$UD_V = $R{'ud'}; $UD_V = $R{'ud'};
$LR_V = $R{'lr'}; $LR_V = $R{'lr'};
$AG_V = $R{'ag'}; $AG_V = $R{'ag'};
$DG_A_V = $R{'dg_a'};#武具 $DG_A_V = $R{'dg_a'};#무기
$DF_A_V = $R{'df_a'};#防具 $DF_A_V = $R{'df_a'};#방어구
$SOGO_V = $R{'sogo'};#称号 $SOGO_V = $R{'sogo'};#칭호
$SEI_V = $R{'sei'};#性別 $SEI_V = $R{'sei'};#성별
$MES_V = $R{'info_mes'}; $MES_V = $R{'info_mes'};
$TYPE_V = ($R{'type'}) ? "$R{'type'}" : "待機中"; $TYPE_V = ($R{'type'}) ? "$R{'type'}" : "대기중";
$cnt = $_+1; $cnt = $_+1;
if($R{'camp'} == 0){ if($R{'camp'} == 0){
$log .=qq|<tr align="center" bgcolor="#ccccee"><td>$cnt</td><td>$TM_V</td><td>|; $log .=qq|<tr align="center" bgcolor="#ccccee"><td>$cnt</td><td>$TM_V</td><td>|;
# 称号 # 칭호
$log .= ($SOGO_V > 0) ? "$NM_V <small>[$sogo_p[$SOGO_V]]</small>" : "$NM_V"; $log .= ($SOGO_V > 0) ? "$NM_V <small>[$sogo_p[$SOGO_V]]</small>" : "$NM_V";
$log .="</td><td>$HP_MAX_V/$MP_MAX_V</td><td align=center>$UA_V/$UD_V/$LR_V/$AG_V</td><td>$dg_data[$DG_A_V][1]</td><td>$df_data[$DF_A_V][1]</td><td>$cl[$LV_V]</td><td></td>$TYPE_V</tr>\n"; $log .="</td><td>$HP_MAX_V/$MP_MAX_V</td><td align=center>$UA_V/$UD_V/$LR_V/$AG_V</td><td>$dg_data[$DG_A_V][1]</td><td>$df_data[$DF_A_V][1]</td><td>$cl[$LV_V]</td><td></td>$TYPE_V</tr>\n";
$log .=qq|<tr align="left" bgcolor="#ccccee"><td style="font-size:12px" colspan="8">&gt;&gt; 備考: $seibetu[$SEI_V]&nbsp;&nbsp;&nbsp;&nbsp;格言: $MES_V</td></tr>\n|; $log .=qq|<tr align="left" bgcolor="#ccccee"><td style="font-size:12px" colspan="8">&gt;&gt; 비고: $seibetu[$SEI_V]&nbsp;&nbsp;&nbsp;&nbsp;격언: $MES_V</td></tr>\n|;
} }
} }
}else{ }else{
foreach(0 .. $#tdat){ foreach(0 .. $#tdat){
%R = ''; %R = '';
my @prats = split(/,/,$tdat[$_]); my @prats = split(/,/,$tdat[$_]);
foreach $prats (@prats){ foreach $prats (@prats){
my($y,$x) = split(/;/,$prats); my($y,$x) = split(/;/,$prats);
$R{$y} = $x; $R{$y} = $x;
} }
if($camp == $R{'camp'}){ if($camp == $R{'camp'}){
$NM_V{$R{'nm'}} = $R{'nm'}; $NM_V{$R{'nm'}} = $R{'nm'};
$HP_MAX_V{$R{'nm'}} = $R{'max_hp'}; $HP_MAX_V{$R{'nm'}} = $R{'max_hp'};
$MP_MAX_V{$R{'nm'}} = $R{'max_mp'}; $MP_MAX_V{$R{'nm'}} = $R{'max_mp'};
$LV_V{$R{'nm'}} = $R{'rank'}; $LV_V{$R{'nm'}} = $R{'rank'};
$TM_V{$R{'nm'}} = $R{'lv'}; $TM_V{$R{'nm'}} = $R{'lv'};
$UA_V{$R{'nm'}} = $R{'ua'}; $UA_V{$R{'nm'}} = $R{'ua'};
$UD_V{$R{'nm'}} = $R{'ud'}; $UD_V{$R{'nm'}} = $R{'ud'};
$LR_V{$R{'nm'}} = $R{'lr'}; $LR_V{$R{'nm'}} = $R{'lr'};
$AG_V{$R{'nm'}} = $R{'ag'}; $AG_V{$R{'nm'}} = $R{'ag'};
$DG_A{$R{'nm'}} = $R{'dg_a'};#武具 $DG_A{$R{'nm'}} = $R{'dg_a'};#무기
$DF_A{$R{'nm'}} = $R{'df_a'};#防具 $DF_A{$R{'nm'}} = $R{'df_a'};#방어구
$SOGO_V{$R{'nm'}} =$R{'sogo'};#称号 $SOGO_V{$R{'nm'}} =$R{'sogo'};#칭호
$SEI_V{$R{'nm'}} =$R{'sei'};#性別 $SEI_V{$R{'nm'}} =$R{'sei'};#성별
$MES_V{$R{'nm'}} =$R{'info_mes'}; $MES_V{$R{'nm'}} =$R{'info_mes'};
$TYPE_V{$R{'nm'}} = ($R{'type'}) ? "$R{'type'}" : "待機中"; $TYPE_V{$R{'nm'}} = ($R{'type'}) ? "$R{'type'}" : "대기중";
$N_M{$R{'nm'}} = $_; $N_M{$R{'nm'}} = $_;
} }
} }
$log .=qq|<table border="0" cellpadding="2" cellspacing="2" width="100%">\n<tr align="center" bgcolor="#ccccee"><td style="font-size:12px">順位</td><td style="font-size:12px">LV</td><td style="font-size:12px">名前</td><td style="font-size:12px">体力/精神</td><td style="font-size:12px">攻撃/防御/指揮/敏捷</td><td style="font-size:12px">武具</td><td style="font-size:12px">防具</td><td style="font-size:12px">階級</td><td style="font-size:12px">行動</td></tr>|; $log .=qq|<table border="0" cellpadding="2" cellspacing="2" width="100%">\n<tr align="center" bgcolor="#ccccee"><td style="font-size:12px">순위</td><td style="font-size:12px">LV</td><td style="font-size:12px">이름</td><td style="font-size:12px">체력/정신</td><td style="font-size:12px">공격/방어/지휘/민첩</td><td style="font-size:12px">무기</td><td style="font-size:12px">방어구</td><td style="font-size:12px">계급</td><td style="font-size:12px">행동</td></tr>|;
$l = $rk = 1; $l = $rk = 1;
foreach $nm (sort sclv keys(%LV_V)){ foreach $nm (sort sclv keys(%LV_V)){
$lv_v = $LV_V{$nm}; $lv_v = $LV_V{$nm};
next if($lv_v<=0); next if($lv_v<=0);
if($lv_v<$prv_lv){ $rk = $l; } if($lv_v<$prv_lv){ $rk = $l; }
$log .="<tr align=center bgcolor=#ccccee><td>$rk</td><td>$TM_V{$nm}</td><td>"; $log .="<tr align=center bgcolor=#ccccee><td>$rk</td><td>$TM_V{$nm}</td><td>";
#称号 #칭호
$log .= ($SOGO_V{$nm} > 0) ? "$NM_V{$nm} <small>[$sogo_p[$SOGO_V{$nm}]]</small>" : "$NM_V{$nm}"; $log .= ($SOGO_V{$nm} > 0) ? "$NM_V{$nm} <small>[$sogo_p[$SOGO_V{$nm}]]</small>" : "$NM_V{$nm}";
$log .="</td><td>$HP_MAX_V{$nm}/$MP_MAX_V{$nm}</td><td align=center>$UA_V{$nm}/$UD_V{$nm}/$LR_V{$nm}/$AG_V{$nm}</td><td>$dg_data[$DG_A{$nm}][1]</td><td>$df_data[$DF_A{$nm}][1]</td><td>$cl[$lv_v]</td><td>$TYPE_V{$nm}</td></tr>\n"; $log .="</td><td>$HP_MAX_V{$nm}/$MP_MAX_V{$nm}</td><td align=center>$UA_V{$nm}/$UD_V{$nm}/$LR_V{$nm}/$AG_V{$nm}</td><td>$dg_data[$DG_A{$nm}][1]</td><td>$df_data[$DF_A{$nm}][1]</td><td>$cl[$lv_v]</td><td>$TYPE_V{$nm}</td></tr>\n";
$log .=qq|<tr align="left" bgcolor="#ccccee"><td style="font-size:12px" colspan="9">&gt;&gt; 備考: $seibetu[$SEI_V{$nm}]&nbsp;&nbsp;&nbsp;&nbsp;格言: $MES_V{$nm}</td></tr>\n|; $log .=qq|<tr align="left" bgcolor="#ccccee"><td style="font-size:12px" colspan="9">&gt;&gt; 비고: $seibetu[$SEI_V{$nm}]&nbsp;&nbsp;&nbsp;&nbsp;격언: $MES_V{$nm}</td></tr>\n|;
$prv_lv = $lv_v; $prv_lv = $lv_v;
$l++; $l++;
} }
} }
$log .="</table>\n"; $log .="</table>\n";
$log.=<<EOM; $log.=<<EOM;
<br><br> <br><br>
<div align="center" class="moji2"> <div align="center" class="moji2">
<form method="$method" action="$script" name="ore_"> <form method="$method" action="$script" name="ore_">
<input type="hidden" name="id" value="$id"> <input type="hidden" name="id" value="$id">
<input type="hidden" name="pw" value="$pw"> <input type="hidden" name="pw" value="$pw">
<input type="hidden" name="cmd" value="6"> <input type="hidden" name="cmd" value="6">
<input type=text name="com" class="button2" style="width:360px"> <input type=text name="com" class="button2" style="width:360px">
<input type=submit value="ポチッ/更新" class="button2" style="width:100px"> <input type=submit value="클릭/업데이트" class="button2" style="width:100px">
<input type=reset value="クリア" class="button2" style="width:40px"> <input type=reset value="초기화" class="button2" style="width:40px">
<br> <br>
コメントは全角40文字まで。 한마디는 전각 40자까지.
</form> </form>
</div> </div>
EOM EOM
$log .="</table>\n"; $log .="</table>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$layout_flag=1; $layout_flag=1;
&call_main_st; &call_main_st;
} }
1;#削除不可 1;#삭제 불가
Regular → Executable
+152 -152
View File
@@ -1,152 +1,152 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# メイン Version 1.1 # 메인 Version 1.1
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# メインメニュー # 메인 메뉴
sub main_st { # メイン sub main_st { # 메인
# 回復 # 회복
$hrg=int($time-$la); $hrg=int($time-$la);
$hrg=int($hrg/$hrg_time); $hrg=int($hrg/$hrg_time);
$hrg=0 if($hrg<1); $hrg=0 if($hrg<1);
$d=$time; $d=$time;
$d=$d-$roku; $d=$d-$roku;
if($ck!=1){ if($ck!=1){
for($x=0;$x<$hrg;++$x){ for($x=0;$x<$hrg;++$x){
$hp++; $hp++;
$mp++; $mp++;
} }
} }
$hp=$max_hp if($hp>$max_hp); $hp=$max_hp if($hp>$max_hp);
$mp=$max_mp if($mp>$max_mp); $mp=$max_mp if($mp>$max_mp);
# 給料 # 급여
if($camp>0&&$d>21600){ if($camp>0&&$d>21600){
$v=$g_p[$rank]; $v=$g_p[$rank];
$v=int($v/5); $v=int($v/5);
$v=int($my_cn*0.8)+$v; $v=int($my_cn*0.8)+$v;
$gold+=$v; $gold+=$v;
$log .= " $v の給与が支給された<br>"; $log .= " $v 골드의 급여가 지급되었습니다.<br>";
$d-=21600; $d-=21600;
$roku=$time; $roku=$time;
} }
# データリセット # 데이터 초기화
if( $cn1>=$data_reset|| if( $cn1>=$data_reset||
$cn2>=$data_reset|| $cn2>=$data_reset||
$cn3>=$data_reset|| $cn3>=$data_reset||
$cn4>=$data_reset|| $cn4>=$data_reset||
$cn5>=$data_reset){ $cn5>=$data_reset){
$log .="全国統一が成された!<br>国力が初期化されます<br>\n"; $log .="천하통일이 달성되었다!<br>국력이 초기화됩니다.<br>\n";
require './inc/ore_sub-main_reset.cgi';&reset_cdat; require './inc/ore_sub-main_reset.cgi';&reset_cdat;
} }
if($set<$time){ if($set<$time){
require './inc/ore_sub-main_reset.cgi';&reset_time_limit; require './inc/ore_sub-main_reset.cgi';&reset_time_limit;
} }
# 経験 # 경험
$next_rank=int(($rank*$rank)*3); $next_rank=int(($rank*$rank)*3);
if($rank_exe>=$next_rank){ if($rank_exe>=$next_rank){
if($camp!=0&&$rank<14){ if($camp!=0&&$rank<14){
$log .="日頃の仕事ぶりが認められ階級があがった<br>\n"; $log .="평소의 공로가 인정되어 계급이 올랐다.<br>\n";
$rank++; $rank++;
$rank_exe-=$next_rank; $rank_exe-=$next_rank;
} }
} }
if($exe>$next_lv){ if($exe>$next_lv){
$log .="経験を積みより強く成長した<br>\n"; $log .="경험을 쌓아 더욱 강하게 성장했다.<br>\n";
$lv++; $lv++;
$a =int(rand(2)); $a =int(rand(2));
$max_hp +=int($a); $max_hp +=int($a);
$b =int(rand(2)); $b =int(rand(2));
$max_mp +=int($b); $max_mp +=int($b);
$w =int(rand(2)); $w =int(rand(2));
$ua +=int($w); $ua +=int($w);
$d =int(rand(2)); $d =int(rand(2));
$ud +=int($d); $ud +=int($d);
$l =int(rand(2)); $l =int(rand(2));
$lr +=int($l); $lr +=int($l);
if($lv<=5){$gg=2;} if($lv<=5){$gg=2;}
if($lv<=10){$gg=1;} if($lv<=10){$gg=1;}
$g =int(rand(2)+$gg); $g =int(rand(2)+$gg);
$ag +=int($g); $ag +=int($g);
$exe-=$next_lv; $exe-=$next_lv;
$log .="体力が$a上がった<br>精神力が$b上がった<br>攻撃が$w上がった<br>防御が$d上がった<br>指揮が$l上がった<br>敏捷が$g上がった<br>\n"; $log .="체력이 $a 올랐다<br>정신력이 $b 올랐다<br>공격력이 $w 올랐다<br>방어력이 $d 올랐다<br>지휘력이 $l 올랐다<br>민첩성이 $g 올랐다<br>\n";
} }
# アナウンス # 안내
if($mes && $pr<1){ if($mes && $pr<1){
$log .="$mes<br>\n"; $log .="$mes<br>\n";
$mes=''; $mes='';
} }
# 内政義務制 # 내정 의무제
if($act_cnt>=$act_cnt_limit && $camp){ if($act_cnt>=$act_cnt_limit && $camp){
$log .= "行動セッションが限界に達しています。一度内政を行ってください。<br>\n"; $log .= "행동 세션이 한계에 도달했습니다. 내정을 한번 수행해 주십시오.<br>\n";
$tm=0; $tm=0;
}elsif($act_cnt>=$act_cnt_limit && !$camp){ }elsif($act_cnt>=$act_cnt_limit && !$camp){
$log .= "行動セッションが限界に達しています。休憩してください。<br>\n"; $log .= "행동 세션이 한계에 도달했습니다. 휴식해 주십시오.<br>\n";
$pr=int($GMT/2); $pr=int($GMT/2);
$tm=0; $tm=0;
# 行動カウントのリセット(無条件) # 행동 카운트 초기화(무조건)
$act_cnt=0; $act_cnt=0;
} }
# メインコマンド # 메인 커맨드
my @c = ('現状維持','修業','内政','戦争','能力','仕官','情報','討伐','軍事'); my @c = ('현상유지','수행','내정','전쟁','능력','사관','정보','토벌','군사');
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|; $log2 .=qq|<select name="cmd" size="1">\n|;
foreach(0 .. $#c){ $log2 .=qq|<option value="$_">$c[$_]</option>\n|;} foreach(0 .. $#c){ $log2 .=qq|<option value="$_">$c[$_]</option>\n|;}
$log2 .=qq|</select><br>\n|; $log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
&write_data; &write_data;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 拘束時間 # 구속 시간
sub wt_st { sub wt_st {
$whour = int($pr/3600); $whour = int($pr/3600);
$wmin = int(($pr%3600)/60); $wmin = int(($pr%3600)/60);
$wsec = $pr%60; $wsec = $pr%60;
if($whour>0){ if($whour>0){
$wmin = "0$wmin" if($wmin<10); $wmin = "0$wmin" if($wmin<10);
$log .="行動中・・・あと$whour時間$wmin\n"; $log .="행동 중… 남은 시간: $whour시간 $wmin\n";
}elsif($wmin>0){ }elsif($wmin>0){
$wsec = "0$wsec" if($wsec<10); $wsec = "0$wsec" if($wsec<10);
$log .="行動中…あと$wmin\n"; $log .="행동 중… 남은 시간: $wmin\n";
}else{ }else{
$log .="行動中…あと$wsec\n"; $log .="행동 중… 남은 시간: $wsec\n";
} }
} }
1; 1;
Regular → Executable
+103 -104
View File
@@ -1,104 +1,103 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 統一処理(国データリセット) Version 1.0 # 통일 처리(국가 데이터 리셋) Version 1.0
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 統一処理(国データリセット) # 통일 처리(국가 데이터 리셋)
sub reset_cdat{ sub reset_cdat{
if($limit_mode){ if($limit_mode){
require './inc/ore_sub-members-p1.cgi'; require './inc/ore_sub-members-p1.cgi';
&member_adjust; &member_adjust;
} }
# 旧式・固定モード # 구식/고정 모드
if(!$reset_cdat){ if(!$reset_cdat){
my @camp_pw = (0,4500,4500,3500,5000,3500); # 国力 変更可能 my @camp_pw = (0,4500,4500,3500,5000,3500); # 국력 변경 가능
my @camp_gl = (0,900,200,400,250,300); # 国家予算 my @camp_gl = (0,900,200,400,250,300); # 국가 예산
my @camp_fd = (0,2000,5000,3500,8000,6000); # 総兵糧 my @camp_fd = (0,2000,5000,3500,8000,6000); # 총 군량
my @camp_sl = (0,3000,2500,4000,5000,4000); # 総兵士数 my @camp_sl = (0,3000,2500,4000,5000,4000); # 총 병사 수
$cn1=$camp_pw[1]; $cn1=$camp_pw[1];
$cg1=$camp_gl[1]; $cg1=$camp_gl[1];
$cf1=$camp_fd[1]; $cf1=$camp_fd[1];
$cs1=$camp_sl[1]; $cs1=$camp_sl[1];
$cn2=$camp_pw[2]; $cn2=$camp_pw[2];
$cg2=$camp_gl[2]; $cg2=$camp_gl[2];
$cf2=$camp_fd[2]; $cf2=$camp_fd[2];
$cs2=$camp_sl[2]; $cs2=$camp_sl[2];
$cn3=$camp_pw[3]; $cn3=$camp_pw[3];
$cg3=$camp_gl[3]; $cg3=$camp_gl[3];
$cf3=$camp_fd[3]; $cf3=$camp_fd[3];
$cs3=$camp_sl[3]; $cs3=$camp_sl[3];
$cn4=$camp_pw[4]; $cn4=$camp_pw[4];
$cg4=$camp_gl[4]; $cg4=$camp_gl[4];
$cf4=$camp_fd[4]; $cf4=$camp_fd[4];
$cs4=$camp_sl[4]; $cs4=$camp_sl[4];
$cn5=$camp_pw[5]; $cn5=$camp_pw[5];
$cg5=$camp_gl[5]; $cg5=$camp_gl[5];
$cf5=$camp_fd[5]; $cf5=$camp_fd[5];
$cs5=$camp_sl[5]; $cs5=$camp_sl[5];
} }
# ランダムモード # 랜덤 모드
else{ else{
# リセット処理 # 리셋 처리
$cn1=int(rand(40))*100+2500; $cn1=int(rand(40))*100+2500;
$cn2=int(rand(40))*100+2500; $cn2=int(rand(40))*100+2500;
$cn3=int(rand(40))*100+2500; $cn3=int(rand(40))*100+2500;
$cn4=int(rand(40))*100+2500; $cn4=int(rand(40))*100+2500;
$cn5=int(rand(40))*100+2500; $cn5=int(rand(40))*100+2500;
$cg1=int(rand(50))*20+200; $cg1=int(rand(50))*20+200;
$cg2=int(rand(50))*20+200; $cg2=int(rand(50))*20+200;
$cg3=int(rand(50))*20+200; $cg3=int(rand(50))*20+200;
$cg4=int(rand(50))*20+200; $cg4=int(rand(50))*20+200;
$cg5=int(rand(50))*20+200; $cg5=int(rand(50))*20+200;
$cf1=int(rand(60))*100+2500; $cf1=int(rand(60))*100+2500;
$cf2=int(rand(60))*100+2500; $cf2=int(rand(60))*100+2500;
$cf3=int(rand(60))*100+2500; $cf3=int(rand(60))*100+2500;
$cf4=int(rand(60))*100+2500; $cf4=int(rand(60))*100+2500;
$cf5=int(rand(60))*100+2500; $cf5=int(rand(60))*100+2500;
$cs1=int(rand(60))*50+2000; $cs1=int(rand(60))*50+2000;
$cs2=int(rand(60))*50+2000; $cs2=int(rand(60))*50+2000;
$cs3=int(rand(60))*50+2000; $cs3=int(rand(60))*50+2000;
$cs4=int(rand(60))*50+2000; $cs4=int(rand(60))*50+2000;
$cs5=int(rand(60))*50+2000; $cs5=int(rand(60))*50+2000;
} }
$ce1=$ce2=$ce3=$ce4=$ce5=0; $ce1=$ce2=$ce3=$ce4=$ce5=0;
$set=$reset_time_limit * 3600 * 24 + $time; $set=$reset_time_limit * 3600 * 24 + $time;
$goal_no++; $goal_no++;
# 国データを配列化したいけど、めんどくさいからいいや・・・。 # 국가 데이터를 배열화하고 싶지만, 귀찮으니까 패스...
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# タイムアウトによるリセット # 타임아웃에 의한 리셋
sub reset_time_limit{ sub reset_time_limit{
$log .="長き年月が過ぎたが、戦乱の世を制する覇者は最後まで出現しなかった。<br>各国データがリセットされます。\n"; $log .="긴 세월이 흘렀으나, 전란의 시대를 제패할 패자는 끝내 나타나지 않았습니다.<br>각 국가의 데이터가 리셋됩니다.\n";
$wr_mes="長き年月が過ぎたが、戦乱の世を制する覇者は最後まで出現しなかった。各国データがリセットされた"; $wr_mes="긴 세월이 흘렀으나, 전란의 시대를 제패할 패자는 끝내 나타나지 않았습니다. 각 국가의 데이터가 리셋되었습니다";
&reset_cdat; &reset_cdat;
&hist_write; &hist_write;
} }
1;
1;
Regular → Executable
+54 -54
View File
@@ -1,54 +1,54 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# マップ PC用サブルーチン Version 1.0 # # 맵 PC용 서브루틴 Version 1.0 #
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
############################################################# #############################################################
# 以下処理 基本的にこれ以下はいじらないように。 # 이하 처리 기본적으로 이 이하는 수정하지 말 것.
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# クリッカブルマップ # 클릭커블 맵
sub mapdata{ sub mapdata{
$log.=<<EOM; $log.=<<EOM;
<tt><br> <br></tt><table width=440 cellspacing=1 cellpadding=0 height=360 bordercolor=#000000> <tt><br> <br></tt><table width=440 cellspacing=1 cellpadding=0 height=360 bordercolor=#000000>
<tr> <tr>
<td width=55 height=45> </td><td width=55> </td><td width=55 bgcolor=$color[4]> </td><td width=55> </td><td width=55> </td><td width=55> </td><td width=55 bgcolor=$color[5]> </td><td width=55> </td> <td width=55 height=45> </td><td width=55> </td><td width=55 bgcolor=$color[4]> </td><td width=55> </td><td width=55> </td><td width=55> </td><td width=55 bgcolor=$color[5]> </td><td width=55> </td>
</tr><tr> </tr><tr>
<td height=45> </td><td bgcolor=$color[4]> </td><td bgcolor=$color[4]> </td><td bgcolor=$color[1]> </td><td bgcolor=$color[1]> </td><td> </td> <td height=45> </td><td bgcolor=$color[4]> </td><td bgcolor=$color[4]> </td><td bgcolor=$color[1]> </td><td bgcolor=$color[1]> </td><td> </td>
<td bgcolor=$color[5]><a style="color:white" href="$script?id=$id&pw=$pw&cmd=5"><b class=map>$cmp[5]</b></a></td> <td bgcolor=$color[5]><a style="color:white" href="$script?id=$id&pw=$pw&cmd=5"><b class=map>$cmp[5]</b></a></td>
<td bgcolor=$color[5]> </td> <td bgcolor=$color[5]> </td>
</tr><tr> </tr><tr>
<td bgcolor=$color[4] height=45> </td><td bgcolor=$color[4]> </td> <td bgcolor=$color[4] height=45> </td><td bgcolor=$color[4]> </td>
<td bgcolor=$color[4]><a style="color:white" href="$script?id=$id&pw=$pw&cmd=4"><b class=map>$cmp[4]</b></a></td> <td bgcolor=$color[4]><a style="color:white" href="$script?id=$id&pw=$pw&cmd=4"><b class=map>$cmp[4]</b></a></td>
<td bgcolor=$color[4]> </td><td bgcolor=$color[1]> </td><td> </td><td bgcolor=$color[5]> </td><td bgcolor=$color[5]> </td> <td bgcolor=$color[4]> </td><td bgcolor=$color[1]> </td><td> </td><td bgcolor=$color[5]> </td><td bgcolor=$color[5]> </td>
</tr><tr> </tr><tr>
<td height=45> </td><td bgcolor=$color[4]> </td><td bgcolor=$color[4]> </td><td bgcolor=$color[1]> </td><td bgcolor=$color[1]><a style="color:white" href="$script?id=$id&pw=$pw&cmd=1"><b class=map>$cmp[1]</b></a></td> <td height=45> </td><td bgcolor=$color[4]> </td><td bgcolor=$color[4]> </td><td bgcolor=$color[1]> </td><td bgcolor=$color[1]><a style="color:white" href="$script?id=$id&pw=$pw&cmd=1"><b class=map>$cmp[1]</b></a></td>
<td bgcolor=$color[1]> </td><td> </td><td bgcolor=$color[5]> </td> <td bgcolor=$color[1]> </td><td> </td><td bgcolor=$color[5]> </td>
</tr><tr> </tr><tr>
<td bgcolor=$color[2] height=45> </td><td bgcolor=$color[2]> </td><td bgcolor=$color[4]> </td> <td bgcolor=$color[2] height=45> </td><td bgcolor=$color[2]> </td><td bgcolor=$color[4]> </td>
<td bgcolor=$color[4]><small>永遠の証<br>跡地</small></td> <td bgcolor=$color[4]><small>영원의 증표<br></small></td>
<td bgcolor=$color[1]> </td><td bgcolor=$color[1]> </td><td> </td><td> </td> <td bgcolor=$color[1]> </td><td bgcolor=$color[1]> </td><td> </td><td> </td>
</tr><tr> </tr><tr>
<td height=45> </td><td bgcolor=$color[2]> </td> <td height=45> </td><td bgcolor=$color[2]> </td>
<td bgcolor=$color[2]><a style="color:white" href="$script?id=$id&pw=$pw&cmd=2"><b class=map>$cmp[2]</b></a></td> <td bgcolor=$color[2]><a style="color:white" href="$script?id=$id&pw=$pw&cmd=2"><b class=map>$cmp[2]</b></a></td>
<td bgcolor=$color[2]> </td><td bgcolor=$color[3]> </td><td bgcolor=$color[3]> </td><td bgcolor=$color[3]> </td><td> </td> <td bgcolor=$color[2]> </td><td bgcolor=$color[3]> </td><td bgcolor=$color[3]> </td><td bgcolor=$color[3]> </td><td> </td>
</tr><tr> </tr><tr>
<td height=45> </td><td> </td><td bgcolor=$color[2]> </td><td bgcolor=$color[3]> </td> <td height=45> </td><td> </td><td bgcolor=$color[2]> </td><td bgcolor=$color[3]> </td>
<td bgcolor=$color[3]><a style="color:white" href="$script?id=$id&pw=$pw&cmd=3"><b class=map>$cmp[3]</b></a></td> <td bgcolor=$color[3]><a style="color:white" href="$script?id=$id&pw=$pw&cmd=3"><b class=map>$cmp[3]</b></a></td>
<td bgcolor=$color[3]> </td><td> </td><td> </td> <td bgcolor=$color[3]> </td><td> </td><td> </td>
</tr><tr> </tr><tr>
<td height=45> </td><td> </td><td> </td><td> </td><td bgcolor=$color[3]> </td><td> </td><td> </td><td> </td> <td height=45> </td><td> </td><td> </td><td> </td><td bgcolor=$color[3]> </td><td> </td><td> </td><td> </td>
</tr></table><tt><br><b>エルタニア ワールドマップ</b><br></tt> </tr></table><tt><br><b>엘타니아 월드맵</b><br></tt>
EOM EOM
} }
1;#削除不可 1;#삭제 불가
Regular → Executable
+106 -106
View File
@@ -1,106 +1,106 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 参加人数取得・調整パーツ Version 1.0 # # 참가 인원수 획득/조정 파츠 Version 1.0 #
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 参加人数取得 # 참가 인원수 획득
sub member_list{ sub member_list{
$all_mem=$#tdat+1; $all_mem=$#tdat+1;
# 参加者合計取得 # 참가자 합계 획득
$c0 = grep(/camp;0/, @tdat); $c0 = grep(/camp;0/, @tdat);
$c1 = grep(/camp;1/, @tdat); $c1 = grep(/camp;1/, @tdat);
$c2 = grep(/camp;2/, @tdat); $c2 = grep(/camp;2/, @tdat);
$c3 = grep(/camp;3/, @tdat); $c3 = grep(/camp;3/, @tdat);
$c4 = grep(/camp;4/, @tdat); $c4 = grep(/camp;4/, @tdat);
$c5 = grep(/camp;5/, @tdat); $c5 = grep(/camp;5/, @tdat);
if($limit_mode){ if($limit_mode){
$c1a = $c2a = $c3a = $c4a = $c5a = ($all_mem<18) ? 3 : int($all_mem/6)+1 ; $c1a = $c2a = $c3a = $c4a = $c5a = ($all_mem<18) ? 3 : int($all_mem/6)+1 ;
&member_adjust if(!$member_flag); &member_adjust if(!$member_flag);
} }
&cdat_write; &cdat_write;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 前回統一の優劣設定(参加人数) # 지난번 통일의 우열 설정(참가 인원수)
sub member_adjust{ sub member_adjust{
$c1a = $c2a = $c3a = $c4a = $c5a = ($all_mem<18) ? 3 : int($all_mem/6)+1 ; $c1a = $c2a = $c3a = $c4a = $c5a = ($all_mem<18) ? 3 : int($all_mem/6)+1 ;
local($rca_p,$rca_m); local($rca_p,$rca_m);
$rca_p=1 if($all_mem<50); $rca_p=1 if($all_mem<50);
$rca_p=2 if($all_mem=>50 && $all_mem<100); $rca_p=2 if($all_mem=>50 && $all_mem<100);
$rca_p=3 if($all_mem=>100 && $all_mem<150); $rca_p=3 if($all_mem=>100 && $all_mem<150);
$rca_p=4 if($all_mem=>150 && $all_mem<200); $rca_p=4 if($all_mem=>150 && $all_mem<200);
$rca_p=5 if($all_mem=>200); $rca_p=5 if($all_mem=>200);
if($all_mem<50){ if($all_mem<50){
$rca_p=0; $rca_p=0;
$rca_m=-1; $rca_m=-1;
} }
elsif($all_mem=>50 && $all_mem<100){ elsif($all_mem=>50 && $all_mem<100){
$rca_p=0; $rca_p=0;
$rca_m=-2; $rca_m=-2;
} }
elsif($all_mem=>100 && $all_mem<150){ elsif($all_mem=>100 && $all_mem<150){
$rca_p=1; $rca_p=1;
$rca_m=-3; $rca_m=-3;
} }
elsif($all_mem=>150 && $all_mem<200){ elsif($all_mem=>150 && $all_mem<200){
$rca_p=1; $rca_p=1;
$rca_m=-4; $rca_m=-4;
} }
elsif($all_mem=>200){ elsif($all_mem=>200){
$rca_p=2; $rca_p=2;
$rca_m=-5; $rca_m=-5;
} }
if($cn1>=$data_reset || $hcamp==1){ if($cn1>=$data_reset || $hcamp==1){
$c1a +=$rca_m; $c1a +=$rca_m;
$c2a +=$rca_p; $c2a +=$rca_p;
$c3a +=$rca_p; $c3a +=$rca_p;
$c4a +=$rca_p; $c4a +=$rca_p;
$c5a +=$rca_p; $c5a +=$rca_p;
}elsif($cn2>=$data_reset || $hcamp==2){ }elsif($cn2>=$data_reset || $hcamp==2){
$c1a +=$rca_p; $c1a +=$rca_p;
$c2a +=$rca_m; $c2a +=$rca_m;
$c3a +=$rca_p; $c3a +=$rca_p;
$c4a +=$rca_p; $c4a +=$rca_p;
$c5a +=$rca_p; $c5a +=$rca_p;
}elsif($cn3>=$data_reset || $hcamp==3){ }elsif($cn3>=$data_reset || $hcamp==3){
$c1a +=$rca_p; $c1a +=$rca_p;
$c2a +=$rca_p; $c2a +=$rca_p;
$c3a +=$rca_m; $c3a +=$rca_m;
$c4a +=$rca_p; $c4a +=$rca_p;
$c5a +=$rca_p; $c5a +=$rca_p;
}elsif($cn4>=$data_reset || $hcamp==4){ }elsif($cn4>=$data_reset || $hcamp==4){
$c1a +=$rca_p; $c1a +=$rca_p;
$c2a +=$rca_p; $c2a +=$rca_p;
$c3a +=$rca_p; $c3a +=$rca_p;
$c4a +=$rca_m; $c4a +=$rca_m;
$c5a +=$rca_p; $c5a +=$rca_p;
}elsif($cn5>=$data_reset || $hcamp==5){ }elsif($cn5>=$data_reset || $hcamp==5){
$c1a +=$rca_p; $c1a +=$rca_p;
$c2a +=$rca_p; $c2a +=$rca_p;
$c3a +=$rca_p; $c3a +=$rca_p;
$c4a +=$rca_p; $c4a +=$rca_p;
$c5a +=$rca_m; $c5a +=$rca_m;
} }
} }
1; 1;
Regular → Executable
+436 -436
View File
@@ -1,436 +1,436 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 軍事 Version 1.1 # 군사 Version 1.1
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#軍事メニュー #군사 메뉴
sub mission{ sub mission{
if(!$type){ if(!$type){
$log .= "軍事を行います。実行するものを選んで下さい。<br>\n"; $log .= "군사를 실행합니다. 실행할 항목을 선택해 주십시오.<br>\n";
$tm=0; $tm=0;
$type='軍事'; $type='군사';
&mission_menu; &mission_menu;
} }
&dat_write; &dat_write;
} }
sub mission_menu{ sub mission_menu{
# 軍事コマンド # 군사 커맨드
my @gu = ('やめる','諜報','強奪','洗脳'); my @gu = ('그만두기','첩보','강탈','세뇌');
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|; $log2 .=qq|<select name="cmd" size="1">\n|;
foreach(0 .. $#gu){ $log2 .=qq|<option value="$_">$gu[$_]</option>\n|;} foreach(0 .. $#gu){ $log2 .=qq|<option value="$_">$gu[$_]</option>\n|;}
$log2 .=qq|</select><br>\n|; $log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
} }
sub misson_menu2{ sub misson_menu2{
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|; $log2 .=qq|<select name="cmd" size="1">\n|;
$log2 .=qq|<option value="0">やめる</option>\n|; $log2 .=qq|<option value="0">그만두기</option>\n|;
foreach(1 .. $#cmp){ $log2 .=qq|<option value="$_">$cmp[$_]</option>\n|;} foreach(1 .. $#cmp){ $log2 .=qq|<option value="$_">$cmp[$_]</option>\n|;}
$log2 .=qq|</select><br>\n|; $log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#軍事処理 #군사 처리
sub mission_exe{ sub mission_exe{
if(!$tm){ if(!$tm){
if($camp<1){ if($camp<1){
$log .= "放浪の身でこの軍事は行なえません。<br>\n"; $log .= "방랑 상태로는 군사를 실행할 수 없습니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif($sogo==3||$sogo==4){ }elsif($sogo==3||$sogo==4){
$log .= "まずは借金を返済して$sogo_p[$sogo] の烙印を消してください。<br>\n"; $log .= "우선 빚을 변제하여 $sogo_p[$sogo] 낙인을 지워 주십시오.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif($cmd<=0 || $cmd>$#cmp){ }elsif($cmd<=0 || $cmd>$#cmp){
$log .= "軍事を中止します<br>\n"; $log .= "군사를 중지합니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif($cmd==1){ }elsif($cmd==1){
$log .= "敵国に諜報員を送り込み、資金調達ルートをかく乱させます。<br>標的国を選んで下さい<br>\n"; $log .= "적국에 첩보원을 보내 자금 조달 루트를 교란합니다.<br>표적 국가를 선택해 주십시오<br>\n";
&call_mapdata if($mv_mode eq 'pc'); &call_mapdata if($mv_mode eq 'pc');
&misson_menu2; &misson_menu2;
$tm=31; $tm=31;
}elsif($cmd==2){ }elsif($cmd==2){
$log .= "敵国の兵糧を強奪します。標的国を選んで下さい(クリッカブルマップ対応)<br>\n"; $log .= "적국의 군량을 강탈합니다. 표적 국가를 선택해 주십시오(클릭커블 맵 지원)<br>\n";
&call_mapdata if($mv_mode eq 'pc'); &call_mapdata if($mv_mode eq 'pc');
&misson_menu2; &misson_menu2;
$tm=32; $tm=32;
}elsif($cmd==3){ }elsif($cmd==3){
$log .= "敵国の兵士を洗脳し、自国へ引き入れます。<br>標的国を選んで下さい<br>\n"; $log .= "적국의 병사를 세뇌하여 자국으로 끌어들입니다.<br>표적 국가를 선택해 주십시오<br>\n";
&call_mapdata if($mv_mode eq 'pc'); &call_mapdata if($mv_mode eq 'pc');
&misson_menu2; &misson_menu2;
$tm=33; $tm=33;
} }
}elsif($tm==31){#諜報内容1 }elsif($tm==31){#첩보 내용 1
&gun_tm31; &gun_tm31;
}elsif($tm==32){#略奪内容1 }elsif($tm==32){#강탈 내용 1
&gun_tm32; &gun_tm32;
}elsif($tm==33){#洗脳内容1 }elsif($tm==33){#세뇌 내용 1
&gun_tm33; &gun_tm33;
}elsif($tm==34){#諜報内容2 }elsif($tm==34){#첩보 내용 2
&gun_tm34; &gun_tm34;
}elsif($tm==35){#強奪内容2 }elsif($tm==35){#강탈 내용 2
&gun_tm35; &gun_tm35;
}elsif($tm==36){#洗脳内容2 }elsif($tm==36){#세뇌 내용 2
&gun_tm36; &gun_tm36;
} }
&write_data; &write_data;
} }
#洗脳内容 #세뇌 내용
sub gun_tm33{ sub gun_tm33{
if($cmd<=0){ if($cmd<=0){
$log .= "洗脳を中止します<br>\n"; $log .= "세뇌를 중지합니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&mission_menu; &mission_menu;
}elsif($cmd>0){ }elsif($cmd>0){
$v=$cmd; $v=$cmd;
if($v==$camp){ if($v==$camp){
$log .= "自国は洗脳できません。<br>\n"; $log .= "자국은 세뇌할 수 없습니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&mission_menu; &mission_menu;
}elsif( (($cmd==1&&$cs1<2500) || ($cmd==1&&$ce1==1))|| }elsif( (($cmd==1&&$cs1<2500) || ($cmd==1&&$ce1==1))||
(($cmd==2&&$cs2<2500) || ($cmd==2&&$ce2==1))|| (($cmd==2&&$cs2<2500) || ($cmd==2&&$ce2==1))||
(($cmd==3&&$cs3<2500) || ($cmd==3&&$ce3==1))|| (($cmd==3&&$cs3<2500) || ($cmd==3&&$ce3==1))||
(($cmd==4&&$cs4<2500) || ($cmd==4&&$ce4==1))|| (($cmd==4&&$cs4<2500) || ($cmd==4&&$ce4==1))||
(($cmd==5&&$cs5<2500) || ($cmd==5&&$ce5==1))){ (($cmd==5&&$cs5<2500) || ($cmd==5&&$ce5==1))){
$log .= "亡国または、総兵士数2500未満の国を洗脳することはできません。<br>\n"; $log .= "망국 또는 총 병사 수 2500 미만인 국가는 세뇌할 수 없습니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&misson_menu2; &misson_menu2;
}elsif($v==0){ }elsif($v==0){
$log .= "<br>\n"; $log .= "<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&mission_menu; &mission_menu;
}else{ }else{
$log .= "$cmp[$v]の兵士陣を洗脳します。<br>\n"; $log .= "$cmp[$v]의 병사들을 세뇌합니다.<br>\n";
$log .= "催眠術師を送り込みます。敵国国境まで$GMW時間です<br>\n"; $log .= "최면술사를 파견합니다. 적국 국경까지 $GMW 시간 남았습니다<br>\n";
$nation=$v; $nation=$v;
$pr=$GMT; $pr=$GMT;
$tm=36; $tm=36;
} }
} }
} }
#洗脳内容2 #세뇌 내용 2
sub gun_tm36{ sub gun_tm36{
&syogo; &syogo;
$vv=int(rand(3)); $vv=int(rand(3));
if($vv > 0){#成功確率 if($vv > 0){#성공 확률
$mes = "$cmp[$nation] の 兵士陣の洗脳に成功しました!<br>$cmp[$nation] から"; $mes = "$cmp[$nation]의 병사들 세뇌에 성공했습니다!<br>$cmp[$nation]에서";
$wr_mes ="$date $cmp[$camp] $syogo $cmp[$nation] の兵士"; $wr_mes ="$date $cmp[$camp] $syogo(이)가 $cmp[$nation]의 병사";
$v=int(((rand(10)+1)*5)*$lr); $v=int(((rand(10)+1)*5)*$lr);
$v=2300 + int(rand(300)) if($v>2300); $v=2300 + int(rand(300)) if($v>2300);
$rank_exe++; $rank_exe++;
$mes .= "$v 人の兵士を洗脳し、$cmp[$camp]の兵として取り込みました。"; $mes .= "$v 명의 병사를 세뇌하여, $cmp[$camp]의 병사로 편입시켰습니다.";
$wr_mes .="$v 人を洗脳することに成功! $cmp[$camp]の兵として取り込みました"; $wr_mes .="$v 명을 세뇌하는 데 성공! $cmp[$camp]의 병사로 편입시켰습니다";
if($camp==1){ if($camp==1){
$cs1 += $v; $cs1 += $v;
}elsif($camp==2){ }elsif($camp==2){
$cs2 += $v; $cs2 += $v;
}elsif($camp==3){ }elsif($camp==3){
$cs3 += $v; $cs3 += $v;
}elsif($camp==4){ }elsif($camp==4){
$cs4 += $v; $cs4 += $v;
}elsif($camp==5){ }elsif($camp==5){
$cs5 += $v; $cs5 += $v;
} }
if($nation==1 && $cs1>=$v){ if($nation==1 && $cs1>=$v){
$cs1 -= $v; $cs1 -= $v;
}elsif($nation==2 && $cs2>=$v){ }elsif($nation==2 && $cs2>=$v){
$cs2 -= $v; $cs2 -= $v;
}elsif($nation==3 && $cs3>=$v){ }elsif($nation==3 && $cs3>=$v){
$cs3 -= $v; $cs3 -= $v;
}elsif($nation==4 && $cs4>=$v){ }elsif($nation==4 && $cs4>=$v){
$cs4 -= $v; $cs4 -= $v;
}elsif($nation==5 && $cs5>=$v){ }elsif($nation==5 && $cs5>=$v){
$cs5 -= $v; $cs5 -= $v;
} }
$nation=0; $nation=0;
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
&hist_write;#国ログ &hist_write;#국가 로그
}else{ }else{
$mes = "$cmp[$nation] の兵士陣の洗脳に失敗した・・・。"; $mes = "$cmp[$nation]의 병사들 세뇌에 실패했습니다...";
$wr_mes ="$date $cmp[$camp] $syogo $cmp[$nation] の兵士陣を洗脳を企てたが、失敗したようだ"; $wr_mes ="$date $cmp[$camp] $syogo(이)가 $cmp[$nation]의 병사들 세뇌를 시도했으나 실패한 듯하다";
&gun_no; &gun_no;
&hist_write;#国ログ &hist_write;#국가 로그
} }
} }
#強奪内容1 #강탈 내용 1
sub gun_tm32{ sub gun_tm32{
&syogo; &syogo;
if($cmd<=0){ if($cmd<=0){
$log .= "強奪を中止します<br>\n"; $log .= "강탈을 중지합니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&mission_menu; &mission_menu;
}elsif($cmd>0){ }elsif($cmd>0){
$v=$cmd; $v=$cmd;
if($v==$camp){ if($v==$camp){
$log .= "自国は強奪できません。<br>\n"; $log .= "자국은 강탈할 수 없습니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&mission_menu; &mission_menu;
}elsif( (($cmd==1&&$cf1<5000) || ($cmd==1&&$ce1==1))|| }elsif( (($cmd==1&&$cf1<5000) || ($cmd==1&&$ce1==1))||
(($cmd==2&&$cf2<5000) || ($cmd==2&&$ce2==1))|| (($cmd==2&&$cf2<5000) || ($cmd==2&&$ce2==1))||
(($cmd==3&&$cf3<5000) || ($cmd==3&&$ce3==1))|| (($cmd==3&&$cf3<5000) || ($cmd==3&&$ce3==1))||
(($cmd==4&&$cf4<5000) || ($cmd==4&&$ce4==1))|| (($cmd==4&&$cf4<5000) || ($cmd==4&&$ce4==1))||
(($cmd==5&&$cf5<5000) || ($cmd==5&&$ce5==1))){ (($cmd==5&&$cf5<5000) || ($cmd==5&&$ce5==1))){
$log .= "亡国または、総兵糧5000未満の国を強奪することはできません。\n"; $log .= "망국 또는 총 군량 5000 미만인 국가는 강탈할 수 없습니다.\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&mission_menu; &mission_menu;
}elsif($v==0){ }elsif($v==0){
$log .= "<br>\n"; $log .= "<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&mission_menu; &mission_menu;
}else{ }else{
$log .= "$cmp[$v]から兵糧を強奪します。<br>\n"; $log .= "$cmp[$v]로부터 군량을 강탈합니다.<br>\n";
$log .= "奇襲部隊を送り込みます。敵国国境まで$GMW時間です<br>\n"; $log .= "기습부대를 파견합니다. 적국 국경까지 $GMW 시간 남았습니다<br>\n";
$nation=$v; $nation=$v;
$pr=$GMT; $pr=$GMT;
$tm=35; $tm=35;
} }
} }
} }
#強奪内容2 #강탈 내용 2
sub gun_tm35{ sub gun_tm35{
&syogo; &syogo;
$vv=int(rand(3)); $vv=int(rand(3));
if($vv > 0){#成功確率 if($vv > 0){#성공 확률
$mes = "$cmp[$nation] に奇襲攻撃をかけ、強奪に成功しました!<br>$cmp[$nation] から"; $mes = "$cmp[$nation]에 기습 공격을 감행하여 강탈에 성공했습니다!<br>$cmp[$nation]로부터";
$wr_mes ="$date $cmp[$camp] $syogo $cmp[$nation] に奇襲攻撃を実施。"; $wr_mes ="$date $cmp[$camp] $syogo(이)가 $cmp[$nation]에 기습 공격을 감행.";
$v=int(((rand(10)+1)*10)*$lr); $v=int(((rand(10)+1)*10)*$lr);
$v=4500 + int(rand(1000)) if($v>4500); $v=4500 + int(rand(1000)) if($v>4500);
$rank_exe++; $rank_exe++;
$vv=int($v/3*2); $vv=int($v/3*2);
$mes .= "$v の兵糧を強奪し、<br>そのうち $vv を持ち帰り$cmp[$camp]の兵糧に割り当てた。<br>"; $mes .= "$v의 군량을 강탈하여,<br>그중 $vv를 가져와 $cmp[$camp]의 군량으로 편입시켰습니다.<br>";
$wr_mes .="$v の兵糧を強奪することに成功した"; $wr_mes .="$v의 군량을 강탈하는 데 성공했다";
if($camp==1){ if($camp==1){
$cf1 += $vv; $cf1 += $vv;
}elsif($camp==2){ }elsif($camp==2){
$cf2 += $vv; $cf2 += $vv;
}elsif($camp==3){ }elsif($camp==3){
$cf3 += $vv; $cf3 += $vv;
}elsif($camp==4){ }elsif($camp==4){
$cf4 += $vv; $cf4 += $vv;
}elsif($camp==5){ }elsif($camp==5){
$cf5 += $vv; $cf5 += $vv;
} }
if($nation==1 && $cf1>=$v){ if($nation==1 && $cf1>=$v){
$cf1 -= $v; $cf1 -= $v;
}elsif($nation==2 && $cf2>=$v){ }elsif($nation==2 && $cf2>=$v){
$cf2 -= $v; $cf2 -= $v;
}elsif($nation==3 && $cf3>=$v){ }elsif($nation==3 && $cf3>=$v){
$cf3 -= $v; $cf3 -= $v;
}elsif($nation==4 && $cf4>=$v){ }elsif($nation==4 && $cf4>=$v){
$cf4 -= $v; $cf4 -= $v;
}elsif($nation==5 && $cf5>=$v){ }elsif($nation==5 && $cf5>=$v){
$cf5 -= $v; $cf5 -= $v;
} }
$nation=0; $nation=0;
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
&hist_write;#国ログ &hist_write;#국가 로그
}else{ }else{
$mes = "$cmp[$nation] の 奇襲攻撃に失敗した・・・。<br>"; $mes = "$cmp[$nation] 기습 공격에 실패했습니다...<br>";
$wr_mes ="$date $cmp[$camp] $syogo $cmp[$nation] に奇襲攻撃を行ったが、失敗したようだ"; $wr_mes ="$date $cmp[$camp] $syogo(이)가 $cmp[$nation]에 기습 공격을 시도했으나 실패한 듯하다";
&gun_no; &gun_no;
&hist_write;#国ログ &hist_write;#국가 로그
} }
} }
#諜報内容 1 #첩보 내용 1
sub gun_tm31{ sub gun_tm31{
if($cmd<=0){ if($cmd<=0){
$log .= "諜報を中止します<br>\n"; $log .= "첩보를 중지합니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&mission_menu; &mission_menu;
}elsif($cmd>0){ }elsif($cmd>0){
$v=$cmd; $v=$cmd;
if($v==$camp){ if($v==$camp){
$log .= "自国は諜報できません。<br>\n"; $log .= "자국은 첩보할 수 없습니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&mission_menu; &mission_menu;
}elsif( (($cmd==1&&$cg1<600) || ($cmd==1&&$ce1==1))|| }elsif( (($cmd==1&&$cg1<600) || ($cmd==1&&$ce1==1))||
(($cmd==2&&$cg2<600) || ($cmd==2&&$ce2==1))|| (($cmd==2&&$cg2<600) || ($cmd==2&&$ce2==1))||
(($cmd==3&&$cg3<600) || ($cmd==3&&$ce3==1))|| (($cmd==3&&$cg3<600) || ($cmd==3&&$ce3==1))||
(($cmd==4&&$cg4<600) || ($cmd==4&&$ce4==1))|| (($cmd==4&&$cg4<600) || ($cmd==4&&$ce4==1))||
(($cmd==5&&$cg5<600) || ($cmd==5&&$ce5==1))){ (($cmd==5&&$cg5<600) || ($cmd==5&&$ce5==1))){
$log .= "亡国または、国家\予\算800以下の国を諜報することはできません。\n"; $log .= "망국 또는 국가 예산 800 이하인 국가는 첩보할 수 없습니다.\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&mission_menu; &mission_menu;
}elsif($v==0){ }elsif($v==0){
$log .= "<br>\n"; $log .= "<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&mission_menu; &mission_menu;
}else{ }else{
$log .= "$cmp[$v]の資金調達ルートを撹乱させます<br>\n"; $log .= "$cmp[$v]의 자금 조달 루트를 교란합니다.<br>\n";
$log .= "諜報員を送り込みます。敵国国境まで$GMW時間です<br>\n"; $log .= "첩보원을 파견합니다. 적국 국경까지 $GMW 시간 남았습니다<br>\n";
$nation=$v; $nation=$v;
$pr=$GMT; $pr=$GMT;
$tm=34; $tm=34;
} }
} }
} }
#諜報内容 2 #첩보 내용 2
sub gun_tm34{ sub gun_tm34{
&syogo; &syogo;
$vv=int(rand(3)); $vv=int(rand(3));
if($vv > 0){ if($vv > 0){
$mes = "$cmp[$nation] の 資金調達ルートの撹乱に成功!<br>$cmp[$nation] から"; $mes = "$cmp[$nation]의 자금 조달 루트 교란에 성공했습니다!<br>$cmp[$nation]로부터";
$wr_mes ="$date $cmp[$camp] $syogo $cmp[$nation] の資金調達ルートを撹乱し、"; $wr_mes ="$date $cmp[$camp] $syogo(이)가 $cmp[$nation]의 자금 조달 루트를 교란하여,";
$v=int(((rand(5)+1)*5)*$lr); $v=int(((rand(5)+1)*5)*$lr);
$v=600 + int(rand(200)) if($v>600); $v=600 + int(rand(200)) if($v>600);
$rank_exe++; $rank_exe++;
$vv=int($v/2); $vv=int($v/2);
$mes .= "$v の国家予\算が流失した!<br>そのうち $vv を持ち帰り$cmp[$camp]の国家予\算に割り当てた。<br>"; $mes .= "$v의 국가 예산이 유출되었습니다!<br>그중 $vv를 가져와 $cmp[$camp]의 국가 예산으로 편입시켰습니다.<br>";
$wr_mes .="$v の国家予\算を流失させることに成功した"; $wr_mes .="$v의 국가 예산을 유출시키는 데 성공했다";
if($camp==1){ if($camp==1){
$cg1 += $vv; $cg1 += $vv;
}elsif($camp==2){ }elsif($camp==2){
$cg2 += $vv; $cg2 += $vv;
}elsif($camp==3){ }elsif($camp==3){
$cg3 += $vv; $cg3 += $vv;
}elsif($camp==4){ }elsif($camp==4){
$cg4 += $vv; $cg4 += $vv;
}elsif($camp==5){ }elsif($camp==5){
$cg5 += $vv; $cg5 += $vv;
} }
if($nation==1 && $cg1>=$v){ if($nation==1 && $cg1>=$v){
$cg1 -= $v; $cg1 -= $v;
}elsif($nation==2 && $cg2>=$v){ }elsif($nation==2 && $cg2>=$v){
$cg2 -= $v; $cg2 -= $v;
}elsif($nation==3 && $cg3>=$v){ }elsif($nation==3 && $cg3>=$v){
$cg3 -= $v; $cg3 -= $v;
}elsif($nation==4 && $cg4>=$v){ }elsif($nation==4 && $cg4>=$v){
$cg4 -= $v; $cg4 -= $v;
}elsif($nation==5 && $cg5>=$v){ }elsif($nation==5 && $cg5>=$v){
$cg5 -= $v; $cg5 -= $v;
} }
$nation=0; $nation=0;
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
&hist_write;#国ログ &hist_write;#국가 로그
}else{ }else{
$mes = "$cmp[$nation] の 資金調達ルートの撹乱に失敗した・・・。<br>"; $mes = "$cmp[$nation]의 자금 조달 루트 교란에 실패했습니다...<br>";
$wr_mes ="$date $cmp[$camp] $syogo $cmp[$nation] の資金調達ルートの撹乱を策略したが、失敗したようだ"; $wr_mes ="$date $cmp[$camp] $syogo(이)가 $cmp[$nation]의 자금 조달 루트 교란을 획책했으나 실패한 듯하다";
&gun_no; &gun_no;
&hist_write;#国ログ &hist_write;#국가 로그
} }
} }
#軍事失敗の国ステータス減少 #군사 실패 시 국가 스테이터스 감소
sub gun_no{ sub gun_no{
$rank_exe-=5; $rank_exe-=5;
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
$v=int(rand(50)+1); $v=int(rand(50)+1);
$v2=int(rand(200)+1); $v2=int(rand(200)+1);
$v3=int(rand(100)+1); $v3=int(rand(100)+1);
if($camp==1&&$cg1>$v&&$cf1>$v2&&$cs1>$v3){ if($camp==1&&$cg1>$v&&$cf1>$v2&&$cs1>$v3){
$cg1 -= $v; $cg1 -= $v;
$cf1 -= $v2; $cf1 -= $v2;
$cs1 -= $v3; $cs1 -= $v3;
}elsif($camp==2&&$cg2>$v&&$cf2>$v2&&$cs2>$v3){ }elsif($camp==2&&$cg2>$v&&$cf2>$v2&&$cs2>$v3){
$cg2 -= $v; $cg2 -= $v;
$cf2 -= $v2; $cf2 -= $v2;
$cs2 -= $v3; $cs2 -= $v3;
}elsif($camp==3&&$cg3>$v&&$cf3>$v2&&$cs3>$v3){ }elsif($camp==3&&$cg3>$v&&$cf3>$v2&&$cs3>$v3){
$cg3 -= $v; $cg3 -= $v;
$cf3 -= $v2; $cf3 -= $v2;
$cs3 -= $v3; $cs3 -= $v3;
}elsif($camp==4&&$cg4>$v&&$cf4>$v2&&$cs4>$v3){ }elsif($camp==4&&$cg4>$v&&$cf4>$v2&&$cs4>$v3){
$cg4 -= $v; $cg4 -= $v;
$cf4 -= $v2; $cf4 -= $v2;
$cs4 -= $v3; $cs4 -= $v3;
}elsif($camp==5&&$cg51>$v&&$cf5>$v2&&$cs5>$v3){ }elsif($camp==5&&$cg5>$v&&$cf5>$v2&&$cs5>$v3){
$cg5 -= $v; $cg5 -= $v;
$cf5 -= $v2; $cf5 -= $v2;
$cs5 -= $v3; $cs5 -= $v3;
} }
} }
1; 1;
Regular → Executable
+93 -93
View File
@@ -1,93 +1,93 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# NPC定義 Version 1.0 # NPC 정의 Version 1.0
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# NPC定義(国) # NPC 정의(국가)
sub ck_ne_1 { sub ck_ne_1 {
if($nation==1){ if($nation==1){
@boss =('ランス皇子','グスタフ老','アルニード将軍','フィリナ将軍','傭兵隊');# 国1のNPC @boss =('란스 황자','구스타프 옹','알니드 장군','피리나 장군','용병대');# 국가 1의 NPC
@bs_lv =(99,80,40,30,15); # レベル @bs_lv =(99,80,40,30,15); # 레벨
@bs_h =(20000,18000,14000,12000,2000,100); # 最大兵数 @bs_h =(20000,18000,14000,12000,2000,100); # 최대 병사 수
@bs_hp =(1000,450,300,200,100); # 最大HP @bs_hp =(1000,450,300,200,100); # 최대 HP
@bs_mp =(300,100,90,150,40); # 最大MP @bs_mp =(300,100,90,150,40); # 최대 MP
@bs_ua =(55,80,60,45,10, 99,55,80,60,45,150,200); # UA @bs_ua =(55,80,60,45,10, 99,55,80,60,45,150,200); # UA
@bs_ud =(50,75,30,30,5); # UD @bs_ud =(50,75,30,30,5); # UD
@bs_l =(50,75,45,30,5,99); # LR @bs_l =(50,75,45,30,5,99); # LR
@bs_ag =(80,80,55,40,20); # AG @bs_ag =(80,80,55,40,20); # AG
}elsif($nation==2){ }elsif($nation==2){
@boss =('エカテリーナ女王','ギリナム将軍','ルーシア将軍','グルューン将軍','傭兵隊'); @boss =('에카테리나 여왕','기리남 장군','루시아 장군','그륜 장군','용병대');
@bs_lv =(99,55,40,30,15); @bs_lv =(99,55,40,30,15);
@bs_h =(20000,18000,10000,6000,2000,100); @bs_h =(20000,18000,10000,6000,2000,100);
@bs_hp =(1600,500,250,200,30); @bs_hp =(1600,500,250,200,30);
@bs_mp =(400,100,200,150,40); @bs_mp =(400,100,200,150,40);
@bs_ua =(40,60,65,25,10); @bs_ua =(40,60,65,25,10);
@bs_ud =(40,45,60,20,5); @bs_ud =(40,45,60,20,5);
@bs_l =(30,65,40,20,5); @bs_l =(30,65,40,20,5);
@bs_ag =(70,80,50,35,25); @bs_ag =(70,80,50,35,25);
}elsif($nation==3){ }elsif($nation==3){
@boss =('ヤン元帥','シェーンコップ将軍','アッテンボロー将軍','ミンツ将軍','傭兵隊'); @boss =('양 원수','쇤코프 장군','아텐보로 장군','민츠 장군','용병대');
@bs_lv =(99,50,40,30,15); @bs_lv =(99,50,40,30,15);
@bs_h =(20000,16000,12000,10000,2000,100); @bs_h =(20000,16000,12000,10000,2000,100);
@bs_hp =(999,3000,150,250,30); @bs_hp =(999,3000,150,250,30);
@bs_mp =(4000,130,120,70,40); @bs_mp =(4000,130,120,70,40);
@bs_ua =(50,65,30,40,10); @bs_ua =(50,65,30,40,10);
@bs_ud =(60,70,35,35,5); @bs_ud =(60,70,35,35,5);
@bs_l =(75,40,35,30,5); @bs_l =(75,40,35,30,5);
@bs_ag =(90,40,60,40,30); @bs_ag =(90,40,60,40,30);
}elsif($nation==4){ }elsif($nation==4){
@boss =('皇帝ギザロフ','ランフォード将軍','ランディウス将軍','リーヴァス将軍','傭兵隊'); @boss =('황제 기자로프','란포드 장군','란디우스 장군','리바스 장군','용병대');
@bs_lv =(99,60,40,30,15); @bs_lv =(99,60,40,30,15);
@bs_h =(30000,18000,16000,14000,2000,100); @bs_h =(30000,18000,16000,14000,2000,100);
@bs_hp =(2500,350,400,250,30); @bs_hp =(2500,350,400,250,30);
@bs_mp =(99999,150,120,70,40); @bs_mp =(99999,150,120,70,40);
@bs_ua =(60,75,60,40,10); @bs_ua =(60,75,60,40,10);
@bs_ud =(50,60,55,50,5); @bs_ud =(50,60,55,50,5);
@bs_l =(80,70,55,45,5); @bs_l =(80,70,55,45,5);
@bs_ag =(60,90,50,30,20); @bs_ag =(60,90,50,30,20);
}elsif($nation==5){ }elsif($nation==5){
@boss =('皇帝ゾーマ','バラモス将軍','カンダタ将軍','オルデカ将軍','傭兵隊'); @boss =('황제 조마','바라모스 장군','칸다타 장군','올데카 장군','용병대');
@bs_lv =(30,60,40,30,15); @bs_lv =(30,60,40,30,15);
@bs_h =(50000,4000,30000,2000,10000,1000); @bs_h =(50000,4000,30000,2000,10000,1000);
@bs_hp =(5000,4000,3000,2000,1000); @bs_hp =(5000,4000,3000,2000,1000);
@bs_mp =(99999,150,120,70,40); @bs_mp =(99999,150,120,70,40);
@bs_ua =(60,75,60,40,10); @bs_ua =(60,75,60,40,10);
@bs_ud =(99,60,55,50,5); @bs_ud =(99,60,55,50,5);
@bs_l =(80,70,55,45,5); @bs_l =(80,70,55,45,5);
@bs_ag =(40,40,50,20,20); @bs_ag =(40,40,50,20,20);
} }
$tnm =$boss[$v]; $tnm =$boss[$v];
$tsol =$bs_h[$v]; $tsol =$bs_h[$v];
$tlv =$bs_lv[$v]; $tlv =$bs_lv[$v];
$thp =$bs_hp[$v]; $thp =$bs_hp[$v];
$thp_max=$bs_hp[$v]; $thp_max=$bs_hp[$v];
$tmp =$bs_mp[$v]; $tmp =$bs_mp[$v];
$tua =$bs_ua[$v]; $tua =$bs_ua[$v];
$tud =$bs_ud[$v]; $tud =$bs_ud[$v];
$tlr =$bs_l[$v]; $tlr =$bs_l[$v];
$tag =$bs_ag[$v]; $tag =$bs_ag[$v];
$tsol_lv=100; $tsol_lv=100;
$tcp =$nation; $tcp =$nation;
} }
1; 1;
Regular → Executable
+86 -86
View File
@@ -1,86 +1,86 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# NPC定義 Version 1.0 # NPC 정의 Version 1.0
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# NPC定義(魑魅魍魎) # NPC 정의(이매망량)
sub ck_ne_2 { sub ck_ne_2 {
if($nation==1){ if($nation==1){
@boss =('アモン','バアル','ザエボス','ヴァッサゴ','サミジーナ','マルバス','ブォルフォール'); # 国1のNPC @boss =('아몬','바알','자에보스','바사고','사미지나','마르바스','발레포르'); # 국가 1의 NPC
@bs_lv =(99,99,99,80,40,30,35); # レベル @bs_lv =(99,99,99,80,40,30,35); # 레벨
@bs_hp =(6000,2000,2000,6000,900,1500,600); # 最大HP @bs_hp =(6000,2000,2000,6000,900,1500,600); # 최대 HP
@bs_mp =(6000,4000,600,1500,900,1500,400); # 最大MP @bs_mp =(6000,4000,600,1500,900,1500,400); # 최대 MP
@bs_ua =(180,110,65,90,70,55,40); # UA @bs_ua =(180,110,65,90,70,55,40); # UA
@bs_ud =(300,99,50,75,50,30,30); # UD @bs_ud =(300,99,50,75,50,30,30); # UD
@bs_l =(120,70,95,65,50,40,35); # LR @bs_l =(120,70,95,65,50,40,35); # LR
@bs_ag =(60,87,70,77,57,45,36); # AG @bs_ag =(60,87,70,77,57,45,36); # AG
}elsif($nation==2){ }elsif($nation==2){
@boss =('バルバトス','パイモン','ブエル','グイソン','シトリー','ベレス','レラージュ'); @boss =('바르바토스','파이몬','부엘','구시온','시트리','벨레스','레라지에');
@bs_lv =(99,99,99,55,40,40,35); @bs_lv =(99,99,99,55,40,40,35);
@bs_hp =(8000,1200,3000,2500,800,1000,300); @bs_hp =(8000,1200,3000,2500,800,1000,300);
@bs_mp =(8000,1600,4000,1000,800,600,800); @bs_mp =(8000,1600,4000,1000,800,600,800);
@bs_ua =(99,300,150,130,140,80,40); @bs_ua =(99,300,150,130,140,80,40);
@bs_ud =(99,99,80,90,60,50,20); @bs_ud =(99,99,80,90,60,50,20);
@bs_l =(99,99,30,65,40,20,5); @bs_l =(99,99,30,65,40,20,5);
@bs_ag =(50,70,70,77,57,40,36); @bs_ag =(50,70,70,77,57,40,36);
}elsif($nation==3){ }elsif($nation==3){
@boss =('エリゴール','ゼパール','ボーティス','バシム','サロス','プルソン','マラクス'); @boss =('엘리고르','제파르','보티스','바심','살로스','푸르손','마락스');
@bs_lv =(99,99,99,50,40,35,35); @bs_lv =(99,99,99,50,40,35,35);
@bs_hp =(4000,4000,999,3000,1200,1000,4000); @bs_hp =(4000,4000,999,3000,1200,1000,4000);
@bs_mp =(4000,4000,4000,1000,1440,2100,6000); @bs_mp =(4000,4000,4000,1000,1440,2100,6000);
@bs_ua =(110,110,80,75,90,180,60); @bs_ua =(110,110,80,75,90,180,60);
@bs_ud =(110,99,70,80,45,45,25); @bs_ud =(110,99,70,80,45,45,25);
@bs_l =(110,99,85,50,45,40,25); @bs_l =(110,99,85,50,45,40,25);
@bs_ag =(70,80,70,80,60,40,36); @bs_ag =(70,80,70,80,60,40,36);
}elsif($nation==4){ }elsif($nation==4){
@boss =('イポス','ハボリム','ナベリウス','カーシモラル','ブーネ','ロノウェ','ベリス'); @boss =('이포스','하보림','나베리우스','카시모랄','분','로노베','베리스');
@bs_lv =(99,99,99,60,40,35,35); @bs_lv =(99,99,99,60,40,35,35);
@bs_hp =(5000,2000,1500,1000,800,1500,500); @bs_hp =(5000,2000,1500,1000,800,1500,500);
@bs_mp =(1000,1500,5000,1000,600,900,400); @bs_mp =(1000,1500,5000,1000,600,900,400);
@bs_ua =(99,200,60,95,100,40,50); @bs_ua =(99,200,60,95,100,40,50);
@bs_ud =(99,99,70,60,55,60,5); @bs_ud =(99,99,70,60,55,60,5);
@bs_l =(99,99,80,70,55,45,5); @bs_l =(99,99,80,70,55,45,5);
@bs_ag =(60,70,80,70,80,60,40); @bs_ag =(60,70,80,70,80,60,40);
}elsif($nation==5){ }elsif($nation==5){
@boss =('アスタロス','フォルネウス','フォラス','アスモダイ','ガープ','フールフール','マルコキアス'); @boss =('아스타로트','포르네우스','포라스','아스모다이','가프','푸르푸르','마르코시아스');
@bs_lv =(99,99,99,60,40,35,40); @bs_lv =(99,99,99,60,40,35,40);
@bs_hp =(2000,20000,4000,3000,2000,1500,800); @bs_hp =(2000,20000,4000,3000,2000,1500,800);
@bs_mp =(2000,20000,6000,1500,150,2000,4000); @bs_mp =(2000,20000,6000,1500,150,2000,4000);
@bs_ua =(150,99,90,105,90,70,30); @bs_ua =(150,99,90,105,90,70,30);
@bs_ud =(200,99,130,90,85,80,35); @bs_ud =(200,99,130,90,85,80,35);
@bs_l =(99,110,100,85,75,35,99); @bs_l =(99,110,100,85,75,35,99);
@bs_ag =(60,10,50,60,70,60,40); @bs_ag =(60,10,50,60,70,60,40);
} }
$tnm =$boss[$v]; $tnm =$boss[$v];
$tlv =$bs_lv[$v]; $tlv =$bs_lv[$v];
$thp =$bs_hp[$v]; $thp =$bs_hp[$v];
$thp_max=$bs_hp[$v]; $thp_max=$bs_hp[$v];
$tmp =$bs_mp[$v]; $tmp =$bs_mp[$v];
$tua =$bs_ua[$v]; $tua =$bs_ua[$v];
$tud =$bs_ud[$v]; $tud =$bs_ud[$v];
$tlr =$bs_l[$v]; $tlr =$bs_l[$v];
$tag =$bs_ag[$v]; $tag =$bs_ag[$v];
$tsol_lv=100; $tsol_lv=100;
$tcp=$nation; $tcp=$nation;
} }
1; 1;
Regular → Executable
+299 -299
View File
@@ -1,299 +1,299 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 内政 Version 1.0 # 내정 Version 1.0
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 内政メニュー # 내정 메뉴
sub politics{ sub politics{
if(!$type){ if(!$type){
if($camp<1){ if($camp<1){
$log .= "放浪の身では内政は行えない<br>\n"; $log .= "방랑 상태로는 내정을 할 수 없습니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&call_main_st; &call_main_st;
}else{ }else{
$log .= "内政を行います。実行するものを選んで下さい<br>\n"; $log .= "내정을 실행합니다. 실행할 항목을 선택해 주십시오<br>\n";
$tm=0; $tm=0;
$type='内政'; $type='내정';
&politics_menu; &politics_menu;
&dat_write; &dat_write;
} }
} }
} }
sub politics_menu{ sub politics_menu{
# 内政コマンド # 내정 커맨드
my @hm = ('やめる','農業','商業','徴兵','兵を訓練する'); my @hm = ('그만두기','농업','상업','징병','병사 훈련');
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|; $log2 .=qq|<select name="cmd" size="1">\n|;
foreach(0 .. $#hm){ $log2 .= "<option value=$_>$hm[$_]</option>\n";} foreach(0 .. $#hm){ $log2 .= "<option value=$_>$hm[$_]</option>\n";}
$log2 .=qq|</select><br>\n|; $log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 内政処理 # 내정 처리
sub politics_exe{ sub politics_exe{
if(!$tm){ if(!$tm){
if($cmd<=0){ if($cmd<=0){
$log .= "あとで行うことにした。<br>\n"; $log .= "나중에 하기로 했다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
# 農業 # 농업
}elsif($cmd==1){ }elsif($cmd==1){
# 行動カウントのリセット(無条件) # 행동 카운트 리셋(무조건)
$act_cnt=0; $act_cnt=0;
$log .= "農業を行います。結果は$GMW時間後。<br>\n"; $log .= "농업을 실행합니다. 결과는 $GMW시간 후에 나옵니다.<br>\n";
$v=int(((rand(10)+1)*100)*$lr); $v=int(((rand(10)+1)*100)*$lr);
$v=9999 if($v>9999); $v=9999 if($v>9999);
$tm=25; $tm=25;
$rank_exe++; $rank_exe++;
$pr=$GMT; $pr=$GMT;
if($camp==1){ if($camp==1){
$cf1 += $v; $cf1 += $v;
}elsif($camp==2){ }elsif($camp==2){
$cf2 += $v; $cf2 += $v;
}elsif($camp==3){ }elsif($camp==3){
$cf3 += $v; $cf3 += $v;
}elsif($camp==4){ }elsif($camp==4){
$cf4 += $v; $cf4 += $v;
}elsif($camp==5){ }elsif($camp==5){
$cf5 += $v; $cf5 += $v;
} }
$mes = "$v の兵糧を得た"; $mes = "$v 의 군량을 획득했습니다";
$tm=50; $tm=50;
# 商業 # 상업
}elsif($cmd==2){ }elsif($cmd==2){
# 行動カウントのリセット(無条件) # 행동 카운트 리셋(무조건)
$act_cnt=0; $act_cnt=0;
$log .= "商業を行います。結果は$GMW時間後。<br>\n"; $log .= "상업을 실행합니다. 결과는 $GMW시간 후에 나옵니다.<br>\n";
$v=int(((rand(10)+1)*15)*$lr);#最初は$v=int(((rand(10)+1)*10)*$lr); $v=int(((rand(10)+1)*15)*$lr);#처음에는 $v=int(((rand(10)+1)*10)*$lr);
$v=999 if($v>999); $v=999 if($v>999);
$tm=25; $tm=25;
$rank_exe++; $rank_exe++;
$pr=$GMT; $pr=$GMT;
if($camp==1){ if($camp==1){
$cg1 += $v; $cg1 += $v;
}elsif($camp==2){ }elsif($camp==2){
$cg2 += $v; $cg2 += $v;
}elsif($camp==3){ }elsif($camp==3){
$cg3 += $v; $cg3 += $v;
}elsif($camp==4){ }elsif($camp==4){
$cg4 += $v; $cg4 += $v;
}elsif($camp==5){ }elsif($camp==5){
$cg5 += $v; $cg5 += $v;
} }
$mes = "$v G 国家予\算が増えた"; $mes = "$v G 국가 예산이 증가했습니다";
$tm=50; $tm=50;
# 徴兵-1 # 징병-1
}elsif($cmd==3){ }elsif($cmd==3){
$log .= "徴兵を実行しますか?兵 1 人につき 1 G必要です<br>\n"; $log .= "징병을 실행하시겠습니까? 병사 1명당 1 G가 필요합니다<br>\n";
$tm=15; $tm=15;
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|; $log2 .=qq|<select name="cmd" size="1">\n|;
$log2 .=qq|<option value="0">やめる</option>\n|; $log2 .=qq|<option value="0">그만두기</option>\n|;
$log2 .=qq|<option value="1">千人</option>\n|; $log2 .=qq|<option value="1">천 명</option>\n|;
$log2 .=qq|<option value="2">五千人</option>\n|; $log2 .=qq|<option value="2">오천 명</option>\n|;
$log2 .=qq|<option value="3">一万人</option>\n|; $log2 .=qq|<option value="3">만 명</option>\n|;
$log2 .=qq|</select><br>\n|; $log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
# 兵を訓練する # 병사 훈련
}elsif($cmd==4){ }elsif($cmd==4){
if($my_cs<1){ if($my_cs<1){
$log .= "兵がいません<br>\n"; $log .= "병사가 없습니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&politics_menu; &politics_menu;
}elsif($sol_lv>99){ }elsif($sol_lv>99){
$log .= "訓練度はこれ以上あがりません<br>\n"; $log .= "훈련도는 더 이상 오르지 않습니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&politics_menu; &politics_menu;
}else{ }else{
# 行動カウントのリセット(限界時のみ) # 행동 카운트 리셋(한계 시에만)
$act_cnt=0 if($act_cnt>$act_cnt_limit); $act_cnt=0 if($act_cnt>$act_cnt_limit);
$log .= "兵の訓練を行ないます<br>\n"; $log .= "병사 훈련을 실행합니다<br>\n";
$pr=int($GMT/2); $pr=int($GMT/2);
$x = int($lr/2); $x = int($lr/2);
if($x<1){ if($x<1){
$x=1; $x=1;
} }
$v = int((rand(20))+$x); $v = int((rand(20))+$x);
$sol_lv += $v; $sol_lv += $v;
if($sol_lv>100){ if($sol_lv>100){
$sol_lv=100; $sol_lv=100;
} }
$mes = "訓練度が $v 上昇した"; $mes = "훈련도가 $v 상승했습니다";
$tm=50; $tm=50;
} }
} }
# 徴兵-2 # 징병-2
}elsif($tm==15){ }elsif($tm==15){
$z=$g_p[$rank]-$sol; $z=$g_p[$rank]-$sol;
if($cmd<=0){ if($cmd<=0){
$log .= "あとで行うことにした。<br>\n"; $log .= "나중에 하기로 했다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&politics_menu; &politics_menu;
}elsif($cmd==1){ }elsif($cmd==1){
# 行動カウントのリセット(無条件) # 행동 카운트 리셋(무조건)
$act_cnt=0; $act_cnt=0;
$log .= "最大千人規模の徴兵を実行します。結果は$GMW時間後に<br>\n"; $log .= "최대 천 명 규모의 징병을 실행합니다. 결과는 $GMW시간 후에<br>\n";
$S = int(((rand(50))+100)*$lr); $S = int(((rand(50))+100)*$lr);
$S = 1000 if($S>1000); $S = 1000 if($S>1000);
$rank_exe++; $rank_exe++;
if($S<$gold){ if($S<$gold){
$gold-=$S; $gold-=$S;
}elsif($gold<$S){ }elsif($gold<$S){
$S=$gold; $S=$gold;
$gold=0; $gold=0;
} }
if($camp==1){ if($camp==1){
$cs1+=$S; $cs1+=$S;
}elsif($camp==2){ }elsif($camp==2){
$cs2+=$S; $cs2+=$S;
}elsif($camp==3){ }elsif($camp==3){
$cs3+=$S; $cs3+=$S;
}elsif($camp==4){ }elsif($camp==4){
$cs4+=$S; $cs4+=$S;
}elsif($camp==5){ }elsif($camp==5){
$cs5+=$S; $cs5+=$S;
} }
$mes = "$S 人の兵が集まった"; $mes = "$S 명의 병사가 모였습니다";
$pr=$GMT; $pr=$GMT;
$tm=50; $tm=50;
}elsif($cmd==2){ }elsif($cmd==2){
# 行動カウントのリセット(無条件) # 행동 카운트 리셋(무조건)
$act_cnt=0; $act_cnt=0;
$log .= "最大五千人規模の徴兵を実行します。結果は$GMW時間後に<br>\n"; $log .= "최대 오천 명 규모의 징병을 실행합니다. 결과는 $GMW시간 후에<br>\n";
$S = int(((rand(50))+100)*$lr); $S = int(((rand(50))+100)*$lr);
$S = 5000 if($S>5000); $S = 5000 if($S>5000);
$rank_exe+=int(rand(2)+1); $rank_exe+=int(rand(2)+1);
if($S<$gold){ if($S<$gold){
$gold-=$S; $gold-=$S;
}elsif($gold<$S){ }elsif($gold<$S){
$S=$gold; $S=$gold;
$gold=0; $gold=0;
} }
if($camp==1){ if($camp==1){
$cs1+=$S; $cs1+=$S;
}elsif($camp==2){ }elsif($camp==2){
$cs2+=$S; $cs2+=$S;
}elsif($camp==3){ }elsif($camp==3){
$cs3+=$S; $cs3+=$S;
}elsif($camp==4){ }elsif($camp==4){
$cs4+=$S; $cs4+=$S;
}elsif($camp==5){ }elsif($camp==5){
$cs5+=$S; $cs5+=$S;
} }
$mes = "$S 人の兵が集まった"; $mes = "$S 명의 병사가 모였습니다";
$pr=$GMT; $pr=$GMT;
$tm=50; $tm=50;
}elsif($cmd==3){ }elsif($cmd==3){
# 行動カウントのリセット(無条件) # 행동 카운트 리셋(무조건)
$act_cnt=0; $act_cnt=0;
$log .= "最大一万人規模の徴兵を実行します。結果は$GMW時間後に<br>\n"; $log .= "최대 만 명 규모의 징병을 실행합니다. 결과는 $GMW시간 후에<br>\n";
$S = int(((rand(50))+100)*$lr); $S = int(((rand(50))+100)*$lr);
$S = 10000 if($S>10000); $S = 10000 if($S>10000);
$rank_exe+=int(rand(3)+1); $rank_exe+=int(rand(3)+1);
if($S<$gold){ if($S<$gold){
$gold-=$S; $gold-=$S;
}elsif($gold<$S){ }elsif($gold<$S){
$S=$gold; $S=$gold;
$gold=0; $gold=0;
} }
if($camp==1){ if($camp==1){
$cs1+=$S; $cs1+=$S;
}elsif($camp==2){ }elsif($camp==2){
$cs2+=$S; $cs2+=$S;
}elsif($camp==3){ }elsif($camp==3){
$cs3+=$S; $cs3+=$S;
}elsif($camp==4){ }elsif($camp==4){
$cs4+=$S; $cs4+=$S;
}elsif($camp==5){ }elsif($camp==5){
$cs5+=$S; $cs5+=$S;
} }
$mes = "$S 人の兵が集まった"; $mes = "$S 명의 병사가 모였습니다";
$pr=$GMT; $pr=$GMT;
$tm=50; $tm=50;
} }
} }
# 内政の終了(功労金授与) # 내정 종료(공로금 수여)
elsif($tm==50){ elsif($tm==50){
if($rank > 7 && $sogo!=3 && $sogo!=4){#烙印は無効化 if($rank > 7 && $sogo!=3 && $sogo!=4){#낙인은 무효화
$gold += $v = $rank * 200; $gold += $v = $rank * 200;
$log .= "今までの功績が認められ国より $v Gの功労金をもらった。<br>\n"; $log .= "지금까지의 공적을 인정받아 국가로부터 $v G의 공로금을 받았습니다.<br>\n";
} }
$tm = $cmd = 0; $tm = $cmd = 0;
$type=""; $type="";
&call_main_st; &call_main_st;
} }
# 内政の終了(功労金なし) # 내정 종료(공로금 없음)
elsif($tm==55){ elsif($tm==55){
$tm = $cmd = 0; $tm = $cmd = 0;
$type=""; $type="";
&call_main_st; &call_main_st;
} }
&write_data; &write_data;
} }
1; 1;
Regular → Executable
+149 -149
View File
@@ -1,149 +1,149 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 宝くじ Version 1.0 # 복권 Version 1.0
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 宝くじ処理 # 복권 처리
sub lotto{ sub lotto{
if($tm==90){ if($tm==90){
if($cmd<=0){ if($cmd<=0){
$log .= "またお越しください…<br>\n"; $log .= "또 오세요…<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
}elsif($cmd==1){ }elsif($cmd==1){
$S = 500; $S = 500;
if($S < $gold){ if($S < $gold){
$gold -= $S; $gold -= $S;
$log .= "五百Gを支払った…<br>さぁ当たったかな~?<br>\n"; $log .= "500 G를 지불했습니다…<br>자, 당첨되었으려나~?<br>\n";
$tm=95; $tm=95;
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}else{ }else{
$log .= "お金が足りないよ! タダじゃ夢も買えないこの現実・・・<br>\n"; $log .= "돈이 부족해요! 공짜로는 꿈도 살 수 없는 이 현실…<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
} }
} }
}elsif($tm==95){ # 宝くじ処理 }elsif($tm==95){ # 복권 처리
my $dh =int(rand(450)) ; my $dh =int(rand(450)) ;
if($dh == 0){ if($dh == 0){
$gold += 100000; $gold += 100000;
$log .="ドンドンヒューヒューパフパフ♪<br>壱等賞が当たった!!!<br>$nm は \十\万\Gを獲得した!<br>\n"; $log .="둥둥둥둥 빰빰빰빠♪<br>1등상에 당첨되었다!!!<br>$nm 님은 10만 G를 획득했다!<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
}elsif($dh > 0 && $dh <= 2){ }elsif($dh > 0 && $dh <= 2){
$gold += 50000; $gold += 50000;
$log .="ドンドンヒューヒューパフパフ♪<br>弐等賞が当たった!!!<br>$nm は 五万Gを獲得した!<br>\n"; $log .="둥둥둥둥 빰빰빰빠♪<br>2등상에 당첨되었다!!!<br>$nm 님은 5만 G를 획득했다!<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
}elsif($dh > 10 && $dh <= 20){ }elsif($dh > 10 && $dh <= 20){
$gold += 10000; $gold += 10000;
$log .="ドンドンヒューヒューパフパフ♪<br>参等賞が当たった!!!<br>$nm は 壱万Gを獲得した!<br>\n"; $log .="둥둥둥둥 빰빰빰빠♪<br>3등상에 당첨되었다!!!<br>$nm 님은 1만 G를 획득했다!<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
}elsif($dh > 20 && $dh <= 60){ }elsif($dh > 20 && $dh <= 60){
$gold += 1000; $gold += 1000;
$log .="ドンドンヒューヒューパフパフ♪<br>四等賞が当たった!!!<br>$nm は 壱千Gを獲得した!<br>\n"; $log .="둥둥둥둥 빰빰빰빠♪<br>4등상에 당첨되었다!!!<br>$nm 님은 1천 G를 획득했다!<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
}elsif($dh == 447){ }elsif($dh == 447){
$dh =int(rand(2)) ; $dh =int(rand(2)) ;
if($dh){ if($dh){
$hp = $max_hp; $hp = $max_hp;
$log .="ドンドンヒューヒューパフパフ♪<br>幸運賞が当たった!!!<br>$nm HP が全回復した!<br>\n"; $log .="둥둥둥둥 빰빰빰빠♪<br>행운상에 당첨되었다!!!<br>$nm 님은 HP가 모두 회복되었다!<br>\n";
}else{ }else{
$mp = $max_mp; $mp = $max_mp;
$log .="ドンドンヒューヒューパフパフ♪<br>幸運賞が当たった!!!<br>$nm MP が全回復した!<br>\n"; $log .="둥둥둥둥 빰빰빰빠♪<br>행운상에 당첨되었다!!!<br>$nm 님은 MP가 모두 회복되었다!<br>\n";
} }
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
}elsif($dh == 448){ }elsif($dh == 448){
$dh =int(rand(2)) ; $dh =int(rand(2)) ;
if($dh){ if($dh){
$hp = int($hp/2); $hp = int($hp/2);
$log .="ガーーン!!  不幸賞が当たってしまった・・・。<br>$nm HP が半分になった・・・。<br>\n"; $log .="쾅~!! 불행상에 당첨되어 버렸다…<br>$nm 님은 HP가 절반이 되었다…<br>\n";
}else{ }else{
$mp = int($mp/2); $mp = int($mp/2);
$log .="ガーーン!!  不幸賞が当たってしまった・・・。<br>$nm MP が半分になった・・・。<br>\n"; $log .="쾅~!! 불행상에 당첨되어 버렸다…<br>$nm 님은 MP가 절반이 되었다…<br>\n";
} }
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
}elsif($dh == 449){#$dh == 449 }elsif($dh == 449){#$dh == 449
$dh =int(rand(5)) ; $dh =int(rand(5)) ;
if($dh==0){ if($dh==0){
$log .="おーっと!! 滅多に当たらない$dg_data[1][1]が当たった!!<br><br>装備する場合、現在所持している武具は破棄されます。<br>どうしますか?<br>\n"; $log .="오옷!! 좀처럼 당첨되지 않는 $dg_data[1][1]이(가) 당첨되었다!!<br><br>장착할 경우, 현재 소지하고 있는 무기는 파기됩니다.<br>어떻게 하시겠습니까?<br>\n";
$tm = 100; $tm = 100;
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name=cmd size=1>\n|; $log2 .=qq|<select name=cmd size=1>\n|;
$log2 .=qq|<option value="1">受け取る</option><option value="0">いらない</option>\n|; $log2 .=qq|<option value="1">받는다</option><option value="0">필요 없다</option>\n|;
$log2 .=qq|</select><br>\n|; $log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}elsif($dh==1){ }elsif($dh==1){
$log .="おーっと!! 滅多に当たらない$df_data[1][1]が当たった!!<br><br>装備する場合、現在所持している防具は破棄されます。<br>どうしますか?<br>\n"; $log .="오옷!! 좀처럼 당첨되지 않는 $df_data[1][1]이(가) 당첨되었다!!<br><br>장착할 경우, 현재 소지하고 있는 방어구는 파기됩니다.<br>어떻게 하시겠습니까?<br>\n";
$tm = 115; $tm = 115;
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name=cmd size=1>\n|; $log2 .=qq|<select name=cmd size=1>\n|;
$log2 .=qq|<option value="1">受け取る</option><option value="0">いらない</option>\n|; $log2 .=qq|<option value="1">받는다</option><option value="0">필요 없다</option>\n|;
$log2 .=qq|</select><br>\n|; $log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}else{ }else{
$log .= "外れた・・・ また挑戦してくださいネェ♪<br>\n"; $log .= "꽝… 다음 기회에 또 도전해 주세요♪<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
} }
}else{ }else{
$log .= "外れた・・・ また挑戦してくださいネェ♪<br>\n"; $log .= "꽝… 다음 기회에 또 도전해 주세요♪<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
} }
}elsif($tm==100){#宝くじ 罪罰賞処理 }elsif($tm==100){#복권 죄벌상 처리
if($cmd){ if($cmd){
$log .="$nm <b>$dg_data[1][1]</b>を手に入れた!!<br>\n"; $log .="$nm 님은 <b>$dg_data[1][1]</b>을(를) 손에 넣었다!!<br>\n";
$dg_a = 1; $dg_a = 1;
$dg_cnt = $dg_data[1][3]; $dg_cnt = $dg_data[1][3];
}else{ }else{
$log .="$nm は 涙をしのんで諦めた・・・・・・\n"; $log .="$nm 님은 눈물을 머금고 포기했다……\n";
} }
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
}elsif($tm==115){#宝くじ 罪罰賞処理 }elsif($tm==115){#복권 죄벌상 처리
if($cmd){ if($cmd){
$log .="$nm <b>$df_data[1][1]</b>を手に入れた!!<br>\n"; $log .="$nm 님은 <b>$df_data[1][1]</b>을(를) 손에 넣었다!!<br>\n";
$df_a = 1; $df_a = 1;
$df_cnt = $df_data[1][3]; $df_cnt = $df_data[1][3];
}else{ }else{
$log .="$nm は 涙をしのんで諦めた・・・・・・\n"; $log .="$nm 님은 눈물을 머금고 포기했다……\n";
} }
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
} }
} }
1; 1;
Regular → Executable
+122 -122
View File
@@ -1,122 +1,122 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 診療所パーツ Version 1.1 # 진료소 파츠 Version 1.1
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 診療所 # 진료소
sub medical{ sub medical{
if($tm==120){ if($tm==120){
if($cmd<=0){ if($cmd<=0){
$log .= "またお越しください…<br>\n"; $log .= "또 오세요…<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
# 治療-1 # 치료-1
}elsif($cmd==1){ }elsif($cmd==1){
$S = ($lv < 50) ? $lv*2000 : 100000; $S = ($lv < 50) ? $lv*2000 : 100000;
$log .= "…ここでは古の秘術によって体力と魔力を<br>瞬時に全快まで回復してさしあげられます<br>…ただし$SG\頂きますが…<br>\n"; $log .= "…이곳에서는 고대의 비술을 통해 체력과 마력을<br>순식간에 전 회복해 드릴 수 있습니다.<br>…다만 $S G를 받겠습니다만…<br>\n";
$tm=125; $tm=125;
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name=cmd size=1>\n|; $log2 .=qq|<select name=cmd size=1>\n|;
$log2 .=qq|<option value=0>やめる</option>\n|; $log2 .=qq|<option value=0>그만두기</option>\n|;
$log2 .=qq|<option value=1>治療</option>\n|; $log2 .=qq|<option value=1>치료</option>\n|;
$log2 .=qq|</select><br>\n|; $log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
# 性転換-1 # 성전환-1
}elsif($cmd==2){ }elsif($cmd==2){
$log.="ここでは性転換手術を受けられます。<br>ただし入院と手術費に20万G ほどかかりますが・・・<br>"; $log.="이곳에서는 성전환 수술을 받을 수 있습니다.<br>다만 입원 및 수술 비용으로 20만 G 정도 듭니다만…<br>";
$tm=135; $tm=135;
$log2 .= qq|<form action="$script" method="$method" name="ore_">|; $log2 .= qq|<form action="$script" method="$method" name="ore_">|;
$log2 .= qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .= qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .= qq|<input type="hidden" name="id" value="$id">\n|; $log2 .= qq|<input type="hidden" name="id" value="$id">\n|;
$log2 .= qq|<input type="hidden" name="pw" value="$pw">\n|; $log2 .= qq|<input type="hidden" name="pw" value="$pw">\n|;
$log2 .= qq|<select name="cmd">\n|; $log2 .= qq|<select name="cmd">\n|;
$log2 .= qq|<option value="0">逃げる</option>\n|; $log2 .= qq|<option value="0">도망치기</option>\n|;
$log2 .= ($sei==1) ? $log2 .= ($sei==1) ?
qq|<option value="3">女になる</option>\n|: qq|<option value="3">여성이 된다</option>\n|:
qq|<option value="3">男になる</option>\n|; qq|<option value="3">남성이 된다</option>\n|;
$log2 .= qq|</select><br>\n|; $log2 .= qq|</select><br>\n|;
$log2 .= qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .= qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
} }
# 治療-2 # 치료-2
}elsif($tm==125){ }elsif($tm==125){
if($cmd<=0){ if($cmd<=0){
$log .= "$nm は立ち去った。<br>\n"; $log .= "$nm 님은 자리를 떠났다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
}else{ }else{
$S = ($lv < 50) ? $lv*2000 : 100000; $S = ($lv < 50) ? $lv*2000 : 100000;
if($S < $gold){ if($S < $gold){
$hp = $max_hp; $hp = $max_hp;
$mp = $max_mp; $mp = $max_mp;
$gold -= $S; $gold -= $S;
$log .= "$SGを支払った…<br>体力と魔力が全回復した。<br>\n"; $log .= "$S G를 지불했습니다…<br>체력과 마력이 모두 회복되었습니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
}else{ }else{
$log .= "お金が足りないわ…<br>\n"; $log .= "돈이 부족하네요…<br>\n";
$tm=0; $tm=0;
&shop_menu; &shop_menu;
} }
} }
# 性転換-2 # 성전환-2
}elsif($tm==135){ }elsif($tm==135){
if($cmd<=0){ if($cmd<=0){
$log .= "$nm は何事も無かったように立ち去った。<br>\n"; $log .= "$nm 님은 아무 일도 없었던 것처럼 자리를 떠났다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
}else{ }else{
if($gold>=200000){ if($gold>=200000){
$gold-=200000; $gold-=200000;
$log.="オペを開始します。目覚めるとそこは別世界になっていることでしょう。<br>"; $log.="수술을 시작합니다. 눈을 뜨면 그곳은 딴 세상이 되어 있겠지요.<br>";
$pr=$GMT*8; $pr=$GMT*8;
if($sei==1){ if($sei==1){
$sei=2; $sei=2;
$sei2="女性"; $sei2="여성";
}else{ }else{
$sei=1; $sei=1;
$sei2="男性"; $sei2="남성";
} }
$mes.= qq|麻酔から目を覚ました。$nm $sei2 になった。|; $mes.= qq|마취에서 깨어났다. $nm 님은 $sei2이(가) 되었다.|;
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}else{ }else{
$log2.="お金が足りません。"; $log2.="돈이 부족합니다.";
$tm = $cmd = 0; $tm = $cmd = 0;
&shop_menu; &shop_menu;
} }
} }
} }
} }
1; 1;
Regular → Executable
+73 -73
View File
@@ -1,73 +1,73 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# お買い物 PC用パーツ1 Version 1.0 # # 상점 PC용 파츠1 Version 1.0 #
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
############################################################# #############################################################
# 以下処理 基本的にこれ以下はいじらないように。 # 이하 처리 기본적으로 이 이하는 수정하지 말 것.
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#武具(ショッピング) # 무구(상점)
sub bugu_s{ sub bugu_s{
$log.=<<EOM; $log.=<<EOM;
<form action=$script method=$method name=ore_> <form action=$script method=$method name=ore_>
<input type=hidden name=id value="$id_p"> <input type=hidden name=id value="$id_p">
<input type=hidden name=pw value="$pw_p"> <input type=hidden name=pw value="$pw_p">
<input type=hidden name=cmd value=-1> <input type=hidden name=cmd value=-1>
EOM EOM
foreach(11 .. $#dg_data){ foreach(11 .. $#dg_data){
$log .=qq|<hr color=white><input type=radio value="$_" name=cmd>\n|; $log .=qq|<hr color=white><input type=radio value="$_" name=cmd>\n|;
$log .=qq|$dg_data[$_][1] $dg_data[$_][2]G 回数$dg_data[$_][3] $dg_data[$_][5]\n|; $log .=qq|$dg_data[$_][1] $dg_data[$_][2]G 횟수$dg_data[$_][3] $dg_data[$_][5]\n|;
} }
$log .=qq|<hr color=white><input type=submit value="購入/やめる"></form>\n|; $log .=qq|<hr color=white><input type=submit value="구매/그만두기"></form>\n|;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#防具(ショッピング) # 방어구(상점)
sub bogu_s{ sub bogu_s{
$log.=<<EOM; $log.=<<EOM;
<form action=$script method=$method name=ore_> <form action=$script method=$method name=ore_>
<input type=hidden name=id value="$id_p"> <input type=hidden name=id value="$id_p">
<input type=hidden name=pw value="$pw_p"> <input type=hidden name=pw value="$pw_p">
<input type=hidden name=cmd value=-1> <input type=hidden name=cmd value=-1>
EOM EOM
foreach(11 .. $#df_data){ foreach(11 .. $#df_data){
$log .=qq|<hr color=white><input type=radio value="$_" name=cmd>\n|; $log .=qq|<hr color=white><input type=radio value="$_" name=cmd>\n|;
$log .=qq|$df_data[$_][1] $df_data[$_][2]G 回数$df_data[$_][3] $df_data[$_][5]\n|; $log .=qq|$df_data[$_][1] $df_data[$_][2]G 횟수$df_data[$_][3] $df_data[$_][5]\n|;
} }
$log .=qq|<hr color=white><input type=submit value="購入/やめる"></form>\n|; $log .=qq|<hr color=white><input type=submit value="구매/그만두기"></form>\n|;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#道具(ショッピング) # 도구(상점)
sub dogu_s{ sub dogu_s{
$log.=<<EOM; $log.=<<EOM;
<form action=$script method=$method name=ore_> <form action=$script method=$method name=ore_>
<input type=hidden name=id value="$id_p"> <input type=hidden name=id value="$id_p">
<input type=hidden name=pw value="$pw_p"> <input type=hidden name=pw value="$pw_p">
<input type=hidden name=cmd value=-1> <input type=hidden name=cmd value=-1>
EOM EOM
foreach(11 .. $#di_data){ foreach(11 .. $#di_data){
$log .=qq|<hr color=white><input type=radio value="$_" name=cmd>\n|; $log .=qq|<hr color=white><input type=radio value="$_" name=cmd>\n|;
$log .=qq|$di_data[$_][1] $di_data[$_][2]G 回数$di_data[$_][3] $di_data[$_][4]\n|; $log .=qq|$di_data[$_][1] $di_data[$_][2]G 횟수$di_data[$_][3] $di_data[$_][4]\n|;
} }
$log .=qq|<hr color=white><input type=submit value="購入/やめる"></form>\n|; $log .=qq|<hr color=white><input type=submit value="구매/그만두기"></form>\n|;
} }
1;#削除不可 1;#삭제 불가
Regular → Executable
+103 -103
View File
@@ -1,103 +1,103 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to ] # # BLANK BOARD [ http://pom.to ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# お買い物 PC用パーツ1 Version 1.5 # # 쇼핑 PC용 파츠1 Version 1.5 #
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
############################################################# #############################################################
# 以下処理 基本的にこれ以下はいじらないように。 # 이하 처리 기본적으로 이 이하는 수정하지 않도록.
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 武具(ショッピング) # 무구(쇼핑)
sub bugu_s{ sub bugu_s{
$log.=<<EOM; $log.=<<EOM;
<form action=$script method=$method name=ore_> <form action=$script method=$method name=ore_>
<input type=hidden name=id value="$id"> <input type=hidden name=id value="$id">
<input type=hidden name=pw value="$pw_p"> <input type=hidden name=pw value="$pw_p">
<input type=hidden name=cmd value=-1> <input type=hidden name=cmd value=-1>
<table border=0 cellpadding=2 cellspacing=2 width=100%> <table border=0 cellpadding=2 cellspacing=2 width=100%>
<tr align=center bgcolor="#ccccee"> <tr align=center bgcolor="#ccccee">
<td>&nbsp;</td> <td>&nbsp;</td>
<td>武具</td> <td>무구</td>
<td>値段</td> <td>가격</td>
<td>回数</td> <td>횟수</td>
<td>説明</td> <td>설명</td>
</tr> </tr>
EOM EOM
foreach(11 .. $#dg_data){ foreach(11 .. $#dg_data){
$log .=qq|<tr align="center" bgcolor="#ccccee">\n|; $log .=qq|<tr align="center" bgcolor="#ccccee">\n|;
$log .=qq|<td><input type="radio" value="$_" name="cmd" class="a5">\n|; $log .=qq|<td><input type="radio" value="$_" name="cmd" class="a5">\n|;
$log .=qq|<td>$dg_data[$_][1]</td><td>$dg_data[$_][2]</td><td>$dg_data[$_][3]</td><td>$dg_data[$_][5]</td></tr>\n|; $log .=qq|<td>$dg_data[$_][1]</td><td>$dg_data[$_][2]</td><td>$dg_data[$_][3]</td><td>$dg_data[$_][5]</td></tr>\n|;
} }
$log .=qq|</table>\n|; $log .=qq|</table>\n|;
$log .=qq|<tt><br></tt><input type=submit value="購入/やめる" class="button1"></form>\n|; $log .=qq|<tt><br></tt><input type=submit value="구매/그만두기" class="button1"></form>\n|;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 防具(ショッピング) # 방어구(쇼핑)
sub bogu_s{ sub bogu_s{
$log.=<<EOM; $log.=<<EOM;
<form action=$script method=$method name=ore_> <form action=$script method=$method name=ore_>
<input type=hidden name=id value="$id_p"> <input type=hidden name=id value="$id_p">
<input type=hidden name=pw value="$pw_p"> <input type=hidden name=pw value="$pw_p">
<input type=hidden name=cmd value=-1> <input type=hidden name=cmd value=-1>
<table border=0 cellpadding=2 cellspacing=2 width=100%> <table border=0 cellpadding=2 cellspacing=2 width=100%>
<tr align=center bgcolor="#ccccee"> <tr align=center bgcolor="#ccccee">
<td>&nbsp;</td> <td>&nbsp;</td>
<td>防具</td> <td>방어구</td>
<td>値段</td> <td>가격</td>
<td>回数</td> <td>횟수</td>
<td>説明</td> <td>설명</td>
</tr> </tr>
EOM EOM
foreach(11 .. $#df_data){ foreach(11 .. $#df_data){
$log .=qq|<tr align="center" bgcolor="#ccccee">\n|; $log .=qq|<tr align="center" bgcolor="#ccccee">\n|;
$log .=qq|<td><input type="radio" value="$_" name="cmd" class="a5">\n|; $log .=qq|<td><input type="radio" value="$_" name="cmd" class="a5">\n|;
$log .=qq|<td>$df_data[$_][1]</td><td>$df_data[$_][2]</td><td>$df_data[$_][3]</td><td>$df_data[$_][5]</td></tr>\n|; $log .=qq|<td>$df_data[$_][1]</td><td>$df_data[$_][2]</td><td>$df_data[$_][3]</td><td>$df_data[$_][5]</td></tr>\n|;
} }
$log .=qq|</table>\n|; $log .=qq|</table>\n|;
$log .=qq|<tt><br></tt><input type="submit" value="購入/やめる" class="button1"></form>\n|; $log .=qq|<tt><br></tt><input type="submit" value="구매/그만두기" class="button1"></form>\n|;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 道具(ショッピング) # 도구(쇼핑)
sub dogu_s{ sub dogu_s{
$log.=<<EOM; $log.=<<EOM;
<form action=$script method=$method name=ore_> <form action=$script method=$method name=ore_>
<input type=hidden name=id value="$id_p"> <input type=hidden name=id value="$id_p">
<input type=hidden name=pw value="$pw_p"> <input type=hidden name=pw value="$pw_p">
<input type=hidden name=cmd value=-1> <input type=hidden name=cmd value=-1>
<table border=0 cellpadding=2 cellspacing=2 width=100%> <table border=0 cellpadding=2 cellspacing=2 width=100%>
<tr align=center bgcolor="#ccccee"> <tr align=center bgcolor="#ccccee">
<td>&nbsp;</td> <td>&nbsp;</td>
<td>道具</td> <td>도구</td>
<td>値段</td> <td>가격</td>
<td>回数</td> <td>횟수</td>
<td>説明</td> <td>설명</td>
</tr> </tr>
EOM EOM
foreach(11 .. $#di_data){ foreach(11 .. $#di_data){
$log .=qq|<tr align="center" bgcolor="#ccccee">\n|; $log .=qq|<tr align="center" bgcolor="#ccccee">\n|;
$log .=qq|<td><input type="radio" value="$_" name="cmd" class="a5">\n|; $log .=qq|<td><input type="radio" value="$_" name="cmd" class="a5">\n|;
$log .=qq|<td>$di_data[$_][1]</td><td>$dg_data[$_][2]</td><td>$di_data[$_][3]</td><td>$di_data[$_][4]</td></tr>\n|; $log .=qq|<td>$di_data[$_][1]</td><td>$dg_data[$_][2]</td><td>$di_data[$_][3]</td><td>$di_data[$_][4]</td></tr>\n|;
} }
$log .=qq|</table>\n|; $log .=qq|</table>\n|;
$log .=qq|<tt><br></tt><input type="submit" value="購入/やめる" class="button1"></form>\n|; $log .=qq|<tt><br></tt><input type="submit" value="구매/그만두기" class="button1"></form>\n|;
} }
1;#削除不可 1;#삭제 불가
Regular → Executable
+505 -505
View File
File diff suppressed because it is too large Load Diff
Regular → Executable
+91 -91
View File
@@ -1,91 +1,91 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 討伐 Version 1.0 # 토벌 Version 1.0
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#討伐メニュー #토벌 메뉴
sub subdue{ sub subdue{
if(!$type){ if(!$type){
$log .= "エルタニアの地に蔓延る魑魅魍魎を討伐します。<br>成功すると地位と賞金が獲得できます。<br>\n"; $log .= "엘타니아 땅에 만연한 이매망량을 토벌합니다.<br>성공하면 지위와 상금을 획득할 수 있습니다.<br>\n";
$tm=0; $tm=0;
$type='討伐'; $type='토벌';
&call_mapdata if($mv_mode eq 'pc'); &call_mapdata if($mv_mode eq 'pc');
&subdue_menu; &subdue_menu;
}elsif($type eq '討伐'){ &subdue_exe } }elsif($type eq '토벌'){ &subdue_exe }
&dat_write; &dat_write;
} }
sub subdue_menu{ sub subdue_menu{
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|; $log2 .=qq|<select name="cmd" size="1">\n|;
$log2 .=qq|<option value="0">やめる</option>\n|; $log2 .=qq|<option value="0">그만두기</option>\n|;
foreach(1 .. $#cmp){ $log2 .=qq|<option value="$_">$cmp[$_]</option>\n|;} foreach(1 .. $#cmp){ $log2 .=qq|<option value="$_">$cmp[$_]</option>\n|;}
$log2 .=qq|</select><br>\n|; $log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#討伐処理(討伐 >> 討伐中へ移行まで) #토벌 처리(토벌 >> 토벌 중으로 이행까지)
sub subdue_exe{ sub subdue_exe{
if(!$tm){ if(!$tm){
if($cmd<=0 || $cmd>$#cmp){ if($cmd<=0 || $cmd>$#cmp){
$log .= "またお越しください…<br>\n"; $log .= "다음에 또 오십시오…<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif($cmd){ }elsif($cmd){
if($camp<1){ if($camp<1){
$log .= "放浪の身で討伐は行えません<br>\n"; $log .= "방랑자 신분으로는 토벌을 진행할 수 없습니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
&call_main_st; &call_main_st;
}else{ }else{
my $x = int($g_p[$rank]/3); my $x = int($g_p[$rank]/3);
if($max_sol<=$my_cs){ if($max_sol<=$my_cs){
$sol= $max_sol; $sol= $max_sol;
}elsif($max_sol>$my_cs){ }elsif($max_sol>$my_cs){
$sol= $my_cs; $sol= $my_cs;
} }
my $y = int($sol/10); my $y = int($sol/10);
$log .= "$cmp[$cmd]の魑魅魍魎を討伐します<br>\n"; $log .= "$cmp[$cmd]의 이매망량을 토벌합니다<br>\n";
$log .= "探索を開始します。<br>\n"; $log .= "탐색을 시작합니다.<br>\n";
$nation=$cmd; $nation=$cmd;
$tm=0; $tm=0;
$type='討伐中'; $type='토벌 중';
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
} }
} }
} }
&dat_write; &dat_write;
} }
1; 1;
Regular → Executable
+344 -348
View File
@@ -1,348 +1,344 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 罪と罰++ 二律背反 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 討伐中 Version 1.0 # 討伐中 Version 1.0
#--- [注意事項] --------------------------------------------# #--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#討伐中処理 #討伐中処理
sub ws_st { sub ws_st {
if(!$tm && !$ck){ if(!$tm && !$ck){
$log .="$date $cmp[$nation] を探索中です<br>\n"; $log .="$date $cmp[$nation] 을 탐색 중입니다<br>\n";
# NPC(魑魅魍魎)読み込み # NPC(魑魅魍魎)読み込み
require './inc/ore_sub-npc_2.cgi'; require './inc/ore_sub-npc_2.cgi';
local $v=int(rand(7)); local $v=int(rand(7));
&ck_ne_2; &ck_ne_2;
$log .="<hr size=1 noshade>\n"; $log .="<hr size=1 noshade>\n";
$log .="$cmp[$nation] に蔓延る $tnm を発見した!<br>\n"; $log .="$cmp[$nation]에 도사리는 $tnm(을)를 발견했다!<br>\n";
$log .="戦闘態勢をとります!<br>\n"; $log .="전투 태세를 갖춥니다!<br>\n";
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<input type="hidden" name="cmd" value="-1"><input $button1 type="submit" value=" 戦闘突入!!">$td_end</form>\n|; $log2 .=qq|<input type="hidden" name="cmd" value="-1"><input $button1 type="submit" value=" 전투 돌입!!">$td_end</form>\n|;
$tm=40; $tm=40;
$ck=1; $ck=1;
}elsif($ck){ }elsif($ck){
# 戦闘処理読み込み # 戦闘処理読み込み
require './inc/ore_sub-battle.cgi'; require './inc/ore_sub-battle.cgi';
if(!$b_n && !$tlr){ if(!$b_n && !$tlr){
$tm = 0; $tm = 0;
$ck = 0; $ck = 0;
$nation = 0;#討伐 $nation = 0;#討伐
$type=''; $type='';
$log .="戦闘中にバグが発生しました!強制的にメイン画面に戻ります<br>\n"; $log .="전투 중 오류가 발생했습니다! 강제로 메인 화면으로 돌아갑니다<br>\n";
} }
if($tm==40 && $cmd==-1){ if($tm==40 && $cmd==-1){
$tm=55; $tm=55;
$log .="<p>$tnm との対決!!</p><p>どうしますか?</p>\n"; $log .="<p>$tnm과의 대결!!</p><p>어떻게 하겠습니까?</p>\n";
$log .="<p>魑魅魍魎ステータス - $tnm ( HP $thp MP $tmp UA $tua UD $tud LV $tlv )</p>\n"; $log .="<p>이매망량 능력치 - $tnm ( HP $thp MP $tmp UA $tua UD $tud LV $tlv )</p>\n";
} }
if($tm==55){ if($tm==55){
if($cmd==10){ if($cmd==10){
my $btp = $ag + int(rand($lv)*0.8); my $btp = $ag + int(rand($lv)*0.8);
my $bte = $tag+ int(rand($tlv)*0.8); my $bte = $tag+ int(rand($tlv)*0.8);
if($btp>=$bte){ if($btp>=$bte){
$log .="$nm は 脱兎の如く逃げ出した・・・<br>評価が著しく下がった<br>\n"; $log .="$nm 은 걸음아 날 살려라 하고 도망쳤다...<br>평판이 크게 떨어졌다<br>\n";
$tm=0; $tm=0;
$v = int(2 + rand(4)); $v = int(2 + rand(4));
$rank_exe-=$v; $rank_exe-=$v;
$sol=0; $sol=0;
$tnm=''; $tnm='';
$ck=0; $ck=0;
$nation=0;#討伐 $nation=0;#討伐
$type=''; $type='';
$vv = int(rand(2)); $vv = int(rand(2));
if(!$vv){ if(!$vv){
$we-- if($we>0); $we-- if($we>0);
} }
}else{ }else{
$log .="$nm は 脱兎の如く逃げ出した・・・<br>しかし! $tnm に追いつかれてしまった!!<br>\n"; $log .="$nm 은 걸음아 날 살려라 하고 도망쳤다...<br>하지만! $tnm에게 덜미를 잡히고 말았다!!<br>\n";
$tm=65; $tm=65;
$rank_exe-=1; $rank_exe-=1;
} }
}elsif($cmd==20){ }elsif($cmd==20){
$log .="$tnm の討伐を行なう事に!<br>\n"; $log .="$tnm 토벌을 시작합니다!<br>\n";
$tm=65; $tm=65;
$rank_exe+=1; $rank_exe+=1;
} }
}elsif($tm==65){ }elsif($tm==65){
$log .="真剣勝負開始!<br>\n"; $log .="진검승부 시작!<br>\n";
$tm=75; $tm=75;
}elsif($tm==75){ }elsif($tm==75){
&bt_cm; &bt_cm;
if($thp<1){ if($thp<1){
# 獲得金 # 獲得金
$G =int(rand(200))+((500*$tlv)-($lv*50)); $G =int(rand(200))+((500*$tlv)-($lv*50));
$G =1 if($G<1); $G =1 if($G<1);
$G =int(rand(500))+1500 if($G>2000); $G =int(rand(500))+1500 if($G>2000);
$gold +=$G; $gold +=$G;
# 経験値 # 経験値
$E = int((($tlv*2)+$tua+$tud+$tag)*(rand($lv/10)+3))-$lv*2; $E = int((($tlv*2)+$tua+$tud+$tag)*(rand($lv/10)+3))-$lv*2;
$E = int(rand(300)+1300) if($E>1500); $E = int(rand(300)+1300) if($E>1500);
$exe+=$E; $exe+=$E;
$thp=0; $thp=0;
$bst =''; $bst ='';
$bt =0; $bt =0;
$log .="$nm $tnm を倒した!<br>\n"; $log .="$nm $tnm 을 쓰러뜨렸다!<br>\n";
$log .="$G の金 と $E の経験値を得た!<br>\n"; $log .="$G GOLD와 $E 경험치를 획득했다!<br>\n";
$log .="<br>\n"; $log .="<br>\n";
# 賞金(自国優位) # 賞金(自国優位)
if($nation==$camp){ if($nation==$camp){
$G =int($my_cg/(rand(6)+15)); $G =int($my_cg/(rand(6)+15));
$G =int(rand(500))+1500 if(int(2000>=$G)); $G =int(rand(500))+1500 if(int(2000>=$G));
$G =int(rand(1500))+4000 if(int(5000<=$G)); $G =int(rand(1500))+4000 if(int(5000<=$G));
}else{ }else{
if($nation==1){$G =int($cg1/(rand(11)+20));} if($nation==1){$G =int($cg1/(rand(11)+20));}
elsif($nation==2){$G =int($cg2/(rand(11)+20));} elsif($nation==2){$G =int($cg2/(rand(11)+20));}
elsif($nation==3){$G =int($cg2/(rand(11)+20));} elsif($nation==3){$G =int($cg2/(rand(11)+20));}
elsif($nation==4){$G =int($cg2/(rand(11)+20));} elsif($nation==4){$G =int($cg2/(rand(11)+20));}
elsif($nation==5){$G =int($cg2/(rand(11)+20));} elsif($nation==5){$G =int($cg2/(rand(11)+20));}
$G =int(rand(500))+500 if(int(1000>=$G)); $G =int(rand(500))+500 if(int(1000>=$G));
$G =int(rand(1000))+2500 if(int(3500<=$G)); $G =int(rand(1000))+2500 if(int(3500<=$G));
} }
$exe+=$E; $exe+=$E;
$gold+=$G; $gold+=$G;
$tsol=int($tsol/2); $tsol=int($tsol/2);
$log .="$cmp[$nation]から $G の賞金を得た!<br>\n";#討伐 $log .="$cmp[$nation]로부터 $G 의 현상금을 획득했다!<br>\n";#討伐
$V =int(rand(4)); $V =int(rand(4));
$sol_lv-=$V; $sol_lv-=$V;
$rank_exe+=int($V*2)+5; $rank_exe+=int($V*2)+5;
# 拾得物処理 1 # 拾得物処理 1
if(int(rand(100))==0){ if(int(rand(100))==0){
&syutoku1; &syutoku1;
}else{ }else{
$sol=0; $sol=0;
$tnm=''; $tnm='';
$ck = $tm = 0; $ck = $tm = 0;
$nation=0; $nation=0;
$type=''; $type='';
} }
$we++; $we++;
if($we>250){ if($we>250){
$log .="エルタニアの地に蔓延る魑魅魍魎の討伐の励みより $nm $sogo_p[2] の称号を授かった!<br>\n"; $log .="엘타니아 땅에 도사리는 이매망량 토벌에 매진한 공로로 $nm $sogo_p[2] 칭호를 하사받았다!<br>\n";
$sogo =2; $sogo =2;
$we =0; $we =0;
} }
}elsif($hp<1){ }elsif($hp<1){
$bst =''; $bst ='';
$bt =0; $bt =0;
$ck =0; $ck =0;
$hp =0; $hp =0;
$G=int(rand(10))+1; $G=int(rand(10))+1;
$E=int(rand(5))+1; $E=int(rand(5))+1;
$gold+=$G; $gold+=$G;
$exe+=$E; $exe+=$E;
$log .="あなたは $tnm に敗れ去った…<br>\n"; $log .="당신은 $tnm 에게 패배했다…<br>\n";
$log .="$G の金 と $E の経験値を得た<br>\n"; $log .="$G GOLD와 $E 경험치를 획득했다<br>\n";
$log .="<p></p>\n"; $log .="<p></p>\n";
$sol=int($sol/2); $sol=int($sol/2);
$rank_exe-=25; $rank_exe-=25;
$log .="魑魅魍魎に返り討ちにあうという不名誉な敗北に、<br>貴方に対する評価が著しく低下した<br>\n"; $log .="괴수에게 당했다는 불명예스러운 패배로 인해 당신에 대한 평판이 곤란할 정도로 크게 떨어졌다<br>\n";
if($rank_exe<1){ if($rank_exe<1){
$rank--; $rank--;
$rank=1 if($rank<1); $rank=1 if($rank<1);
$next_rank=int(($rank*$rank)*3); $next_rank=int(($rank*$rank)*3);
$v=$next_rank-10; $v=$next_rank-10;
$rank_exe=$v; $rank_exe=$v;
$log .="一階級降格されてしまった…<br>\n"; $log .="계급이 한 단계 강등되었다…<br>\n";
} }
$sol=0; $sol=0;
$tnm=''; $tnm='';
$ck= $tm = 0; $ck= $tm = 0;
$nation=0;#討伐 $nation=0;#討伐
$type=''; $type='';
} }
} }
# 拾得物処理 2 # 拾得物処理 2
if($cmd==40){ if($cmd==40){
&syutoku2; &syutoku2;
}elsif($cmd ==41){ }elsif($cmd ==41){
$log .="$nm は 気づかなかったフリをして立ち去った・・・・・・<br>\n"; $log .="$nm 은 못 본 척하고 자리를 떴다......<br>\n";
$sol=0; $sol=0;
$tnm=''; $tnm='';
$ck = $tm = 0; $ck = $tm = 0;
$nation=0;#討伐 $nation=0;#討伐
$type=''; $type='';
} }
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
if($tsol<1||$sol<1){ if($tsol<1||$sol<1){
$log2 .=qq|<input type="hidden" name="cmd" value="-1">\n|; $log2 .=qq|<input type="hidden" name="cmd" value="-1">\n|;
}if($tm==55){ }if($tm==55){
$log2 .=qq|<select name="cmd" size="1"><option value="10">逃げる</option><option value="20">闘う</option>\n|; $log2 .=qq|<select name="cmd" size="1"><option value="10">도망친다</option><option value="20">싸운다</option>\n|;
$log2 .=qq|</select>|; $log2 .=qq|</select>|;
}elsif($tm==65){ }elsif($tm==65){
$log2 .=qq|<input type="hidden" name="cmd" value="-1">\n|; $log2 .=qq|<input type="hidden" name="cmd" value="-1">\n|;
}elsif($tm==75){ }elsif($tm==75){
&spell_sp; &spell_sp;
}elsif($tm>=100){ }elsif($tm>=100){
$log2 .=qq|<select name="cmd" size="1"><option value="40">拾う</option><option value="41">ほっとく</option>\n|; $log2 .=qq|<select name="cmd" size="1"><option value="40">줍는다</option><option value="41">그냥 둔다</option>\n|;
$log2 .=qq|</select>|; $log2 .=qq|</select>|;
} }
$log2 .=qq|<br>|;#テーブルずれ修正 $log2 .=qq|<br>|;#テーブルずれ修正
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;#テーブル追加</tr></table> $log2 .=qq|<input type="submit" $button1 value="다음으로!">$td_end</form>\n|;#テーブル追加</tr></table>
} }
&dat_write; &dat_write;
} }
#拾得物処理 #拾得物処理
sub syutoku1{ sub syutoku1{
$log .="$tnm が消滅した場所に何か落ちている・・・・・<br>$nm "; $log .="$tnm 이 소멸한 자리에 무언가 떨어져 있다......<br>$nm ";
my $S = int(rand(10)+1); my $S = int(rand(10)+1);
# 武具 # 武具
if($S == 1){ if($S == 1){
$log .="$dg_data[2][1]を発見した!!<br><br>装備する場合、現在所持している武具"; $log .="$dg_data[2][1]을 발견했다!!<br><br>장착할 경우 현재 장착 중인 무구";
$tm = 110; $tm = 110;
}elsif($S == 2){ }elsif($S == 2){
$log .="$dg_data[3][1]を発見した!!<br><br>装備する場合、現在所持している武具"; $log .="$dg_data[3][1]을 발견했다!!<br><br>장착할 경우 현재 장착 중인 무구";
$tm = 120; $tm = 120;
}elsif($S == 3){ }elsif($S == 3){
$log .="$dg_data[4][1]を発見した!!<br><br>装備する場合、現在所持している武具"; $log .="$dg_data[4][1]을 발견했다!!<br><br>장착할 경우 현재 장착 중인 무구";
$tm = 130; $tm = 130;
# 道具 # 道具
}elsif($S == 4){ }elsif($S == 4){
$log .="$di_data[1][1]を発見した!!<br><br>装備する場合、現在所持している道具"; $log .="$di_data[1][1]을 발견했다!!<br><br>소지할 경우 현재 소지 중인 도구";
$tm = 140; $tm = 140;
}elsif($S == 5){ }elsif($S == 5){
$log .="$di_data[2][1]を発見した!!<br><br>装備する場合、現在所持している道具"; $log .="$di_data[2][1]을 발견했다!!<br><br>소지할 경우 현재 소지 중인 도구";
$tm = 150; $tm = 150;
}elsif($S == 6){ }elsif($S == 6){
$log .="$di_data[3][1]を発見した!!<br><br>装備する場合、現在所持している道具"; $log .="$di_data[3][1]을 발견했다!!<br><br>소지할 경우 현재 소지 중인 도구";
$tm = 160; $tm = 160;
}elsif($S == 7){ }elsif($S == 7){
$log .="$di_data[4][1]を発見した!!<br><br>装備する場合、現在所持している道具"; $log .="$di_data[4][1]을 발견했다!!<br><br>소지할 경우 현재 소지 중인 도구";
$tm = 170; $tm = 170;
# 防具 # 防具
}elsif($S == 8){ }elsif($S == 8){
$log .="$df_data[2][1]を発見した!!<br><br>装備する場合、現在所持している道具"; $log .="$df_data[2][1]을 발견했다!!<br><br>장착할 경우 현재 소지 중인 방어구";
$tm = 180; $tm = 180;
}elsif($S == 9){ }elsif($S == 9){
$log .="$df_data[3][1]を発見した!!<br><br>装備する場合、現在所持している道具"; $log .="$df_data[3][1]을 발견했다!!<br><br>장착할 경우 현재 소지 중인 방어구";
$tm = 190; $tm = 190;
}elsif($S == 10){ }elsif($S == 10){
$log .="$df_data[4][1]を発見した!!<br><br>装備する場合、現在所持している道具"; $log .="$df_data[4][1]을 발견했다!!<br><br>장착할 경우 현재 소지 중인 방어구";
$tm = 200; $tm = 200;
} }
$log .="は破棄されます。<br>どうしますか?<br>"; $log .="은 파기됩니다.<br>어떻게 하겠습니까?<br>";
} }
#拾得物処理2 #拾得物処理2
sub syutoku2{ sub syutoku2{
$log .="$nm "; $log .="$nm ";
# 武具2 # 武具2
if($tm==110){ if($tm==110){
$log .="$dg_data[2][1]"; $log .="$dg_data[2][1]";
$dg_a = 2; $dg_a = 2;
$dg_cnt=$dg_data[2][3]; $dg_cnt=$dg_data[2][3];
}elsif($tm==120){ }elsif($tm==120){
$log .="$dg_data[3][1]"; $log .="$dg_data[3][1]";
$dg_a = 3; $dg_a = 3;
$dg_cnt=$dg_data[3][3]; $dg_cnt=$dg_data[3][3];
}elsif($tm==130){ }elsif($tm==130){
$log .="$dg_data[4][1]"; $log .="$dg_data[4][1]";
$dg_a = 4; $dg_a = 4;
$dg_cnt=$dg_data[4][3]; $dg_cnt=$dg_data[4][3];
# 道具2 # 道具2
}elsif($tm==140){ }elsif($tm==140){
$log .="$di_data[1][1]"; $log .="$di_data[1][1]";
$di_a = 1; $di_a = 1;
$di_cnt=$di_data[1][3]; $di_cnt=$di_data[1][3];
}elsif($tm==150){ }elsif($tm==150){
$log .="$di_data[2][1]"; $log .="$di_data[2][1]";
$di_a = 2; $di_a = 2;
$di_cnt=$di_data[2][3]; $di_cnt=$di_data[2][3];
}elsif($tm==160){ }elsif($tm==160){
$log .="$di_data[3][1]"; $log .="$di_data[3][1]";
$di_a = 3; $di_a = 3;
}elsif($tm==170){ }elsif($tm==170){
$log .="$di_data[4][1]"; $log .="$di_data[4][1]";
$di_a = 4; $di_a = 4;
$di_cnt=$di_data[4][3]; $di_cnt=$di_data[4][3];
# 防具2 # 防具2
}elsif($tm==180){ }elsif($tm==180){
$log .="$df_data[2][1]"; $log .="$df_data[2][1]";
$df_a = 2; $df_a = 2;
$df_cnt=$df_data[2][3]; $df_cnt=$df_data[2][3];
}elsif($tm==190){ }elsif($tm==190){
$log .="$df_data[3][1]"; $log .="$df_data[3][1]";
$df_a = 3; $df_a = 3;
$df_cnt=$df_data[3][3]; $df_cnt=$df_data[3][3];
}elsif($tm==200){ }elsif($tm==200){
$log .="$df_data[4][1]"; $log .="$df_data[4][1]";
$df_a = 4; $df_a = 4;
$df_cnt=$df_data[4][3]; $df_cnt=$df_data[4][3];
} }
$log .="を手に入れた!!<br>\n"; $log .="을 손에 넣었다!!<br>\n";
$sol=0; $sol=0;
$tnm=''; $tnm='';
$ck = $tm = 0; $ck = $tm = 0;
$nation=0;#討伐 $nation=0;#討伐
$type=''; $type='';
} }
1;
1;
Regular → Executable
+493 -497
View File
@@ -1,497 +1,493 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 罪と罰++ 二律背反 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 共通サブルーチン Version 1.0 # 共通サブルーチン Version 1.0
#--- [注意事項] --------------------------------------------# #--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# ファイル IN 関連 # ファイル IN 関連
#---------------------------------------# #---------------------------------------#
# 参加者データ全取得 # # 参加者データ全取得 #
#---------------------------------------# #---------------------------------------#
# 参加者データファイル一覧取得 # 参加者データファイル一覧取得
sub usrdata_read{ sub usrdata_read{
opendir(DIR,"$usrdata") || &error("ユーザデータ読みこみエラー",1); opendir(DIR,"$usrdata") || &error("유저 데이터 로딩 오류",1);
@usrfile = grep /\.cgi/,readdir(DIR); @usrfile = grep /\.cgi/,readdir(DIR);
closedir(DIR); closedir(DIR);
} }
# 参加者データ一括読み込み # 参加者データ一括読み込み
sub usrdata_open{ sub usrdata_open{
foreach (0 .. $#usrfile) { foreach (0 .. $#usrfile) {
open(IN,"$usrdata$usrfile[$_]") || &error("Can't open $usrfile[$_]",1); open(IN,"$usrdata$usrfile[$_]") || &error("Can't open $usrfile[$_]",1);
$line = <IN>; $line = <IN>;
close(IN); close(IN);
push(@tdat,$line); push(@tdat,$line);
} }
} }
#---------------------------------------# #---------------------------------------#
# 参加者データ個別取得 # # 参加者データ個別取得 #
#---------------------------------------# #---------------------------------------#
# 参加者データ個別読み込み # 参加者データ個別読み込み
sub usr_file_open{ sub usr_file_open{
open(IN,"$usrdata$id\.cgi") || &error("ユーザーIDが間違っているか、登録されていません。<br>Open Error : $usrdata$id\.cgi",1); open(IN,"$usrdata$id\.cgi") || &error("유저 ID가 틀렸거나 등록되어 있지 않습니다.<br>Open Error : $usrdata$id\.cgi",1);
@dat = <IN>; @dat = <IN>;
close(IN); close(IN);
%DAT = ''; %DAT = '';
# chop $dat[0]; # chop $dat[0];
my @prats = split(/,/,$dat[0]); my @prats = split(/,/,$dat[0]);
foreach (0 .. $#prats){ foreach (0 .. $#prats){
my($key,$v) = split(/;/,$prats[$_]); my($key,$v) = split(/;/,$prats[$_]);
$DAT{$key} = $v; $DAT{$key} = $v;
} }
&error("パスワードが間違っています",1) if($pw ne $DAT{'pw'} && $admin_pass ne $pw); &error("비밀번호가 틀렸습니다",1) if($pw ne $DAT{'pw'} && $admin_pass ne $pw);
&hash_data; &hash_data;
# 行動セッションリセット # 行動セッションリセット
$act_cnt=0 if($time-$la>3600*24); $act_cnt=0 if($time-$la>3600*24);
} }
# ハッシュ割り当て # ハッシュ割り当て
sub hash_data{ sub hash_data{
$pw = $DAT{'pw'}; # パスワード $pw = $DAT{'pw'}; # パスワード
$gold = $DAT{'gold'}; # お金 $gold = $DAT{'gold'}; # お金
$nm = $DAT{'nm'}; # 名前 $nm = $DAT{'nm'}; # 名前
$lv = $DAT{'lv'}; # レベル $lv = $DAT{'lv'}; # レベル
$sei = $DAT{'sei'}; # 性別 $sei = $DAT{'sei'}; # 性別
$hp = $DAT{'hp'}; # 体力 $hp = $DAT{'hp'}; # 体力
$max_hp = $DAT{'max_hp'}; # 最大体力 $max_hp = $DAT{'max_hp'}; # 最大体力
$mp = $DAT{'mp'}; # 魔力 $mp = $DAT{'mp'}; # 魔力
$max_mp = $DAT{'max_mp'}; # 最大魔力 $max_mp = $DAT{'max_mp'}; # 最大魔力
$ua = $DAT{'ua'}; # 攻撃力 $ua = $DAT{'ua'}; # 攻撃力
$ud = $DAT{'ud'}; # 防御力 $ud = $DAT{'ud'}; # 防御力
$lr = $DAT{'lr'}; # 指揮力 $lr = $DAT{'lr'}; # 指揮力
$ag = $DAT{'ag'}; # 敏捷力 $ag = $DAT{'ag'}; # 敏捷力
$exe = $DAT{'exe'}; # 経験値 $exe = $DAT{'exe'}; # 経験値
$rank = $DAT{'rank'}; # 階級 $rank = $DAT{'rank'}; # 階級
$rank_exe = $DAT{'rank_exe'}; # 貢献値 $rank_exe = $DAT{'rank_exe'}; # 貢献値
$camp = $DAT{'camp'}; # 所属国 $camp = $DAT{'camp'}; # 所属国
$sol = $DAT{'sol'}; # 部隊数 $sol = $DAT{'sol'}; # 部隊数
$sol_lv = $DAT{'sol_lv'}; # 部隊訓練度 $sol_lv = $DAT{'sol_lv'}; # 部隊訓練度
$nation = $DAT{'nation'}; # 対象国 $nation = $DAT{'nation'}; # 対象国
$we = $DAT{'we'}; # 討伐 回数 $we = $DAT{'we'}; # 討伐 回数
$dg_a = $DAT{'dg_a'}; # 武具 $dg_a = $DAT{'dg_a'}; # 武具
$dg_cnt = $DAT{'dg_cnt'}; # 武具 回数 $dg_cnt = $DAT{'dg_cnt'}; # 武具 回数
$df_a = $DAT{'df_a'}; # 防具 $df_a = $DAT{'df_a'}; # 防具
$df_cnt = $DAT{'df_cnt'}; # 防具 回数 $df_cnt = $DAT{'df_cnt'}; # 防具 回数
$di_a = $DAT{'di_a'}; # 道具 $di_a = $DAT{'di_a'}; # 道具
$di_cnt = $DAT{'di_cnt'}; # 道具 回数 $di_cnt = $DAT{'di_cnt'}; # 道具 回数
$sogo = $DAT{'sogo'}; # 称号 $sogo = $DAT{'sogo'}; # 称号
$type = $DAT{'type'}; # 行動判定(行動フラグ) $type = $DAT{'type'}; # 行動判定(行動フラグ)
$tm = $DAT{'tm'}; # 行動判定(行動フラグ) $tm = $DAT{'tm'}; # 行動判定(行動フラグ)
$bt = $DAT{'bt'}; # 戦闘時敵キャラ判別(行動フラグ) $bt = $DAT{'bt'}; # 戦闘時敵キャラ判別(行動フラグ)
$bst = $DAT{'bst'}; # 技による能力上昇の判定 $bst = $DAT{'bst'}; # 技による能力上昇の判定
$ck = $DAT{'ck'}; # 戦闘判定(行動フラグ) $ck = $DAT{'ck'}; # 戦闘判定(行動フラグ)
$pr = $DAT{'pr'}; # 拘束時間 残り(行動フラグ) $pr = $DAT{'pr'}; # 拘束時間 残り(行動フラグ)
$la = $DAT{'la'}; # 更新時間 $la = $DAT{'la'}; # 更新時間
$roku = $DAT{'roku'}; # 前回給料が払われた時間(仕官した時間) $roku = $DAT{'roku'}; # 前回給料が払われた時間(仕官した時間)
$mes = $DAT{'mes'}; # メッセージ $mes = $DAT{'mes'}; # メッセージ
$tnm = $DAT{'tnm'}; # 名前 敵 $tnm = $DAT{'tnm'}; # 名前 敵
$tid = $DAT{'tid'}; # ID 敵 $tid = $DAT{'tid'}; # ID 敵
$thp = $DAT{'thp'}; # 体力 敵 $thp = $DAT{'thp'}; # 体力 敵
$thp_max = $DAT{'thp_max'}; # 最大体力 敵 $thp_max = $DAT{'thp_max'}; # 最大体力 敵
$tmp = $DAT{'tmp'}; # 魔力 敵 $tmp = $DAT{'tmp'}; # 魔力 敵
$tlv = $DAT{'tlv'}; # レベル 敵 $tlv = $DAT{'tlv'}; # レベル 敵
$tua = $DAT{'tua'}; # 攻撃力 敵 $tua = $DAT{'tua'}; # 攻撃力 敵
$tud = $DAT{'tud'}; # 防御力 敵 $tud = $DAT{'tud'}; # 防御力 敵
$tlr = $DAT{'tlr'}; # 指揮力 敵 $tlr = $DAT{'tlr'}; # 指揮力 敵
$tag = $DAT{'tag'}; # 敏捷力 敵 $tag = $DAT{'tag'}; # 敏捷力 敵
$tdf_a = $DAT{'tdf_a'}; # 防具 敵 $tdf_a = $DAT{'tdf_a'}; # 防具 敵
$tdg_a = $DAT{'tdg_a'}; # 武器 敵 $tdg_a = $DAT{'tdg_a'}; # 武器 敵
$tcp = $DAT{'tcp'}; # 所属国 敵 $tcp = $DAT{'tcp'}; # 所属国 敵
$tsol = $DAT{'tsol'}; # 部隊数 敵 $tsol = $DAT{'tsol'}; # 部隊数 敵
$tsg = $DAT{'tsg'}; # 称号 敵 $tsg = $DAT{'tsg'}; # 称号 敵
$tsol_lv = $DAT{'tsol_lv'}; # 敵部隊訓練度 $tsol_lv = $DAT{'tsol_lv'}; # 敵部隊訓練度
$b_n = $DAT{'b_n'}; # 戦闘限界ターン $b_n = $DAT{'b_n'}; # 戦闘限界ターン
$b_v = $DAT{'b_v'}; # 現在のターン数 $b_v = $DAT{'b_v'}; # 現在のターン数
$n = $_; # 配列インデックス $n = $_; # 配列インデックス
$act_cnt = $DAT{'act_cnt'}; # 行動セッション値 $act_cnt = $DAT{'act_cnt'}; # 行動セッション値
$age_time = $DAT{'age_time'}; # 前回のレベルアップ < time式 $age_time = $DAT{'age_time'}; # 前回のレベルアップ < time式
$info_mes = $DAT{'info_mes'}; # 情報時に表示されるコメント $info_mes = $DAT{'info_mes'}; # 情報時に表示されるコメント
$pr -= $time-$la; $pr -= $time-$la;
$pr = 0 if($pr<0); $pr = 0 if($pr<0);
} }
# 国データ読み込み # 国データ読み込み
sub cdata_open{ sub cdata_open{
open (IN,"$cdatfile") || &error("国データファイルが開けませんでした",1); open (IN,"$cdatfile") || &error("국가 데이터 파일을 열 수 없습니다",1);
@cdat = <IN>; @cdat = <IN>;
close(IN) or die "Can't close : $!"; close(IN) or die "Can't close : $!";
%CP = ''; %CP = '';
my @prats = split(/,/,$cdat[0]); my @prats = split(/,/,$cdat[0]);
foreach $prats (@prats){ foreach $prats (@prats){
my($k,$v) = split(/;/,$prats); my($k,$v) = split(/;/,$prats);
$CP{$k} = $v; $CP{$k} = $v;
} }
$cn1=$CP{'cn1'};# 国1の国力 $cn1=$CP{'cn1'};# 国1の国力
$cg1=$CP{'cg1'};# 国1の財政 $cg1=$CP{'cg1'};# 国1の財政
$cf1=$CP{'cf1'};# 国1の蓄米 $cf1=$CP{'cf1'};# 国1の蓄米
$cs1=$CP{'cs1'};# 国1の予備兵 $cs1=$CP{'cs1'};# 国1の予備兵
$ce1=$CP{'ce1'};# 国1の現状 $ce1=$CP{'ce1'};# 国1の現状
$c1 =$CP{'c1'}; # 国1の参加人数 $c1 =$CP{'c1'}; # 国1の参加人数
$c1a=$CP{'c1a'};# 国1の定員数 $c1a=$CP{'c1a'};# 国1の定員数
$cn2=$CP{'cn2'}; $cn2=$CP{'cn2'};
$cg2=$CP{'cg2'}; $cg2=$CP{'cg2'};
$cf2=$CP{'cf2'}; $cf2=$CP{'cf2'};
$cs2=$CP{'cs2'}; $cs2=$CP{'cs2'};
$ce2=$CP{'ce2'}; $ce2=$CP{'ce2'};
$c2 =$CP{'c2'}; $c2 =$CP{'c2'};
$c2a=$CP{'c2a'}; $c2a=$CP{'c2a'};
$cn3=$CP{'cn3'}; $cn3=$CP{'cn3'};
$cg3=$CP{'cg3'}; $cg3=$CP{'cg3'};
$cf3=$CP{'cf3'}; $cf3=$CP{'cf3'};
$cs3=$CP{'cs3'}; $cs3=$CP{'cs3'};
$ce3=$CP{'ce3'}; $ce3=$CP{'ce3'};
$c3 =$CP{'c3'}; $c3 =$CP{'c3'};
$c3a=$CP{'c3a'}; $c3a=$CP{'c3a'};
$cn4=$CP{'cn4'}; $cn4=$CP{'cn4'};
$cg4=$CP{'cg4'}; $cg4=$CP{'cg4'};
$cf4=$CP{'cf4'}; $cf4=$CP{'cf4'};
$cs4=$CP{'cs4'}; $cs4=$CP{'cs4'};
$ce4=$CP{'ce4'}; $ce4=$CP{'ce4'};
$c4 =$CP{'c4'}; $c4 =$CP{'c4'};
$c4a=$CP{'c4a'}; $c4a=$CP{'c4a'};
$cn5=$CP{'cn5'}; $cn5=$CP{'cn5'};
$cg5=$CP{'cg5'}; $cg5=$CP{'cg5'};
$cf5=$CP{'cf5'}; $cf5=$CP{'cf5'};
$cs5=$CP{'cs5'}; $cs5=$CP{'cs5'};
$ce5=$CP{'ce5'}; $ce5=$CP{'ce5'};
$c5 =$CP{'c5'}; $c5 =$CP{'c5'};
$c5a=$CP{'c5a'}; $c5a=$CP{'c5a'};
$set=$CP{'set'}; $set=$CP{'set'};
$all_mem=$CP{'all_mem'}; $all_mem=$CP{'all_mem'};
$goal_no=$CP{'goal_no'}; # 現在何期か。 $goal_no=$CP{'goal_no'}; # 現在何期か。
$hasya=$CP{'hasya'}; $hasya=$CP{'hasya'};
$hcamp=$CP{'hcamp'}; $hcamp=$CP{'hcamp'};
$wr_mes=$CP{'wr_mes'}; $wr_mes=$CP{'wr_mes'};
if($camp==1){ if($camp==1){
$my_cn=$cn1; $my_cn=$cn1;
$my_cg=$cg1; $my_cg=$cg1;
$my_cf=$cf1; $my_cf=$cf1;
$my_cs=$cs1; $my_cs=$cs1;
$my_ce=$ce1; $my_ce=$ce1;
}elsif($camp==2){ }elsif($camp==2){
$my_cn=$cn2; $my_cn=$cn2;
$my_cg=$cg2; $my_cg=$cg2;
$my_cf=$cf2; $my_cf=$cf2;
$my_cs=$cs2; $my_cs=$cs2;
$my_ce=$ce2; $my_ce=$ce2;
}elsif($camp==3){ }elsif($camp==3){
$my_cn=$cn3; $my_cn=$cn3;
$my_cg=$cg3; $my_cg=$cg3;
$my_cf=$cf3; $my_cf=$cf3;
$my_cs=$cs3; $my_cs=$cs3;
$my_ce=$ce3; $my_ce=$ce3;
}elsif($camp==4){ }elsif($camp==4){
$my_cn=$cn4; $my_cn=$cn4;
$my_cg=$cg4; $my_cg=$cg4;
$my_cf=$cf4; $my_cf=$cf4;
$my_cs=$cs4; $my_cs=$cs4;
$my_ce=$ce4; $my_ce=$ce4;
}elsif($camp==5){ }elsif($camp==5){
$my_cn=$cn5; $my_cn=$cn5;
$my_cg=$cg5; $my_cg=$cg5;
$my_cf=$cf5; $my_cf=$cf5;
$my_cs=$cs5; $my_cs=$cs5;
$my_ce=$ce5; $my_ce=$ce5;
} }
} }
# ログデータ読み込み # ログデータ読み込み
sub read_data{ sub read_data{
# キャラデータ読み込み # キャラデータ読み込み
&usr_file_open; &usr_file_open;
# リロード規制 # リロード規制
foreach(0 .. $#act_limit){ foreach(0 .. $#act_limit){
# エラー表示式(リロード抑制を明示的に行いたい方はコチラがオススメ。) # エラー表示式(リロード抑制を明示的に行いたい方はコチラがオススメ。)
# &error("行動は $act_limit[$_][1]秒以上間隔を空けて行なってください",1) if($time<=$la+$act_limit[$_][1] && $hour==$act_limit[$_][0]); # &error("行動は $act_limit[$_][1]秒以上間隔を空けて行なってください",1) if($time<=$la+$act_limit[$_][1] && $hour==$act_limit[$_][0]);
# リロード無効式 # リロード無効式
if($time<=$la+$act_limit[$_][1] && $hour==$act_limit[$_][0]){ if($time<=$la+$act_limit[$_][1] && $hour==$act_limit[$_][0]){
print "Status: 204\n\n"; print "Status: 204\n\n";
if($mode ne "mes_write"){ if($mode ne "mes_write"){
&unlock($lock) if $lock_check; &unlock($lock) if $lock_check;
} }
exit; exit;
} }
} }
# 国データ読み込み # 国データ読み込み
&cdata_open; &cdata_open;
$id_p = $id; $id_p = $id;
$pw_p = $pw; $pw_p = $pw;
$next_lv = int(($lv*$lv)*10); $next_lv = int(($lv*$lv)*10);
$max_sol = $g_p[$rank]; $max_sol = $g_p[$rank];
$sol_lv = 1 if($sol_lv<1); $sol_lv = 1 if($sol_lv<1);
$sol_lv = 100 if($sol_lv>100); $sol_lv = 100 if($sol_lv>100);
$max_hp = 9999 if($max_hp>9999); $max_hp = 9999 if($max_hp>9999);
$max_mp = 9999 if($max_mp>9999); $max_mp = 9999 if($max_mp>9999);
$mp = 1 if($mp<1); $mp = 1 if($mp<1);
$ua = 999 if($ua>999); $ua = 999 if($ua>999);
$ud = 999 if($ud>999); $ud = 999 if($ud>999);
$lr = 999 if($lr>999); $lr = 999 if($lr>999);
$ag = 999 if($ag>999); $ag = 999 if($ag>999);
$rank = 14 if($rank>14); $rank = 14 if($rank>14);
$rank_exe = 0 if($rank_exe<1); $rank_exe = 0 if($rank_exe<1);
$lv = 1 if($lv<1); $lv = 1 if($lv<1);
$hp = $max_hp if($hp>$max_hp); $hp = $max_hp if($hp>$max_hp);
$mp = $max_mp if($mp>$max_mp); $mp = $max_mp if($mp>$max_mp);
if($pr<1){ if($pr<1){
&settei;#設定読み込み &settei;#設定読み込み
&status;#ステータス表示 &status;#ステータス表示
} }
$bmes="最新情報 ◎ $wr_mes\n" if $wr_mes; $bmes="최신 정보 ◎ $wr_mes\n" if $wr_mes;
$data_reset = int(($cn1+$cn2+$cn3+$cn4+$cn5) * $reset_point); $data_reset = int(($cn1+$cn2+$cn3+$cn4+$cn5) * $reset_point);
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# ファイル OUT 関連 # ファイル OUT 関連
# 国データ&キャラデータ書き込み # 国データ&キャラデータ書き込み
sub write_data{ sub write_data{
&cdat_write; &cdat_write;
&dat_write; &dat_write;
} }
# 国データ書き込み # 国データ書き込み
sub cdat_write{ sub cdat_write{
$cdat = "cn1;$cn1,cg1;$cg1,cf1;$cf1,cs1;$cs1,ce1;$ce1,c1;$c1,c1a;$c1a,cn2;$cn2,cg2;$cg2,cf2;$cf2,cs2;$cs2,ce2;$ce2,c2;$c2,c2a;$c2a,cn3;$cn3,cg3;$cg3,cf3;$cf3,cs3;$cs3,ce3;$ce3,c3;$c3,c3a;$c3a,cn4;$cn4,cg4;$cg4,cf4;$cf4,cs4;$cs4,ce4;$ce4,c4;$c4,c4a;$c4a,cn5;$cn5,cg5;$cg5,cf5;$cf5,cs5;$cs5,ce5;$ce5,c5;$c5,c5a;$c5a,set;$set,all_mem;$all_mem,goal_no;$goal_no,hasya;$hasya,hcamp;$hcamp,ad;$addr,ht;$host,date;$date,wr_mes;$wr_mes,\n"; $cdat = "cn1;$cn1,cg1;$cg1,cf1;$cf1,cs1;$cs1,ce1;$ce1,c1;$c1,c1a;$c1a,cn2;$cn2,cg2;$cg2,cf2;$cf2,cs2;$cs2,ce2;$ce2,c2;$c2,c2a;$c2a,cn3;$cn3,cg3;$cg3,cf3;$cf3,cs3;$cs3,ce3;$ce3,c3;$c3,c3a;$c3a,cn4;$cn4,cg4;$cg4,cf4;$cf4,cs4;$cs4,ce4;$ce4,c4;$c4,c4a;$c4a,cn5;$cn5,cg5;$cg5,cf5;$cf5,cs5;$cs5,ce5;$ce5,c5;$c5,c5a;$c5a,set;$set,all_mem;$all_mem,goal_no;$goal_no,hasya;$hasya,hcamp;$hcamp,ad;$addr,ht;$host,date;$date,wr_mes;$wr_mes,\n";
open (OUT,">$cdatfile") || &error("open error:$cdatfile",1); open (OUT,">$cdatfile") || &error("open error:$cdatfile",1);
print OUT $cdat; print OUT $cdat;
close(OUT) or die "Can't close : $!"; close(OUT) or die "Can't close : $!";
} }
# キャラデータ書き込み # キャラデータ書き込み
sub dat_write{ sub dat_write{
&error("open error no such a file!",1) if(!$nm || !$id); &error("open error no such a file!",1) if(!$nm || !$id);
$dat[0] = "la;$time,nm;$nm,pw;$pw,id;$id,sei;$sei,type;$type,age_time;$age_time,act_cnt;$act_cnt,hp;$hp,max_hp;$max_hp,lv;$lv,mp;$mp,max_mp;$max_mp,rank;$rank,ua;$ua,ud;$ud,lr;$lr,ag;$ag,ck;$ck,tm;$tm,bt;$bt,bst;$bst,exe;$exe,rank_exe;$rank_exe,sol;$sol,sol_lv;$sol_lv,nation;$nation,we;$we,camp;$camp,pr;$pr,tnm;$tnm,tid;$tid,thp;$thp,tlr;$tlr,tag;$tag,tsol;$tsol,tsg;$tsg,tsol_lv;$tsol_lv,b_n;$b_n,b_v;$b_v,thp_max;$thp_max,tlv;$tlv,tdg_a;$tdg_a,tdf_a;$tdf_a,tua;$tua,tud;$tud,tmp;$tmp,tcp;$tcp,gold;$gold,roku;$roku,dg_a;$dg_a,dg_cnt;$dg_cnt,df_a;$df_a,df_cnt;$df_cnt,di_a;$di_a,di_cnt;$di_cnt,sogo;$sogo,mes;$mes,info_mes;$info_mes,\n"; $dat[0] = "la;$time,nm;$nm,pw;$pw,id;$id,sei;$sei,type;$type,age_time;$age_time,act_cnt;$act_cnt,hp;$hp,max_hp;$max_hp,lv;$lv,mp;$mp,max_mp;$max_mp,rank;$rank,ua;$ua,ud;$ud,lr;$lr,ag;$ag,ck;$ck,tm;$tm,bt;$bt,bst;$bst,exe;$exe,rank_exe;$rank_exe,sol;$sol,sol_lv;$sol_lv,nation;$nation,we;$we,camp;$camp,pr;$pr,tnm;$tnm,tid;$tid,thp;$thp,tlr;$tlr,tag;$tag,tsol;$tsol,tsg;$tsg,tsol_lv;$tsol_lv,b_n;$b_n,b_v;$b_v,thp_max;$thp_max,tlv;$tlv,tdg_a;$tdg_a,tdf_a;$tdf_a,tua;$tua,tud;$tud,tmp;$tmp,tcp;$tcp,gold;$gold,roku;$roku,dg_a;$dg_a,dg_cnt;$dg_cnt,df_a;$df_a,df_cnt;$df_cnt,di_a;$di_a,di_cnt;$di_cnt,sogo;$sogo,mes;$mes,info_mes;$info_mes,\n";
$dat[1] = "$date<>$addr<>$host<>$agent<>\n"; $dat[1] = "$date<>$addr<>$host<>$agent<>\n";
open (OUT,">$usrdata$id\.cgi") || &error("open error:$usrdata$id\.cgi",1); open (OUT,">$usrdata$id\.cgi") || &error("open error:$usrdata$id\.cgi",1);
print OUT @dat; print OUT @dat;
close(OUT) or die "Can't close : $!"; close(OUT) or die "Can't close : $!";
} }
# 過去の栄光書き込み&バックアップ処理 # 過去の栄光書き込み&バックアップ処理
sub hist_write{ sub hist_write{
$cdat = "cn1;$cn1,cg1;$cg1,cf1;$cf1,cs1;$cs1,ce1;$ce1,c1;$c1,c1a;$c1a,cn2;$cn2,cg2;$cg2,cf2;$cf2,cs2;$cs2,ce2;$ce2,c2;$c2,c2a;$c2a,cn3;$cn3,cg3;$cg3,cf3;$cf3,cs3;$cs3,ce3;$ce3,c3;$c3,c3a;$c3a,cn4;$cn4,cg4;$cg4,cf4;$cf4,cs4;$cs4,ce4;$ce4,c4;$c4,c4a;$c4a,cn5;$cn5,cg5;$cg5,cf5;$cf5,cs5;$cs5,ce5;$ce5,c5;$c5,c5a;$c5a,set;$set,all_mem;$all_mem,goal_no;$goal_no,hasya;$hasya,hcamp;$hcamp,ad;$addr,ht;$host,date;$date,wr_mes;$wr_mes,\n"; $cdat = "cn1;$cn1,cg1;$cg1,cf1;$cf1,cs1;$cs1,ce1;$ce1,c1;$c1,c1a;$c1a,cn2;$cn2,cg2;$cg2,cf2;$cf2,cs2;$cs2,ce2;$ce2,c2;$c2,c2a;$c2a,cn3;$cn3,cg3;$cg3,cf3;$cf3,cs3;$cs3,ce3;$ce3,c3;$c3,c3a;$c3a,cn4;$cn4,cg4;$cg4,cf4;$cf4,cs4;$cs4,ce4;$ce4,c4;$c4,c4a;$c4a,cn5;$cn5,cg5;$cg5,cf5;$cf5,cs5;$cs5,ce5;$ce5,c5;$c5,c5a;$c5a,set;$set,all_mem;$all_mem,goal_no;$goal_no,hasya;$hasya,hcamp;$hcamp,ad;$addr,ht;$host,date;$date,wr_mes;$wr_mes,\n";
open (DB,">>$histfile") || &error("open error:$histfile",1); open (DB,">>$histfile") || &error("open error:$histfile",1);
print DB $cdat; print DB $cdat;
close(DB) or die "Can't close : $!"; close(DB) or die "Can't close : $!";
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# ファイルロック関連(rename式) # ファイルロック関連(rename式)
# $lock = &lock if($lock_check); # $lock = &lock if($lock_check);
# &unlock($lock) if($lock_check); # &unlock($lock) if($lock_check);
# -----ロック----- # -----ロック-----
sub lock { sub lock {
my %lock = (dir => "$lockdir", basename => "$lockfile", timeout => 30, trytime => 10, @_); my %lock = (dir => "$lockdir", basename => "$lockfile", timeout => 30, trytime => 10, @_);
$lock{path} = $lock{dir} . $lock{basename}; $lock{path} = $lock{dir} . $lock{basename};
for (my $i = 0; $i < $lock{trytime}; $i++, sleep 1) { for (my $i = 0; $i < $lock{trytime}; $i++, sleep 1) {
return \%lock if (rename($lock{path}, $lock{current} = $lock{path} . time)); return \%lock if (rename($lock{path}, $lock{current} = $lock{path} . time));
} }
opendir(LOCKDIR, $lock{dir}); opendir(LOCKDIR, $lock{dir});
my @filelist = readdir(LOCKDIR); my @filelist = readdir(LOCKDIR);
closedir(LOCKDIR); closedir(LOCKDIR);
foreach (@filelist) { foreach (@filelist) {
if (/^$lock{basename}(\d+)/) { if (/^$lock{basename}(\d+)/) {
return \%lock if (time - $1 > $lock{timeout} and return \%lock if (time - $1 > $lock{timeout} and
rename($lock{dir} . $_, $lock{current} = $lock{path} . time)); rename($lock{dir} . $_, $lock{current} = $lock{path} . time));
last; last;
} }
} }
undef; undef;
&error("ファイルがロックされています"); &error("파일이 잠겨 있습니다");
} }
# -----ロック解除----- # -----ロック解除-----
sub unlock { sub unlock {
rename($_[0]->{current}, $_[0]->{path}); rename($_[0]->{current}, $_[0]->{path});
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# フォームデータ関連 # フォームデータ関連
# フォームデコード処理 # フォームデコード処理
sub decode { sub decode {
local($buffer, @pairs, $name, $value); local($buffer, @pairs, $name, $value);
$post_flag=0; $post_flag=0;
if($ENV{'REQUEST_METHOD'} eq "POST"){ if($ENV{'REQUEST_METHOD'} eq "POST"){
$post_flag=1; $post_flag=1;
&error("投稿量が大きすぎます") if($ENV{'CONTENT_LENGTH'}>1024); &error("게시글 용량이 너무 큽니다") if($ENV{'CONTENT_LENGTH'}>1024);
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}else{ }else{
$buffer = $ENV{'QUERY_STRING'}; $buffer = $ENV{'QUERY_STRING'};
&error("投稿量が大きすぎます") if(length($buffer)>800) &error("게시글 용량이 너무 큽니다") if(length($buffer)>800)
} }
@pairs = split(/&/, $buffer); @pairs = split(/&/, $buffer);
foreach (@pairs) { foreach (@pairs) {
($name,$value) = split(/=/); ($name,$value) = split(/=/);
$value =~ tr/+/ /; $value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
# 記号置換え # 記号置換え
$value =~ s/&/&amp;/g; $value =~ s/&/&amp;/g;
$value =~ s/\;/&#59\;/g; $value =~ s/\;/&#59\;/g;
$value =~ s/,/&#44\;/g; $value =~ s/,/&#44\;/g;
$value =~ s/</&lt;/g; $value =~ s/</&lt;/g;
$value =~ s/>/&gt;/g; $value =~ s/>/&gt;/g;
$value =~ s/"/&quot;/g; $value =~ s/"/&quot;/g;
$value =~ s/\//&#47\;/g; $value =~ s/\//&#47\;/g;
$value =~ s/\./&#46\;/g; $value =~ s/\./&#46\;/g;
$value =~ s/cgi/&#99\;&#103\;&#105\;/g; $value =~ s/cgi/&#99\;&#103\;&#105\;/g;
# 改行等処理 # 改行等処理
$value =~ s/\r\n//g; $value =~ s/\r\n//g;
$value =~ s/\r//g; $value =~ s/\r//g;
$value =~ s/\n//g; $value =~ s/\n//g;
# 文字コードをシフトJIS変換 # 文字コードをシフトJIS変換
&jcode'convert(*value, "sjis", "", "z"); # &jcode'convert(*value, "sjis", "", "z");
$in{$name} = $value; $in{$name} = $value;
# 一括削除用 # 一括削除用
if ($name eq "usr_del") { push(@USR_DEL,$value); } if ($name eq "usr_del") { push(@USR_DEL,$value); }
} }
$pw = $in{'pw'}; $pw = $in{'pw'};
$cmd = $in{'cmd'}; $cmd = $in{'cmd'};
$com = $in{'com'}; $com = $in{'com'};
$id = $in{'id'}; $id = $in{'id'};
$mode = $in{'mode'}; $mode = $in{'mode'};
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# アクセス制御関連 # アクセス制御関連
# アクセスチェック(アクセス拒否) # アクセスチェック(アクセス拒否)
sub axs_check { sub axs_check {
&get_host; &get_host;
local($flag)=0; local($flag)=0;
foreach (@deny) { foreach (@deny) {
if (!$_) { next; } if (!$_) { next; }
$_ =~ s/\*/\.\*/g; $_ =~ s/\*/\.\*/g;
if ($host =~ /$_/i || $addr =~ /$_/i) { $flag=1; last; } if ($host =~ /$_/i || $addr =~ /$_/i) { $flag=1; last; }
} }
if ($flag) { &error("アクセスを許可されていません"); } if ($flag) { &error("접속이 허용되지 않았습니다"); }
} }
# ホスト情報取得 # ホスト情報取得
sub get_host { sub get_host {
$host = $ENV{'REMOTE_HOST'}; $host = $ENV{'REMOTE_HOST'};
$addr = $ENV{'REMOTE_ADDR'}; $addr = $ENV{'REMOTE_ADDR'};
$agent= $ENV{'HTTP_USER_AGENT'}; $agent= $ENV{'HTTP_USER_AGENT'};
if ($get_remotehost) { if ($get_remotehost) {
if ($host eq "" || $host eq "$addr") { if ($host eq "" || $host eq "$addr") {
$host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2); $host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2);
} }
} }
if ($host eq "") { $host = $addr; } if ($host eq "") { $host = $addr; }
} }
# 時間取得 # 時間取得
sub get_time { sub get_time {
$time = time; $time = time;
($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime($time); ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime($time);
$min = "0$min" if($min<10); $min = "0$min" if($min<10);
$sec = "0$sec" if($sec<10); $sec = "0$sec" if($sec<10);
$month++; $month++;
@week=('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @week=('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
$date = "$month/$mday $hour:$min:$sec"; $date = "$month/$mday $hour:$min:$sec";
srand($time); srand($time);
} }
# プレイ規制 # プレイ規制
sub safetime { sub safetime {
foreach (0 .. $#safetime){ foreach (0 .. $#safetime){
&error("プレイ規制時間中です。暫くお待ち下さい。") if $hour eq $safetime[$_]; &error("플레이 제한 시간입니다. 잠시 기다려 주십시오.") if $hour eq $safetime[$_];
} }
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 表示関連 # 表示関連
# 圧縮転送 # 圧縮転送
sub content_type { sub content_type {
if($gzip){ if($gzip){
$|=1; $|=1;
if($ENV{'HTTP_ACCEPT_ENCODING'}=~/gzip/ ){ if($ENV{'HTTP_ACCEPT_ENCODING'}=~/gzip/ ){
print "Content-type: text/html; charset=shift_jis\n"; print "Content-type: text/html; charset=UTF-8\n";
print "Content-encoding: gzip\n\n"; print "Content-encoding: gzip\n\n";
open(STDOUT,"| $gzip -1 -c"); open(STDOUT,"| $gzip -1 -c");
}else{ }else{
print "Content-type: text/html; charset=shift_jis\n\n"; print "Content-type: text/html; charset=UTF-8\n\n";
} }
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n"; print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
} else { } else {
print "Content-type: text/html; charset=shift_jis\n\n"; print "Content-type: text/html; charset=UTF-8\n\n";
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n"; print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
} }
} }
#著作権表示(削除・変更不可) #著作権表示(削除・変更不可)
sub copyright{ sub copyright{
if($mv_mode eq 'mv'){ if($mv_mode eq 'mv'){
print qq|<hr color="white">罪と罰++ 二律背反 $ver<br><a href="http://pom.to/">BLANK BOARD[ねっと遊園地♪]</a>| if(!$tm && !$log); print qq|<hr color="white">죄와 벌++ 이율배반 $ver<br><a href="http://pom.to/">BLANK BOARD[네트 유원지♪]</a>| if(!$tm && !$log);
print qq|</body></html>|; print qq|</body></html>|;
}else{ }else{
print <<"EOM"; print <<"EOM";
<div align="right" style="font-size:12px"> <div align="right" style="font-size:12px">
罪と罰++ 二律背反 $ver<br> 죄와 벌++ 이율배반 $ver<br>
<a href="http://www17.big.or.jp/~obochan/vivid/" target="_blank" style="font-size:13px">Vivid Studio.</a><br> <a href="http://www17.big.or.jp/~obochan/vivid/" target="_blank" style="font-size:13px">Vivid Studio.</a><br>
<a href="http://pom.to/" target="_blank" style="font-size:11px">BLANK BOARD[ねっと遊園地♪]<br> <a href="http://pom.to/" target="_blank" style="font-size:11px">BLANK BOARD[네트 유원지♪]<br>
<img src="$imgs/bb.gif" border="0" alt="BLANK BOARD[ねっと遊園地♪]"></a> <img src="$imgs/bb.gif" border="0" alt="BLANK BOARD[네트 유원지♪]"></a>
</div> </div>
</body> </body>
</html> </html>
EOM EOM
} }
} }
# エラー表示 # エラー表示
sub error{ sub error{
print "Content-type: text/html\n\n"; print "Content-type: text/html\n\n";
print "<html><head><title>CGI Error</title></head>\n"; print "<html><head><title>CGI Error</title></head>\n";
print "<body $body><h1>CGI Error</h1>\n"; print "<body $body><h1>CGI Error</h1>\n";
print "<p>This program encountered an internal error.</p>"; print "<p>This program encountered an internal error.</p>";
print "<p><b>Error:</b> $_[0]</p>\n"; print "<p><b>Error:</b> $_[0]</p>\n";
print "</body></html>"; print "</body></html>";
if ($_[1] && $lock_check) { &unlock($lock); } if ($_[1] && $lock_check) { &unlock($lock); }
exit; exit;
} }
1;#削除不可
1;#削除不可
Regular → Executable
+235 -243
View File
@@ -1,243 +1,235 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 罪と罰++ 二律背反 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 修行 モバイル用 Version 1.0 # # 修行 モバイル用 Version 1.0 #
#--- [注意事項] --------------------------------------------# #--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#修行メニュー #修行メニュー
sub training{ sub training{
if(!$type){ if(!$type){
if($hp<4){ if($hp<4){
$log .= "体力が少なすぎます<br>\n"; $log .= "체력이 너무 적습니다<br>\n";
$tm= $cmd = 0; $tm= $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}else{ }else{
$log .= "修行を行います<br>\n"; $log .= "수행을 시작합니다<br>\n";
$tm= $cmd = 0; $tm= $cmd = 0;
$type = '修行'; $type = '수행';
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|; $log2 .=qq|<select name="cmd" size="1">\n|;
$log2 .=qq|<option value="1">前回の対戦者</option>\n| if($tid); $log2 .=qq|<option value="1">이전 대전자</option>\n| if($tid);
$log2 .=qq|<option value="2">一覧から選出</option>\n|; $log2 .=qq|<option value="2">목록에서 선택</option>\n|;
$log2 .=qq|<option value="0">やめる</option>\n|; $log2 .=qq|<option value="0">그만둔다</option>\n|;
$log2 .=qq|</select><br>\n|; $log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
} }
} }
&dat_write; &dat_write;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 修行処理1 # 修行処理1
sub training_exe{ sub training_exe{
if($cmd==0){ if($cmd==0){
$log .= "修行を中止します<br>\n"; $log .= "수행을 중단합니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif($cmd==1){ }elsif($cmd==1){
open(IN,"$usrdata$tid\.cgi") || &error("Open Error : $usrdata$tid\.cgi",1); open(IN,"$usrdata$tid\.cgi") || &error("Open Error : $usrdata$tid\.cgi",1);
$tdat = <IN>; $tdat = <IN>;
close(IN); close(IN);
%VS = ''; %VS = '';
my @prats = split(/,/,$tdat); my @prats = split(/,/,$tdat);
foreach $prats (@prats){ foreach $prats (@prats){
my ($u,$q) = split(/;/,$prats); my ($u,$q) = split(/;/,$prats);
$VS{$u} = $q; $VS{$u} = $q;
} }
$tid = $VS{'id'}; # ID $tid = $VS{'id'}; # ID
$tnm = $VS{'nm'}; # 名前 $tnm = $VS{'nm'}; # 名前
$tlv = $VS{'lv'}; # レベル $tlv = $VS{'lv'}; # レベル
$thp = $VS{'max_hp'}; # HP $thp = $VS{'max_hp'}; # HP
$thp_max= $VS{'max_hp'}; # MAX_HP $thp_max= $VS{'max_hp'}; # MAX_HP
$tmp = $VS{'max_mp'}; # MP $tmp = $VS{'max_mp'}; # MP
$tua = $VS{'ua'}; # UA $tua = $VS{'ua'}; # UA
$tud = $VS{'ud'}; # UD $tud = $VS{'ud'}; # UD
$tag = $VS{'ag'}; # AG $tag = $VS{'ag'}; # AG
$tcp = $VS{'camp'}; # 所属 $tcp = $VS{'camp'}; # 所属
$tsg = $VS{'sogo'}; # 称号 $tsg = $VS{'sogo'}; # 称号
$tdf_a = $VS{'df_a'}; # 防具 $tdf_a = $VS{'df_a'}; # 防具
$tdg_a = $VS{'dg_a'}; # 武具 $tdg_a = $VS{'dg_a'}; # 武具
$log .="前回の対戦相手と修行を行います。<br>試合開始!<br>\n"; $log .="이전 대전 상대와 수행을 시작합니다.<br>시합 개시!<br>\n";
$type = '修行中'; $type = '수행중';
$tm = 0; $tm = 0;
$cmd =-1; $cmd =-1;
# $log2 .=qq|<form action="$script" method="$method" name="ore_"><td align="center" valign="middle">\n|; # $log2 .=qq|<form action="$script" method="$method" name="ore_"><td align="center" valign="middle">\n|;
# $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; # $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
# $log2 .=qq|<input type="hidden" name="cmd" value="-1">\n|; # $log2 .=qq|<input type="hidden" name="cmd" value="-1">\n|;
# $log2 .=qq|<input type="submit" $button1 value="対戦">$td_end</form>\n|; # $log2 .=qq|<input type="submit" $button1 value="対戦">$td_end</form>\n|;
# 行動セッション加算 # 行動セッション加算
$act_cnt++; $act_cnt++;
# &dat_write; # &dat_write;
require './inc/ore_sub-battle.cgi'; &bt_st; require './inc/ore_sub-battle.cgi'; &bt_st;
}else{&sele_list;} }else{&sele_list;}
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 修行リスト表示 # 修行リスト表示
sub sele_list { sub sele_list {
local(@usrfile,@BT_LIST,@tdat); local(@usrfile,@BT_LIST,@tdat);
# 参加者データファイル一覧取得 # 参加者データファイル一覧取得
&usrdata_read; &usrdata_read;
# 表示参加者ランダム選出 # 表示参加者ランダム選出
foreach(0 .. $bt_count){ foreach(0 .. $bt_count){
$bt_list = int(rand($#usrfile)); $bt_list = int(rand($#usrfile));
$flag = 0; $flag = 0;
foreach(0 .. $#BT_LIST){ foreach(0 .. $#BT_LIST){
$flag = 1 if $bt_list eq $BT_LIST[$_]; $flag = 1 if $bt_list eq $BT_LIST[$_];
} }
push(@BT_LIST,$bt_list) if !$flag; push(@BT_LIST,$bt_list) if !$flag;
} }
@BT_LIST = sort(@BT_LIST); @BT_LIST = sort(@BT_LIST);
# ランダム選出参加者のデータ一括読み込み # ランダム選出参加者のデータ一括読み込み
foreach (0 .. $#BT_LIST) { foreach (0 .. $#BT_LIST) {
open(IN,"$usrdata$usrfile[$BT_LIST[$_]]") || &error("Can't open $usrfile[$BT_LIST[$_]].cgi",1); open(IN,"$usrdata$usrfile[$BT_LIST[$_]]") || &error("Can't open $usrfile[$BT_LIST[$_]].cgi",1);
push(@tdat,<IN>); push(@tdat,<IN>);
close(IN); close(IN);
} }
# 参加者ステータス取得 # 参加者ステータス取得
foreach(0 ..$#tdat){ foreach(0 ..$#tdat){
%R = ''; %R = '';
my @prats = split(/,/,$tdat[$_]); my @prats = split(/,/,$tdat[$_]);
foreach $prats (@prats){ foreach $prats (@prats){
my($y,$x) = split(/;/,$prats); my($y,$x) = split(/;/,$prats);
$R{$y} = $x; $R{$y} = $x;
} }
if($nm ne $R{'nm'}){ if($nm ne $R{'nm'}){
$NM_V{$R{'nm'}} = $R{'nm'}; # 名前 $NM_V{$R{'nm'}} = $R{'nm'}; # 名前
$HP_MAX_V{$R{'nm'}} = $R{'max_hp'}; # HP $HP_MAX_V{$R{'nm'}} = $R{'max_hp'}; # HP
$MP_MAX_V{$R{'nm'}} = $R{'max_mp'}; # MP $MP_MAX_V{$R{'nm'}} = $R{'max_mp'}; # MP
$LV_V{$R{'nm'}} = $R{'lv'}; # レベル $LV_V{$R{'nm'}} = $R{'lv'}; # レベル
$TM_V{$R{'nm'}} = $R{'tm'}; # 行動 $TM_V{$R{'nm'}} = $R{'tm'}; # 行動
$UA_V{$R{'nm'}} = $R{'ua'}; # UA $UA_V{$R{'nm'}} = $R{'ua'}; # UA
$UD_V{$R{'nm'}} = $R{'ud'}; # UD $UD_V{$R{'nm'}} = $R{'ud'}; # UD
$LR_V{$R{'nm'}} = $R{'lr'}; # LR $LR_V{$R{'nm'}} = $R{'lr'}; # LR
$AG_V{$R{'nm'}} = $R{'ag'}; # AG $AG_V{$R{'nm'}} = $R{'ag'}; # AG
$CP_V{$R{'nm'}} = $R{'camp'}; # 所属 $CP_V{$R{'nm'}} = $R{'camp'}; # 所属
$SG_V{$R{'nm'}} = $R{'sogo'}; # 称号 $SG_V{$R{'nm'}} = $R{'sogo'}; # 称号
$N_M{$R{'nm'}} = $R{'id'}; # ID $N_M{$R{'nm'}} = $R{'id'}; # ID
} }
} }
# 修行リスト表示 # 修行リスト表示
if(!$tm){ if(!$tm){
$l = $rk = 1; $l = $rk = 1;
foreach $nm (sort sclv keys(%LV_V)){ foreach $nm (sort sclv keys(%LV_V)){
$lv_v = $LV_V{$nm}; $lv_v = $LV_V{$nm};
next if($lv_v<=0); next if($lv_v<=0);
if($lv_v<$prv_lv){ $rk = $l; } if($lv_v<$prv_lv){ $rk = $l; }
$log .=qq|<a href="$script?id=$id&pw=$pw&cmd=-1&com=$N_M{$nm}">$rk Lv$lv_v |; $log .=qq|<a href="$script?id=$id&pw=$pw&cmd=-1&com=$N_M{$nm}">$rk Lv$lv_v |;
# 称号 # 称号
$log .= ($SG_V{$nm} > 0) ? "$NM_V{$nm} [$sogo_p[$SG_V{$nm}]]" : "$NM_V{$nm}"; $log .= ($SG_V{$nm} > 0) ? "$NM_V{$nm} [$sogo_p[$SG_V{$nm}]]" : "$NM_V{$nm}";
$log .=qq|</a> HP$HP_MAX_V{$nm}/MP$MP_MAX_V{$nm}/UA$UA_V{$nm}/UD$UD_V{$nm}/AG$AG_V{$nm}<br>\n|; $log .=qq|</a> HP$HP_MAX_V{$nm}/MP$MP_MAX_V{$nm}/UA$UA_V{$nm}/UD$UD_V{$nm}/AG$AG_V{$nm}<br>\n|;
$prv_lv = $lv_v; $prv_lv = $lv_v;
$l++; $l++;
} }
$log .=qq|<a href="$script?id=$id&pw=$pw&cmd=-1">中止する</a> |; $log .=qq|<a href="$script?id=$id&pw=$pw&cmd=-1">중단하기</a> |;
$tm=1; $tm=1;
# 行動セッション加算 # 行動セッション加算
$act_cnt++; $act_cnt++;
$layout_flag=1; $layout_flag=1;
&dat_write; &dat_write;
} }
# 戦相手割り当て # 戦相手割り当て
elsif($tm){ elsif($tm){
if($com){ if($com){
open(IN,"$usrdata$com\.cgi") || &error("Open Error : $usrdata$com\.cgi",1); open(IN,"$usrdata$com\.cgi") || &error("Open Error : $usrdata$com\.cgi",1);
$tdat = <IN>; $tdat = <IN>;
close(IN); close(IN);
%VS = ''; %VS = '';
my @prats = split(/,/,$tdat); my @prats = split(/,/,$tdat);
foreach $prats (@prats){ foreach $prats (@prats){
my ($u,$q) = split(/;/,$prats); my ($u,$q) = split(/;/,$prats);
$VS{$u} = $q; $VS{$u} = $q;
} }
$tid = $VS{'id'}; # ID $tid = $VS{'id'}; # ID
$tnm = $VS{'nm'}; # 名前 $tnm = $VS{'nm'}; # 名前
$tlv = $VS{'lv'}; # レベル $tlv = $VS{'lv'}; # レベル
$thp = $VS{'max_hp'}; # HP $thp = $VS{'max_hp'}; # HP
$thp_max= $VS{'max_hp'}; # MAX_HP $thp_max= $VS{'max_hp'}; # MAX_HP
$tmp = $VS{'max_mp'}; # MP $tmp = $VS{'max_mp'}; # MP
$tua = $VS{'ua'}; # UA $tua = $VS{'ua'}; # UA
$tud = $VS{'ud'}; # UD $tud = $VS{'ud'}; # UD
$tag = $VS{'ag'}; # AG $tag = $VS{'ag'}; # AG
$tcp = $VS{'camp'}; # 所属 $tcp = $VS{'camp'}; # 所属
$tsg = $VS{'sogo'}; # 称号 $tsg = $VS{'sogo'}; # 称号
$tdf_a = $VS{'df_a'}; # 防具 $tdf_a = $VS{'df_a'}; # 防具
$tdg_a = $VS{'dg_a'}; # 武具 $tdg_a = $VS{'dg_a'}; # 武具
$log .="試合開始!<br>\n"; $log .="시합 개시!<br>\n";
$type = '修行中'; $type = '수행중';
$tm = 0; $tm = 0;
require './inc/ore_sub-battle.cgi'; &bt_st; require './inc/ore_sub-battle.cgi'; &bt_st;
} }
elsif(!$com){ elsif(!$com){
$log .="中止した…<br>\n"; $log .="중단했다…<br>\n";
$type = ''; $type = '';
$tm = 0; $tm = 0;
&call_main_st; &call_main_st;
} }
} }
# &dat_write; # &dat_write;
} }
1;#削除不可
1;#削除不可
1;#削除不可
1;#削除不可
Regular → Executable
+270 -274
View File
@@ -1,274 +1,270 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 修行 PC Version 1.1 # # 수행 PC Version 1.1 #
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#修行メニュー # 수행 메뉴
sub training{ sub training{
if(!$type){ if(!$type){
if($hp<4){ if($hp<4){
$log .= "体力が少なすぎます。<br>\n"; $log .= "체력이 너무 적습니다.<br>\n";
$tm= $cmd = 0; $tm= $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}else{ }else{
$log .= "修行を行います。<br>\n"; $log .= "수행을 시작합니다.<br>\n";
$tm= $cmd = 0; $tm= $cmd = 0;
$type = '修行'; $type = '수행';
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|; $log2 .=qq|<select name="cmd" size="1">\n|;
$log2 .=qq|<option value="1">前回の対戦者</option>\n| if($tid); $log2 .=qq|<option value="1">이전 대전자</option>\n| if($tid);
$log2 .=qq|<option value="2">一覧から選出</option>\n|; $log2 .=qq|<option value="2">목록에서 선택</option>\n|;
$log2 .=qq|<option value="0">やめる</option>\n|; $log2 .=qq|<option value="0">그만둔다</option>\n|;
$log2 .=qq|</select><br>\n|; $log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
} }
} }
&dat_write; &dat_write;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 修行処理1 # 수행 처리1
sub training_exe{ sub training_exe{
if($cmd==0){ if($cmd==0){
$log .= "修行を中止します<br>\n"; $log .= "수행을 중단합니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif($cmd==1 && !$com){ }elsif($cmd==1 && !$com){
# GETによる不正処理にペナルティ # GET에 의한 부정 처리 페널티
&penalty if($mv_mode eq 'pc' && $method eq 'POST' && !$post_flag); &penalty if($mv_mode eq 'pc' && $method eq 'POST' && !$post_flag);
open(IN,"$usrdata$tid\.cgi") || &error("Open Error : $usrdata$tid\.cgi",1); open(IN,"$usrdata$tid\.cgi") || &error("Open Error : $usrdata$tid\.cgi",1);
$tdat = <IN>; $tdat = <IN>;
close(IN); close(IN);
%VS = ''; %VS = '';
my @prats = split(/,/,$tdat); my @prats = split(/,/,$tdat);
foreach $prats (@prats){ foreach $prats (@prats){
my ($u,$q) = split(/;/,$prats); my ($u,$q) = split(/;/,$prats);
$VS{$u} = $q; $VS{$u} = $q;
} }
$tid = $VS{'id'}; # ID $tid = $VS{'id'}; # ID
$tnm = $VS{'nm'}; # 名前 $tnm = $VS{'nm'}; # 이름
$tlv = $VS{'lv'}; # レベル $tlv = $VS{'lv'}; # 레벨
$thp = $VS{'max_hp'}; # HP $thp = $VS{'max_hp'}; # HP
$thp_max= $VS{'max_hp'}; # MAX_HP $thp_max= $VS{'max_hp'}; # MAX_HP
$tmp = $VS{'max_mp'}; # MP $tmp = $VS{'max_mp'}; # MP
$tua = $VS{'ua'}; # UA $tua = $VS{'ua'}; # UA
$tud = $VS{'ud'}; # UD $tud = $VS{'ud'}; # UD
$tag = $VS{'ag'}; # AG $tag = $VS{'ag'}; # AG
$tcp = $VS{'camp'}; # 所属 $tcp = $VS{'camp'}; # 소속
$tsg = $VS{'sogo'}; # 称号 $tsg = $VS{'sogo'}; # 칭호
$tdf_a = $VS{'df_a'}; # 防具 $tdf_a = $VS{'df_a'}; # 방어구
$tdg_a = $VS{'dg_a'}; # 武具 $tdg_a = $VS{'dg_a'}; # 무구
$log .="前回の対戦相手と修行を行います。<br>試合開始!<br>\n"; $log .="이전 대전 상대와 수행을 시작합니다.<br>시합 개시!<br>\n";
$type = '修行中'; $type = '수행중';
$tm = 0; $tm = 0;
$cmd =-1; $cmd =-1;
# $log2 .=qq|<form action="$script" method="$method" name="ore_"><td align="center" valign="middle">\n|; # $log2 .=qq|<form action="$script" method="$method" name="ore_"><td align="center" valign="middle">\n|;
# $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; # $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
# $log2 .=qq|<input type="hidden" name="cmd" value="-1">\n|; # $log2 .=qq|<input type="hidden" name="cmd" value="-1">\n|;
# $log2 .=qq|<input type="submit" $button1 value="対戦">$td_end</form>\n|; # $log2 .=qq|<input type="submit" $button1 value="대결">$td_end</form>\n|;
# 行動セッション加算 # 행동 세션 가산
$act_cnt++; $act_cnt++;
# &dat_write; # &dat_write;
require './inc/ore_sub-battle.cgi'; &bt_st; require './inc/ore_sub-battle.cgi'; &bt_st;
}else{&sele_list;} }else{&sele_list;}
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 修行リスト表示 # 수행 리스트 표시
sub sele_list { sub sele_list {
# GETによる不正処理にペナルティ # GET에 의한 부정 처리 페널티
&penalty if($mv_mode eq 'pc' && $method eq 'POST' && !$post_flag); &penalty if($mv_mode eq 'pc' && $method eq 'POST' && !$post_flag);
local(@usrfile,@BT_LIST,@tdat); local(@usrfile,@BT_LIST,@tdat);
# 参加者データファイル一覧取得 # 참가자 데이터 파일 목록 취득
&usrdata_read; &usrdata_read;
# 表示参加者ランダム選出 # 표시 참가자 랜덤 선출
foreach(0 .. $bt_count){ foreach(0 .. $bt_count){
$bt_list = int(rand($#usrfile)); $bt_list = int(rand($#usrfile));
$flag = 0; $flag = 0;
foreach(0 .. $#BT_LIST){ foreach(0 .. $#BT_LIST){
$flag = 1 if $bt_list eq $BT_LIST[$_]; $flag = 1 if $bt_list eq $BT_LIST[$_];
} }
push(@BT_LIST,$bt_list) if !$flag; push(@BT_LIST,$bt_list) if !$flag;
} }
@BT_LIST = sort(@BT_LIST); @BT_LIST = sort(@BT_LIST);
# ランダム選出参加者のデータ一括読み込み # 랜덤 선출 참가자 데이터 일괄 읽기
foreach (0 .. $#BT_LIST) { foreach (0 .. $#BT_LIST) {
open(IN,"$usrdata$usrfile[$BT_LIST[$_]]") || &error("Can't open $usrfile[$BT_LIST[$_]].cgi",1); open(IN,"$usrdata$usrfile[$BT_LIST[$_]]") || &error("Can't open $usrfile[$BT_LIST[$_]].cgi",1);
push(@tdat,<IN>); push(@tdat,<IN>);
close(IN); close(IN);
} }
# 参加者ステータス取得 # 참가자 스탯 취득
foreach(0 ..$#tdat){ foreach(0 ..$#tdat){
%R = ''; %R = '';
my @prats = split(/,/,$tdat[$_]); my @prats = split(/,/,$tdat[$_]);
foreach $prats (@prats){ foreach $prats (@prats){
my($y,$x) = split(/;/,$prats); my($y,$x) = split(/;/,$prats);
$R{$y} = $x; $R{$y} = $x;
} }
if($nm ne $R{'nm'}){ if($nm ne $R{'nm'}){
$NM_V{$R{'nm'}} = $R{'nm'}; # 名前 $NM_V{$R{'nm'}} = $R{'nm'}; # 이름
$HP_MAX_V{$R{'nm'}} = $R{'max_hp'}; # HP $HP_MAX_V{$R{'nm'}} = $R{'max_hp'}; # HP
$MP_MAX_V{$R{'nm'}} = $R{'max_mp'}; # MP $MP_MAX_V{$R{'nm'}} = $R{'max_mp'}; # MP
$LV_V{$R{'nm'}} = $R{'lv'}; # レベル $LV_V{$R{'nm'}} = $R{'lv'}; # 레벨
$TM_V{$R{'nm'}} = $R{'tm'}; # 行動 $TM_V{$R{'nm'}} = $R{'tm'}; # 행동
$UA_V{$R{'nm'}} = $R{'ua'}; # UA $UA_V{$R{'nm'}} = $R{'ua'}; # UA
$UD_V{$R{'nm'}} = $R{'ud'}; # UD $UD_V{$R{'nm'}} = $R{'ud'}; # UD
$LR_V{$R{'nm'}} = $R{'lr'}; # LR $LR_V{$R{'nm'}} = $R{'lr'}; # LR
$AG_V{$R{'nm'}} = $R{'ag'}; # AG $AG_V{$R{'nm'}} = $R{'ag'}; # AG
$CP_V{$R{'nm'}} = $R{'camp'}; # 所属 $CP_V{$R{'nm'}} = $R{'camp'}; # 소속
$SG_V{$R{'nm'}} = $R{'sogo'}; # 称号 $SG_V{$R{'nm'}} = $R{'sogo'}; # 칭호
$N_M{$R{'nm'}} = $R{'id'}; # ID $N_M{$R{'nm'}} = $R{'id'}; # ID
} }
} }
# 修行リスト表示 # 수행 리스트 표시
if(!$tm){ if(!$tm){
$log .=qq|<form action="$script" method="$method" name="ore_">\n|; $log .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log .=qq|<input type="hidden" name="cmd" value="-1">\n|; $log .=qq|<input type="hidden" name="cmd" value="-1">\n|;
$log .=qq|<table border="0" cellpadding="4" sellpadding="4" width="100%">\n<tr align="center" bgcolor="#ccccee"><td></td><td>順位</td><td>LV</td><td>名前</td><td>体力/精神</td><td>攻撃/防御/指揮/敏捷</td><td>所属</td></tr>\n|; $log .=qq|<table border="0" cellpadding="4" sellpadding="4" width="100%">\n<tr align="center" bgcolor="#ccccee"><td></td><td>순위</td><td>LV</td><td>이름</td><td>체력/정신</td><td>공격/방어/지휘/민첩</td><td>소속</td></tr>\n|;
$l = $rk = 1; $l = $rk = 1;
foreach $nm (sort sclv keys(%LV_V)){ foreach $nm (sort sclv keys(%LV_V)){
$lv_v = $LV_V{$nm}; $lv_v = $LV_V{$nm};
next if($lv_v<=0); next if($lv_v<=0);
if($lv_v<$prv_lv){ $rk = $l; } if($lv_v<$prv_lv){ $rk = $l; }
$log .= ($agent !~ /Mac/) ? $log .= ($agent !~ /Mac/) ?
qq|<tr bgcolor="#ccccee" align="center"><td><input type="radio" value="$N_M{$nm}" name="com" class="a5" onClick="location.href='#bt_start'">\n|: qq|<tr bgcolor="#ccccee" align="center"><td><input type="radio" value="$N_M{$nm}" name="com" class="a5" onClick="location.href='#bt_start'">\n|:
qq|<tr bgcolor="#ccccee" align="center"><td><input type="radio" value="$N_M{$nm}" name="com" class="a5">\n|; qq|<tr bgcolor="#ccccee" align="center"><td><input type="radio" value="$N_M{$nm}" name="com" class="a5">\n|;
$log .="</td><td>$rk</td><td>$lv_v</td><td>"; $log .="</td><td>$rk</td><td>$lv_v</td><td>";
# 称号 # 칭호
$log .= ($SG_V{$nm} > 0) ? "$NM_V{$nm} [$sogo_p[$SG_V{$nm}]]" : "$NM_V{$nm}"; $log .= ($SG_V{$nm} > 0) ? "$NM_V{$nm} [$sogo_p[$SG_V{$nm}]]" : "$NM_V{$nm}";
$log .=qq|</td><td>$HP_MAX_V{$nm}/$MP_MAX_V{$nm}</td><td>$UA_V{$nm}/$UD_V{$nm}/$LR_V{$nm}/$AG_V{$nm}</td><td>$cmp[$CP_V{$nm}]</td></tr>\n|; $log .=qq|</td><td>$HP_MAX_V{$nm}/$MP_MAX_V{$nm}</td><td>$UA_V{$nm}/$UD_V{$nm}/$LR_V{$nm}/$AG_V{$nm}</td><td>$cmp[$CP_V{$nm}]</td></tr>\n|;
$prv_lv = $lv_v; $prv_lv = $lv_v;
$l++; $l++;
} }
$log .="</table>\n"; $log .="</table>\n";
$log .="<tt><br></tt><a name=\"bt_start\"><input type=submit value=\"対戦\" class=\"button1\">\n"; $log .="<tt><br></tt><a name=\"bt_start\"><input type=submit value=\"대결\" class=\"button1\">\n";
$log .="</td></form>\n"; $log .="</td></form>\n";
$tm=1; $tm=1;
# 行動セッション加算 # 행동 세션 가산
$act_cnt++; $act_cnt++;
$layout_flag=1; $layout_flag=1;
&dat_write; &dat_write;
} }
# 対戦相手割り当て # 대전자 할당
elsif($tm){ elsif($tm){
if($com){ if($com){
open(IN,"$usrdata$com\.cgi") || &error("Open Error : $usrdata$com\.cgi",1); open(IN,"$usrdata$com\.cgi") || &error("Open Error : $usrdata$com\.cgi",1);
$tdat = <IN>; $tdat = <IN>;
close(IN); close(IN);
%VS = ''; %VS = '';
my @prats = split(/,/,$tdat); my @prats = split(/,/,$tdat);
foreach $prats (@prats){ foreach $prats (@prats){
my ($u,$q) = split(/;/,$prats); my ($u,$q) = split(/;/,$prats);
$VS{$u} = $q; $VS{$u} = $q;
} }
$tid = $VS{'id'}; # ID $tid = $VS{'id'}; # ID
$tnm = $VS{'nm'}; # 名前 $tnm = $VS{'nm'}; # 이름
$tlv = $VS{'lv'}; # レベル $tlv = $VS{'lv'}; # 레벨
$thp = $VS{'max_hp'}; # HP $thp = $VS{'max_hp'}; # HP
$thp_max= $VS{'max_hp'}; # MAX_HP $thp_max= $VS{'max_hp'}; # MAX_HP
$tmp = $VS{'max_mp'}; # MP $tmp = $VS{'max_mp'}; # MP
$tua = $VS{'ua'}; # UA $tua = $VS{'ua'}; # UA
$tud = $VS{'ud'}; # UD $tud = $VS{'ud'}; # UD
$tag = $VS{'ag'}; # AG $tag = $VS{'ag'}; # AG
$tcp = $VS{'camp'}; # 所属 $tcp = $VS{'camp'}; # 소속
$tsg = $VS{'sogo'}; # 称号 $tsg = $VS{'sogo'}; # 칭호
$tdf_a = $VS{'df_a'}; # 防具 $tdf_a = $VS{'df_a'}; # 방어구
$tdg_a = $VS{'dg_a'}; # 武具 $tdg_a = $VS{'dg_a'}; # 무구
$log .="試合開始!<br>\n"; $log .="시합 개시!<br>\n";
$type = '修行中'; $type = '수행중';
$tm = 0; $tm = 0;
# $log2 .=qq|<input type=submit value="NEXT!!" class="button1">$td_end</form>\n|; # $log2 .=qq|<input type=submit value="NEXT!!" class="button1">$td_end</form>\n|;
require './inc/ore_sub-battle.cgi'; &bt_st; require './inc/ore_sub-battle.cgi'; &bt_st;
} }
elsif(!$com){ elsif(!$com){
$log .="中止した…<br>\n"; $log .="중단했다…<br>\n";
$type = ''; $type = '';
$tm = 0; $tm = 0;
&call_main_st; &call_main_st;
} }
} }
# &dat_write; # &dat_write;
} }
# 不正GET処理のペナルティ # 부정 GET 처리의 페널티
sub penalty{ sub penalty{
$pr=3600*24*3; $pr=3600*24*3;
$sogo=4; $sogo=4;
$camp=0; $camp=0;
$tm = $cmd = 0; $tm = $cmd = 0;
$type='服役中'; $type='복역중';
$max_hp =int($max_hp*0.8); $max_hp =int($max_hp*0.8);
$max_mp =int($max_mp*0.8); $max_mp =int($max_mp*0.8);
$ua =int($ua*0.8); $ua =int($ua*0.8);
$ud =int($ud*0.8); $ud =int($ud*0.8);
$lr =int($lr*0.8); $lr =int($lr*0.8);
$ag =int($ag*0.8); $ag =int($ag*0.8);
&dat_write; &dat_write;
&error("不正処理です。ペナルティが発生します。",1); &error("올바르지 않은 처리입니다. 페널티가 발생합니다.",1);
} }
1;
1;#削除不可
Regular → Executable
+144 -148
View File
@@ -1,148 +1,144 @@
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 죄와 벌++ 이율배반 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 戦争準備 Version 1.1 # 전쟁 준비 Version 1.1
#--- [注意事項] --------------------------------------------# #--- [주의사항] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.이 스크립트는 이하의 이용규정에 따라 배포되고 있습니다. #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#戦争メニュー # 전쟁 메뉴
sub war{ sub war{
if(!$type){ if(!$type){
$log .= "戦争を実行します。攻め込む国を選んで下さい<br>\n"; $log .= "전쟁을 실행합니다. 침공할 국가를 선택해 주십시오<br>\n";
$tm=0; $tm=0;
$type='戦争'; $type='전쟁';
&call_mapdata if($mv_mode eq 'pc'); &call_mapdata if($mv_mode eq 'pc');
&war_menu; &war_menu;
} }
&dat_write; &dat_write;
} }
sub war_menu{ sub war_menu{
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|; $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc'); $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|; $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|; $log2 .=qq|<select name="cmd" size="1">\n|;
$log2 .=qq|<option value="0">やめる</option>\n|; $log2 .=qq|<option value="0">그만둔다</option>\n|;
foreach(1 .. $#cmp){ $log2 .=qq|<option value="$_">$cmp[$_]</option>\n|;} foreach(1 .. $#cmp){ $log2 .=qq|<option value="$_">$cmp[$_]</option>\n|;}
$log2 .=qq|</select><br>\n|; $log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|; $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#戦争処理(戦争 >> 戦争中へ移行まで) # 전쟁 처리(전쟁 >> 전쟁 중으로 이행까지)
sub war_exe{ sub war_exe{
if(!$tm){ if(!$tm){
if($camp<=0){ if($camp<=0){
$log .= "放浪の身で戦争は起こせません<br>\n"; $log .= "방랑 상태로는 전쟁을 선포할 수 없습니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif($sogo==4){ }elsif($sogo==4){
$log .= "まずは借金を返済して$sogo_p[$sogo] の烙印を消してください。<br>\n"; $log .= "우선 빚을 갚고 $sogo_p[$sogo] 낙인을 제거해 주십시오.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}else{ }else{
if($cmd<=0 || $cmd>$#cmp){ if($cmd<=0 || $cmd>$#cmp){
$log .= "戦争を中止します<br>\n"; $log .= "전쟁을 중단합니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif($cmd>0){ }elsif($cmd>0){
$v=$cmd; $v=$cmd;
if($v==$camp){ if($v==$camp){
$log .= "自国には攻め込めません<br>\n"; $log .= "아국에는 침공할 수 없습니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif( ($cmd==1&&$cn1==0)|| }elsif( ($cmd==1&&$cn1==0)||
($cmd==2&&$cn2==0)|| ($cmd==2&&$cn2==0)||
($cmd==3&&$cn3==0)|| ($cmd==3&&$cn3==0)||
($cmd==4&&$cn4==0)|| ($cmd==4&&$cn4==0)||
($cmd==5&&$cn5==0)){ ($cmd==5&&$cn5==0)){
$log .= "国力0の国を攻めることはできません。<br>\n"; $log .= "국력이 0인 국가는 침공할 수 없습니다.<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif($v==0){ }elsif($v==0){
$log .= "<br>\n"; $log .= "<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}else{ }else{
$x=int($g_p[$rank]/3); $x=int($g_p[$rank]/3);
if($max_sol<=$my_cs){ if($max_sol<=$my_cs){
$sol=$max_sol; $sol=$max_sol;
}elsif($max_sol>$my_cs){ }elsif($max_sol>$my_cs){
$sol=$my_cs; $sol=$my_cs;
} }
$y=int($sol/10); $y=int($sol/10);
if($my_cs<$x){ if($my_cs<$x){
$log .= "兵数が少なすぎます。予\備\兵\数を1/3以上確保して下さい<br>\n"; $log .= "병력이 너무 적습니다. 예비 병력을 1/3 이상 확보해 주십시오<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif($my_cg<$y){ }elsif($my_cg<$y){
$log .= "戦争を行なうだけのお金が我が国にはありません。<br>出撃兵数の約\十\分の一の金が必要です<br>\n"; $log .= "전쟁을 선포할 자금이 부족합니다.<br>출격 병력의 약 10분의 1에 해당하는 자금이 필요합니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}elsif($my_cf<$sol){ }elsif($my_cf<$sol){
$log .= "戦争を行なうだけの兵糧がありません。<br>出撃兵数と同数の兵糧が必要です<br>\n"; $log .= "전쟁을 선포할 군량이 부족합니다.<br>출격 병력과 동일한 수의 군량이 필요합니다<br>\n";
$tm = $cmd = 0; $tm = $cmd = 0;
$type=''; $type='';
&call_main_st; &call_main_st;
}else{ }else{
$log .= "$cmp[$v]に攻め込みます<br>\n"; $log .= "$cmp[$v]에 침공합니다<br>\n";
if($camp==1){ if($camp==1){
$cg1-=int($sol/10); $cg1-=int($sol/10);
$cf1-=int($sol); $cf1-=int($sol);
$cs1-=int($sol); $cs1-=int($sol);
}elsif($camp==2){ }elsif($camp==2){
$cg2-=int($sol/10); $cg2-=int($sol/10);
$cf2-=int($sol); $cf2-=int($sol);
$cs2-=int($sol); $cs2-=int($sol);
}elsif($camp==3){ }elsif($camp==3){
$cg3-=int($sol/10); $cg3-=int($sol/10);
$cf3-=int($sol); $cf3-=int($sol);
$cs3-=int($sol); $cs3-=int($sol);
}elsif($camp==4){ }elsif($camp==4){
$cg4-=int($sol/10); $cg4-=int($sol/10);
$cf4-=int($sol); $cf4-=int($sol);
$cs4-=int($sol); $cs4-=int($sol);
}elsif($camp==5){ }elsif($camp==5){
$cg5-=int($sol/10); $cg5-=int($sol/10);
$cf5-=int($sol); $cf5-=int($sol);
$cs5-=int($sol); $cs5-=int($sol);
} }
$log .= "行軍開始します。敵国国境まで$GMW時間です<br>\n"; $log .= "행군을 시작합니다. 적국 국경까지 $GMW시간이 소요됩니다<br>\n";
$nation=$v; $nation=$v;
$pr=$GMT; $pr=$GMT;
$tm=0; $tm=0;
$type='戦争中'; $type='전쟁중';
} }
} }
} }
} }
} }
&write_data; &write_data;
} }
1;
1;
Regular → Executable
+873 -876
View File
File diff suppressed because it is too large Load Diff
Regular → Executable
+310 -312
View File
@@ -1,312 +1,310 @@
#!/usr/local/bin/perl #!/usr/bin/perl
# サーバーの環境に合わせて変更して下さい。 # サーバーの環境に合わせて変更して下さい。
require './ore_config.cgi'; # ore_config.cgiのパス require './ore_config.cgi'; # ore_config.cgi의 패스
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 罪と罰++ 二律背反 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://www17.big.or.jp/~obochan/chat/ ] # # BLANK BOARD [ http://www17.big.or.jp/~obochan/chat/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# トップページ Version 1.0 # トップページ Version 1.0
#--- [注意事項] --------------------------------------------# #--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#=============================================================================== #===============================================================================
# 設定項目 # 設定項目
$help = "./html/Help.html"; # 取り扱い説明書[PC] $help = "./html/Help.html"; # 사용설명서[PC]
$help_i = "./html/Help_i.html"; # 取り扱い説明書[MV] $help_i = "./html/Help_i.html"; # 사용설명서[MV]
#=============================================================================== #===============================================================================
# 以下処理 基本的にこれ以下はいじらないように。 # 以下処理 基本的にこれ以下はいじらないように。
&get_time; # 日時取得 &get_time; # 日時取得
&axs_check; # アクセスチェック &axs_check; # アクセスチェック
&read_data_index; # ログデータ読み込み &read_data_index; # ログデータ読み込み
print "Content-type: text/html; charset=shift_jis\n\n" ; print "Content-type: text/html; charset=UTF-8\n\n" ;
# メニュー表示 # メニュー表示
($mv_mode eq 'mv') ? &html_top_mv : &html_top_pc ; ($mv_mode eq 'mv') ? &html_top_mv : &html_top_pc ;
# 削除・移動・変更不可 # 削除・移動・変更不可
&copyright; &copyright;
exit; exit;
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# html生成(PC) # html生成(PC)
sub html_top_pc{ sub html_top_pc{
print <<"EOM"; print <<"EOM";
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>$titleh</title> <title>$titleh</title>
<style type="text/css"> <style type="text/css">
<!-- <!--
.button1{ .button1{
font-family: "MS Pゴシック", "Osaka"; font-size: 12px; font-weight: 400; color: #bbbbcc; font-family: "MS Pゴシック", "Osaka"; font-size: 12px; font-weight: 400; color: #bbbbcc;
border: 2px #666699 ridge; cursor: hand; background-color: #222244; border: 2px #666699 ridge; cursor: hand; background-color: #222244;
width:100px; width:100px;
} }
body,td { font-size: 10px; color: #aaaab9; background-color: #000000; cursor: crosshair} body,td { font-size: 10px; color: #aaaab9; background-color: #000000; cursor: crosshair}
.bar { .bar {
scrollbar-face-color: #333333; scrollbar-face-color: #333333;
scrollbar-highlight-color: #333333; scrollbar-highlight-color: #333333;
scrollbar-shadow-color: #000000; scrollbar-shadow-color: #000000;
scrollbar-arrow-color: #ffffff; scrollbar-arrow-color: #ffffff;
scrollbar-base-color: #000000; scrollbar-base-color: #000000;
scrollbar-3d-light-color: #ffffff; scrollbar-3d-light-color: #ffffff;
scrollbar-dark-shadow-color: #000000 scrollbar-dark-shadow-color: #000000
} }
--> -->
</style> </style>
</head> </head>
<body bgcolor="#000000" text="#aaaaaa" link="#b5a7cF" vlink="#b5a7cF" alink="#b5a7cF" class="bar"> <body bgcolor="#000000" text="#aaaaaa" link="#b5a7cF" vlink="#b5a7cF" alink="#b5a7cF" class="bar">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%" align="center"> <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%" align="center">
<tr> <tr>
<td align="center" valign="middle"> <td align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0" width="200"> <table border="0" cellspacing="0" cellpadding="0" width="200">
<tr> <tr>
<td align="center" valign="top"><img src="$imgs/title_text.png" width="166" height="56"></td> <td align="center" valign="top"><img src="$imgs/title_text.png" width="166" height="56"></td>
<td rowspan="2"><img src="$imgs/fairy2_la.jpg" width="110" height="160"></td> <td rowspan="2"><img src="$imgs/fairy2_la.jpg" width="110" height="160"></td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top"><img src="$imgs/title_game.png" width="220" height="52"></td> <td align="center" valign="top"><img src="$imgs/title_game.png" width="220" height="52"></td>
</tr> </tr>
</table> </table>
<br><br><br><br><br><br><br><br><br><br> <br><br><br><br><br><br><br><br><br><br>
<table border="0" cellspacing="0" cellpadding="0"> <table border="0" cellspacing="0" cellpadding="0">
<tr> <tr>
<form method="$method" action="$script" name="ore_"> <form method="$method" action="$script" name="ore_">
<td align="left" valign="top"> <td align="left" valign="top">
<tt> <tt>
<span style="font-size:12px">悠久の大地へ</span><br> <span style="font-size:12px">유구한 대지로</span><br>
EOM EOM
if($now_nm_cnt>=$play_limit){ if($now_nm_cnt>=$play_limit){
print qq|<br><span style="color:#dddd00;font-size:12px">現在ログイン規制中</span><br><br>|; print qq|<br><span style="color:#dddd00;font-size:12px">현재 로그인 제한 중</span><br><br>|;
} }
else{ else{
print <<"EOM"; print <<"EOM";
ユーザーID:<input type="text" name="id" value="" class="button1" style="width:95px"> 유저 ID:<input type="text" name="id" value="" class="button1" style="width:95px">
<br> <br>
パスワード:<input type="password" name="pw" value="" class="button1" style="width:60px" maxlength="8"> 비밀번호:<input type="password" name="pw" value="" class="button1" style="width:60px" maxlength="8">
<input type="submit" value="IN" class="button1" style="width:30px"> <input type="submit" value="IN" class="button1" style="width:30px">
<input type="hidden" name="mode" value="1"> <input type="hidden" name="mode" value="1">
EOM EOM
} }
print <<"EOM"; print <<"EOM";
</tt> </tt>
</td> </td>
</form> </form>
<td rowspan=4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td> <td rowspan=4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td rowspan=2 align="left" valign="top" nowrap style="font-size:12px;"> <td rowspan=2 align="left" valign="top" nowrap style="font-size:12px;">
&gt;&gt; プレイ中の参加者 [ $now_nm_cnt ] &gt;&gt; 플레이 중인 참가자 [ $now_nm_cnt ]
<hr size=1 style="color:bbbbcc"> <hr size=1 style="color:bbbbcc">
<div style="height:140px; overflow-y:auto; padding:2; background-color:#292929" class="bar"> <div style="height:140px; overflow-y:auto; padding:2; background-color:#292929" class="bar">
$now_nm $now_nm
</div> </div>
<td> <td>
</tr> </tr>
<tr> <tr>
<td align="left" valign="top"> <td align="left" valign="top">
<tt> <tt>
<br> <br>
<br> <br>
<span style="font-size:12px"><a href="$ore_reg">新規登録</a></span><br> <span style="font-size:12px"><a href="$ore_reg">신규 등록</a></span><br>
登録する前に必ず↓を読んで下さい。 등록하기 전에 반드시 ↓ 내용을 읽어주세요.
</tt> </tt>
</td> </td>
</tr> </tr>
<tr> <tr>
<td align="left" valign="top"> <td align="left" valign="top">
<tt> <tt>
<br> <br>
<br> <br>
<span style="font-size:12px"><a href="$help">取り扱い説明書</a></span><br> <span style="font-size:12px"><a href="$help">사용 설명서</a></span><br>
読まないとワケわかりませんよ? 안 읽으면 도통 이해하기 힘들걸요?
</tt> </tt>
</td> </td>
<td align="left"> <td align="left">
<tt> <tt>
<br> <br>
<br> <br>
<span style="font-size:12px"><a href="$hist?mode=guest">過去の栄光</a></span><br> <span style="font-size:12px"><a href="$hist?mode=guest">과거의 영광</a></span><br>
悠久の大地の歴史を振り返る 유구한 대지의 역사를 돌아보다
</tt> </tt>
</td> </td>
</tr> </tr>
<tr> <tr>
<td align="left" valign="top"> <td align="left" valign="top">
<tt> <tt>
<br> <br>
<br> <br>
<span style="font-size:12px"><a href="$home">本館へ戻る</a></span><br> <span style="font-size:12px"><a href="$home">본관으로 돌아가기</a></span><br>
</tt> </tt>
</td> </td>
<td align="left"> <td align="left">
<tt> <tt>
<br> <br>
<br> <br>
<span style="font-size:12px"><a href="$hist_hasya">罪と罰++の石碑</a></span><br> <span style="font-size:12px"><a href="$hist_hasya">죄와 벌++의 석비</a></span><br>
悠久の大地で覇者となった人の名前 유구한 대지에서 패권을 쥔 자의 이름
</tt> </tt>
</td> </td>
</tr> </tr>
<tt> <tt>
<td align="left" valign="top" colspan="3"> <td align="left" valign="top" colspan="3">
<tt> <tt>
<br> <br>
<br> <br>
<span style="font-size:12px"><br> <span style="font-size:12px"><br>
  &gt;&gt; 現在登録人数 [ $now_sanka ] 最大登録人数 [ $sanka ]<br>   &gt;&gt; 현재 등록 인원 [ $now_sanka ] 최대 등록 인원 [ $sanka ]<br>
    削除放置期間 [ $del_limit ] プレイ規制時間帯 [ $safe_time ]     삭제 방치 기간 [ $del_limit ] 플레이 제한 시간대 [ $safe_time ]
</span> </span>
<br><br> <br><br>
<span style="font-size:12px"><br> <span style="font-size:12px"><br>
  携帯(i-mode,J-Sky)に完全対応,ezweb対応。PC要らずです。<br>   모바일(i-mode, J-Sky) 완벽 대응, ezweb 대응. PC가 필요 없습니다.<br>
  携帯からPCと同じURLにアクセスするだけです。   모바일에서 PC와 동일한 URL로 접속하시면 됩니다.
</span> </span>
</tt> </tt>
</td> </td>
</tr> </tr>
</table> </table>
</td> </td>
</tr> </tr>
</table> </table>
EOM EOM
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# html生成(モバイル) # html生成(モバイル)
sub html_top_mv{ sub html_top_mv{
print <<"EOM"; print <<"EOM";
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>$titleh</title> <title>$titleh</title>
</head> </head>
<body bgcolor="#000000" text="#aaaaaa" link="#c597ff" vlink="#c597ff" alink="#c597ff"> <body bgcolor="#000000" text="#aaaaaa" link="#c597ff" vlink="#c597ff" alink="#c597ff">
$title_i $title_i
<hr color="white"> <hr color="white">
   君が望む永遠 それは悠久の大地に    그대가 바라는 영원 그것은 유구한 대지에
<hr color="white"> <hr color="white">
<form method="$method" action="$script" name="ore_"> <form method="$method" action="$script" name="ore_">
続きから<br> 이어하기<br>
EOM EOM
if($now_nm_cnt>=$play_limit){ if($now_nm_cnt>=$play_limit){
print qq|現在ログイン規制中|; print qq|현재 로그인 제한 중|;
} }
else{ else{
print <<"EOM"; print <<"EOM";
I D:<input type="text" name="id" value="" size="8"><br> I D:<input type="text" name="id" value="" size="8"><br>
パスワード:<input type="text" name="pw" value="" size="2" maxlength="8"> 비밀번호:<input type="text" name="pw" value="" size="2" maxlength="8">
<input type="hidden" name="mode" value="1"> <input type="hidden" name="mode" value="1">
<input type="submit" value="IN"> <input type="submit" value="IN">
EOM EOM
} }
print <<"EOM"; print <<"EOM";
</form> </form>
<hr color="white"> <hr color="white">
<a href="$ore_reg" ACCESKEY="1">1.新規登録</a><br>登録する前に必ず↓を読んで下さい<hr color="white"> <a href="$ore_reg" ACCESKEY="1">1.신규 등록</a><br>등록하기 전에 반드시 ↓ 내용을 읽어주세요<hr color="white">
<a href="$help_i" ACCESKEY="2">2.説 明 書</a><br>読まないとワケわかりませんよ?<hr color="white"> <a href="$help_i" ACCESKEY="2">2.설 명 서</a><br>안 읽으면 도통 이해하기 힘들걸요?<hr color="white">
<a href="$hist?mode=guest" ACCESKEY="3">3.過去の栄光</a><br>悠久の大地の歴史を振り返る<hr color="white"> <a href="$hist?mode=guest" ACCESKEY="3">3.과거의 영광</a><br>유구한 대지의 역사를 돌아보다<hr color="white">
<a href="$hist_hasya" ACCESKEY="4">4.罪と罰++石碑</a><br>悠久の大地で覇者となった人の名前<hr color="white"> <a href="$hist_hasya" ACCESKEY="4">4.죄와 벌++ 석비</a><br>유구한 대지에서 패권을 쥔 자의 이름<hr color="white">
<a href="$home_i" ACCESKEY="9">9.本館へ戻る</a><hr color="white"> <a href="$home_i" ACCESKEY="9">9.본관으로 돌아가기</a><hr color="white">
プレイ中のキャラ $now_nm_cnt<br> 플레이 중인 캐릭터 $now_nm_cnt<br>
$now_nm $now_nm
<hr color="white"> <hr color="white">
現在登録人数[$now_sanka]<br> 현재 등록 인원[$now_sanka]<br>
最大登録人数[$sanka ]<br> 최대 등록 인원[$sanka ]<br>
削除放置期間[$del_limit]<br> 삭제 방치 기간[$del_limit]<br>
プレイ規制時間帯[$safe_time]<br> 플레이 제한 시간대[$safe_time]<br>
<hr color="white"> <hr color="white">
<br> <br>
EOM EOM
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# データ読み込み # データ読み込み
# 参加者データ一括読み込み # 参加者データ一括読み込み
sub read_data_index{ sub read_data_index{
local @tdat; local @tdat;
# 参加者データファイル一覧取得/一括読み込み # 参加者データファイル一覧取得/一括読み込み
&usrdata_read; &usrdata_read;
&usrdata_open; &usrdata_open;
$now_sanka=$#tdat+1; $now_sanka=$#tdat+1;
$now_nm_cnt=0; $now_nm_cnt=0;
foreach(0 .. $#tdat){ foreach(0 .. $#tdat){
%DAT = ''; %DAT = '';
my @prats = split(/,/,$tdat[$_]); my @prats = split(/,/,$tdat[$_]);
foreach $prats (@prats){ foreach $prats (@prats){
my($key,$v) = split(/;/,$prats); my($key,$v) = split(/;/,$prats);
$DAT{$key} = $v; $DAT{$key} = $v;
} }
# 現在のプレイヤー抽出 # 現在のプレイヤー抽出
if($player_now>=$time-$DAT{'la'}){ if($player_now>=$time-$DAT{'la'}){
if($mv_mode eq 'pc'){ if($mv_mode eq 'pc'){
$now_nm .= ($DAT{'sogo'}) ? qq|<div style="color:$color[$DAT{'camp'}]">$DAT{'nm'} [$sogo_p[$DAT{'sogo'}]] [$cmp[$DAT{'camp'}]]</div>| : qq|<div style="color:$color[$DAT{'camp'}]">$DAT{'nm'} [$cmp[$DAT{'camp'}]]</div>| ; $now_nm .= ($DAT{'sogo'}) ? qq|<div style="color:$color[$DAT{'camp'}]">$DAT{'nm'} [$sogo_p[$DAT{'sogo'}]] [$cmp[$DAT{'camp'}]]</div>| : qq|<div style="color:$color[$DAT{'camp'}]">$DAT{'nm'} [$cmp[$DAT{'camp'}]]</div>| ;
}else{ }else{
$now_nm .= ($DAT{'sogo'}) ? "$DAT{'nm'} [$sogo_p[$DAT{'sogo'}]]/" : "$DAT{'nm'}/" ; $now_nm .= ($DAT{'sogo'}) ? "$DAT{'nm'} [$sogo_p[$DAT{'sogo'}]]/" : "$DAT{'nm'}/" ;
} }
$now_nm_cnt++; $now_nm_cnt++;
} }
} }
foreach (0 .. $#safetime){ foreach (0 .. $#safetime){
$safe_time .= ($safetime[$_]<0) ? "--" : "$safetime[$_],"; $safe_time .= ($safetime[$_]<0) ? "--" : "$safetime[$_],";
} }
# 自動バックアップ # 自動バックアップ
&auto_backup if($backdata); &auto_backup if($backdata);
return ($now_nm,$now_sanka,$now_nm_cnt,$safe_time); return ($now_nm,$now_sanka,$now_nm_cnt,$safe_time);
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 自動バップアップ # 自動バップアップ
sub auto_backup{ sub auto_backup{
my $backup_flag1 = "backup_flag1"; my $backup_flag1 = "backup_flag1";
my $backup_flag2 = "backup_flag2"; my $backup_flag2 = "backup_flag2";
# フラグ消失は作成 # フラグ消失は作成
if(!-e "$backdata$backup_flag1" && !-e "$backdata$backup_flag2"){ if(!-e "$backdata$backup_flag1" && !-e "$backdata$backup_flag2"){
open (OUT,">$backdata$backup_flag1"); open (OUT,">$backdata$backup_flag1");
print OUT "このファイルは削除及びリネームしないでください。"; print OUT "이 파일은 삭제하거나 이름을 변경하지 마십시오.";
close(OUT) or die "Can't close : $!"; close(OUT) or die "Can't close : $!";
chmod($chmod,"$backdata$backup_flag1"); chmod($chmod,"$backdata$backup_flag1");
} }
# 0時にバックアップ # 0時にバックアップ
if(!$hour){ if(!$hour){
if(-e "$backdata$backup_flag1"){ if(-e "$backdata$backup_flag1"){
open (OUT,">$backdata$week[$wday]\.cgi"); open (OUT,">$backdata$week[$wday]\.cgi");
print OUT @tdat; print OUT @tdat;
close(OUT) or die "Can't close : $!"; close(OUT) or die "Can't close : $!";
chmod($chmod,"$backdata$week[$wday]\.cgi"); chmod($chmod,"$backdata$week[$wday]\.cgi");
rename("$backdata$backup_flag1","$backdata$backup_flag2"); rename("$backdata$backup_flag1","$backdata$backup_flag2");
} }
}else{ }else{
rename("$backdata$backup_flag2","$backdata$backup_flag1"); rename("$backdata$backup_flag2","$backdata$backup_flag1");
} }
} }
+2 -2
View File
@@ -681,7 +681,7 @@ sub __z2h_jis {
sub z2h_euc { sub z2h_euc {
local(*s, $n) = @_; local(*s, $n) = @_;
&init_z2h_euc unless defined %z2h_euc; &init_z2h_euc unless %z2h_euc;
$s =~ s/($re_euc_c|$re_euc_kana)/ $s =~ s/($re_euc_c|$re_euc_kana)/
$z2h_euc{$1} ? ($n++, $z2h_euc{$1}) : $1 $z2h_euc{$1} ? ($n++, $z2h_euc{$1}) : $1
/geo; /geo;
@@ -690,7 +690,7 @@ sub z2h_euc {
sub z2h_sjis { sub z2h_sjis {
local(*s, $n) = @_; local(*s, $n) = @_;
&init_z2h_sjis unless defined %z2h_sjis; &init_z2h_sjis unless %z2h_sjis;
$s =~ s/($re_sjis_c)/$z2h_sjis{$1} ? ($n++, $z2h_sjis{$1}) : $1/geo; $s =~ s/($re_sjis_c)/$z2h_sjis{$1} ? ($n++, $z2h_sjis{$1}) : $1/geo;
$n; $n;
} }
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
+1 -1
View File
@@ -1 +1 @@
cn1;4500,cg1;340,cf1;7500,cs1;2650,ce1;0,c1;0,c1a;2,cn2;4800,cg2;720,cf2;4700,cs2;4600,ce2;0,c2;0,c2a;3,cn3;2900,cg3;1060,cf3;6500,cs3;4650,ce3;0,c3;0,c3a;3,cn4;4600,cg4;1060,cf4;5000,cs4;4950,ce4;0,c4;0,c4a;3,cn5;6400,cg5;1120,cf5;6800,cs5;4050,ce5;0,c5;0,c5a;3,set;1019738536,all_mem;0,goal_no;1,hasya;,hcamp;,ad;,ht;,date;,wr_mes;罪と罰++ 二律背反 v02-04-16, cn1;5200,cg1;1020,cf1;7500,cs1;3700,ce1;0,c1;0,c1a;3,cn2;5900,cg2;1120,cf2;4700,cs2;3600,ce2;0,c2;0,c2a;3,cn3;4200,cg3;300,cf3;3900,cs3;2850,ce3;0,c3;0,c3a;3,cn4;3700,cg4;820,cf4;8400,cs4;4950,ce4;0,c4;0,c4a;3,cn5;4000,cg5;900,cf5;2500,cs5;2850,ce5;0,c5;0,c5a;3,set;1783861306,all_mem;0,goal_no;2,hasya;,hcamp;,ad;127.0.0.1,ht;localhost,date;6/22 22:19:32,wr_mes;긴 세월이 흘렀으나,
Regular → Executable
+1
View File
@@ -0,0 +1 @@
cn1;5200,cg1;1020,cf1;7500,cs1;3700,ce1;0,c1;0,c1a;3,cn2;5900,cg2;1120,cf2;4700,cs2;3600,ce2;0,c2;0,c2a;3,cn3;4200,cg3;300,cf3;3900,cs3;2850,ce3;0,c3;0,c3a;3,cn4;3700,cg4;820,cf4;8400,cs4;4950,ce4;0,c4;0,c4a;3,cn5;4000,cg5;900,cf5;2500,cs5;2850,ce5;0,c5;0,c5a;3,set;1783861306,all_mem;0,goal_no;2,hasya;,hcamp;,ad;127.0.0.1,ht;localhost,date;6/22 22:01:46,wr_mes;긴 세월이 흘렀으나, 전란의 시대를 제패할 패자는 끝내 나타나지 않았습니다. 각 국가의 데이터가 리셋되었습니다,
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
+72 -77
View File
@@ -1,77 +1,72 @@
#!/usr/local/bin/perl #!/usr/bin/perl
# サーバーの環境に合わせて変更して下さい。 # サーバーの環境に合わせて変更して下さい。
require './ore_config.cgi'; # ore_config.cgiのパス require './ore_config.cgi'; # ore_config.cgi의 패스
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 罪と罰++ 二律背反 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 本体 Version 1.1 # 本体 Version 1.1
#--- [注意事項] --------------------------------------------# #--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 以下処理 基本的にこれ以下はいじらないように。 # 以下処理 基本的にこれ以下はいじらないように。
&error("現在メンテナンス中。しばらくお待ち下さい(約 $ertm 分間)<br>内訳:$erni") if $er; &error("현재 점검 중입니다. 잠시만 기다려 주십시오(약 $ertm 분간)<br>상세 내역: $erni") if $er;
&get_time; # 日時取得 &get_time; # 日時取得
&safetime; # プレイ規制 &safetime; # プレイ規制
&decode; # フォームデコード &decode; # フォームデコード
&axs_check; # アクセスチェック &axs_check; # アクセスチェック
# ファイルロック(rename式) # ファイルロック(rename式)
$lock = &lock if $lock_check; $lock = &lock if $lock_check;
&read_data; # ログデータ読み込み &read_data; # ログデータ読み込み
# 初回のみAG無い人に割り当て # 初回のみAG無い人に割り当て
$ag=int($lv*1.08) if(!$ag); $ag=int($lv*1.08) if(!$ag);
# 拘束時間 # 拘束時間
if($pr>$spend_time){ require './inc/ore_sub-main.cgi'; &wt_st; } if($pr>$spend_time){ require './inc/ore_sub-main.cgi'; &wt_st; }
# 初期メニュー # 初期メニュー
elsif(!$type && $cmd==1 && $act_cnt<$act_cnt_limit) { require "./inc/ore_sub-training_$mv_mode\.cgi"; &training; } elsif(!$type && $cmd==1 && $act_cnt<$act_cnt_limit) { require "./inc/ore_sub-training_$mv_mode\.cgi"; &training; }
elsif(!$type && $cmd==2) { require './inc/ore_sub-politics.cgi'; &politics; } elsif(!$type && $cmd==2) { require './inc/ore_sub-politics.cgi'; &politics; }
elsif(!$type && $cmd==3 && $act_cnt<$act_cnt_limit) { require './inc/ore_sub-war.cgi'; &war; } elsif(!$type && $cmd==3 && $act_cnt<$act_cnt_limit) { require './inc/ore_sub-war.cgi'; &war; }
elsif(!$type && $cmd==4 && $act_cnt<$act_cnt_limit) { require './inc/ore_sub-ability.cgi'; &ability; } elsif(!$type && $cmd==4 && $act_cnt<$act_cnt_limit) { require './inc/ore_sub-ability.cgi'; &ability; }
elsif(!$type && $cmd==5 && $act_cnt<$act_cnt_limit) { require './inc/ore_sub-changes.cgi'; &changes; } elsif(!$type && $cmd==5 && $act_cnt<$act_cnt_limit) { require './inc/ore_sub-changes.cgi'; &changes; }
elsif(!$type && $cmd==6) { require "./inc/ore_sub-infomation_$mv_mode\.cgi";&infomation_com; } elsif(!$type && $cmd==6) { require "./inc/ore_sub-infomation_$mv_mode\.cgi";&infomation_com; }
elsif(!$type && $cmd==7 && $act_cnt<$act_cnt_limit) { require './inc/ore_sub-subdue.cgi'; &subdue; } elsif(!$type && $cmd==7 && $act_cnt<$act_cnt_limit) { require './inc/ore_sub-subdue.cgi'; &subdue; }
elsif(!$type && $cmd==8 && $act_cnt<$act_cnt_limit) { require './inc/ore_sub-mission.cgi'; &mission; } elsif(!$type && $cmd==8 && $act_cnt<$act_cnt_limit) { require './inc/ore_sub-mission.cgi'; &mission; }
elsif(!$type && $cmd==20) { require './inc/ore_sub-shop.cgi'; &shop; } elsif(!$type && $cmd==20) { require './inc/ore_sub-shop.cgi'; &shop; }
# 続行メニュー # 続行メニュー
elsif($type eq '修行') { require "./inc/ore_sub-training_$mv_mode\.cgi"; &training_exe; } elsif($type eq '수행') { require "./inc/ore_sub-training_$mv_mode\.cgi"; &training_exe; }
elsif($type eq '修行中') { require './inc/ore_sub-battle.cgi'; &bt_st; } elsif($type eq '수행중') { require './inc/ore_sub-battle.cgi'; &bt_st; }
elsif($type eq '戦争') { require './inc/ore_sub-war.cgi'; &war_exe; } elsif($type eq '전쟁') { require './inc/ore_sub-war.cgi'; &war_exe; }
elsif($type eq '戦争中') { require './inc/ore_sub-wartime.cgi'; &wr_st; } elsif($type eq '전쟁중') { require './inc/ore_sub-wartime.cgi'; &wr_st; }
elsif($type eq '討伐') { require './inc/ore_sub-subdue.cgi'; &subdue_exe; } elsif($type eq '토벌') { require './inc/ore_sub-subdue.cgi'; &subdue_exe; }
elsif($type eq '討伐中') { require './inc/ore_sub-subduetime.cgi';&ws_st; } elsif($type eq '토벌 중') { require './inc/ore_sub-subduetime.cgi';&ws_st; }
elsif($type eq '軍事') { require './inc/ore_sub-mission.cgi'; &mission_exe; } elsif($type eq '군사') { require './inc/ore_sub-mission.cgi'; &mission_exe; }
elsif($type eq '内政') { require './inc/ore_sub-politics.cgi'; &politics_exe; } elsif($type eq '내정') { require './inc/ore_sub-politics.cgi'; &politics_exe; }
elsif($type eq '仕官') { require './inc/ore_sub-changes.cgi'; &changes_exe; } elsif($type eq '사관') { require './inc/ore_sub-changes.cgi'; &changes_exe; }
elsif($type eq '能力') { require './inc/ore_sub-ability.cgi'; &ability_exe; } elsif($type eq '능력') { require './inc/ore_sub-ability.cgi'; &ability_exe; }
elsif($type eq 'お買い物') { require './inc/ore_sub-shop.cgi'; &shop_exe; } elsif($type eq '쇼핑') { require './inc/ore_sub-shop.cgi'; &shop_exe; }
else { require './inc/ore_sub-main.cgi'; &main_st; } else { require './inc/ore_sub-main.cgi'; &main_st; }
# ファイルアンロック(rename式) # ファイルアンロック(rename式)
&unlock($lock) if $lock_check; &unlock($lock) if $lock_check;
&html; # メニュー表示 &html; # メニュー表示
&copyright; # 削除・移動・変更不可 &copyright; # 削除・移動・変更不可
exit; exit;
# 以下呼び出し用サブルーチン(メンテナンス性向上のため) # 以下呼び出し用サブルーチン(メンテナンス性向上のため)
sub call_main_st { require './inc/ore_sub-main.cgi'; &main_st; } sub call_main_st { require './inc/ore_sub-main.cgi'; &main_st; }
sub call_mapdata { require './inc/ore_sub-map-p1_pc.cgi';&mapdata; } sub call_mapdata { require './inc/ore_sub-map-p1_pc.cgi';&mapdata; }
sub sclv{ $LV_V{$b} <=> $LV_V{$a}; } sub sclv{ $LV_V{$b} <=> $LV_V{$a}; }
sub syogo{ $syogo = ($sogo > 0) ? "$nm [$sogo_p[$sogo]]" : "$nm"; } sub syogo{ $syogo = ($sogo > 0) ? "$nm [$sogo_p[$sogo]]" : "$nm"; }
Regular → Executable
+1225 -1225
View File
File diff suppressed because it is too large Load Diff
Regular → Executable
+303 -302
View File
@@ -1,302 +1,303 @@
$ver = 'v02-04-16'; # バージョン情報(変更不可) $ver = 'v02-04-16'; # 버전 정보(변경 불가)
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 罪と罰++ 二律背反 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 環境設定 Version 1.1 # 환경 설정 Version 1.1
#--- [注意事項] --------------------------------------------# #--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
$er = 0; # メンテナンス表示(0:通常 1:メンテ) $er = 0; # 점검 표시(0:보통 1:점검)
$ertm = '30'; # メンテ予測時間(分) $ertm = '30'; # 점검 예상 시간(분)
$erni = 'メンテナンス'; # メンテ理由 $erni = '점검 중'; # 점검 사유
$admin_pass = "admin"; # 管理者パスワード(変更しないと危険です) $admin_pass = "admin"; # 관리자 비밀번호(변경하지 않으면 위험합니다)
#=============================================================================== #===============================================================================
# 初期設定 # 初期設定
require './jcode.pl'; # jcode.plのパス require './jcode.pl'; # jcode.pl 경로
require './inc/ore_sub-system.cgi'; # 共通ライブラリのパス require './inc/ore_sub-system.cgi'; # 공통 라이브러리 경로
$cdatfile = "./logdata/cdata.cgi"; # 国データ $cdatfile = "./logdata/cdata.cgi"; # 국가 데이터
$histfile = "./logdata/hist_log.cgi"; # 国バックアップ(過去の栄光ログ) $histfile = "./logdata/hist_log.cgi"; # 국가 백업(과거의 영광 로그)
$usrdata = "./usrdata/"; # キャラデータ格納ディレクトリ。 $usrdata = "./usrdata/"; # 캐릭터 데이터 저장 디렉터리.
$chmod = 0666; # キャラデータ作成時のパーミッション。 $chmod = 0666; # 캐릭터 데이터 작성 시 권한 설정.
$lockdir = "./lock/"; # ロックファイルを入れるディレクトリ $lockdir = "./lock/"; # 락 파일을 보관할 디렉터리
$lockfile = "lock"; # ロックファイル名
$lockfile = "lock"; # 락 파일명
$script = "./ore_.cgi"; # 本スクリプト名
$script = "./ore_.cgi"; # 본 스크립트명
$ore_reg = "./ore_reg.cgi"; # 新規登録
$ore_reg = "./ore_reg.cgi"; # 신규 등록
# 管理者機能 アクセス方法は
# http://あなたのURL/ore_plus/ore_admin.cgi?administrator=管理者パスワード # 管理者機能 アクセス方法は
$ore_admin = "./ore_admin.cgi"; # http://あなたのURL/ore_plus/ore_admin.cgi?administrator=管理者パスワード
$ore_admin = "./ore_admin.cgi";
$park = "./park.cgi"; # 国際交流広場
$park = "./park.cgi"; # 국제교류광장
$public = "./public.cgi"; # 公式条約
$public = "./public.cgi"; # 공식 조약
$campbbs = "./campbbs.cgi"; # 各国国際会議
$campbbs = "./campbbs.cgi"; # 각국 국제회의
$hist = "./hist.cgi"; # 過去の栄光
$hist = "./hist.cgi"; # 과거의 영광
$imgs = "./imgs"; # 画像格納ディレクトリ
$imgs = "./imgs"; # 이미지 저장 디렉터리
$css = "./html/ore_.css"; # 外部スタルシート
$css = "./html/ore_.css"; # 외부 스타일시트
$titleh = '罪と罰++ 二律背反'; # <title>タグ
$title = '<img src="./imgs/title_game.png" width="220" height="52">'; # 表示タイトル $titleh = '죄와 벌++ 이율배반'; # <title> 태그
$title_i = '<div align="center">罪 と 罰 ++</div><div align="right">二律背反 </div>'; # 表示タイトル(モバイル) $title = '<img src="./imgs/title_game.png" width="220" height="52">'; # 표시 타이틀
$title_i = '<div align="center">죄 와 벌 ++</div><div align="right">이율배반 </div>'; # 표시 타이틀(모바일)
$body = 'bgcolor="#000000" text="#dddddd" link="#9999dd" alink="#9999dd" vlink="#9999dd"'; # body装飾
$body = 'bgcolor="#000000" text="#dddddd" link="#9999dd" alink="#9999dd" vlink="#9999dd"'; # body 디자인
$home = "http://pom.to/"; # 戻り先
$home_i = "http://pom.to/"; # 戻り先(モバイル) $home = "http://pom.to/"; # 이전 페이지
$home_i = "http://pom.to/"; # 이전 페이지(모바일)
$index = "./index.cgi"; # トップページ
$index = "./index.cgi"; # 탑 페이지
# 自由項目
$kakiko=<<EOM; # 自由項目
<a href="http://www24.big.or.jp/~obo/game/ore_/gild/" target="_blank">[罪と罰++配布所]</a> $kakiko=<<EOM;
  <a href="http://pom.to" target="_blank">ねっと遊園地♪</a> <a href="http://www24.big.or.jp/~obo/game/ore_/gild/" target="_blank">[죄와 벌++ 배포처]</a>
  <a href="http://www2s.biglobe.ne.jp/~aries/Mercury/ring1/ering.cgi?mode=all" target="_blank">[罪と罰++設置所]</a>   <a href="http://pom.to" target="_blank">인터넷 놀이터♪</a>
<br><br>   <a href="http://www2s.biglobe.ne.jp/~aries/Mercury/ring1/ering.cgi?mode=all" target="_blank">[죄와 벌++ 설치소]</a>
共有・共同サイト(<span style="color:#ff99cc">募集中♪</span>) / <br><br>
<a href="" target="_blank"></a>/ 공유・공동 사이트(<span style="color:#ff99cc">모집 중♪</span>) /
<a href="" target="_blank"></a>/ <a href="" target="_blank"></a>/
<a href="" target="_blank"></a>/ <a href="" target="_blank"></a>/
<a href="" target="_blank"></a>/ <a href="" target="_blank"></a>/
<a href="" target="_blank"></a> <a href="" target="_blank"></a>/
EOM <a href="" target="_blank"></a>
EOM
# ホスト名取得モード
# --> 0 : $ENV{'REMOTE_HOST'} で取得できる場合 # ホスト名取得モード
# --> 1 : gethostbyaddr で取得できる場合 # --> 0 : $ENV{'REMOTE_HOST'} で取得できる場合
$get_remotehost = 1; # --> 1 : gethostbyaddr で取得できる場合
$get_remotehost = 1;
$gzip = ''; # 圧縮転送 gzipのパスを入力 無効の場合は無記入(転送量対策)
$gzip = ''; # 압축 전송 gzip 경로 입력, 비활성화할 경우 빈칸으로 둠(전송량 대책)
$play_limit = 15; # 同時ログイン可能数 これを超える人数がプレイ中はログイン不可(負荷対策)
$play_limit = 15; # 동시 로그인 가능 인원수. 이를 초과하는 인원이 플레이 중일 때는 로그인 불가(부하 대책)
@act_limit = ([22,0],[23,0],[0,0]); # [時間帯,行動間隔(秒)] 行動間隔をこの秒数以上空けないと無効にする(負荷対策)
@act_limit = ([22,0],[23,0],[0,0]); # [시간대, 행동 간격(초)] 행동 간격을 이 시간 이상 비우지 않으면 무효 처리함(부하 대책)
@safetime = (-1); # プレイ規制時間 時間の間は[ , ]で区切ること。無効は-1を記入(負荷対策)
@safetime = (-1); # 플레이 규제 시간. 시간 사이는 [ , ]로 구분할 것. 무효 시 -1 입력(부하 대책)
$no_mouse = 1; # マウス自動操作チート防止(yes=1 or no=0)(負荷対策)
$no_mouse = 1; # 마우스 자동 조작 치트 방지 (yes=1 또는 no=0) (부하 대책)
$no_js = 1; # Javascript自動操作チート・frame取り込み防止(yes=1 or no=0)(負荷対策)
$no_js = 1; # Javascript 자동 조작 치트, 프레임 삽입 방지 (yes=1 또는 no=0) (부하 대책)
$act_cnt_limit = 250; # 修業の累計がこの数値に達すると強制的に内政or休憩させる(負荷対策)
$act_cnt_limit = 250; # 수행 누적이 이 수치에 도달하면 강제적으로 내정 혹은 휴식을 하게 함(부하 대책)
$lock_check = 1; #lock処理を行なう(yes=1 or no=0)
$lock_check = 1; # 락 처리를 수행함 (yes=1 또는 no=0)
$backdata = "./backup/"; # 定期バックアップディレクトリ(定期バックアップを行わない場合は無記入)
$backdata = "./backup/"; # 정기 백업 디렉터리 (정기 백업을 실행하지 않을 경우 빈칸)
$sanka = 200; # 全参加人数 共用サーバでは安全のため300程度が限度
$sanka = 200; # 전체 참가 인원. 공용 서버에서는 안전을 위해 300명 정도가 한도
$del_limit = 10; # キャラ削除放置時間 これを超えるとキャラを削除します
$del_limit = 10; # 캐릭터 방치 삭제 기한. 이 기한을 초과하면 캐릭터를 삭제합니다
$player_now = 60*5; # 何秒以内にログインした人をプレイ中の参加者にするか
$player_now = 60*5; # 몇 초 이내에 로그인한 사용자를 플레이 중인 참가자로 설정할지
# 各国の人数制限
# --> 0 : 手動割り当てモード(管理者モードで直接指定) # 各国の人数制限
# --> 1 : 自動算出モード(参加人数/(国数+無所属)) 統一後の優劣機能搭載 # --> 0 : 手動割り当てモード(管理者モードで直接指定)
$limit_mode = 1; # --> 1 : 自動算出モード(参加人数/(国数+無所属)) 統一後の優劣機能搭載
$limit_mode = 1;
$clv = 2; # 仕官できるレベル
$clv = 2; # 임관할 수 있는 레벨
$kisei = 0; # 新規登録規制(0:なし 1:あり)
$kisei = 0; # 신규 등록 규제(0:없음 1:있음)
# デバックモード
# なし:PC・モバイル両対応 # デバックモード
# pc :PC限定モード(モバイル対応) # なし:PC・モバイル対応
# mv :モバイル固定モード(PC上でモバイル画面をエミュレート表示) # pc :PC限定モード(モバイル非対応)
$mv_mode = ''; # mv :モバイル固定モード(PC上でモバイル画面をエミュレート表示)
$mv_mode = '';
# 機種別設定
if( $ENV{'HTTP_USER_AGENT'} =~/DoCoMo/ || # 機種別設定
$ENV{'HTTP_USER_AGENT'} =~/UP\.Browser/ || if( $ENV{'HTTP_USER_AGENT'} =~/DoCoMo/ ||
$ENV{'HTTP_USER_AGENT'} =~/J-PHONE/ || $ENV{'HTTP_USER_AGENT'} =~/UP\.Browser/ ||
$ENV{'HTTP_USER_AGENT'} =~/ASTEL/ || $ENV{'HTTP_USER_AGENT'} =~/J-PHONE/ ||
$ENV{'HTTP_X_JPHONE_MSNAME'} || $mv_mode eq 'mv'){ $ENV{'HTTP_USER_AGENT'} =~/ASTEL/ ||
# -- モバイル用設定 -- $ENV{'HTTP_X_JPHONE_MSNAME'} || $mv_mode eq 'mv'){
$mv_mode = 'mv'; # モバイル識別子 変更不可 # -- 모바일용 설정 --
require './inc/ore_sub-base_mv.cgi';# モバイル用ベースルーチン $mv_mode = 'mv'; # 모바일 식별자 변경 불가
require './inc/ore_sub-base_mv.cgi';# 모바일용 베이스 루틴
$method = "GET"; # フォームメソッド
$bt_count = 15; # 修行時キャラ最大数 $method = "GET"; # 폼 메서드
$bt_count = 15; # 수행 시 캐릭터 최대수
# モバイル用パケット軽量モード 0X か XX を選択
# ・プレイヤー情報>> 00:待機中だけ表示 無し:常に表示 # モバイル用パケット軽量モード 0X か XX を選択
# ・各種BBSリンク >> 01:待機中だけ表示 11:常に表示 無し:常に非表示 # ・플레이어 정보>> 00:대기중에만 표시 없음:항상 표시
# ・最新情報 >> 02:待機中だけ表示 22:常に表示 無し:常に非表示 # ・각종 BBS 링크 >> 01:대기중에만 표시 11:항상 표시 없음:항상 표시 안 함
# ・各国ステータス>> 03:待機中だけ表示 33:常に表示 無し:常に非表示 # ・최신 정보 >> 02:대기중에만 표시 22:항상 표시 없음:항상 표시 안 함
# ・ゲームバランス>> 04:待機中だけ表示 44:常に表示 無し:常に非表示 # ・각국 스테이터스>> 03:대기중에만 표시 33:항상 표시 없음:항상 표시 안 함
# ・プレイ中参加者>> 05:待機中だけ表示 55:常に表示 無し:常に非表示 # ・게임 밸런스>> 04:대기중에만 표시 44:항상 표시 없음:항상 표시 안 함
# ・一言伝言 >> 06:待機中だけ表示 66:常に表示 無し:常に非表示 # ・플레이 중 참가자>> 05:대기중에만 표시 55:항상 표시 없음:항상 표시 안 함
$lt_mode = "00,01,02,03"; # 項目間は[ , ]で区切る # ・한마디 방명록 >> 06:대기중에만 표시 66:항상 표시 없음:항상 표시 안 함
$lt_mode = "00,01,02,03"; # 항목 간에는 [ , ]로 구분함
}else{
# -- PC用設定 -- }else{
$mv_mode = 'pc'; # PC識別子 変更不可 # -- PC용 설정 --
require './inc/ore_sub-base_pc.cgi';# PC用サブルーチン $mv_mode = 'pc'; # PC 식별자 변경 불가
$td_end = "</td>"; # レイアウト補正 変更不可 require './inc/ore_sub-base_pc.cgi';# PC용 서브루틴
$button1 = 'class="button1"'; # レイアウト補正 変更不可 $td_end = "</td>"; # 레이아웃 보정 변경 불가
$button1 = 'class="button1"'; # 레이아웃 보정 변경 불가
$method = "POST"; # フォームメソッド
$bt_count = 90; # 修行時キャラ最大数 $method = "POST"; # 폼 메서드
} $bt_count = 90; # 수행 시 캐릭터 최대수
}
# アクセス制限(ホスト名もしくはIPアドレスを記述)
@deny = ( # アクセス制限(ホスト名もしくはIPアドレスを記述)
"anonymizer.com", @deny = (
"cache*.*.interlog.com", "anonymizer.com",
"", "cache*.*.interlog.com",
"" "",
); ""
);
#===============================================================================
#以下設定変えないほうがいいかもよ #===============================================================================
# 이하 설정은 변경하지 않는 편이 좋을지도 모릅니다
# ゲーム内拘束時間 3600 が一時間 変更は一時間単位で。
$GMT = int(3600*1); #int(3600*2) # 게임 내 구속 시간. 3600이 1시간. 변경은 1시간 단위로.
$GMW = int($GMT/3600); #int($GMT/3600) $GMT = int(3600*1); #int(3600*2)
$GMW = int($GMT/3600); #int($GMT/3600)
# この秒数ごとにHP,MPが1ポイント回復する
$hrg_time= 60; # この秒数ごとにHP,MPが1ポイント回復する
$hrg_time= 60;
# 統一難易度 ↑難しい:↓簡単 (ビミョウなので変更しないのが無難。)
$reset_point = 0.45; #変更は0.010.1刻みで。 # 통일 난이도 ↑어려움 : ↓쉬움 (미묘하므로 변경하지 않는 것이 무난합니다.)
$reset_point = 0.45; # 변경은 0.01 ~ 0.1 단위로.
# 統一期限 この日数以内に統一しないとリセットされる
$reset_time_limit= 20; # 통일 기한. 이 일수 이내에 통일하지 않으면 리셋됨
$reset_time_limit= 20;
# 統一・リセット後の国データ(0:旧式[固定] 1:ランダム[多様性高])
$reset_cdat = 1; # 통일/reset 후 국가 데이터 (0: 구버전[고정] 1: 랜덤[다양성 높음])
$reset_cdat = 1;
# 何をしても行動中・・・あと??分と表示される場合の回避オプション[通常は0のまま]
# ??分の秒数換算を記入 EX 2分 >> 120 # 무엇을 해도 '행동 중... 앞으로 ??분'이라고 표시되는 경우의 회피 옵션 [보통은 0으로 유지]
$spend_time = 0; # ??분의 초 단위 환산을 입력 예: 2분 >> 120
$spend_time = 0;
@cmp = ('無所属','アルメリア王国','フラリン教国','イギス連合国','ソーディナ帝国','ヤマト神国'); # 陣営 国の追加は不可能です。改造すれば別ですが。
@cmp = ('무소속','알메리아 왕국','플라린 교국','이기스 연합국','소디나 제국','야마토 신국'); # 진영. 국가 추가는 불가능합니다. 개조한다면 예외겠지만요.
@color = ('#EEEEEE','#EE9999','#00EEEE','#88EE88','#FFCCFF','#55BBFF'); # 各陣営の色。無所属は関係なし
@color = ('#EEEEEE','#EE9999','#00EEEE','#88EE88','#FFCCFF','#55BBFF'); # 각 진영의 색상. 무소속은 무관
@cl = ('傭兵','農兵','従卒','足軽','槍兵士','足軽大将','騎士見習','騎士','上級騎士','騎士隊長','大隊長','大将','上級大将','将軍','元帥'); # 階級 名称は変更可能
@cl = ('용병','농병','종졸','아시가루','창병','아시가루 대장','수습 기사','기사','상급 기사','기사 대장','대대장','대장','상급 대장','장군','원수'); # 계급 명칭은 변경 가능
@g_p = (0,1000,2000,3000,4000,5000,6000,7000,8000,10000,12000,14000,16000,18000,20000); # 階級兵士数上限他 変更可能ですがシステムを理解せずにいじるとゲームが崩壊します。
@g_p = (0,1000,2000,3000,4000,5000,6000,7000,8000,10000,12000,14000,16000,18000,20000); # 계급별 병사 수 상한 등. 변경 가능하나 시스템을 이해하지 못한 채 수정하면 게임이 붕괴할 수 있습니다.
@sogo_p =('----','覇者','英雄','借金王','鬼畜',' ',' ',' ',' ',' ','管理人'); #称号
@sogo_p =('----','패자','영웅','채무왕','귀축',' ',' ',' ',' ',' ','관리자'); # 칭호
@seibetu =('--','男','女');
@seibetu =('--','남','여');
sub settei {
# 所属別必殺技 - 名称は変更可能 - sub settei {
# 所属別必殺技 - 名称は変更可能 -
if($camp==0){
@spell = ('マジン剣','全回復'); if($camp==0){
@sp_mp = (3,9); @spell = ('마진검','전회복');
}elsif($camp==1){ @sp_mp = (3,9);
@spell = ('疾風剣','生命功','奏撃功','炎蒼旋','鋼気','絶心功','鳳凰転生','魂砕き'); }elsif($camp==1){
@sp_mp = (6,9,12,15,18,21,60,90); @spell = ('질풍검','생명공','주격공','염창선','강기','절신공','봉황전생','혼쇄기');
}elsif($camp==2){ @sp_mp = (6,9,12,15,18,21,60,90);
@spell = ('バーティカルソード','アタック','ヒール','セイントクロス','アンクレアブレイク','ハイヒール','夢を継ぐ者','龍破斬'); }elsif($camp==2){
@sp_mp = (6,12,9,18,30,21,45,90); @spell = ('버티컬 소드','어택','힐','세인트 크로스','앙크레아 브레이크','하이힐','꿈을 잇는 자','용파참');
}elsif($camp==3){ @sp_mp = (6,12,9,18,30,21,45,90);
@spell = ('ソードスラッシュ','アタック','ソードダンス','シールド','アーマーブレイク','ハイヒール','オーガソード','アルティメットアタック'); }elsif($camp==3){
@sp_mp = (6,12,12,18,25,21,40,99); @spell = ('소드 슬래시','어택','소드 댄스','실드','아머 브레이크','하이힐','오거 소드','얼티밋 어택');
}elsif($camp==4){ @sp_mp = (6,12,12,18,25,21,40,99);
@spell = ('暗黒剣','デッドクラウン','ナイトメア','黒炎','ハイヒール','アタック','シールド','地獄門'); }elsif($camp==4){
@sp_mp = (9,12,10,15,21,12,18,70); @spell = ('암흑검','데드 크라운','나이트메어','흑염','하이힐','어택','실드','지옥문');
}elsif($camp==5){ @sp_mp = (9,12,10,15,21,12,18,70);
@spell = ('壱式','壱式・断','弐式','弐式・裂','参式','参式・波','零式','零式・絶'); }elsif($camp==5){
@sp_mp = (10,10,20,20,30,30,60,80); @spell = ('일식','일식・단','이식','이식・열','삼식','삼식・파','영식','영식・절');
} @sp_mp = (10,10,20,20,30,30,60,80);
}
# 階級技 - 名称は変更可能 -
@kspell = ('ファイアー','アイスストーム','ダイヤキュート','ブレインダムド'); # 계급 기술 - 명칭은 변경 가능 -
@ksp_mp = (5,25,50,100); @kspell = ('파이어','아이스 스톰','다이아 큐트','브레인 댐드');
@ksp_mp = (5,25,50,100);
# 武具 追加簡単 [番号,武具名,値段,回数,攻撃力,説明] 1~10までが隠し武器 11~がお店の商品
# int(rand(xxx)) で 0xxx のランダム値。EX. int(rand(20)+50) >> 020 + 50 が攻撃力 # 무기 추가 간편 [번호, 무기명, 가격, 내구도, 공격력, 설명] 1~10까지는 숨겨진 무기, 11~는 상점 상품
@dg_data =( # int(rand(xxx))로 0~xxx의 랜덤값. 예: int(rand(20)+50) >> 0~20 + 50이 공격력
[0,'----', 0, 0, 0, 0], @dg_data =(
[1,'ハグレメタルの剣', 100000, 100, int(rand(100)), 0], [0,'----', 0, 0, 0, 0],
[2,'エクスカリバー', 150000, 250, 60, 0], [1,'하구레 메탈의 검', 100000, 100, int(rand(100)), 0],
[3,'ロンギヌスの槍', 100000, 100, 60, 0], [2,'엑스칼리버', 150000, 250, 60, 0],
[4,'クサナギの剣', 90000, 300, 50, 0], [3,'롱기누스의 창', 100000, 100, 60, 0],
[5,'',,,,], [4,'쿠사나기의 검', 90000, 300, 50, 0],
[6,'',,,,], [5,'',,,,],
[7,'',,,,], [6,'',,,,],
[8,'',,,,], [7,'',,,,],
[9,'',,,,], [8,'',,,,],
[10,'',,,,], [9,'',,,,],
[11,'クリスタルソード', 75000, 200, 35, 'クリスタルから精製した剣'], [10,'',,,,],
[12,'ムラマサ', 50000, 75, 35, '古来より伝わる妖刀。強いが脆い'], [11,'크리스탈 소드', 75000, 200, 35, '크리스탈을 정제하여 만든 검'],
[13,'ナイトオブシャドウ', 34000, 300, 25, '漆黒の剣。非常に頑丈'], [12,'무라마사', 50000, 75, 35, '예로부터 전해 내려오는 요도. 강하지만 잘 부러진다'],
[14,'マジンの斧', 20000, 100, 20, 'ハンドアックス。刃毀れしやすい'], [13,'나이트 오브 섀도우', 34000, 300, 25, '칠흑의 검. 매우 견고함'],
[15,'モーニングスター', 12000, 200, 15, '針つき鉄球'], [14,'마신의 도끼', 20000, 100, 20, '핸드 액스. 이가 빠지기 쉽다'],
[16,'ロングスピア', 6000, 100, 10, '鉄製の長槍'], [15,'모닝 스타', 12000, 200, 15, '가시 철구'],
[17,'ブロンズソード', 3000, 150, 5, 'ブロンズ製の剣'] [16,'롱 스피어', 6000, 100, 10, '철제 장창'],
); [17,'브론즈 소드', 3000, 150, 5, '청동 검']
);
# 防具 追加簡単 [番号,防具名,値段,回数,防御力,説明] 1~10までが隠し防具 11~がお店の商品
# int(rand(xxx)) で 0xxx のランダム値。EX. int(rand(20)+50) >> 020 + 50 が防御力 # 방어구 추가 간편 [번호, 방어구명, 가격, 내구도, 방어력, 설명] 1~10까지는 숨겨진 방어구, 11~는 상점 상품
@df_data =( # int(rand(xxx))로 0~xxx의 랜덤값. 예: int(rand(20)+50) >> 0~20 + 50이 방어력
[0,'----', 0, 0, 0, 0], @df_data =(
[1,'水の羽衣', 100000, 150, int(rand(60)), 0], [0,'----', 0, 0, 0, 0],
[2,'光の鎧', 120000, 300, 40, 0], [1,'물의 날개옷', 100000, 150, int(rand(60)), 0],
[3,'刃の鎧', 900000, 150, 35, 0], [2,'빛의 갑옷', 120000, 300, 40, 0],
[4,'大地の鎧', 70000, 350, 30, 0], [3,'칼날 갑옷', 900000, 150, 35, 0],
[5,'',,,,], [4,'대지의 갑옷', 70000, 350, 30, 0],
[6,'',,,,], [5,'',,,,],
[7,'',,,,], [6,'',,,,],
[8,'',,,,], [7,'',,,,],
[9,'',,,,], [8,'',,,,],
[10,'',,,,], [9,'',,,,],
[11,'ドラゴンアーマー', 50000, 250, 25, 'ドラゴンの角を加工した鎧'], [10,'',,,,],
[12,'ミスリルアーマー', 34000, 150, 20, 'ミスリル製の鎧'], [11,'드래곤 아머', 50000, 250, 25, '용의 뿔을 가공하여 만든 갑옷'],
[13,'鋼の鎧', 20000, 300, 15, '鋼製の鎧。頑丈で壊れにくい'], [12,'미스릴 아머', 34000, 150, 20, '미스릴제 갑옷'],
[15,'見交わしの服', 14000, 150, int(rand(30)), '軽く とても動きやすい服'], [13,'강철 갑옷', 20000, 300, 15, '강철제 갑옷. 튼튼하고 잘 깨지지 않는다'],
[14,'鉄の鎧', 8000, 250, 10, '鉄製の鎧'], [15,'회피의 옷', 14000, 150, int(rand(30)), '가볍고 움직이기 편한 옷'],
[16,'鎖がたぴら', 4000, 150, 5, '鉄鎖が編みこまれた服'], [14,'철제 갑옷', 8000, 250, 10, '철제 갑옷'],
[17,'皮の鎧', 1500, 200, 2, '鞣革を鍛えた鎧 無いよりはマシ・・'] [16,'사슬 갑옷', 4000, 150, 5, '쇠사슬을 엮어 만든 옷'],
); [17,'가죽 갑옷', 1500, 200, 2, '무두질한 가죽으로 만든 갑옷. 없는 것보다는 낫다..']
);
# 道具 追加難しい [番号,道具名,値段,回数,説明] 1~10までが隠し道具 11~がお店の商品
@di_data =( # 도구 추가 어려움 [번호, 도구명, 가격, 사용 횟수, 설명] 1~10까지는 숨겨진 도구, 11~는 상점 상품
[0,'----', 0, 0, 0], @di_data =(
[1,'賢者の石', 80000, 250, 0], [0,'----', 0, 0, 0],
[2,'セカイジュの葉', 64000, 1, 0], [1,'현자의 돌', 80000, 250, 0],
[3,'命の木の実', 64000, 1, 0], [2,'세계수의 잎', 64000, 1, 0],
[4,'魔物の尻尾', 64000, 1, 0], [3,'생명의 열매', 64000, 1, 0],
[5,'',,,,], [4,'마물의 꼬리', 64000, 1, 0],
[6,'',,,,], [5,'',,,,],
[7,'',,,,], [6,'',,,,],
[8,'',,,,], [7,'',,,,],
[9,'',,,,], [8,'',,,,],
[10,'',,,,], [9,'',,,,],
[11,'皇帝液', 42000, 1, '体力&精神がある程度回復'], [10,'',,,,],
[12,'精霊水', 24000, 1, '精神がある程度回復'], [11,'황제액', 42000, 1, '체력 & 정신이 어느 정도 회복'],
[13,'和み液', 8000, 1, '精神が多少回復'], [12,'정령수', 24000, 1, '정신이 어느 정도 회복'],
[14,'癒し水', 15000, 1, '体力がある程度回復'], [13,'안정액', 8000, 1, '정신이 조금 회복'],
[15,'薬草', 5000, 1, '体力が多少回復'], [14,'치유수', 15000, 1, '체력이 어느 정도 회복'],
); [15,'약초', 5000, 1, '체력이 조금 회복'],
} );
}
1;#削除不可
1;# 삭제 불가
Regular → Executable
+253 -253
View File
@@ -1,253 +1,253 @@
#!/usr/local/bin/perl #!/usr/bin/perl
# サーバーの環境に合わせて変更して下さい。 # サーバーの環境に合わせて変更して下さい。
require './ore_config.cgi'; # ore_config.cgiのパス require './ore_config.cgi'; # ore_config.cgi의 패스
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 罪と罰++ 二律背反 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
$ver = '新規登録 v1.1'; # バージョン情報(変更不可) $ver = '신규등록 v1.1'; # 버전 정보(변경 불가)
#--- [注意事項] --------------------------------------------# #--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 以下処理 基本的にこれ以下はいじらないように。 # 以下処理 基本的にこれ以下はいじらないように。
&error("現在メンテナンス中。しばらくお待ち下さい(約 $ertm 分間)<br>内訳:$erni") if $er; &error("현재 점검 중입니다. 잠시만 기다려 주십시오(약 $ertm 분간)<br>상세 내역: $erni") if $er;
&error("現在登録不可") if $kisei; &error("현재 가입이 불가능합니다") if $kisei;
&get_time; # 日時取得 &get_time; # 日時取得
&safetime; # プレイ規制 &safetime; # プレイ規制
&decode; # フォームデコード &decode; # フォームデコード
&axs_check; # アクセスチェック &axs_check; # アクセスチェック
($mode eq 'regist2') ? &regist2 : &regist1 ; ($mode eq 'regist2') ? &regist2 : &regist1 ;
exit; exit;
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 以下サブルーチン # 以下サブルーチン
# キャラファイル追加処理 # キャラファイル追加処理
sub regist1{ sub regist1{
print "Content-type: text/html\n\n"; print "Content-type: text/html\n\n";
if($mv_mode eq 'pc'){ if($mv_mode eq 'pc'){
print <<"EOM"; print <<"EOM";
<html> <html>
<head> <head>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8">
<title>罪と罰++ 新規登録</title> <title>죄와 벌++ 신규 등록</title>
<style type="text/css"> <style type="text/css">
<!-- <!--
.button1{ .button1{
font-family: "MS Pゴシック", "Osaka"; font-size: 12px; font-weight: 400; color: #bbbbcc; font-family: "MS Pゴシック", "Osaka"; font-size: 12px; font-weight: 400; color: #bbbbcc;
border: 2px #666699 ridge; cursor: hand; background-color: #222244; border: 2px #666699 ridge; cursor: hand; background-color: #222244;
width:100px; width:100px;
} }
body,td { font-size: 10px; color: #aaaab9; cursor: crosshair} body,td { font-size: 10px; color: #aaaab9; cursor: crosshair}
--> -->
</style> </style>
</head> </head>
<body $body> <body $body>
<center> <center>
<table border="0" cellspacing="0" cellpadding="0" align="center" width="100%" height="100%"> <table border="0" cellspacing="0" cellpadding="0" align="center" width="100%" height="100%">
<tr> <tr>
<td align="center" valign="middle"> <td align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0" align="center" width="480" height="360"> <table border="0" cellspacing="0" cellpadding="0" align="center" width="480" height="360">
<tr> <tr>
<form action="$ore_reg" method="$method" name="ore_reg"> <form action="$ore_reg" method="$method" name="ore_reg">
<input type="hidden" name="mode" value="regist2"> <input type="hidden" name="mode" value="regist2">
<td align="center" valign="middle"> <td align="center" valign="middle">
<tt style="font-size:10pt;color:#aaaaaa"> <tt style="font-size:10pt;color:#aaaaaa">
<b style="color:#ffeeee;font-size:11pt">$title<br><br>新 規 登 録</b><br><br> <b style="color:#ffeeee;font-size:11pt">$title<br><br>신 규 등 록</b><br><br>
ユーザーID : <input type="text" size="8" name="id" maxlength="12" style="width:100px" class="button1"><br> 유저 ID : <input type="text" size="8" name="id" maxlength="12" style="width:100px" class="button1"><br>
プレイヤ名 : <input type="text" size="16" name="nm" style="width:100px" class="button1"><br> 플레이어명 : <input type="text" size="16" name="nm" style="width:100px" class="button1"><br>
パスワード : <input type="password" size="8" maxlength="8" name="pw" style="width:100px" class="button1"><br> 비밀번호 : <input type="password" size="8" maxlength="8" name="pw" style="width:100px" class="button1"><br>
性別    :  <input type="radio" name="sei" value="1">  <input type="radio" name="sei" value="2"><br> 성별    :  <input type="radio" name="sei" value="1">  <input type="radio" name="sei" value="2"><br>
<br> <br>
<input type="submit" value="登録" style="width:120px" class="button1"> <input type="submit" value="등록" style="width:120px" class="button1">
<input type="reset" value="リセット" style="width:60px" class="button1"> <input type="reset" value="초기화" style="width:60px" class="button1">
<br><br> <br><br>
</tt> </tt>
<table border="0" cellspacing="4" cellpadding="4" align="center" bgcolor="#222222"> <table border="0" cellspacing="4" cellpadding="4" align="center" bgcolor="#222222">
<tr> <tr>
<td align="left" valign="middle"> <td align="left" valign="middle">
<tt style="font-size:10pt;color:#aaaabb"> <tt style="font-size:10pt;color:#aaaabb">
<li>ユーザーID <span style="color:#eebbdd">半角英数字412文字</span> です。 <li>유저 ID <span style="color:#eebbdd">반각 영문/숫자 4~12글자</span>입니다.
<li>プレイヤ名は <span style="color:#eebbdd">全角8(半角16)文字以内</span> です。 <li>플레이어명은 <span style="color:#eebbdd">전각 8자(반각 16자) 이내</span>입니다.
<li>パスワードは <span style="color:#eebbdd">半角英数字48文字</span> です。 <li>비밀번호는 <span style="color:#eebbdd">반각 영문/숫자 4~8글자</span>입니다.
<hr color=#444466 size=4 hoshade> <hr color=#444466 size=4 hoshade>
<li>重複登録は禁止です。発見次第削除します。 <li>중복 등록은 금지되어 있습니다. 발견 시 삭제됩니다.
<li><span style="color:#eebbdd">$del_limit</span> 日間放置するとキャラが抹消されます。 <li><span style="color:#eebbdd">$del_limit</span>일 동안 방치하면 캐릭터가 삭제됩니다.
<li>最大<span style="color:#eebbdd">$sanka</span>人まで登録\可\能\です。 <li>최대 <span style="color:#eebbdd">$sanka</span>명까지 등록 가능합니다.
</tt> </tt>
</td> </td>
</tr> </tr>
</table> </table>
</td> </td>
</form> </form>
</tr> </tr>
</table> </table>
<form> <form>
<input type="button" value="タイトルへ戻る" style="width:120px" class="button1" onClick="top.location.href='$index'"> <input type="button" value="타이틀로 돌아가기" style="width:120px" class="button1" onClick="top.location.href='$index'">
</form> </form>
</td> </td>
</tr> </tr>
</table> </table>
EOM EOM
} }
else{ else{
print <<"EOM"; print <<"EOM";
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=x-sjis"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>新規登録</title> <title>신규 등록</title>
</head> </head>
<body $body> <body $body>
<center> <center>
新規登録 신규 등록
<form action="$ore_reg" method="$method" name="ore_reg"> <form action="$ore_reg" method="$method" name="ore_reg">
<input type="hidden" name="mode" value="regist2"> <input type="hidden" name="mode" value="regist2">
プレイヤー名:<input type="text" size="6" name="nm">(全角48文字)<br> 플레이어명:<input type="text" size="6" name="nm">(전각 4~8자)<br>
ID:<input type="text" size="6" name="id">(半角英数412文字)<br> ID:<input type="text" size="6" name="id">(반각 영문/숫자 4~12자)<br>
パスワード:<input type="text" size="6" maxlength="8" name="pw">(半角英数48文字)<br> 비밀번호:<input type="text" size="6" maxlength="8" name="pw">(반각 영문/숫자 4~8자)<br>
性別:男<input type="radio" name="sei" value="1"> <input type="radio" name="sei" value="2"><br> 성별:남<input type="radio" name="sei" value="1"> <input type="radio" name="sei" value="2"><br>
<input type="submit" value="OK"> <input type="submit" value="OK">
</form> </form>
<a href="$index">INDEXへ</a> <a href="$index">메인으로</a>
</body> </body>
</html> </html>
EOM EOM
} }
&copyright; &copyright;
exit; exit;
} }
# キャラファイル追加処理 # キャラファイル追加処理
sub regist2{ sub regist2{
&form_check; # フォーム情報チェック &form_check; # フォーム情報チェック
&usrdata_read; &usrdata_read;
&usrdata_open; &usrdata_open;
&cdata_open; &cdata_open;
require './inc/ore_sub-members-p1.cgi';&member_list; require './inc/ore_sub-members-p1.cgi';&member_list;
foreach (0 .. $#tdat){ foreach (0 .. $#tdat){
%DAT = ''; %DAT = '';
my @pairs = split(/,/,$tdat[$_]); my @pairs = split(/,/,$tdat[$_]);
foreach (0 .. $#pairs){ foreach (0 .. $#pairs){
my($key,$v) = split(/;/,$pairs[$_]); my($key,$v) = split(/;/,$pairs[$_]);
$DAT{$key} = $v; $DAT{$key} = $v;
} }
if($in{'nm'} eq $DAT{'nm'}){&error("同じプレイヤー名が既に使われています");} if($in{'nm'} eq $DAT{'nm'}){&error("동일한 플레이어명이 이미 존재합니다.");}
if($id eq $DAT{'id'}){&error("同じユーザーIDが既に使われています");} if($id eq $DAT{'id'}){&error("동일한 유저 ID가 이미 존재합니다.");}
# 期限切れ及び レベル2以内で3日間無アクセス(見物人排除) のファイル削除 # 期限切れ及び レベル2以内で3日間無アクセス(見物人排除) のファイル削除
if(($del_limit*3600*24<$time-$DAT{'la'}) || (3*3600*24<$time-$DAT{'la'} && $DAT{'lv'}<=2)){ if(($del_limit*3600*24<$time-$DAT{'la'}) || (3*3600*24<$time-$DAT{'la'} && $DAT{'lv'}<=2)){
unlink("$usrdata$DAT{'id'}\.cgi"); unlink("$usrdata$DAT{'id'}\.cgi");
} }
} }
# 参加人数は最大でも400人ほど。リロード量がこわいので。 # 参加人数は最大でも400人ほど。リロード量がこわいので。
&error("現在定員の為、新規受付できません") if $#tdat+1>=$sanka; &error("현재 정원이 초과되어 신규 가입을 할 수 없습니다.") if $#tdat+1>=$sanka;
local($hp,$max_hp,$mp,$max_mp,$ua,$ud,$lr,$ag); local($hp,$max_hp,$mp,$max_mp,$ua,$ud,$lr,$ag);
$hp = $max_hp = int(rand(5)+10); $hp = $max_hp = int(rand(5)+10);
$mp = $max_mp = int(rand(5)+10); $mp = $max_mp = int(rand(5)+10);
$ua = int(rand(3)+1); $ua = int(rand(3)+1);
$ud = int(rand(3)+1); $ud = int(rand(3)+1);
$lr = int(rand(3)+1); $lr = int(rand(3)+1);
$ag = int(rand(3)+1); $ag = int(rand(3)+1);
$gold = int(rand(500)+500); $gold = int(rand(500)+500);
$nm = $in{'nm'}; $nm = $in{'nm'};
$sei= $in{'sei'}; $sei= $in{'sei'};
$camp=0; $camp=0;
&dat_write; &dat_write;
chmod($chmod,"$usrdata$id\.cgi"); chmod($chmod,"$usrdata$id\.cgi");
print "Content-type: text/html\n\n"; print "Content-type: text/html\n\n";
print <<"EOM"; print <<"EOM";
<html> <html>
<head> <head>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8">
<title>罪と罰++ 新規登録</title> <title>죄와 벌++ 신규 등록</title>
</head> </head>
<body $body> <body $body>
<center> <center>
<table border=0> <table border=0>
<tr> <tr>
<td align=left> <td align=left>
<tt style="font-size:12pt">新規登録完了<br> <tt style="font-size:12pt">신규 등록 완료<br>
<br><br> <br><br>
NAME $in{'nm'}<br> NAME $in{'nm'}<br>
I D&nbsp;&nbsp;$id<br> I D&nbsp;&nbsp;$id<br>
PASS $pw<br> PASS $pw<br>
<br> <br>
HP  $hp<br> HP  $hp<br>
MP  $mp<br> MP  $mp<br>
UA  $ua<br> UA  $ua<br>
UD  $ud<br> UD  $ud<br>
LR  $lr<br> LR  $lr<br>
<br> <br>
<form action=$script method=$method> <form action=$script method=$method>
<input type=hidden name=id value=$id> <input type=hidden name=id value=$id>
<input type=hidden name=pw value=$pw> <input type=hidden name=pw value=$pw>
<input type=submit value=ゲーム開始> <input type=submit value="게임 시작">
</form> </form>
<br> <br>
<a href="$index">タイトルに戻る</a> <a href="$index">타이틀로 돌아가기</a>
</td> </td>
</tr> </tr>
</table> </table>
</center> </center>
EOM EOM
&copyright; &copyright;
exit; exit;
} }
# フォームデータチェック # フォームデータチェック
sub form_check{ sub form_check{
if(!$in{'nm'}){ &error("名前が入力されていません。",1); } if(!$in{'nm'}){ &error("이름이 입력되지 않았습니다.",1); }
if(!$pw){ &error("パスワードが入力されていません。",1); } if(!$pw){ &error("비밀번호가 입력되지 않았습니다.",1); }
if(!$id){ &error("ユーザーIDが入力されていません。",1); } if(!$id){ &error("유저 ID가 입력되지 않았습니다.",1); }
if(!$in{'sei'}){ &error("性別が入力されていません。",1); } if(!$in{'sei'}){ &error("성별이 입력되지 않았습니다.",1); }
if($in{'sei'}=~ m/[^12]/){ &error("性別が異常です。",1); } if($in{'sei'}=~ m/[^12]/){ &error("성별 입력이 올바르지 않습니다.",1); }
if($in{'nm'} =~ /</){ &error("名前に不正な文字( &lt; )が含まれています。",1); } if($in{'nm'} =~ /</){ &error("이름에 올바르지 않은 문자( &lt; )가 포함되어 있습니다.",1); }
if($in{'nm'} =~ />/){ &error("名前に不正な文字( &gt; )が含まれています。",1); } if($in{'nm'} =~ />/){ &error("이름에 올바르지 않은 문자( &gt; )가 포함되어 있습니다.",1); }
if($in{'nm'} =~ /:/){ &error("名前に不正な文字( : )が含まれています。",1); } if($in{'nm'} =~ /:/){ &error("이름에 올바르지 않은 문자( : )가 포함되어 있습니다.",1); }
if($in{'nm'} =~ /;/){ &error("名前に不正な文字( ; )が含まれています。",1); } if($in{'nm'} =~ /;/){ &error("이름에 올바르지 않은 문자( ; )가 포함되어 있습니다.",1); }
if($in{'nm'} =~ /,/){ &error("名前に不正な文字( , )が含まれています。",1); } if($in{'nm'} =~ /,/){ &error("이름에 올바르지 않은 문자( , )가 포함되어 있습니다.",1); }
if($in{'nm'} =~ /"/){ &error("名前に不正な文字( \" )が含まれています。",1); } if($in{'nm'} =~ /"/){ &error("이름에 올바르지 않은 문자( \" )가 포함되어 있습니다.",1); }
if($in{'nm'} =~ /'/){ &error("名前に不正な文字( ' )が含まれています。",1); } if($in{'nm'} =~ /'/){ &error("이름에 올바르지 않은 문자( ' )가 포함되어 있습니다.",1); }
if($in{'nm'} =~ /\//){ &error("名前に不正な文字( / )が含まれています。",1); } if($in{'nm'} =~ /\//){ &error("이름에 올바르지 않은 문자( / )가 포함되어 있습니다.",1); }
if($in{'nm'} =~ /\\/){ &error("名前に不正な文字( \ )が含まれています。",1); } if($in{'nm'} =~ /\\/){ &error("이름에 올바르지 않은 문자( \\ )가 포함되어 있습니다.",1); }
if($in{'nm'} =~ /\s/){ &error("名前に不正な文字( ` )が含まれています。",1); } if($in{'nm'} =~ /\s/){ &error("이름에 올바르지 않은 문자( ` )가 포함되어 있습니다.",1); }
if($in{'nm'} =~ /`/){ &error("名前に不正な文字(全角スペース)が含まれています。",1); } if($in{'nm'} =~ /`/){ &error("이름에 올바르지 않은 문자(전각 공백)가 포함되어 있습니다.",1); }
if($in{'nm'} =~ / /){ &error("名前に不正な文字(全角スペース)が含まれています。",1); } if($in{'nm'} =~ / /){ &error("이름에 올바르지 않은 문자(전각 공백)가 포함되어 있습니다.",1); }
if($id =~ m/[^0-9a-zA-Z]/){ &error("ユーザーIDは半角英数字で入力して下さい。",1); } if($id =~ m/[^0-9a-zA-Z]/){ &error("유저 ID는 반각 영문/숫자로 입력해 주세요.",1); }
if($pw =~ m/[^0-9a-zA-Z]/){ &error("パスワードは半角英数字で入力して下さい。",1); } if($pw =~ m/[^0-9a-zA-Z]/){ &error("비밀번호는 반각 영문/숫자로 입력해 주세요.",1); }
if(length($pw)<4 || length($pw)>8){ &error("パスワードは半角英数字4~8文字です。",1); } if(length($pw)<4 || length($pw)>8){ &error("비밀번호는 반각 영문/숫자 4~8자여야 합니다.",1); }
if(length($in{'nm'})>16){ &error("名前は半角英数字16文字以内です。",1); } if(length($in{'nm'})>16){ &error("이름은 반각 16자 이내여야 합니다.",1); }
if(length($id)<4 || length($id)>12){ &error("ユーザーIDは半角英数字4~12文字以内です。",1); } if(length($id)<4 || length($id)>12){ &error("유저 ID는 반각 영문/숫자 4~12자 이내여야 합니다.",1); }
if($id eq $pw){ &error("ユーザーIDとパスワードが同一文字列です。",1);} if($id eq $pw){ &error("유저 ID와 비밀번호가 동일합니다.",1);}
} }
Regular → Executable
+303 -308
View File
@@ -1,308 +1,303 @@
#!/usr/local/bin/perl #!/usr/bin/perl
# サーバーの環境に合わせて変更して下さい。 # サーバーの環境に合わせて変更して下さい。
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 罪と罰++ 二律背反 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
$ver = '交流広場 v1.1'; # バージョン情報(変更不可) $ver = '교류광장 v1.1'; # 버전 정보(변경 불가)
#--- [注意事項] --------------------------------------------# #--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#=============================================================================== #===============================================================================
# 設定項目 # 設定項目
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 各種ファイル # 各種ファイル
require './inc/ore_sub-bbs.cgi'; # 各種掲示板共通な設定項目読み込み require './inc/ore_sub-bbs.cgi'; # 各種掲示板共通な設定項目読み込み
$script = "./park.cgi"; # このスクリプトのパス $script = "./park.cgi"; # 이 스크립트의 경로
$logfile = "./logdata/park_log.cgi"; # ログファイル $logfile = "./logdata/park_log.cgi"; # 로그 파일
$memfile = "./logdata/park_mem.cgi"; # 参加者ファイル $memfile = "./logdata/park_mem.cgi"; # 참가자 파일
$lockkey = 0; # ファイルロック(0=no 1=yes) $lockkey = 0; # 파일 잠금(0=no 1=yes)
$lockfile = "./camp.lock"; # ロックファイル名 $lockfile = "./camp.lock"; # 잠금 파일명
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 環境設定 # 環境設定
$title = "国際交流広場"; # タイトル名 $title = "국제교류광장"; # 타이틀명
$max = 100; # 最大保有記事数 $max = 100; # 최대 보유 게시글 수
$reload_mn = 5; # 最短リロード間隔(この秒数以内に発言するとエラー[負荷対策]) $reload_mn = 5; # 최단 리로드 간격(이 초 수 이내에 발언 시 에러[부하 대책])
$reload_limit= 120; # この秒数発言がないと退室扱いにする $reload_limit= 120; # 이 시간(초) 동안 발언이 없으면 퇴실 처리
$com_limit = 240; # コメントの最大文字数(半角換算) $com_limit = 240; # 코멘트 최대 글자수(반각 환산)
$tagkey = 0; # タグの許可 (0=no 1=yes) $tagkey = 0; # 태그 허용 (0=no 1=yes)
$nolink = 1; # URL宣伝排除 (0=no 1=yes) $nolink = 1; # URL 광고 배제 (0=no 1=yes)
# 機種別設定 # 機種別設定
if($mv_mode eq 'mv'){ if($mv_mode eq 'mv'){
# モバイル用設定 # 모바일용 설정
$log_last= 15; # 表示行数(モバイル) $log_last= 15; # 표시 행 수(모바일)
# BODYタグ装飾 # BODY 태그 디자인
$body = 'bgcolor="black" text="white" link="pink" vlink="pink" alink="pink"'; $body = 'bgcolor="black" text="white" link="pink" vlink="pink" alink="pink"';
$hr_color= 'white'; # 罫線の色(モバイル) $hr_color= 'white'; # 구분선 색상(모바일)
}else{ }else{
# PC用設定 # PC용 설정
@reload_time= (90,120,180); # リロード時間 @reload_time= (90,120,180); # 리로드 시간
$log_last= 50; # 表示行数(PC) $log_last= 50; # 표시 행 수(PC)
# BODYタグ装飾 # BODY 태그 디자인
$body = 'bgcolor="#111122" text="#ddddee" link="#ffddee" vlink="#ffddee" alink="#ffddee"'; $body = 'bgcolor="#111122" text="#ddddee" link="#ffddee" vlink="#ffddee" alink="#ffddee"';
} }
#=============================================================================== #===============================================================================
# 以下処理 基本的にこれ以下はいじらないように。 # 以下処理 基本的にこれ以下はいじらないように。
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# メイン処理 # メイン処理
&axs_check; # アクセス制御 &axs_check; # アクセス制御
&decode; # フォームデコード &decode; # フォームデコード
&mandata_open; # 参加者ログ読み込み &mandata_open; # 参加者ログ読み込み
&get_time; # 日時取得 &get_time; # 日時取得
&member; &member;
if($mode eq "regist" && $com){ &regist; } # 書き込み処理 if($mode eq "regist" && $com){ &regist; } # 書き込み処理
&html; # ページ表示 &html; # ページ表示
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 記事表示部 # 記事表示部
sub html { sub html {
# 表示開始 # 表示開始
&header; &header;
if($mv_mode eq 'mv'){ if($mv_mode eq 'mv'){
print <<"EOM"; print <<"EOM";
$camp_info[$DAT{'camp'}][0]専用<br>$title $camp_info[$DAT{'camp'}][0] 전용<br>$title
<form name="park" method="$method" action="$script"> <form name="park" method="$method" action="$script">
<input type=hidden name=mode value="regist"> <input type=hidden name=mode value="regist">
<input type=hidden name=id value="$id"> <input type=hidden name=id value="$id">
<input type=hidden name=pw value="$pw"> <input type=hidden name=pw value="$pw">
<input type=text name=comment size=8> <input type=text name=comment size=8>
<input type=submit value="発言"><input type=reset value="クリア"> <input type=submit value="말하기"><input type=reset value="지우기">
</form> </form>
<form name="ore_" method="$method" action="$ore_game"> <form name="ore_" method="$method" action="$ore_game">
<input type=hidden name=id value="$id"> <input type=hidden name=id value="$id">
<input type=hidden name=pw value="$pw"> <input type=hidden name=pw value="$pw">
<input type=hidden name=cmd value="-1"> <input type=hidden name=cmd value="-1">
<input type=submit value="戻る"> <input type=submit value="돌아가기">
</form> </form>
EOM EOM
} }
else{ else{
print <<"EOM"; print <<"EOM";
<table> <table>
<tr> <tr>
<td width="220"><img src="./imgs/title_game.png" width="220" height="52"></td> <td width="220"><img src="./imgs/title_game.png" width="220" height="52"></td>
<td valign="bottom" align="left"> <td valign="bottom" align="left">
<b>$title</b><br> <b>$title</b><br>
<small> 参加者の憩いの場 </small> <small>~ 참가자들의 쉼터 ~</small>
</td> </td>
</tr> </tr>
<tr> <tr>
<form name="park" method="$method" action="$script"> <form name="park" method="$method" action="$script">
<td colspan="2" nowrap> <td colspan="2" nowrap>
<input type="hidden" name="mode" value="regist"> <input type="hidden" name="mode" value="regist">
<input type="hidden" name="id" value="$id"> <input type="hidden" name="id" value="$id">
<input type="hidden" name="pw" value="$pw"> <input type="hidden" name="pw" value="$pw">
<input type="hidden" name="rd" value="$rd"> <input type="hidden" name="rd" value="$rd">
<input type="text" name="comment" class="button1" style="width:300px"> <input type="text" name="comment" class="button1" style="width:300px">
<input type="submit" value="発言/更新" class="button1" style="width:80px"> <input type="submit" value="말하기/새로고침" class="button1" style="width:80px">
<input type="reset" value="クリア" class="button1" style="width:60px"> <input type="reset" value="지우기" class="button1" style="width:60px">
</td> </td>
</form> </form>
</tr> </tr>
<tr> <tr>
<form method="$method" action="$script"> <form method="$method" action="$script">
<input type="hidden" name="mode" value="regist"> <input type="hidden" name="mode" value="regist">
<input type="hidden" name="id" value="$id"> <input type="hidden" name="id" value="$id">
<input type="hidden" name="pw" value="$pw"> <input type="hidden" name="pw" value="$pw">
<td align="left"> <td align="left">
<tt>更新:<select name="rd" size="1" class="button1" style="width:60px"> <tt>새로고침:<select name="rd" size="1" class="button1" style="width:60px">
EOM EOM
print qq|<option value="$rd">$reload_time[$rd]</option>|; print qq|<option value="$rd">$reload_time[$rd]</option>|;
foreach(0 .. $#reload_time){ foreach(0 .. $#reload_time){
print qq|<option value="$_">$reload_time[$_]</option>| if($rd!=$_); print qq|<option value="$_">$reload_time[$_]</option>| if($rd!=$_);
} }
print <<EOM; print <<EOM;
</select> <input type="submit" value="変更" class="button1" style="width:60px"> </select> <input type="submit" value="변경" class="button1" style="width:60px">
</td> </td>
</form> </form>
<form name="ore_" method="$method" action="$ore_game"> <form name="ore_" method="$method" action="$ore_game">
<td align="right"> <td align="right">
<input type=hidden name=id value="$id"> <input type=hidden name=id value="$id">
<input type=hidden name=pw value="$pw"> <input type=hidden name=pw value="$pw">
<input type=hidden name=cmd value="-1"> <input type=hidden name=cmd value="-1">
<input type=submit value="戻る" class="button1" style="width:80px"> <input type=submit value="돌아가기" class="button1" style="width:80px">
</td> </td>
</form> </form>
</tr> </tr>
</table> </table>
EOM EOM
} }
# 参加者表示:$member # 参加者表示:$member
($mv_mode eq 'mv') ? ($mv_mode eq 'mv') ?
print qq|参加者($num)<hr color=\"$hr_color\">\n|: print qq|참가자($num)<hr color=\"$hr_color\">\n|:
print qq|<hr size="8" color="#666699"><span class=\"mem\"><br>参加者($num)$member</span><hr color="#c0c0c0" size="4">\n|; print qq|<hr size="8" color="#666699"><span class=\"mem\"><br>참가자($num)$member</span><hr color="#c0c0c0" size="4">\n|;
# ログを展開 # ログを展開
open(IN,"$logfile") || &error("Open Error : $logfile"); open(IN,"$logfile") || &error("Open Error : $logfile");
local $log_last_flag=0; local $log_last_flag=0;
while (<IN>) { while (<IN>) {
$log_last_flag++; $log_last_flag++;
local($date,$nm,$camp,$com,$sogo,$addr,$host) = split(/<>/); local($date,$nm,$camp,$com,$sogo,$addr,$host) = split(/<>/);
$nm = qq|$nm <small>[$sogo_p[$sogo]]</small>| if($sogo); $nm = qq|$nm <small>[$sogo_p[$sogo]]</small>| if($sogo);
($mv_mode eq 'mv') ? $com =~ s/ハァト/<font color="pink">\&\#63726<\/font>/g : $com =~ s/ハァト/<span class="f1">ゥ<\/span>/g ; ($mv_mode eq 'mv') ? $com =~ s/하트/<font color="pink">\&\#63726<\/font>/g : $com =~ s/하트/<span class="f1">ゥ<\/span>/g ;
($mv_mode eq 'mv') ? ($mv_mode eq 'mv') ?
print qq|$nm:$com [$camp_info[$camp][0] $date]<br>\n|: print qq|$nm:$com [$camp_info[$camp][0] $date]<br>\n|:
print qq|<span style="color:$camp_info[$camp][1]">$nm $com </span><span class="date">[ $camp_info[$camp][0] $date ]</span><hr>\n|; print qq|<span style="color:$camp_info[$camp][1]">$nm $com </span><span class="date">[ $camp_info[$camp][0] $date ]</span><hr>\n|;
last if $log_last_flag > $log_last; last if $log_last_flag > $log_last;
} }
close(IN); close(IN);
# 著作権表示(削除禁止) # 著作権表示(削除禁止)
print "<hr>\n"; print "<hr>\n";
&copyright; &copyright;
exit; exit;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# ログ書き込み処理 # ログ書き込み処理
sub regist { sub regist {
# ファイルロック # ファイルロック
if ($lockkey) { &lock; } if ($lockkey) { &lock; }
# ログを読み込み # ログを読み込み
open(IN,"$logfile") || &error("Open Error : $logfile"); open(IN,"$logfile") || &error("Open Error : $logfile");
@lines = <IN>; @lines = <IN>;
close(IN); close(IN);
# 最大記事数処理 # 最大記事数処理
while ($max <= @lines) { pop(@lines); } while ($max <= @lines) { pop(@lines); }
# ログ更新処理 # ログ更新処理
unshift (@lines,"$date<>$DAT{'nm'}<>$DAT{'camp'}<>$com<>$DAT{'sogo'}<>$addr<>$host<>$agent<>\n"); unshift (@lines,"$date<>$DAT{'nm'}<>$DAT{'camp'}<>$com<>$DAT{'sogo'}<>$addr<>$host<>$agent<>\n");
open(OUT,">$logfile") || &error("Write Error : $logfile"); open(OUT,">$logfile") || &error("Write Error : $logfile");
print OUT @lines; print OUT @lines;
close(OUT); close(OUT);
# ロック解除 # ロック解除
if (-e $lockfile) { unlink($lockfile); } if (-e $lockfile) { unlink($lockfile); }
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 在室者処理 # 在室者処理
sub member { sub member {
open(IN,"$memfile") || &error("Open Error : $memfile"); open(IN,"$memfile") || &error("Open Error : $memfile");
@data = <IN>; @data = <IN>;
close(IN); close(IN);
$member=""; $member="";
@new=(); @new=();
$flag=0; $flag=0;
$flag2=0; $flag2=0;
foreach (@data) { foreach (@data) {
($time2,$name2,$host2) = split(/<>/); ($time2,$name2,$host2) = split(/<>/);
# 発言のない者は削除 # 発言のない者は削除
if ($time-$reload_limit > $time2) { next; } if ($time-$reload_limit > $time2) { next; }
elsif ($host2 eq "$addr") { elsif ($host2 eq "$addr") {
# 発言/更新間隔 # 발언/갱신 간격
# &error("$reload_mn秒以上間隔を空けて発言してください。") if($reload_mn+$time2>$time); # &error("$reload_mn秒以上間隔を空けて発言してください。") if($reload_mn+$time2>$time);
if($reload_mn+$time2>$time){ if($reload_mn+$time2>$time){
print "Status: 204\n\n"; print "Status: 204\n\n";
exit; exit;
} }
# 退室者は削除 # 退室者は削除
if ($_[0] eq 'bye') { next; } if ($_[0] eq 'bye') { next; }
# ホスト名が同一であれば時間と名前を更新 # ホスト名が同一であれば時間と名前を更新
$_ = "$time<>$DAT{'nm'}<>$addr<>\n"; $_ = "$time<>$DAT{'nm'}<>$addr<>\n";
$name2 = $DAT{'nm'}; $name2 = $DAT{'nm'};
$flag=1; $flag=1;
} }
# 更新用配列 @new に追加 # 更新用配列 @new に追加
if ($name2 ne "$host2") { if ($name2 ne "$host2") {
push(@new,$_); push(@new,$_);
# 参加者表示用文字列を作成 # 参加者表示用文字列を作成
if(!$flag2){$member .="$name2◇";$flag2=1;} if(!$flag2){$member .="$name2◇";$flag2=1;}
else{$member .="$name2◆";$flag2=0;} else{$member .="$name2◆";$flag2=0;}
} }
} }
# 新規参加者を追加 # 新規参加者を追加
if (!$flag && $mv_mode eq 'pc') { if (!$flag && $mv_mode eq 'pc') {
if ($DAT{'nm'} ne "$host") { if ($DAT{'nm'} ne "$host") {
push(@new,"$time<>$DAT{'nm'}<>$addr<>\n"); push(@new,"$time<>$DAT{'nm'}<>$addr<>\n");
$member .= (!$flag2) ? "$DAT{'nm'} [IN]◇" : "$DAT{'nm'} [IN]◆"; $member .= (!$flag2) ? "$DAT{'nm'} [IN]◇" : "$DAT{'nm'} [IN]◆";
} }
} }
# 参加者数を認識 # 参加者数を認識
$num = @new; $num = @new;
# ファイル更新 # ファイル更新
open(OUT,">$memfile") || &error("Write Error : $memfile"); open(OUT,">$memfile") || &error("Write Error : $memfile");
eval "flock(OUT,2);"; eval "flock(OUT,2);";
truncate(OUT,0); truncate(OUT,0);
seek(OUT,0,0); seek(OUT,0,0);
print OUT @new; print OUT @new;
close(OUT); close(OUT);
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# HTMLのヘッダー # HTMLのヘッダー
sub header { sub header {
print "Content-type: text/html\n\n"; print "Content-type: text/html\n\n";
print <<"EOM"; print <<"EOM";
<html> <html>
<head> <head>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8">
<title>$title</title> <title>$title</title>
EOM EOM
if($mv_mode eq 'pc'){ if($mv_mode eq 'pc'){
print <<"EOM"; print <<"EOM";
<META HTTP-EQUIV="refresh" CONTENT="$reload_time[$rd];URL=$script?id=$id&pw=$pw&rd=$rd"> <META HTTP-EQUIV="refresh" CONTENT="$reload_time[$rd];URL=$script?id=$id&pw=$pw&rd=$rd">
$css $css
<script language="JavaScript"> <script language="JavaScript">
<!-- <!--
function textfocus(){ function textfocus(){
document.park.comment.focus(); document.park.comment.focus();
return true; return true;
} }
//--> //-->
</script> </script>
EOM EOM
} }
(!$_[0] && $mv_mode eq 'pc') ? print qq|</head>\n<body $body onLoad="return textfocus()">| : print "</head>\n<body $body>" ; (!$_[0] && $mv_mode eq 'pc') ? print qq|</head>\n<body $body onLoad="return textfocus()">| : print "</head>\n<body $body>" ;
} }
Regular → Executable
+224 -224
View File
@@ -1,224 +1,224 @@
#!/usr/local/bin/perl #!/usr/bin/perl
# サーバーの環境に合わせて変更して下さい。 # サーバーの環境に合わせて変更して下さい。
#-----------------------------------------------------------# #-----------------------------------------------------------#
# 罪と罰++ 二律背反 # # 罪と罰++ 二律背反 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] # # BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------# #-----------------------------------------------------------#
$ver = '公式条約 v1.0'; # バージョン情報(変更不可) $ver = '공식조약 v1.0'; # 버전 정보(변경 불가)
#--- [注意事項] --------------------------------------------# #--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 # # 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ # # http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------# #-----------------------------------------------------------#
#=============================================================================== #===============================================================================
# 設定項目 # 設定項目
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 各種ファイル # 各種ファイル
require './inc/ore_sub-bbs.cgi'; # 各種掲示板共通な設定項目読み込み require './inc/ore_sub-bbs.cgi'; # 各種掲示板共通な設定項目読み込み
$script = "./public.cgi"; # このスクリプトのパス $script = "./public.cgi"; # 이 스크립트의 경로
$logfile = "./logdata/public_log.cgi";# ログファイルのパス $logfile = "./logdata/public_log.cgi";# 로그 파일 경로
$lockkey = 0; # ファイルロック(0=no 1=yes) $lockkey = 0; # 파일 잠금(0=no 1=yes)
$lockfile = "./public.lock"; # ロックファイル名 $lockfile = "./public.lock"; # 잠금 파일명
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 環境設定 # 環境設定
$title = "公式条約"; # タイトル名 $title = "공식 조약"; # 타이틀명
$max = 200; # 最大保有記事数 $max = 200; # 최대 보유 게시글 수
$write_limit= 300; # この秒数の間は再度投稿ができない $write_limit= 300; # 이 시간(초) 동안은 재투고 불가
$com_limit = 4096; # コメントの最大文字数(半角換算) $com_limit = 4096; # 코멘트 최대 글자수(반각 환산)
$tagkey = 0; # タグの許可 (0=no 1=yes) $tagkey = 0; # 태그 허용 (0=no 1=yes)
$nolink = 1; # URL宣伝排除 (0=no 1=yes) $nolink = 1; # URL 광고 배제 (0=no 1=yes)
$br_mode = 1; # 改行モード (0=no 1=yes) $br_mode = 1; # 줄바꿈 모드 (0=no 1=yes)
# 機種別設定 # 機種別設定
if($mv_mode eq 'mv'){ if($mv_mode eq 'mv'){
# モバイル用設定 # 모바일용 설정
$log_last= 10; # 表示行数(モバイル) $log_last= 10; # 표시 행 수(모바일)
# BODYタグ装飾 # BODY 태그 디자인
$body = 'body bgcolor="black" text="white" link="pink" vlink="pink" alink="pink"'; $body = 'body bgcolor="black" text="white" link="pink" vlink="pink" alink="pink"';
$hr_color= 'white'; # 罫線の色(モバイル) $hr_color= 'white'; # 구분선 색상(모바일)
}else{ }else{
# PC用設定 # PC用設定
$log_last= 500; # 表示行数(PC) $log_last= 500; # 표시 행 수(PC)
# BODYタグ装飾 # BODY 태그 디자인
$body = 'bgcolor="#111122" text="#ddddee" link="#ffddee" vlink="#ffddee" alink="#ffddee"'; $body = 'bgcolor="#111122" text="#ddddee" link="#ffddee" vlink="#ffddee" alink="#ffddee"';
} }
#=============================================================================== #===============================================================================
# 以下処理 基本的にこれ以下はいじらないように。 # 以下処理 基本的にこれ以下はいじらないように。
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# メイン処理 # メイン処理
&axs_check; # アクセス制御 &axs_check; # アクセス制御
&decode; # フォームデコード &decode; # フォームデコード
&mandata_open; # 参加者ログ読み込み &mandata_open; # 参加者ログ読み込み
&get_time; # 日時取得 &get_time; # 日時取得
if ($mode eq "regist" && $com) { &regist; } # 書き込み処理 if ($mode eq "regist" && $com) { &regist; } # 書き込み処理
&html; # ページ表示 &html; # ページ表示
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 記事表示部 # 記事表示部
sub html { sub html {
# 表示開始 # 表示開始
&header; &header;
if($mv_mode eq 'mv'){ if($mv_mode eq 'mv'){
print <<"EOM"; print <<"EOM";
<b>$title</b> <b>$title</b>
<form name="park" method="$method" action="$script"> <form name="park" method="$method" action="$script">
<input type=hidden name=mode value="regist"> <input type=hidden name=mode value="regist">
<input type=hidden name=id value="$id"> <input type=hidden name=id value="$id">
<input type=hidden name=pw value="$pw"> <input type=hidden name=pw value="$pw">
<textarea name=comment rows="2" size=16></textarea><br> <textarea name=comment rows="2" size=16></textarea><br>
<input type=submit value="発言"><input type=reset value="クリア"> <input type=submit value="말하기"><input type=reset value="지우기">
</form> </form>
<form name="ore_" method="$method" action="$ore_game"> <form name="ore_" method="$method" action="$ore_game">
<input type=hidden name=id value="$id"> <input type=hidden name=id value="$id">
<input type=hidden name=pw value="$pw"> <input type=hidden name=pw value="$pw">
<input type=hidden name=cmd value="-1"> <input type=hidden name=cmd value="-1">
<input type=submit value="戻る"> <input type=submit value="돌아가기">
</form> </form>
EOM EOM
} }
else{ else{
print <<"EOM"; print <<"EOM";
<table> <table>
<tr> <tr>
<td width="220"><img src="./imgs/title_game.png" width="220" height="52"></td> <td width="220"><img src="./imgs/title_game.png" width="220" height="52"></td>
<td valign="bottom" align="left"> <td valign="bottom" align="left">
<b>$title</b><br> <b>$title</b><br>
<small> 条約や同盟、さらに稟議など </small> <small>~ 조약이나 동맹, 그리고 품의 등 ~</small>
</td> </td>
</tr> </tr>
<form name="park" method="$method" action="$script"> <form name="park" method="$method" action="$script">
<tr> <tr>
<td colspan="2" nowrap> <td colspan="2" nowrap>
<input type=hidden name=mode value="regist"> <input type=hidden name=mode value="regist">
<input type=hidden name=id value="$id"> <input type=hidden name=id value="$id">
<input type=hidden name=pw value="$pw"> <input type=hidden name=pw value="$pw">
<textarea name=comment class="button1" rows="4" style="width:400px;"></textarea> <textarea name=comment class="button1" rows="4" style="width:400px;"></textarea>
</td> </td>
</tr> </tr>
<tr> <tr>
<td align="left" colspan="2"> <td align="left" colspan="2">
<input type=submit value="発言/更新" class="button1" style="width:80px"> <input type=submit value="말하기/새로고침" class="button1" style="width:80px">
<input type=reset value="クリア" class="button1" style="width:60px"> <input type=reset value="지우기" class="button1" style="width:60px">
</td> </td>
</tr> </tr>
</form> </form>
<form name="ore_" method="$method" action="$ore_game"> <form name="ore_" method="$method" action="$ore_game">
<tr> <tr>
<td align="right" colspan="2"> <td align="right" colspan="2">
<input type=hidden name=id value="$id"> <input type=hidden name=id value="$id">
<input type=hidden name=pw value="$pw"> <input type=hidden name=pw value="$pw">
<input type=hidden name=cmd value="-1"> <input type=hidden name=cmd value="-1">
<input type=submit value="戻る" class="button1" style="width:80px"> <input type=submit value="돌아가기" class="button1" style="width:80px">
</td> </td>
</tr> </tr>
</form> </form>
</table> </table>
EOM EOM
} }
($mv_mode eq 'mv') ? ($mv_mode eq 'mv') ?
print qq|<hr color=\"$hr_color\">\n|: print qq|<hr color=\"$hr_color\">\n|:
print qq|<hr size="8" color="#666699">\n|; print qq|<hr size="8" color="#666699">\n|;
# ログを展開 # ログを展開
open(IN,"$logfile") || &error("Open Error : $logfile"); open(IN,"$logfile") || &error("Open Error : $logfile");
local $log_last_flag=0; local $log_last_flag=0;
while (<IN>) { while (<IN>) {
$log_last_flag++; $log_last_flag++;
local($date,$nm,$camp,$com,$sogo,$addr,$host) = split(/<>/); local($date,$nm,$camp,$com,$sogo,$addr,$host) = split(/<>/);
$nm = qq|$nm <small>[$sogo_p[$sogo]]</small>| if($sogo); $nm = qq|$nm <small>[$sogo_p[$sogo]]</small>| if($sogo);
($mv_mode eq 'mv') ? $com =~ s/ハァト/<font color="pink">\&\#63726<\/font>/g : $com =~ s/ハァト/<span class="f1">ゥ<\/span>/g ; ($mv_mode eq 'mv') ? $com =~ s/하트/<font color="pink">\&\#63726<\/font>/g : $com =~ s/하트/<span class="f1">ゥ<\/span>/g ;
($mv_mode eq 'mv') ? ($mv_mode eq 'mv') ?
print qq|$nm:$com [$camp_info[$camp][0] $date]<br>\n|: print qq|$nm:$com [$camp_info[$camp][0] $date]<br>\n|:
print qq|<span style="color:$camp_info[$camp][1]">$nm <span class="date">[ $camp_info[$camp][0] $date ]</span><br>$com </span><hr>\n|; print qq|<span style="color:$camp_info[$camp][1]">$nm <span class="date">[ $camp_info[$camp][0] $date ]</span><br>$com </span><hr>\n|;
last if $log_last_flag > $log_last; last if $log_last_flag > $log_last;
} }
close(IN); close(IN);
# 著作権表示(削除禁止) # 著作権表示(削除禁止)
print "<hr>\n"; print "<hr>\n";
&copyright; &copyright;
exit; exit;
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# ログ書き込み処理 # ログ書き込み処理
sub regist { sub regist {
# ファイルロック # ファイルロック
if ($lockkey) { &lock; } if ($lockkey) { &lock; }
# ログを読み込み # ログを読み込み
open(IN,"$logfile") || &error("Open Error : $logfile"); open(IN,"$logfile") || &error("Open Error : $logfile");
@lines = <IN>; @lines = <IN>;
close(IN); close(IN);
my @y1 = split(/<>/,$lines[0]); my @y1 = split(/<>/,$lines[0]);
&error("暫く後に投稿してください。") if(($time<$y1[8]+$write_limit) && ($addr eq $y1[5])); &error("잠시 후에 다시 등록해 주세요.") if(($time<$y1[8]+$write_limit) && ($addr eq $y1[5]));
# 最大記事数処理 # 最大記事数処理
while ($max <= @lines) { pop(@lines); } while ($max <= @lines) { pop(@lines); }
# ログ更新処理 # ログ更新処理
unshift (@lines,"$date<>$DAT{'nm'}<>$DAT{'camp'}<>$com<>$DAT{'sogo'}<>$addr<>$host<>$agent<>$time<>\n"); unshift (@lines,"$date<>$DAT{'nm'}<>$DAT{'camp'}<>$com<>$DAT{'sogo'}<>$addr<>$host<>$agent<>$time<>\n");
open(OUT,">$logfile") || &error("Write Error : $logfile"); open(OUT,">$logfile") || &error("Write Error : $logfile");
print OUT @lines; print OUT @lines;
close(OUT); close(OUT);
# ロック解除 # ロック解除
if (-e $lockfile) { unlink($lockfile); } if (-e $lockfile) { unlink($lockfile); }
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# HTMLのヘッダー # HTMLのヘッダー
sub header { sub header {
print "Content-type: text/html\n\n"; print "Content-type: text/html\n\n";
print <<"EOM"; print <<"EOM";
<html> <html>
<head> <head>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8">
<title>$title</title> <title>$title</title>
EOM EOM
if($mv_mode eq 'pc'){ if($mv_mode eq 'pc'){
print <<"EOM"; print <<"EOM";
$css $css
<script language="JavaScript"> <script language="JavaScript">
<!-- <!--
function textfocus(){ function textfocus(){
document.park.comment.focus(); document.park.comment.focus();
return true; return true;
} }
//--> //-->
</script> </script>
EOM EOM
} }
(!$_[0] && $mv_mode eq 'pc') ? print qq|</head>\n<body $body onLoad="return textfocus()">| : print "</head>\n<body $body>" ; (!$_[0] && $mv_mode eq 'pc') ? print qq|</head>\n<body $body onLoad="return textfocus()">| : print "</head>\n<body $body>" ;
} }
+309 -310
View File
@@ -1,310 +1,309 @@
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>罪と罰++ 二律背反 取扱説明書</title> <title>죄와 벌++ 이율배반 사용설명서</title>
<style type="text/css"> <style type="text/css">
<!-- <!--
.set1 { margin:0px; padding:10px; background-color: #cc3366; color:#ffddee; font-size:11pt; font-weight: 700;} .set1 { margin:0px; padding:10px; background-color: #cc3366; color:#ffddee; font-size:11pt; font-weight: 700;}
.set2 { margin:10px; padding:10px;} .set2 { margin:10px; padding:10px;}
.font1{ color:#cc3366; font-size:11pt; font-weight:700} .font1{ color:#cc3366; font-size:11pt; font-weight:700}
.font2{ color:#663300; font-size:11pt; font-weight:700} .font2{ color:#663300; font-size:11pt; font-weight:700}
body{ margin:0px; padding:0px; font-size: 10pt; font-style: normal; font-weight: 400; color: #663300; background-color: #ff88aa; line-height:14pt} body{ margin:0px; padding:0px; font-size: 10pt; font-style: normal; font-weight: 400; color: #663300; background-color: #ff88aa; line-height:14pt}
--> -->
</style> </style>
</head> </head>
<body link="#CC3366" vlink="#CC3366" alink="#CC3366"> <body link="#CC3366" vlink="#CC3366" alink="#CC3366">
<p class="set1"> <p class="set1">
罪と罰++ 二律背反 v02-04-16 取扱説明書。 죄와 벌++ 이율배반 v02-04-16 사용설명서.
</p> </p>
<p> <p>
<table border="0" class="set2" bgcolor="#cc3366" align="right"> <table border="0" class="set2" bgcolor="#cc3366" align="right">
<tr> <tr>
<td bgcolor="#ffeeff" nowarp style="color:#000022; font-size:10pt"> <td bgcolor="#ffeeff" nowarp style="color:#000022; font-size:10pt">
Copyright(C) 2001-2002 Vivid Studio. BLANK BOARD<br> Copyright(C) 2001-2002 Vivid Studio. BLANK BOARD<br>
Vivid Studio. [<a href="http://big17.or.jp/~obochan/vivid/" target="_blank">http://big17.or.jp/~obochan/vivid/</a>]<br> Vivid Studio. [<a href="http://big17.or.jp/~obochan/vivid/" target="_blank">http://big17.or.jp/~obochan/vivid/</a>]<br>
BLANK BOARD[ねっと遊園地♪] [<a href="http://pom.to/" target="_blank">http://pom.to/</a>] BLANK BOARD[네트 유원지♪] [<a href="http://pom.to/" target="_blank">http://pom.to/</a>]
</td> </td>
</tr> </tr>
</table> </table>
<p> </p> <p> </p>
<p> <p>
<span class="font1"></span><span class="font2"> 初めに。</span> <span class="font1"></span><span class="font2"> 시작하며.</span>
</p> </p>
<ul> <ul>
<li>この取扱説明書は罪と罰++ 二律背反 v02-04-16の取り扱いに関する説明書です。</li> <li>이 사용설명서는 죄와 벌++ 이율배반 v02-04-16의 이용 및 관리에 관한 설명서입니다.</li>
<li>このCGIスクリプトの運営・設置はCGIPerl全般に【ある程度の知識がある】ことを前提としています。</li> <li>CGI 스크립트의 운영 및 설치는 CGIPerl 전반에 대해 【어느 정도 지식이 있음】을 전제로 하고 있습니다.</li>
<li>極めて頻繁にバージョンアップされる時期がありますが気にしないで下さい。</li> <li>매우 빈번하게 버전 업그레이드가 이루어지는 시기가 있을 수 있으나, 크게 신경 쓰지 않으셔도 됩니다.</li>
<li>サポート掲示板であまりにも初歩的な質問はしないでください。返答に窮します。</li> <li>지원 게시판에서 너무 기본적인 질문은 삼가 주시기 바랍니다. 답변해 드리기 곤란할 수 있습니다.</li>
<li>本スクリプトは1タブ 半角4スペース分で最適に表示されるようになってます。</li> <li>본 스크립트는 1탭을 반각 4칸(공백 4개)으로 설정했을 때 가장 보기 좋게 표시됩니다.</li>
</ul> </ul>
<p> <p>
<span class="font1"></span><span class="font2"> 利用規定。</span> <span class="font1"></span><span class="font2"> 이용 규정.</span>
</p> </p>
<blockquote> <blockquote>
<p><a href="http://www24.big.or.jp/~obo/game/ore_/gild/index.shtml#002" target="_blank">ここ見てください。</a></p> <p><a href="http://www24.big.or.jp/~obo/game/ore_/gild/index.shtml#002" target="_blank">여기를 확인해 주세요.</a></p>
</blockquote> </blockquote>
<p> <p>
<span class="font1"></span><span class="font2"> 動作環境。</span> <span class="font1"></span><span class="font2"> 동작 환경.</span>
</p> </p>
<ul> <ul>
<li>罪と罰++ 二律背反は Perl5で記述されたスクリプトです。Perl4では動きません。たぶん。</li> <li>죄와 벌++ 이율배반은 Perl5로 작성된 스크립트입니다. Perl4에서는 작동하지 않습니다. 아마도요.</li>
</ul> </ul>
<p> <p>
<span class="font1"></span><span class="font2"> 負荷のこと。</span> <span class="font1"></span><span class="font2"> 서버 부하에 대해.</span>
</p> </p>
<blockquote> <blockquote>
<p>リロード毎の負荷は大幅に減りました。v02-02-13a以前と比べると 平均30%程度の負荷しかかかりません。<br> <p>새로고침 시의 부하가 대폭 줄었습니다. v02-02-13a 이전 버전과 비교하면 평균 30% 정도의 부하만 걸립니다.<br>
しかしながら、一回一回のリロード負荷は低負荷でも、リロード回数が増えれば当然サーバを圧迫することになります。<br> 하지만 개별 새로고침 부하가 낮더라도, 새로고침 횟수가 늘어나면 당연히 서버에 무리가 가게 됩니다.<br>
負荷対策機能も豊富ですので、負荷を常に意識して運営しましょう。 부하 대책 기능도 풍부하게 제공되므로, 항상 서버 부하를 염두에 두고 운영해 주십시오.
</p> </p>
</blockquote> </blockquote>
<p> <p>
<span class="font1"></span><span class="font2"> 以前との違い。</span> <span class="font1"></span><span class="font2"> 이전 버전과의 차이점.</span>
</p> </p>
<blockquote> <blockquote>
<p>んなこたー知るカー。と言いたいところですが、憶えているだけ書きます。</p> <p>그런 걸 내가 알 바인가... 라고 하고 싶지만, 기억나는 대로 적어 보겠습니다.</p>
</blockquote> </blockquote>
<ul> <ul>
<li>Mac利用時、修行で対戦者リストでラジオボタンを正常に選択できない不具合を修正しました。</li> <li>Mac 환경에서 수행 시 대전자 목록의 라디오 버튼을 정상적으로 선택할 수 없던 문제를 수정했습니다.</li>
<li>修行リストで選択できないキャラが発生する不具合を修正しました。</li> <li>수행 목록에서 선택할 수 없는 캐릭터가 발생하는 문제를 수정했습니다.</li>
<li>高負荷がかかった場合、極稀に無名.cgiファイルが生成される不具合を修正しました。<br> <li>서버 부하가 높을 때 극히 드물게 무명.cgi 파일이 생성되는 문제를 수정했습니다.<br>
<li>他多数不具合修正。<br> <li>기타 다수의 오류를 수정했습니다.<br>
<br> <br>
</li> </li>
<li>従来の行動判別番号($tm)による処理体系を一新し、まったく新しい独自の処理体系に移行させました。</li> <li>기존의 행동 판별 번호($tm) 방식의 처리 체계를 일신하여, 완전히 새로운 독자적인 처리 체계로 이행했습니다.</li>
<li>それぞれの行動を細分化させ、処理のオーバーヘッドを大幅に減らしました。</li> <li>각 행동을 세분화하여 처리 오버헤드를 대폭 줄였습니다.</li>
<li>行動判別番号($tm)による各行動の依存関係を撤廃し、独立処理できるようになりました。(拡張性大幅アップ。)</li> <li>행동 판별 번호($tm)에 따른 각 행동 간의 의존 관계를 없애고, 독립적으로 처리할 수 있게 되었습니다. (확장성이 대폭 향상되었습니다.)</li>
<li>従来のリロード毎に全参加者ファイルを参照した処理から、原則1キャラ分のみ参照するようにし、大幅に負荷を減らしました。</li> <li>기존에 새로고침할 때마다 전체 참가자 파일을 참조하던 방식에서, 원칙적으로 1캐릭터 분량만 참조하도록 변경하여 부하를 크게 줄였습니다.</li>
<li>バックアップを一日一回だけ取るようにしました。</li> <li>백업을 하루에 한 번만 실행하도록 변경했습니다.</li>
<li>管理者機能にバックアップ復旧機能などいろいろな機能を追加しました。</li> <li>관리자 기능에 백업 복구 기능 등 다양한 기능을 추가했습니다.</li>
<li>ステータスに敏捷力(AG)を新たに設け、戦闘時の先制攻撃、戦争・討伐時の逃走などの成功率に影響させました。<br> <li>능력치에 민첩성(AG)을 새로 추가하여, 전투 시 선제공격 및 전쟁·토벌 시 도망 성공률 등에 영향을 주도록 했습니다.<br>
<br> <br>
</li> </li>
<li>討伐で国選択できるようになりました。</li> <li>토벌에서 국가를 선택할 수 있게 되었습니다.</li>
<li>討伐勝利時、賞金の自国優先 及び 経験値算出方法を調整しました。</li> <li>토벌 승리 시 상금의 자국 우선 배분 및 경험치 계산 방법을 조정했습니다.</li>
<li>討伐で魑魅魍魎に名前をつけました。</li> <li>토벌의 이매망량(몬스터)들에게 이름을 부여했습니다.</li>
<li>討伐の逃走時、敏捷力(AG)が影響するようになりました。</li> <li>토벌에서 도망칠 때 민첩성(AG)이 영향을 주도록 변경되었습니다.</li>
<li>戦争の退却時、敏捷力(AG)が影響するようになりました。</li> <li>전쟁에서 퇴각할 때 민첩성(AG)이 영향을 주도록 변경되었습니다.</li>
<li>修行までの手続きが短縮されました。</li> <li>수행을 시작하기까지의 단계가 단축되었습니다.</li>
<li>修行時前回対戦者と戦えるようになりました。</li> <li>수행 시 이전 대전자와 다시 싸울 수 있게 되었습니다.</li>
<li>戦闘時、相手より敏捷力(AG)が高いと先制攻撃ができるようになりました。(必ずしも先制攻撃できるものではない。)</li> <li>전투 시 상대보다 민첩성(AG)이 높으면 선제공격을 할 수 있게 되었습니다. (단, 항상 선제공격이 성공하는 것은 아닙니다.)</li>
<li>戦闘を連続で行える回数制限を設け、特定回数続けると内政(国所属者) or 休憩(無所属)を強制的に行わせるようになりました。</li> <li>연속 전투 가능 횟수 제한을 두어, 특정 횟수 이상 연속 전투를 치르면 강제적으로 내정(국가 소속자) 또는 휴식(무소속) 상태가 되도록 했습니다.</li>
<li>宝くじをプチロトに改名し、ショッピングモールに移転しました。</li> <li>복권을 '미니로또'로 이름을 바꾸고 쇼핑몰로 이전했습니다.</li>
<li>回復を治療に改名し、ショッピングモールの診療所に統合しました。</li> <li>회복을 '치료'로 이름을 바꾸고 쇼핑몰 내 진료소로 통합했습니다.</li>
<li>ショッピングモールの診療所に性転換を設け、性別を変更できるようにしました。</li> <li>쇼핑몰 진료소에 성전환 항목을 추가하여 성별을 변경할 수 있도록 했습니다.</li>
<li>統一に期限を設けました。</li> <li>천하통일에 기한 제한을 설정했습니다.</li>
<li>統一後の国力が旧式(固定)とランダム式を選べるようになりました。</li> <li>천하통일 후의 국력 설정 방식을 기존 방식(고정)과 랜덤 방식 중에서 선택할 수 있도록 했습니다.</li>
<li>統一後、統一国の定員が若干減り、他国の定員が微若干増えるようになりました。(選択)</li> <li>통일 후 통일국의 정원이 약간 줄어들고, 다른 국가의 정원이 아주 미세하게 늘어나도록 설정할 수 있습니다. (선택 사항)</li>
<li>レベル2以下で3日間放置すると削除されるようにしました。(見学者排除)</li> <li>레벨 2 이하 캐릭터가 3일간 아무런 활동이 없으면 자동 삭제되도록 했습니다. (단순 구경꾼 정리)</li>
<li>内政で「軍備」がなくなって「徴兵」と「訓練」の選択ができるようになりました。</li> <li>내정에서 '군비' 항목이 없어지고, 대신 '징병'과 '훈련'을 선택할 수 있게 되었습니다.</li>
<li>フレームを利用したJavaScriptでGETによる不正自動操作(チート)を防止しました。(フレーム取り込み防止)</li> <li>프레임을 이용한 JavaScript 및 GET 방식을 통한 비정상적인 자동 조작(치트)을 방지했습니다. (프레임 하이재킹 방지)</li>
<li>戦闘時、プルダウンメニューが時々移動するようにし、マウス自動操作ソフトを利用した不正自動操作(チート)を防止しました。</li> <li>전투 시 드롭다운 메뉴가 무작위로 이동하게 하여, 마우스 매크로 프로그램을 이용한 비정상적인 자동 조작(치트)을 방지했습니다.</li>
<li>フレームを利用したJavaScriptでGETによる不正自動操作(チート)を防止しました。(フレーム取り込み防止)</li> <li>프레임을 이용한 JavaScript 및 GET 방식을 통한 비정상적인 자동 조작(치트)을 방지했습니다. (프레임 하이재킹 방지)</li>
<li>GETによる不正処理チートを防止しました。</li> <li>GET 요청을 이용한 부정 처리 치트를 방지했습니다.</li>
<li>情報で一言メッセージを表示できるようにしました。</li> <li>정보 창에서 한 줄 메시지를 표시할 수 있도록 했습니다.</li>
<li>拘束時間に国データが表示されるようになりました。</li> <li>구속 시간(행동 제한 시간) 중에 국가 데이터가 표시되도록 했습니다.</li>
<li>拘束時間中もしくは現状維持以外での掲示板系利用禁止にしました。(他窓抑制)<br> <li>구속 시간 중이거나 현상 유지 상태가 아닐 때는 게시板 이용을 금지했습니다. (다중 창 이용 억제)<br>
</li> </li>
</ul> </ul>
<blockquote> <blockquote>
<p> <p>
他にも多々あったような気がしますが、処理体系そのものを変えてしまったため、忘れました。<br> 그 밖에도 여러 변경 사항이 있었던 것 같으나, 처리 체계 자체를 바꾸어 버려서 잊어버렸습니다.<br>
ゲームバランス・流れ・レイアウトは同じですが、システム的にはもはや別ゲームです。 게임 밸런스, 진행 흐름, 레이아웃은 전과 같지만 시스템적으로는 완전히 다른 게임이나 다름없습니다.
</p> </p>
</blockquote> </blockquote>
<p> <p>
<span class="font1"></span><span class="font2"> PC 携帯</span> <span class="font1"></span><span class="font2"> PC & 모바일</span>
</p> </p>
<blockquote> <blockquote>
<p> <p>
携帯端末から罪と罰++ 二律背反の全ての行動が行なえます。1つのスクリプトでPC・携帯(モバイル)両対応です。<br> 휴대폰 단말기에서도 죄와 벌++ 이율배반의 모든 행동을 수행할 수 있습니다. 스크립트 하나로 PC와 모바일 모두에 대응합니다.<br>
PCHTML3.2CSS1以上(フツーは対応済み)、携帯版はi-MODE、J-sky、Ezweb(たぶん)対応です。index.cgiにアクセスすると自動的に分岐処理します。特に意識する必要がありません。<br> PCHTML 3.2, CSS 1 이상(대부분 지원됨), 모바일 버전은 i-mode, J-sky, EZweb(아마도)에 대응합니다. index.cgi에 접속하면 자동으로 분류하여 페이지를 띄워 주므로 사용자가 직접 신경 쓰실 필요가 없습니다.<br>
今バージョンから携帯のパケット量が若干減りました。 이번 버전부터 모바일 데이터 패킷 소모량이 소폭 줄어들었습니다.
</p> </p>
</blockquote> </blockquote>
<p> <p>
<span class="font1"></span><span class="font2"> 乗り換えの手引き。</span> <span class="font1"></span><span class="font2"> 버전 업그레이드 안내.</span>
</p> </p>
<blockquote> <blockquote>
<p>ここ、結構重要ですのよ。奥さん。</p> <p>이 부분은 꽤 중요하답니다, 여러분.</p>
</blockquote> </blockquote>
<ul> <ul>
<li>v01-08-14c以前から乗り換え &gt;&gt; 無理です。ログデータ移行を諦めて新規設置してください。</li> <li>v01-08-14c 이전 버전에서 이전 &gt;&gt; 불가능합니다. 로그 데이터 이전을 포기하시고 신규 설치해 주십시오.</li>
<li>v02-01-28以前からの乗り換え &gt;&gt; 無理ではないですが、サポート外です。非常に手間がかかります。新規設置したほうが速いエス。</li> <li>v02-01-28 이전 버전에서 이전 &gt;&gt; 불가능한 것은 아니지만 지원 대상이 아닙니다. 손이 많이 가므로 신규 설치하시는 편이 더 빠릅니다.</li>
<li>v02-02-13c以前からの乗り換え &gt;&gt; 可能です。</li> <li>v02-02-13c 이전 버전에서 이전 &gt;&gt; 가능합니다.</li>
<li>v02-03-27からの乗り換え &gt;&gt; 先行配布後、updateフォルダに格納していた修正ファイルに差し替えただけなので特に作業はいりません。</li> <li>v02-03-27 버전에서 이전 &gt;&gt; 임시 배포 이후 update 폴더에 넣어 둔 수정 파일로 덮어쓰기만 하면 되므로 별다른 작업은 필요 없습니다.</li>
<li>過去の栄光 &gt;&gt; 互換性ありません。しかしながら手動で互換させることは可能ですが、サポート外です。</li> <li>명예의 전당 &gt;&gt; 호환되지 않습니다. 수동으로 맞출 수는 있으나 지원 대상이 아닙니다.</li>
<li>ログイン方式 &gt;&gt; 従来の名前&パスワードから、ID&パスワードに変わりました。注意が必要です。</li> <li>로그인 방식 &gt;&gt; 기존의 [이름 & 비밀번호]에서 [ID & 비밀번호]로 변경되었습니다. 주의가 필요합니다.</li>
<li>本体設定内容(ore_pl.cgi) &gt;&gt; 大部分の設定をそのまま移行可能です。(./ore_config.cgiに改名)</li> <li>본체 설정 내용(ore_pl.cgi) &gt;&gt; 대부분의 설정을 그대로 이전할 수 있습니다. (./ore_config.cgi로 이름 변경)</li>
<li>掲示板設定内容(ore_bbs.cgi)  &gt;&gt; 大部分の設定をそのまま移行可能です。(./inc/ore_sub-bbs.cgiに改名)</li> <li>게시판 설정 내용(ore_bbs.cgi)   &gt;&gt; 대부분의 설정을 그대로 이전할 수 있습니다. (./inc/ore_sub-bbs.cgi로 이름 변경)</li>
<li>敏捷力(AG)割り振り &gt;&gt; バージョンアップ後、各参加者初回ログイン時に自動で最適値を割り当てます。</li> <li>민첩성(AG) 분배 &gt;&gt; 버전 업그레이드 이후 각 참가자가 처음 로그인할 때 자동으로 최적의 값을 할당합니다.</li>
<li>国データ &gt;&gt; バージョンアップ直後リセットされます。</li> <li>국가 데이터 &gt;&gt; 버전 업그레이드 직후 초기화됩니다.</li>
<li>各キャラデータ &gt;&gt; 互換性あります。しかしながら、バージョンアップ直後、各参加者の行動が一旦現状維持に戻ります。</li> <li>각 캐릭터 데이터 &gt;&gt; 호환됩니다. 다만 버전 업그레이드 직후에는 모든 참가자의 행동 상태가 일단 '현상 유지'로 돌아갑니다.</li>
<li>スクリプト &gt;&gt; 処理体系が異なるため互換性なしです。全てのファイルを差し替えてください。末端処理は引き継いでいるので、いけるかも?</li> <li>스크립트 &gt;&gt; 처리 방식이 달라 호환되지 않습니다. 모든 파일을 교체해 주십시오. 최종 처리 구조는 유지했으므로 호환될 가능성도 있습니다.</li>
</ul> </ul>
<p> <p>
<span class="font1"></span><span class="font2"> ファイル構成・設置</span> <span class="font1"></span><span class="font2"> 파일 구성 및 설치</span>
</p> </p>
<table width="75%" border="0" class="set2" bgcolor="#cc3366"> <table width="75%" border="0" class="set2" bgcolor="#cc3366">
<tr> <tr>
<td bgcolor="#ffeeff" nowarp style="color:#000022; font-size:10pt"> <td bgcolor="#ffeeff" nowarp style="color:#000022; font-size:10pt">
<pre> <pre>
cgi-bin cgi-bin
+-- ore_plus(フォルダ) 755 [罪と罰++フォルダ] +-- ore_plus(폴더) 755 [죄와 벌++ 폴더]
| |
| ore_.cgi 755 (設定項目:無) [罪と罰++本体] | ore_.cgi 755 (설정 항목:없음) [죄와 벌++ 본체]
| ore_config.cgi 666 (設定項目:有) [設定ファイル] | ore_config.cgi 666 (설정 항목:있음) [설정 파일]
| ore_reg.cgi 755 (設定項目:無) [キャラクタ登録] | ore_reg.cgi 755 (설정 항목:없음) [캐릭터 등록]
| |
| campbbs.cgi 755 (設定項目:有) [各国作戦会議室] | campbbs.cgi 755 (설정 항목:있음) [국가별 작전회의실]
| park.cgi 755 (設定項目:有) [国際交流広場] | park.cgi 755 (설정 항목:있음) [국제 교류 광장]
| public.cgi 755 (設定項目:有) [公式条約] | public.cgi 755 (설정 항목:있음) [공식 조약]
| hist.cgi 755 (設定項目:有) [過去の栄光] | hist.cgi 755 (설정 항목:있음) [명예의 전당]
| |
| ore_admin.cgi 755 (設定項目:無) [罪と罰++管理機能] | ore_admin.cgi 755 (설정 항목:없음) [죄와 벌++ 관리 기능]
| |
| index.cgi 755 (設定項目:無) [トップページ] | index.cgi 755 (설정 항목:없음) [메인 페이지]
| |
+-- inc(フォルダ) 755 [外部サブルーチン格納ディレクトリ] +-- inc(폴더) 755 [외부 서브루틴 보관 디렉터리]
| 外部サブルーチン | 외부 서브루틴
| |
+-- usrdata(フォルダ) 777 [キャラデータ格納ディレクトリ] +-- usrdata(폴더) 777 [캐릭터 데이터 보관 디렉터리]
| 各参加者データファイル | 각 참가자 데이터 파일
| |
+-- logdata(フォルダ) 755 [罪と罰++各種画像ディレクトリ] +-- logdata(폴더) 755 [죄와 벌++ 각종 로그 디렉터리]
| cdata.cgi 666 [各国データ] | cdata.cgi 666 [국가 데이터]
| camp_mem_1.cgi 666 [1国作戦会議室参加者ログ] | camp_mem_1.cgi 666 [1국 작전회의실 참가자 로그]
| camp_mem_2.cgi 666 [2国作戦会議室参加者ログ] | camp_mem_2.cgi 666 [2국 작전회의실 참가자 로그]
| camp_mem_3.cgi 666 [3国作戦会議室参加者ログ] | camp_mem_3.cgi 666 [3국 작전회의실 참가자 로그]
| camp_mem_4.cgi 666 [4国作戦会議室参加者ログ] | camp_mem_4.cgi 666 [4국 작전회의실 참가자 로그]
| camp_mem_5.cgi 666 [5国作戦会議室参加者ログ] | camp_mem_5.cgi 666 [5국 작전회의실 참가자 로그]
| camp_log_1.cgi 666 [1国作戦会議室発言ログ] | camp_log_1.cgi 666 [1국 작전회의실 대화 로그]
| camp_log_2.cgi 666 [2国作戦会議室発言ログ] | camp_log_2.cgi 666 [2국 작전회의실 대화 로그]
| camp_log_3.cgi 666 [3国作戦会議室発言ログ] | camp_log_3.cgi 666 [3국 작전회의실 대화 로그]
| camp_log_4.cgi 666 [4国作戦会議室発言ログ] | camp_log_4.cgi 666 [4국 작전회의실 대화 로그]
| camp_log_5.cgi 666 [5国作戦会議室発言ログ] | camp_log_5.cgi 666 [5국 작전회의실 대화 로그]
| park_mem.cgi 666 [国際交流広場参加者ログ] | park_mem.cgi 666 [국제 교류 광장 참가자 로그]
| park_log.cgi 666 [国際交流広場発言ログ] | park_log.cgi 666 [국제 교류 광장 대화 로그]
| public_log.cgi 666 [公式条約ログ] | public_log.cgi 666 [공식 조약 로그]
| hist_log.cgi 666 [過去の栄光ログ(cdata.cgiバックアップ)] | hist_log.cgi 666 [명예의 전당 로그 (cdata.cgi 백업)]
| |
+-- imgs(フォルダ) 755 [罪と罰++各種画像ディレクトリ] +-- imgs(폴더) 755 [죄와 벌++ 각종 이미지 디렉터리]
| 各種画像ファイル | 각종 이미지 파일
| |
+-- html(フォルダ) 755 [各種HTML格納ディレクトリ] +-- html(폴더) 755 [각종 HTML 보관 디렉터리]
| 各種画像ファイル | 각종 HTML 파일
| |
+-- lock(フォルダ) 777 [ファイルロック用ディレクトリ] +-- lock(폴더) 777 [파일 잠금용 디렉터리]
| lock 644 [ロックファイル] | lock 644 [잠금 파일]
| |
+-- backup(任意名) 777 [キャラデータバックアップディレクトリ] +-- backup(임의명) 777 [캐릭터 데이터 백업 디렉터리]
backup_flag1 644 [バックアップフラグファイル] backup_flag1 644 [백업 플래그 파일]
* 上記パーミッションは一般的なものであり、セキュリティが低いです。 * 위 권한(퍼미션) 설정은 일반적인 예시이며 보안이 취약할 수 있습니다.
ご利用プロバイダにあわせて設定してください。 이용하시는 서버 환경에 맞춰 설정해 주십시오.
* 罪と罰++の石碑スクリプトはまだ制作してません。 * 죄와 벌++의 석비 스크립트는 아직 제작하지 않았습니다.
* 上の755となっているファイルを開いて、1行目にあるPerlのパスを書き換えてください。 * 위 파일 중 권한이 755로 설정된 파일을 열어 첫 번째 줄의 Perl 경로를 서버에 맞게 수정해 주십시오.
</pre> </pre>
</td> </td>
</tr> </tr>
</table> </table>
<p> <p>
<span class="font1"></span><span class="font2"> index.cgiの画像。</span> <span class="font1"></span><span class="font2"> index.cgi 이미지.</span>
</p> </p>
<blockquote> <blockquote>
<pre> <pre>
もし罪と罰++マスター版トップページ(index.cgi) 죄와 벌++ 마스터 버전 메인 페이지(index.cgi)
同じ画像(妖精画像)を利用したい場合は、 동일한 이미지(요정 이미지)를 사용하시려면,
<a href="http://www1.u-netsurf.ne.jp/~june/" target="_blank"><b>PurpleMoon</b> さんのサイト</a> <a href="http://www1.u-netsurf.ne.jp/~june/" target="_blank"><b>PurpleMoon</b> 님의 사이트</a>에서
<b>★Graphics for your Site! <b>★Graphics for your Site!
   ホームページ用素材集</b>  をクリック    홈페이지용 소재집</b>  을 클릭
     ↓      ↓
左フレームの <b>イラスト・イラスト壁紙</b>  をクリック 왼쪽 프레임의 <b>일러스트·일러스트 배경화면</b> 을 클릭
     ↓      ↓
左フレーム下の「黒系背景」 から <b>月に還る精霊</b>  をクリック 왼쪽 프레임 하단의 '검은색 계열 배경'에서 <b>달로 돌아가는 정령</b> 을 클릭
<b>画像を使用したらPurpleMoonさんにリンクをはりましょう</b> <b>이미지를 사용하신 후에는 PurpleMoon 님 사이트 링크를 걸어 주세요.</b>
</pre> </pre>
</blockquote> </blockquote>
<p> <p>
<span class="font1"></span><span class="font2"> 管理者機能。</span> <span class="font1"></span><span class="font2"> 관리자 기능.</span>
</p> </p>
<blockquote> <blockquote>
<p> <p>
かなり多機能になりました。<br> 기능이 대폭 보강되었습니다.<br>
セキュリティの懸念があるので、管理機能へのリンクはつけてません。<br> 보안상의 우려가 있어 메인 화면 등에 관리 기능용 링크는 달아 두지 않았습니다.<br>
管理機能へのアクセスは <b>http://あなたのURL/ore_plus/ore_admin.cgi?administrator=管理者パスワード</b><br> 관리 기능에 접속하려면 주소창에 <b>http://도메인주소/ore_plus/ore_admin.cgi?administrator=관리자비밀번호</b> 형식으로 입력해 주십시오.<br>
上記URLを記述すると管理機能へログインできます。管理者パスワードは ore_config.cgiで設定した $admin_passの値です。<br> URL을 통해 관리 기능에 로그인할 수 있습니다. 관리자 비밀번호는 ore_config.cgi에서 설정한 $admin_pass 값입니다.<br>
ちなみに、ゲームログイン時に任意参加者のキャラ名、そしてパスワード入力欄に管理者パスワードを入力すると、<br> 참고로 게임 로그인 화면에서 임의의 참가자 캐릭터 이름을 입력한 뒤, 비밀번호 칸에 관리자 비밀번호를 입력하면 해당 참가자의 개별 비밀번호를 모르더라도 로그인할 수 있습니다.<br>
任意参加者固有のパスワードなしでもログインできるようになってます。<br> 버전 업그레이드 직후에는 관리 기능 내에서 최종 접속일·IP 주소·호스트 이름·브라우저 정보 등이 제대로 표시되지 않을 수 있으나, 약 일주일 정도 지나면 정상적으로 표시됩니다.
バージョンアップ直後、管理機能にて 最終アクセス・IPアドレス・ホスト名・ブラウザ情報が表示れない場合がありますが、1週間程度で表示されるようになります。 </p>
</p> </blockquote>
</blockquote>
<p>
<p> <span class="font1"></span><span class="font2"> 커스터마이징.</span>
<span class="font1"></span><span class="font2"> カスタマイズ。</span> </p>
</p>
<blockquote>
<blockquote> <p>스크립트 소스 코드 안에 매우 자세한 주석이 작성되어 있습니다. 주석을 읽어도 잘 이해가 되지 않는 부분은 함부로 설정을 변경하지 마십시오.</p>
<p>スクリプト中にかなり詳細な注釈があります。それを参照しても解らない場合は設定など変更しないでください。</p> </blockquote>
</blockquote>
<ul>
<ul> <li>게임 본체 환경 설정 &gt;&gt; ./ore_config.cgi에 있습니다.</li>
<li>ゲーム本体の環境設定 &gt;&gt; ./ore_config.cgiにあります。</li> <li>게시판 관련 환경 설정 &gt;&gt; ./inc/ore_sub-bbs.cgi에 있습니다.</li>
<li>掲示板系の環境設定 &gt;&gt; ./inc/ore_sub-bbs.cgiにあります。</li> <li>국가 NPC 데이터 &gt;&gt; ./inc/ore_sub-npc_1.cgi에 있습니다.</li>
<li>国NPCのデータ &gt;&gt; ./inc/ore_sub-npc_1.cgiにあります。</li> <li>이매망량(몬스터) 데이터 &gt;&gt; ./inc/ore_sub-npc_2.cgi에 있습니다.</li>
<li>魑魅魍魎のデータ &gt;&gt; ./inc/ore_sub-npc_2.cgiにあります。</li> </ul>
</ul>
<blockquote>
<blockquote> <p>이번 버전부터 확장성이 매우 뛰어나므로, 새로운 이벤트를 직접 추가하는 것도 꽤 쉬울 것입니다...</p>
<p>今バージョンから非常に拡張性が高いので新しいイベント追加なんかも簡単だと思うです・・。</p> </blockquote>
</blockquote>
<p>
<p> <span class="font1"></span><span class="font2"> 의문·질문·요청사항은.</span>
<span class="font1"></span><span class="font2"> 疑問・質問・要望は。</span> </p>
</p> <blockquote>
<blockquote> <p><a href="http://www24.big.or.jp/%7Eobo/game/ore_/gild/index.shtml#support" target="_blank">여기를 확인해 주세요.</a></p>
<p><a href="http://www24.big.or.jp/%7Eobo/game/ore_/gild/index.shtml#support" target="_blank">ここ見てください。</a></p> </blockquote>
</blockquote>
<p>
<p> <span class="font1"></span><span class="font2"> 개조 정보는.</span>
<span class="font1"></span><span class="font2"> 改造情報は。</span> </p>
</p> <blockquote>
<blockquote> <p><a href="http://www24.big.or.jp/%7Eobo/game/ore_/gild/index.shtml#kaizo" target="_blank">여기를 확인해 주세요.</a></p>
<p><a href="http://www24.big.or.jp/%7Eobo/game/ore_/gild/index.shtml#kaizo" target="_blank">ここ見てください。</a></p> </blockquote>
</blockquote>
<p> </p>
<p> </p> <p> </p>
<p> </p>
</body>
</body> </html>
</html>