"); print(""); print("汝は人狼なりや?[過去ログ] \r\n"); print("\r\n"); print("\r\n"); switch($log_mode) { case('on'): OldLogOutput($room_no); break; default: OldLogListOutput($page); break; } print(" \r\n"); //MySQLとの接続を閉じる DisconnectDatabase($dbHandle); //**************かんすー //---------------------------------------------------------- //過去ログ一覧表示 function OldLogListOutput($page) { global $maxuser_image_array,$room_option_wish_role_image,$room_option_real_time_image,$room_option_dummy_boy_image, $room_option_open_vote_image,$room_option_decide_image,$room_option_authority_image,$room_option_poison_image, $logview_onepage_count,$victory_role_human_image,$victory_role_wolf_image,$victory_role_fox_image, $victory_role_draw_image; if($page == '') $page = 1; $res_oldlog_list = mysql_query("select room_no,room_name,room_comment,date,game_option,option_role,max_user,victory_role from room where status = 'finished'"); $finished_room_count = mysql_num_rows($res_oldlog_list); //終了した村の数 //全部表示の場合、一ページで全部表示する。それ以外は設定した数ごと表示 if($page === 'all') $_onepage_count = $finished_room_count; else $_onepage_count = $logview_onepage_count; print("←戻る
\r\n"); print("
\r\n"); if($finished_room_count == 0) { print("    ログはありません"); return; } print("
"); print(""); print(""); //最初に表示する村Noと最後の村No if($page == 'all') { $begin_no = 1; $end_no = $finished_room_count; } else { $begin_no = ($page-1) * $_onepage_count +1; $end_no = $begin_no + $_onepage_count -1; if($end_no > $finished_room_count) { $end_no = $begin_no + ($finished_room_count % $_onepage_count) -1; } } print(""); print("
"); print("[ページ] \r\n"); //ページ表示 for($i=1 ; $i <= ($finished_room_count -1)/$logview_onepage_count +1 ; $i++) { if( ($page == $i) && ($page != 'all') ) print("[$i] \r\n"); else print("[$i] \r\n"); } if($page == 'all') print("[all]\r\n"); else print("[all] \r\n"); print("
"); print(" \r\n"); print(" \r\n"); //表示する行の最初に移動 mysql_data_seek($res_oldlog_list,$begin_no-1); for($i=$begin_no ; $i<=$end_no ; $i++) { $oldlog_list_arr = mysql_fetch_assoc($res_oldlog_list); $log_room_no = $oldlog_list_arr['room_no']; $log_room_name = $oldlog_list_arr['room_name']; $log_room_comment = $oldlog_list_arr['room_comment']; $log_room_date = $oldlog_list_arr['date']; $log_room_game_option = $oldlog_list_arr['game_option']; $log_room_option_role = $oldlog_list_arr['option_role']; $log_room_max_user = $oldlog_list_arr['max_user']; $log_room_victory_role = $oldlog_list_arr['victory_role']; if( strstr($log_room_game_option,"wish_role") ) $log_wish_role_str = "\"役割希望制\""; else $log_wish_role_str = "
"; if( strstr($log_room_game_option,"real_time") ) { if( strstr($log_room_game_option,"real_time:") ) { //実時間の制限時間を取得 $real_time_str = strstr($log_room_game_option,"real_time"); sscanf($real_time_str,"real_time:%d:%d",&$day_real_limit_minutes,&$night_real_limit_minutes); $real_time_alt_str = "リアルタイム制 昼: $day_real_limit_minutes 分 夜: $night_real_limit_minutes 分"; } else $real_time_alt_str = "リアルタイム制"; $log_real_time_str = "\""; } else $log_real_time_str = "
"; if( strstr($log_room_game_option,"dummy_boy") ) $log_dummy_boy_str = "\"初日の夜は身代わり君\""; else $log_dummy_boy_str = "
"; if( strstr($log_room_game_option,"open_vote") ) $log_open_vote_str = "\"投票した票数を公表する\""; else $log_open_vote_str = "
"; if( strstr($log_room_option_role,"decide") ) $log_decide_str = "\"16人以上で決定者登場\""; else $log_decide_str = "
"; if( strstr($log_room_option_role,"authority") ) $log_authority_str = "\"16人以上で権力者登場\""; else $log_authority_str = "
"; if( strstr($log_room_option_role,"poison") ) $log_poison_str = "\"20人以上で埋毒者登場(村人二人→埋毒者1"; else $log_poison_str = "
"; switch($log_room_victory_role) { case('human'): $voctory_role_str = "\"村人勝利\""; break; case('wolf'): $voctory_role_str = "\"人狼勝利\""; break; case('fox'): case('fox1'): case('fox2'): $voctory_role_str = "\"妖狐勝利\""; break; case('draw'): $voctory_role_str = "\"引き分け\""; break; default: $voctory_role_str = "-"; break; } if($log_room_date == 0) //廃村の場合、色を灰色にする $dead_room_color = ' style="color:silver"'; else $dead_room_color = ''; print(" \r\n"); print(" \r\n"); print(" \r\n"); print(" \r\n"); print(" \r\n"); print(" \r\n"); print(" \r\n"); print(" \r\n"); print(" \r\n"); print(" \r\n"); print(" \r\n"); print(" \r\n"); print(" \r\n"); } print("
村No村名村について人数オプション
$log_room_no \r\n"); print("$log_room_name 村\r\n"); print("(\r\n"); print("\r\n"); print("逆&霊\r\n"); print("\r\n"); print("逆&逝\r\n"); print(")〜 $log_room_comment 〜$voctory_role_str$log_wish_role_str $log_real_time_str $log_dummy_boy_str $log_open_vote_str $log_decide_str $log_authority_str $log_poison_str
\r\n"); print("
"); print("
"); } //---------------------------------------------------------- //指定の部屋Noのログを出力する function OldLogOutput($room_no) { global $live,$reverse_log,$heaven_only; if($room_no == NULL) { print("   ・村を指定してください
\r\n"); print("   ←戻る
\r\n"); return; } //日付と昼か夜かを取得 $res_room = mysql_query("select date,room_name,room_comment,status,day_night from room where room_no = $room_no"); $room_arr = mysql_fetch_assoc($res_room); $last_date = $room_arr['date']; $room_name = $room_arr['room_name']; $room_comment = $room_arr['room_comment']; $status = $room_arr['status']; $day_night = $room_arr['day_night']; $live = 'dead2'; //他の関数に影響、すべて表示するため $room_message = "" . $room_name ."村 〜" . $room_comment ."〜[" . $room_no . "番地]
"; //戻る先を前のページにする $referer_page_str = strstr($_SERVER['HTTP_REFERER'],"page"); sscanf($referer_page_str,"page=%s",&$referer_page); print("←戻る
\r\n"); print("\r\n"); print("\r\n"); print(" \r\n"); print("\r\n"); PlayerListOutput(); //プレイヤーリストを出力 print("\r\n"); if($reverse_log == 'on') //逆順表示、一日目から最終日まで { if($heaven_only == 'on') { for($i=1 ; $i<=$last_date ;$i++) { DateTalkLogOutput($i,'heaven_only',$reverse_log); print("\r\n"); } } else { DateTalkLogOutput($date,'beforegame',$reverse_log); print("\r\n"); for($i=1 ; $i<=$last_date ;$i++) { DateTalkLogOutput($i,'',$reverse_log); print("\r\n"); } //VictoryOutput(); //print("\r\n"); DateTalkLogOutput($date,'aftergame',$reverse_log); print("\r\n"); } } else //最終日から最初まで { if($heaven_only == 'on') { for($i=$last_date ; $i>0 ;$i--) { DateTalkLogOutput($i,'heaven_only',$reverse_log); print("\r\n"); } } else { DateTalkLogOutput($date,'aftergame',$reverse_log); print("\r\n"); //VictoryOutput(); //print("\r\n"); for($i=$last_date ; $i>0 ;$i--) { DateTalkLogOutput($i,'',$reverse_log); print("\r\n"); } DateTalkLogOutput($date,'beforegame',$reverse_log); print("\r\n"); } } print("
$room_message
\r\n"); } //---------------------------------------------------------- //指定の日付の会話ログを出力 function DateTalkLogOutput($set_date,$set_location,$reverse_log) { global $room_no,$last_date,$date,$day_night,$heaven_talk,$heaven_only; if($reverse_log == 'on') //逆順、初日から最終日まで $select_order = 'order by time'; else //最終日から初日まで $select_order = 'order by time DESC'; if($set_location == 'heaven_only') { //会話のユーザ名、ハンドル名、発言、発言のタイプを取得 $result = mysql_query("select user_entry.uname as talk_uname, user_entry.handle_name as talk_handle_name, user_entry.sex as talk_sex, user_icon.color as talk_color, talk.sentence as sentence, talk.font_type as font_type, talk.location as location from user_entry,talk,user_icon where talk.room_no = $room_no and talk.date = $set_date and ( (talk.location = 'heaven') or (talk.uname = 'system') ) and ( ( user_entry.room_no = $room_no and user_entry.uname = talk.uname and user_entry.icon_no = user_icon.icon_no) or ( user_entry.room_no = 0 and talk.uname = 'system' and user_entry.icon_no = user_icon.icon_no) ) $select_order"); if( ($reverse_log == 'on') && ($set_date != 1) ) //二日目以降は昼から始まる $table_class = "day"; else $table_class = "night"; } elseif( ($set_location == 'beforegame') || (($set_location == 'aftergame')) ) { //会話のユーザ名、ハンドル名、発言、発言のタイプを取得 $result = mysql_query("select user_entry.uname as talk_uname, user_entry.handle_name as talk_handle_name, user_entry.sex as talk_sex, user_icon.color as talk_color, talk.sentence as sentence, talk.font_type as font_type, talk.location as location from user_entry,talk,user_icon where talk.room_no = $room_no and talk.location like '$set_location%' and ( ( user_entry.room_no = $room_no and user_entry.uname = talk.uname and user_entry.icon_no = user_icon.icon_no) or ( user_entry.room_no = 0 and talk.uname = 'system' and user_entry.icon_no = user_icon.icon_no) ) $select_order"); $table_class = $set_location; } else { //会話のユーザ名、ハンドル名、発言、発言のタイプを取得 $result = mysql_query("select user_entry.uname as talk_uname, user_entry.handle_name as talk_handle_name, user_entry.sex as talk_sex, user_icon.color as talk_color, talk.sentence as sentence, talk.font_type as font_type, talk.location as location from user_entry,talk,user_icon where talk.room_no = $room_no and talk.date = $set_date and talk.location <> 'aftergame' and talk.location <> 'beforegame' and ( ( user_entry.room_no = $room_no and user_entry.uname = talk.uname and user_entry.icon_no = user_icon.icon_no) or ( user_entry.room_no = 0 and talk.uname = 'system' and user_entry.icon_no = user_icon.icon_no) ) $select_order"); if( ($reverse_log == 'on') && ($set_date != 1) ) //二日目以降は昼から始まる $table_class = "day"; else $table_class = "night"; } $talk_count = mysql_num_rows($result); //print(mysql_result($result,1,6)); print(""); if( ($set_location != 'beforegame') && ($set_location != 'aftergame') && ($set_date != $last_date) && ($reverse_log != 'on') && ($heaven_only != 'on')) { $day_night = "day"; $date = $set_date+1; print("\r\n"); print(""); } if( ($reverse_log == 'on') && ($set_date != 1) ) $day_night = "day"; else $day_night = "night"; //出力 for($i=0 ; $i < $talk_count ; $i++) { $talk_log_array = mysql_fetch_assoc($result); $talk_uname = $talk_log_array['talk_uname']; $talk_handle_name = $talk_log_array['talk_handle_name']; $talk_sex = $talk_log_array['talk_sex']; $talk_color = $talk_log_array['talk_color']; $sentence = $talk_log_array['sentence']; $font_type = $talk_log_array['font_type']; $location = $talk_log_array['location']; $sentence = str_replace("\n","
",$sentence); //改行を
タグに置換 if( strstr($location,"day") && ($day_night == 'night') && ($reverse_log != 'on') ) { print("
"); LastWordsOutput(); //遺言を出力 print("
"); DeadManOutput(); //死亡者を出力 print("
"); if($heaven_only != 'on') { print(""); print(""); print(""); print("
"); $date = $set_date; DeadManOutput(); //死亡者を出力 print("
"); $date = $set_date; VoteListOutput(); //投票結果出力 print("
"); } $day_night = "day"; $table_class = "day"; print(""); } elseif( strstr($location,"night") && ($day_night == 'day') && ($reverse_log == 'on') ) { print("
"); if($heaven_only != 'on') { print(""); print(""); print(""); print("
"); VoteListOutput(); //投票結果出力 print("
"); $day_night = "night"; $date = $set_date; DeadManOutput(); //死亡者を出力 print("
"); } $day_night = "night"; $table_class = "night"; print(""); } if( $font_type == 'normal' ) //文字の大きさ $font_type_str = ""; elseif( $font_type == 'strong' ) $font_type_str = ""; elseif( $font_type == 'weak' ) $font_type_str = ""; //会話出力----------------------------------------------------------------- if( strstr($location,'system') && ($sentence == 'OBJECTION') ) //異議あり { if($talk_sex == 'male') $this_bgcolor = '#336699'; else $this_bgcolor = '#FF0099'; print("\r\n"); print("\r\n"); print("\r\n"); } elseif( strstr($location,'system') && ($sentence == 'GAMESTART_DO') ) //ゲーム開始に投票 {/* print("\r\n"); print("\r\n"); print("\r\n");*/ } elseif( strstr($location,'system') && strstr($sentence,'KICK_DO') ) //キックに投票 { $sentence_enc = str_replace(" ","\\space;",$sentence); sscanf($sentence_enc,"KICK_DO\t%s",&$target_handle_name); $target_handle_name = str_replace("\\space;"," ",$target_handle_name); print("\r\n"); print("\r\n"); print("\r\n"); } elseif( strstr($sentence,'NIGHT') ) { print("\r\n"); } elseif( $talk_uname == 'system' ) //ユーザ名:system は$sentenceをそのまま出力(システムメッセージ) { print("\r\n"); if( strstr($sentence,'MORNING') ) { sscanf($sentence,"MORNING\t%d",&$morning_date); print("\r\n"); } elseif( $heaven_only != 'on') { print("\r\n"); } print("\r\n"); } else //会話 { if( strstr($location,'system') && strstr($sentence,'VOTE_DO') ) //処刑に投票 { print("\r\n"); $sentence_enc = str_replace(" ","\\space;",$sentence); sscanf($sentence_enc,"VOTE_DO\t%s",&$target_handle_name); $target_handle_name = str_replace("\\space;"," ",$target_handle_name); //print("\r\n"); print("\r\n"); } elseif( strstr($location,'system') && strstr($sentence,'WOLF_EAT') ) //狼の投票 { print("\r\n"); $sentence_enc = str_replace(" ","\\space;",$sentence); sscanf($sentence_enc,"WOLF_EAT\t%s",&$target_handle_name); $target_handle_name = str_replace("\\space;"," ",$target_handle_name); //print("\r\n"); print("\r\n"); } elseif( strstr($location,'system') && strstr($sentence,'MAGE_DO') ) //占い師の投票 { print("\r\n"); $sentence_enc = str_replace(" ","\\space;",$sentence); sscanf($sentence_enc,"MAGE_DO\t%s",&$target_handle_name); $target_handle_name = str_replace("\\space;"," ",$target_handle_name); //print("\r\n"); print("\r\n"); } elseif( strstr($location,'system') && strstr($sentence,'GUARD_DO') ) //狩人の投票 { print("\r\n"); $sentence_enc = str_replace(" ","\\space;",$sentence); sscanf($sentence_enc,"GUARD_DO\t%s",&$target_handle_name); $target_handle_name = str_replace("\\space;"," ",$target_handle_name); //print("\r\n"); print("\r\n"); } elseif( strstr($location,'heaven') ) //霊話 { if( ($heaven_talk == 'on') || ($heaven_only == 'on') ) { print("\r\n"); $talk_dead_name = $talk_handle_name . "(" .$talk_uname. ")"; print(""); print(""); print("\r\n"); print("\r\n"); } } else //その他の全てを表示 { if($location == 'night self_talk') { $talk_handle_name_str = "誰かの独り言"; $talk_text_color = 'snow'; $sentence = 'ブツブツ'; $talk_color = 'yellow'; } elseif($location == 'night wolf') { $talk_handle_name_str = " 狼 (人狼)"; $talk_text_color = '#ffccff'; $sentence = 'わんわん。'; $talk_color = 'red'; } elseif($location == 'night common') { $talk_handle_name_str = "共有さん(共有者)"; $talk_text_color = '#ccffcc'; $sentence = 'ひそひそ。'; $talk_color = 'blue'; } else { $talk_handle_name_str = $talk_handle_name; $talk_text_color = ''; } print("\r\n"); print(""); print(""); print("\r\n"); print("\r\n"); } } } if( ($set_location != 'beforegame') && ($set_location != 'aftergame') && ($set_date != $last_date) && ($reverse_log == 'on') && ($heaven_only != 'on') ) { $day_night = "day"; print(" \r\n"); print("\r\n"); } print("
            $talk_handle_name が異議を申し立てました
            $talk_handle_name はゲーム開始に投票しました
            $talk_handle_name は $target_handle_name にKICK投票しました
            < < 日が落ち、暗く静かな夜がやってきました > >
            < < 朝日が昇り $morning_date 日目の朝がやってきました > >             $sentence
            $talk_handle_name は 処刑投票しました
            $talk_handle_name たち人狼は $target_handle_name に狙いをつけました
            $talk_handle_name は $target_handle_name を占います
            $talk_handle_name は $target_handle_name の護衛に付きました
"); print("
"); print("$talk_dead_name
"); print("
$font_type_str $sentence
"); print("
"); print("$talk_handle_name_str"); print("
$font_type_str $sentence
"); print("
\r\n"); $date = $set_date+1; DeadManOutput(); //死亡者を出力 print("
"); LastWordsOutput(); //遺言を出力 print("
\r\n"); } ?>