罪と罰++二律背反
罪罰アイコン
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
] [
リンク元
]
開始行:
[[罪罰改造]]
各キャラにアイコンを設定できるようにする
*アイコンパラメータの保存と読み出し [#h701cca1]
**./inc/ore_sub-system.cgi [#l01b7835]
-ユーザファイルからパラメータ名(icon)をキーにして変数$ico...
sub hash_data {
# ... ( 省 略 ) ...
$info_mes = $DAT{'info_mes'};
$icon = $DAT{'icon'};
}
-ユーザファイルに保存するデータに$iconを加える
sub dat_write {
# ... ( 省 略 ) ...
,icon;$icon,info_mes;$info_mes,\n";
-info_mesの後ろに追加していたところ、iconが消えてしまう。
現象を追えないので、とりあえず、iconフィールドの場所を変...
info_mesの後ろには加えない方がいいのかな?
フォームデコード
-情報画面でポストされる値を変数へセットする
sub decode {
# ... ( 省 略 ) ...
$com = $in{'com'};
$icon_fn = $in{'icon'};
}
*情報フォームに手を入れる [#g6bc1bcd]
**./inc/ore_sub-infomation_pc.cgi [#q7935344]
sub infomation_com {
# ... ( 省 略 ) ...
if($com){
# ... ( 省 略 ) ...
$info_mes = $com;
}
$icon = $icon_fn if($icon_fn);
# ... ( 省 略 ) ...
# ここ付近に追加
# <input type=text name="icon" class="button2" style="...
# テキストボックスの替わりにアイコン選択部分を参照して...
<input type=text name="com" class="button2" style="wid...
# ... ( 省 略 ) ...
}
**アイコンの選択部分 [#vac194d8]
+$log .= の直前の行に下を追加
$select_icon = qq|<select name="icon" style="width:100px...
for($no=1;$no<11;$no++){ # アイコン番号 001-...
$no0 = sprintf('%03.d',$no);
if("$no0" eq $icon){ # $icon変数と同じな...
$select_icon .= qq|<option value="$no0" selected>$no...
} else {
$select_icon .= qq|<option value="$no0">$no0</option...
}
}
$select_icon .= "</select>";
+FORM の中、表示させたいところに$select_iconをいれる。例...
コメントは全角40文字まで。<br>
<input type=text name="com" value="$info_mes" class="but...
<input type=submit value="ポチッ/更新" class="button2" s...
<input type=reset value="クリア" class="button2" style=...
<br><br>
$select_icon
EOM
*表示画面 [#u0fd770e]
**./inc/ore_sub-base_pc.cgi [#x9930bdf]
sub status{
# ... ( 省 略 ) ...
$log1.=<<EOM;
# ステータス表示幅を80%にしてアイコンの空間を空ける
# <tt class="moji1" >
<tt class="moji1" style="width:80%;" >
# ... ( 省 略 ) ...
# 一番下に以下を追加
$log1 .= qq|<SPAN style="height:100%;">|;
if($icon ne ''){
$log1 .= qq|<IMG alt="ICON" src="$imgs/$icon.gif" width=...
style="border-style:solid;border-width:1px;border-colo...
} else {
$log1 .= qq|<span alt="ICON" width="66px" height="80px"
style="color:silver;width:66px;height:80px;border-styl...
;border-color:blue;" >
NowPrinting|;
}
$log1 .= qq|</SPAN>|;
*仕上げ。ログインページ ./index.cgi [#r0d45c5e]
プレイ中の参加者のところにアイコンを付加する
# 参加者データ一括読み込み
sub read_data_index{
# ... ( 省 略 ) ...
foreach(0 .. $#tdat){
%DAT = '';
my @prats = split(/,/,$tdat[$_]);
foreach $prats (@prats){
my($key,$v) = split(/;/,$prats);
$DAT{$key} = $v;
}
# 現在のプレイヤー抽出
if($player_now>=$time-$DAT{'la'}){
if($mv_mode eq 'pc'){
# ここから変更箇所
if ($DAT{'icon'} ne '') {
$icon_text = qq|<span>
<IMG src="$imgs/$DAT{'icon'}.gif" style="width:40px;bord...
} else {
$icon_text = qq|<span style="width:40px;"></sp...
}
$now_nm .= ($DAT{'sogo'}) ? qq|<div style="color:$color[...
$icon_text
<span style=height:100%;>$DAT{'nm'} [$sogo_p[$DAT{'sogo'...
</div>| : qq|<div style="color:$color[$DAT{'camp'}]">
<span>$icon_text
<span style="height:100%;">$DAT{'nm'} [$cmp[$DAT{'camp'}...
</div>| ;
}else{
# ... ( 省 略 ) ...
*修行・対戦相手 [#e8834e10]
**./inc/ore_sub-training_pc.cgi [#f99bbb9d]
sub sele_list
# ... ( 省 略 ) ...
# アイコン読み込み
$CP_V{$R{'nm'}} = $R{'camp'}; # 所属
$SG_V{$R{'nm'}} = $R{'sogo'}; # 称号
$N_M{$R{'nm'}} = $R{'id'}; # ID
$ICON_V{$R{'nm'}} = $R{'icon'}; #ICON
# ... ( 省 略 ) ...
#名前の前にアイコンを付加する
$log .= ($ICON_V{$nm}) ? qq|<IMG src="$imgs/$ICON_V{$n...
$log .= "</td><td>";
# 称号
# ... ( 省 略 ) ...
#対戦相手
$ticon = $VS{'icon'}; # ICON
*掲示板に表示する [#x0bea687]
-park.cgiなど各掲示板ファイルを修正
**アイコンの読み込み [#ud5d0e2b]
# ログを展開
open(IN,"$logfile") || &error("Open Error : $logf...
local $log_last_flag=0;
while (<IN>) {
$log_last_flag++;
# アイコンを$iconに読み込み
#local($date,$nm,$camp,$com,$sogo,$addr,$...
local($date,$nm,$camp,$com,$sogo,$addr,$h...
$icon_img = qq|<IMG src="$imgs/$icon.gif"...
** アイコンイメージを表示する [#pe52328f]
# ↑のちょっと下付近に
($mv_mode eq 'mv') ?
print qq|$nm:$com [$camp_info[$ca...
print qq|<span style="color:$camp...
**アイコンをログに書き込み [#e904b752]
#ログの更新処理
# unshift (@lines,"$date<>$DAT{'nm'}<>$DAT{'camp'}<>$com...
unshift (@lines,"$date<>$DAT{'nm'}<>$DAT{'camp'}<>$com<>...
終了行:
[[罪罰改造]]
各キャラにアイコンを設定できるようにする
*アイコンパラメータの保存と読み出し [#h701cca1]
**./inc/ore_sub-system.cgi [#l01b7835]
-ユーザファイルからパラメータ名(icon)をキーにして変数$ico...
sub hash_data {
# ... ( 省 略 ) ...
$info_mes = $DAT{'info_mes'};
$icon = $DAT{'icon'};
}
-ユーザファイルに保存するデータに$iconを加える
sub dat_write {
# ... ( 省 略 ) ...
,icon;$icon,info_mes;$info_mes,\n";
-info_mesの後ろに追加していたところ、iconが消えてしまう。
現象を追えないので、とりあえず、iconフィールドの場所を変...
info_mesの後ろには加えない方がいいのかな?
フォームデコード
-情報画面でポストされる値を変数へセットする
sub decode {
# ... ( 省 略 ) ...
$com = $in{'com'};
$icon_fn = $in{'icon'};
}
*情報フォームに手を入れる [#g6bc1bcd]
**./inc/ore_sub-infomation_pc.cgi [#q7935344]
sub infomation_com {
# ... ( 省 略 ) ...
if($com){
# ... ( 省 略 ) ...
$info_mes = $com;
}
$icon = $icon_fn if($icon_fn);
# ... ( 省 略 ) ...
# ここ付近に追加
# <input type=text name="icon" class="button2" style="...
# テキストボックスの替わりにアイコン選択部分を参照して...
<input type=text name="com" class="button2" style="wid...
# ... ( 省 略 ) ...
}
**アイコンの選択部分 [#vac194d8]
+$log .= の直前の行に下を追加
$select_icon = qq|<select name="icon" style="width:100px...
for($no=1;$no<11;$no++){ # アイコン番号 001-...
$no0 = sprintf('%03.d',$no);
if("$no0" eq $icon){ # $icon変数と同じな...
$select_icon .= qq|<option value="$no0" selected>$no...
} else {
$select_icon .= qq|<option value="$no0">$no0</option...
}
}
$select_icon .= "</select>";
+FORM の中、表示させたいところに$select_iconをいれる。例...
コメントは全角40文字まで。<br>
<input type=text name="com" value="$info_mes" class="but...
<input type=submit value="ポチッ/更新" class="button2" s...
<input type=reset value="クリア" class="button2" style=...
<br><br>
$select_icon
EOM
*表示画面 [#u0fd770e]
**./inc/ore_sub-base_pc.cgi [#x9930bdf]
sub status{
# ... ( 省 略 ) ...
$log1.=<<EOM;
# ステータス表示幅を80%にしてアイコンの空間を空ける
# <tt class="moji1" >
<tt class="moji1" style="width:80%;" >
# ... ( 省 略 ) ...
# 一番下に以下を追加
$log1 .= qq|<SPAN style="height:100%;">|;
if($icon ne ''){
$log1 .= qq|<IMG alt="ICON" src="$imgs/$icon.gif" width=...
style="border-style:solid;border-width:1px;border-colo...
} else {
$log1 .= qq|<span alt="ICON" width="66px" height="80px"
style="color:silver;width:66px;height:80px;border-styl...
;border-color:blue;" >
NowPrinting|;
}
$log1 .= qq|</SPAN>|;
*仕上げ。ログインページ ./index.cgi [#r0d45c5e]
プレイ中の参加者のところにアイコンを付加する
# 参加者データ一括読み込み
sub read_data_index{
# ... ( 省 略 ) ...
foreach(0 .. $#tdat){
%DAT = '';
my @prats = split(/,/,$tdat[$_]);
foreach $prats (@prats){
my($key,$v) = split(/;/,$prats);
$DAT{$key} = $v;
}
# 現在のプレイヤー抽出
if($player_now>=$time-$DAT{'la'}){
if($mv_mode eq 'pc'){
# ここから変更箇所
if ($DAT{'icon'} ne '') {
$icon_text = qq|<span>
<IMG src="$imgs/$DAT{'icon'}.gif" style="width:40px;bord...
} else {
$icon_text = qq|<span style="width:40px;"></sp...
}
$now_nm .= ($DAT{'sogo'}) ? qq|<div style="color:$color[...
$icon_text
<span style=height:100%;>$DAT{'nm'} [$sogo_p[$DAT{'sogo'...
</div>| : qq|<div style="color:$color[$DAT{'camp'}]">
<span>$icon_text
<span style="height:100%;">$DAT{'nm'} [$cmp[$DAT{'camp'}...
</div>| ;
}else{
# ... ( 省 略 ) ...
*修行・対戦相手 [#e8834e10]
**./inc/ore_sub-training_pc.cgi [#f99bbb9d]
sub sele_list
# ... ( 省 略 ) ...
# アイコン読み込み
$CP_V{$R{'nm'}} = $R{'camp'}; # 所属
$SG_V{$R{'nm'}} = $R{'sogo'}; # 称号
$N_M{$R{'nm'}} = $R{'id'}; # ID
$ICON_V{$R{'nm'}} = $R{'icon'}; #ICON
# ... ( 省 略 ) ...
#名前の前にアイコンを付加する
$log .= ($ICON_V{$nm}) ? qq|<IMG src="$imgs/$ICON_V{$n...
$log .= "</td><td>";
# 称号
# ... ( 省 略 ) ...
#対戦相手
$ticon = $VS{'icon'}; # ICON
*掲示板に表示する [#x0bea687]
-park.cgiなど各掲示板ファイルを修正
**アイコンの読み込み [#ud5d0e2b]
# ログを展開
open(IN,"$logfile") || &error("Open Error : $logf...
local $log_last_flag=0;
while (<IN>) {
$log_last_flag++;
# アイコンを$iconに読み込み
#local($date,$nm,$camp,$com,$sogo,$addr,$...
local($date,$nm,$camp,$com,$sogo,$addr,$h...
$icon_img = qq|<IMG src="$imgs/$icon.gif"...
** アイコンイメージを表示する [#pe52328f]
# ↑のちょっと下付近に
($mv_mode eq 'mv') ?
print qq|$nm:$com [$camp_info[$ca...
print qq|<span style="color:$camp...
**アイコンをログに書き込み [#e904b752]
#ログの更新処理
# unshift (@lines,"$date<>$DAT{'nm'}<>$DAT{'camp'}<>$com...
unshift (@lines,"$date<>$DAT{'nm'}<>$DAT{'camp'}<>$com<>...
ページ名: