51200) { error("投稿量が大きすぎます"); } $_POST = array_map("htmlspecialchars", $_POST); $_POST = array_map("trim", $_POST); extract($_POST); $_POST["url"] = ereg_replace ("http://", "", $_POST["url"]); } else { $_GET = array_map("htmlspecialchars", $_GET); $_GET = array_map("trim", $_GET); extract($_GET); $_GET["url"] = ereg_replace ("http://", "", $_GET["url"]); } if($mode == "") { html_top(); } elseif($mode == 'log_in') { log_in(); } elseif($mode == 'chara_make') { chara_make(); } elseif($mode == 'battle2') { require ("extensions.php");battle2(); } elseif($mode == 'ranking2') { require ("extensions.php");ranking2(); } elseif($mode == 'admin') { require ("extensions.php");admin(); } elseif($mode == 'vsview') { require ("extensions.php");vsview(); } elseif($mode == 'make_end') { make_end(); } elseif($mode == 'regist') { regist(); } elseif($mode == 'battle') { battle(); } elseif($mode == 'tensyoku') { tensyoku(); } elseif($mode == 'monster') { monster(); } elseif($mode == 'ranking') { ranking(); } elseif($mode == 'yado') { yado(); } elseif($mode == 'message') { message(); } elseif($mode == 'item_shop') { item_shop(); } elseif($mode == 'item_buy') { item_buy(); } elseif($mode == 'item2_shop') { item2_shop(); } elseif($mode == 'item2_buy') { item2_buy(); } elseif($mode == 'item3_shop') { item3_shop(); } elseif($mode == 'item3_buy') { item3_buy(); } elseif($mode == 'item6_buy') { require ("irai.php");item6_buy(); } elseif($mode == 'item6_shop') { require ("irai.php");item6_shop(); } elseif($mode == 'info_shop'){require('info.php');info_shop();} elseif($mode == 'info_buy'){require('info.php');info_buy();} elseif($mode == 'rank_war'){rank_war();} elseif($mode == 'sfia'){require("sfia.php");sfia();} elseif($mode == 'use_sfia'){require("sfia.php");use_sfia();} elseif($mode == 'skl_dsp') { require ("skill.php");skl_dsp(); } elseif($mode == 'skl_set') { require ("skill.php");skl_set(); } elseif($mode == 'monster_2') { require ("irai.php");monster_2(); } elseif($mode == 'snd_dsp') { require ("post.php");snd_dsp(); } elseif($mode == 'snd_item') { require ("post.php");snd_item(); } elseif($mode == 'get_dsp') { require ("post.php");get_dsp(); } elseif($mode == 'get_item') { require ("post.php");get_item(); } elseif($mode == 'bank') { require ("opt.php");bank(); } elseif($mode == 'banka') { require ("opt.php");banka(); } elseif($mode == 'config_in') { require('./config.php'); config_in; } elseif($mode == 'config_henkou') { require('./config.php'); config_henkou; } elseif($mode == 'kunren') { kunren(); } elseif($mode == 'sec_shop') { require ("sec.php");sec_shop(); } elseif($mode == 'sec_buy') { require ("sec.php");sec_buy(); } elseif($mode == 'sec_sell') { require ("sec.php");sec_sell(); } elseif($mode == 'loft') { require ('loft.php'); loft (); } elseif($mode == 'item_chg') { require ('loft.php'); item_chg (); } elseif($mode == 'item2_chg') { require ('loft.php'); item2_chg (); } elseif($mode == 'midi_con') { require ("midi.php");midi_con(); } elseif($mode == 'midi_conk') { require ("midi.php");midi_conk(); } elseif($mode == 'auction_dsp') { require ("auction.php");auction_dsp(); } elseif($mode == 'auction_set') { require ("auction.php");auction_set(); } elseif($mode == 'auction_rank') { require ("auction.php");auction_rank(); } elseif($mode == 'auc_exhibit_dsp') { require ("auction.php");auc_exhibit_dsp(); } elseif($mode == 'auc_exhibit_set') { require ("auction.php");auc_exhibit_set(); } else html_top(); #------------# # 戦闘画面 # #------------# function battle() { global $mode,$vtime,$battle_flag,$ltime,$b_time,$ksite,$kurl,$kname,$ksex,$kchara,$kn_0,$kn_1,$kn_2,$kn_3,$kn_4,$kn_5,$kn_6,$ksyoku,$khp,$kmaxhp,$kex,$klv,$kgold,$klp,$ktotal,$kkati,$kwaza,$kitem,$kmons,$date,$win; require(syoki_file); if($battle_flag) { error("現在戦闘中です。少しお待ちになってから戦闘してください。"); } $battle_flag=1; foreach(file("$chara_file") as $battle){ list($kid,$kpass,$ksite,$kurl,$kname,$ksex,$kchara,$kn_0,$kn_1,$kn_2,$kn_3,$kn_4,$kn_5,$kn_6,$ksyoku,$khp,$kmaxhp,$kex,$klv,$kgold,$klp,$ktotal,$kkati,$kwaza,$kitem,$kmons,$khost,$kdate) = explode("<>", $battle); if($_POST['id'] == "$kid") { break; } } $ltime = time(); $ltime = $ltime - $kdate; $vtime = $b_time - $ltime; $mtime = $m_time - $ltime; if($_POST['id'] != "$kid") {error("オープンエラー、ID・パスワードが正しくありません。");} if($ltime < $b_time and $ktotal) { error("{$vtime}秒後闘えるようになります。\n"); } if($_POST['jobc']){ $jwnr = file("job_winner.cgi"); list($wid,$wpass,$wsite,$wurl,$wname,$wsex,$wchara,$wn_0,$wn_1,$wn_2,$wn_3,$wn_4,$wn_5,$wn_6,$wsyoku,$whp,$wmaxhp,$wex,$wlv,$wgold,$wlp,$wtotal,$wkati,$wwaza,$witem,$wmons,$whost,$wdate,$wcount,$lsite,$lurl,$lname) = explode("<>",$jwnr[$ksyoku]); if(!$wid){error("職業が設定されていません");} $king_name = "{$chara_syoku[$wsyoku]}王・"; }else{ list($wid,$wpass,$wsite,$wurl,$wname,$wsex,$wchara,$wn_0,$wn_1,$wn_2,$wn_3,$wn_4,$wn_5,$wn_6,$wsyoku,$whp,$wmaxhp,$wex,$wlv,$wgold,$wlp,$wtotal,$wkati,$wwaza,$witem,$wmons,$whost,$wdate,$wcount,$lsite,$lurl,$lname) = read_winner(); } if($wid == $kid) { error("現在チャンプなので闘えません。"); } if($chanp_milit) { if($kurl == $lurl) { error("チャンプが変わるまで闘えません。"); } } if($kitem){ foreach(file("$item_file") as $battle_item){ list($ci_no,$ci_name,$ci_dmg) = explode("<>", $battle_item); if($kitem == $ci_no) { break; } } } if($witem){ foreach(file("$item_file") as $battle_item){ list($wi_no,$wi_name,$wi_dmg) = explode("<>", $battle_item); if($witem == $wi_no) { break; } } } if(file_exists("$item_dir/{$_POST['id']}.cgi")){ $kitem2 = file("$item_dir/{$_POST['id']}.cgi"); $kitem2 = $kitem2[0]; } if(file_exists("$item_dir/$wid.cgi")){ $witem2 = file("$item_dir/$wid.cgi"); $witem2 = $witem2[0]; } if($kitem2){ foreach(file("$item2_file") as $battle_item2){ list($ci2_no,$ci2_name,$ci2_dmg) = explode("<>", $battle_item2); if($kitem2 == $ci2_no) { break; } } } if($witem2){ foreach(file("$item2_file") as $battle_item2){ list($wi2_no,$wi2_name,$wi2_dmg) = explode("<>", $battle_item2); if($witem2 == $wi2_no) { break; } } } $kitem3 = @file("$item_dir/{$kid}_2.cgi"); $kitem3 = $kitem3[0]; $hit=0; if($kitem3){ foreach(file("$item3_file") as $battle_item){ list($ci3_no,$ci3_name,$ci3_gold,$ci3_up[0],$ci3_up[1],$ci3_up[2],$ci3_up[3],$ci3_up[4],$ci3_up[5],$ci3_up[6],$ci3_up[7],$ci3_up[8],$ci3_desc) = explode("<>", $battle_item); if($ci3_no == "$kitem3"){$hit=1;break;} } } if($hit){ $kn_0 += $ci3_up[0]; $kn_1 += $ci3_up[1]; $kn_2 += $ci3_up[2]; $kn_3 += $ci3_up[3]; $kn_4 += $ci3_up[4]; $kn_5 += $ci3_up[5]; $kn_6 += $ci3_up[6]; $klp += $ci3_up[7]; $kmaxhp += $ci3_up[8]; }else{$ci3_no = "";} $witem3 = @file("$item_dir/{$wid}_2.cgi"); $witem3 = $witem3[0]; $hit=0; if($witem3){ foreach(file("$item3_file") as $battle_item){ list($wi3_no,$wi3_name,$wi3_gold,$wi3_up[0],$wi3_up[1],$wi3_up[2],$wi3_up[3],$wi3_up[4],$wi3_up[5],$wi3_up[6],$wi3_up[7],$wi3_up[8],$wi3_desc) = explode("<>", $battle_item); if($wi3_no == "$witem3"){$hit=1;break;} } } if($hit){ $wn_0 += $wi3_up[0]; $wn_1 += $wi3_up[1]; $wn_2 += $wi3_up[2]; $wn_3 += $wi3_up[3]; $wn_4 += $wi3_up[4]; $wn_5 += $wi3_up[5]; $wn_6 += $wi3_up[6]; $wlp += $wi3_up[7]; $wmaxhp += $wi3_up[8]; }else{$wi3_no = "";} if($_POST['site']) { $ksite = $_POST['site']; } if($_POST['url']) { $kurl = $_POST['url']; } if($_POST['waza']) { $kwaza = $_POST['waza']; } if($_POST['c_name']) { $kname = $_POST['c_name']; } $khp_flg = $khp; $whp_flg = $whp; ######## アイテムゲット用 if($item_file){$FILE[1]=file("$item_file");$L_FILE[1]="$loft_dir/{$kid}_w.cgi";} if($item2_file){$FILE[2]=file("$item2_file");$L_FILE[2]="$loft_dir/{$kid}_p.cgi";} if($item3_file){$FILE[3]=file("$item3_file");$L_FILE[3]="$loft_dir/{$kid}_a.cgi";} for($i=1;$i<4;$i++){ $tmp = @file("$L_FILE[$i]"); $gi[$i]=explode("<>",$tmp[0]); if(count($gi[$i]) > 1)array_pop($gi[$i]); if(!$gi[$i])$gi[$i][0]=""; } ######## アビリティセット $ablty = @file("$item_dir/{$kid}_abl.cgi"); if($ablty){ $ablty = rtrim($ablty[0]); $ablset = explode("<>",$ablty);$j=0; for($i=0;$i{$hissatu[$hissatu_c]}\n"; # チャンプダメージ計算 if($witem){ $com2 = "{$wname}は、{$wi_name}で攻撃!!"; } else{ $com2 = "$wnameの攻撃!!

"; } if($wsyoku == 0){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1); }elseif($wsyoku == 1){ $dmg2 = $dmg2 + mt_rand(0,$wn_1-1); }elseif($wsyoku == 2){ $dmg2 = $dmg2 + mt_rand(0,$wn_2-1); }elseif($wsyoku == 3){ $dmg2 = $dmg2 + mt_rand(0,$wn_4-1); }elseif($wsyoku == 4){ $dmg2 = $dmg2 + mt_rand(0,$wn_3-1) + mt_rand(0,$wn_0-1); }elseif($wsyoku == 5){ $dmg2 = $dmg2 + mt_rand(0,$wn_1-1) + mt_rand(0,$wn_4-1); }elseif($wsyoku == 6){ $dmg2 = $dmg2 + mt_rand(0,$wn_1-1) + mt_rand(0,$wn_4-1); }elseif($wsyoku == 7){ $dmg2 = $dmg2 + mt_rand(0,$wn_1-1) + mt_rand(0,$wn_3-1); }elseif($wsyoku == 8){ $dmg2 = $dmg2 + mt_rand(0,$wn_1-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 9){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 10){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 11){ $dmg2 = $dmg2 + mt_rand(0,$wn_4-1) + mt_rand(0,$wn_5-1); }elseif($wsyoku == 12){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 13){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 14){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 15){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 16){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 17){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 18){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 19){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 20){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 21){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 22){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 23){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 24){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 25){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 26){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 27){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 28){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); }elseif($wsyoku == 29){ $dmg2 = $dmg2 + mt_rand(0,$wn_0-1) + mt_rand(0,$wn_2-1); } if(mt_rand(0,19) == 0) { $clit1 = "クリティカル!!"; $dmg1 = $dmg1 * 2; } if(mt_rand(0,29) == 0) { $clit2 = "{$wname}「{$wwaza}

クリティカル!!"; $dmg2 = (int)($dmg2 * 1.5); } if(($wlv - $klv) >= $level_sa and $i == 1) { $sa = $wlv - $klv; $clit1 .= "

{$kname}の体から青い炎のようなものが湧き上がる・・・。"; $dmg1 = $dmg1 + $kmaxhp; } if ($dmg1 < 0){ $dmg1 = 0; } if ($dmg2 < 0){ $dmg2 = 0; } #ドレイン 挑戦者用 if($kitem3 == 1){ if(mt_rand(0,1) == 0) { $dmg1 = ($kn_1 + $kcllv) * (int)(rand(0,20)); $hpplus1 = $dmg1; $khp += $hpplus1; $com1 .="

暗黒魔法ドレイン!!!{$kname} のHPが {$hpplus1} 回復した!♪

"; } } #ドレイン チャンプ用 if($witem3 == 1){ if(mt_rand(0,1) == 0) { $dmg2 = ($kn_1 + $kcllv) * (int)(rand(0,20)); $hpplus2 = $dmg2; $whp += $hpplus2; $com1 .="

暗黒魔法ドレイン!!!{wkname} のHPが {$hpplus2} 回復した!♪

"; } } #バイキルト 挑戦者用 if($kitem3 == 2){ if(mt_rand(0,1) == 0) { $dmg1 = $dmg1 * 2; $com1 .="

バイキルト!!!

"; } } #サイヤ人 if($kitem3 == 24){ if($sai != 1){ if(mt_rand(0,1) == 0) { $ci_dmg += $ci_dmg; $cd_dmg += $cd_dmg; $com1 .="{$kname}のサイヤ人の血が目覚めた!!(攻撃力、防御力増大、効果持続)

"; $sai = 1; } } } #影分身の術 if($kitem3 == 25){ if(mt_rand(0,9) == 0){ $bunshin = mt_rand(3,50); $dmg1 *= $bunshin; $com1 .= "多重影分身の術!!{$bunshin}人に分身!全員で一気に攻撃した!"; if(mt_rand(0,$bunshin-1) != 0){ $dmg2 = 0; $com2 .="影分身に囲まれている!

{$wname}{$mname}「コイツか!?」

しかし、攻撃した相手は影分身だった!影分身は消えてしまった!

"; }else{ $com2 .="{$wname}{$mname}は影分身を見破った!本体に攻撃!

"; } } } #秘奥義の水晶 $hpjoken = (int)($kmaxhp / 10); if($kitem == 0073 and $kitem3 == 26){//0073は村正 if(!mt_rand(0,19) and $khp_flg <= $hpjoken){ $mhp = 0; $whp = 0; $com1 .= "{$kname}は最後の力を振り絞り、{$ci_name}との秘奥義を繰り出した!

「ここで負けるかっ!食らえ!真・魔剣地獄斬!」

妖力を含んだ刀が{$wname}{$mname}に突き刺さる!"; } } #バリア if($kitem3 == 27){ if(mt_rand(0,1) == 0) { $dmg2 = 0; $com1 .="

白魔法バリア!!! 相手の攻撃を無力化!!

"; } } #カーバンクルの魔石 if($kitem3 == 28){ if(mt_rand(0,1) == 0) { $com1 .="

幻獣カーバンクルを召還!!リフレク!!{$wname} {$mname}には効かなかった!!

"; }else{ $dmg1 += $dmg2; $dmg2 = 0; $com1 .="

幻獣カーバンクルを召還!!リフレク!!(攻撃を反射)

"; } } #斬鉄剣 if($kitem3 == 0033){ if(mt_rand(0,1) == 0) { $dmg1 = $mhp + $whp_flg; $com1 .="オーディンの刀の欠片は光始めた!!

"; $com1 .="斬・鉄・剣!!

"; }else{ $com1 .="オーディンの刀の欠片は光始めたが・・・

"; $com1 .="斬・鉄・剣!!失敗!!

"; $com1 .="オーディンの刀の欠片の光がだんだんなくなっていく・・・

"; } } $battle_date[$j] = <<< EOM
{$i}ターン
なまえ HP 職業 LV
$kname $khp_flg/$kmaxhp $chara_syoku[$ksyoku] $klv
VS
なまえ HP 職業 LV
$wname $whp_flg/$wmaxhp $chara_syoku[$wsyoku] $wlv

$com1 $clit1 $kawasi2 $wname に $dmg1 のダメージを与えた。

$com2 $clit2 $kawasi1 $kname に $dmg2 のダメージを与えた。

EOM; $khp_flg = $khp_flg - $dmg2; $whp_flg = $whp_flg - $dmg1; if($whp_flg <= 0) { $win = 1; break; } elseif($khp_flg <= 0) { $win = 0; break; } $i++; $j++; } } if($win == 2){ $exp = 0; $gold = 0; $kmons = $sentou_limit; $comment = "何も得るものはなかった・・・

"; if($get_f)$comment .= "・・・が、アイテムだけは持ち帰った!

"; }elseif($win == 1){ $ktotal += 1; $kkati += 1; $exp = (int)($wlv * $kiso_exp + (rand(0,$klp-1) + 1)); $kex = $kex + $exp; $gold = $wlv * 10 + mt_rand(0,$klp-1); $kmons = $sentou_limit; $comment = "{$kname}は、戦闘に勝利した!!

"; }else{ $ktotal += 1; $exp = (int)($wlv * (rand(0,$klp-1) + 1)); $kex = $kex + $exp; $gold = mt_rand(0,$klp-1); $kmons = $sentou_limit; $comment = "{$kname}は、戦闘に負けた・・・。

"; } $hit=0; while($kex >= ($klv * $lv_up)) { $hit=1; $tmp_up += 1; $kmaxhp = $kmaxhp + mt_rand(0,$kn_3-1) + 1; $khp = $kmaxhp; $kex -= $klv * $lv_up; $klv += 1; if(mt_rand(0,4) == 0) { $kn_0 += 1; $t1 = 1;$t1_up = $tmp_up * $t1;} if(mt_rand(0,4) == 0) { $kn_1 += 1; $t2 = 1;$t2_up = $tmp_up * $t2;} if(mt_rand(0,4) == 0) { $kn_2 += 1; $t3 = 1;$t3_up = $tmp_up * $t3;} if(mt_rand(0,4) == 0) { $kn_3 += 1; $t4 = 1;$t4_up = $tmp_up * $t4;} if(mt_rand(0,4) == 0) { $kn_4 += 1; $t5 = 1;$t5_up = $tmp_up * $t5;} if(mt_rand(0,4) == 0) { $kn_5 += 1; $t6 = 1;$t6_up = $tmp_up * $t6;} if(mt_rand(0,4) == 0) { $kn_6 += 1; $t7 = 1;$t7_up = $tmp_up * $t7;} } if($tmp_up){ $comment .= "{$kname}は、レベルが{$tmp_up}上がった!!

"; if($t1) { $comment .= "力が{$t1_up}上がった。"; } if($t2) { $comment .= "知力が{$t2_up}上がった。"; } if($t3) { $comment .= "信仰心が{$t3_up}上がった。"; } if($t4) { $comment .= "生命力が{$t4_up}上がった。"; } if($t5) { $comment .= "器用さが{$t5_up}上がった。"; } if($t6) { $comment .= "速さが{$t6_up}上がった。"; } if($t7) { $comment .= "魅力が{$t7_up}上がった。"; } } ###### アビリティ取得判断 if($hit){ $i=0; foreach(file("abldat.cgi") as $abl_get){ list($name,$kubn,$dame,$suc,$job,$ablv,$acom,$col) = explode("<>",$abl_get); if(!$ablset[$i] && $ksyoku == $job && $klv >= $ablv){ $ablset[$i]=1; $comment .= "

修行の成果がようやく実を結ぶ・・・
{$kname}は{$name}をマスターした!!
"; $abl_hit=1;break; } $i++; } } ###### アビリティ用書き込み if($abl_hit){ $ablty = ""; for($i=0;$i",$gi[$i]); $getnew[$i] .= "<>"; $fp=fopen("$L_FILE[$i]","wb"); flock($fp,LOCK_EX); fwrite($fp, $getnew[$i]); flock($fp,LOCK_UN); fclose($fp); } } }elseif($get_g){$comment .= "
$giname を取り返されてしまった・・・";} ################ $khp = $khp_flg + mt_rand(0,$kn_3-1); if($khp > $kmaxhp) { $khp = $kmaxhp; } $whp = $whp_flg + mt_rand(0,$wn_3-1); if($whp > $wmaxhp) { $whp = $wmaxhp; } if($khp <= 0) { $khp = $kmaxhp; } if($whp <= 0) { $whp = $wmaxhp; } $kgold = $kgold + $gold; if($ci3_no){ $kn_0 -= $ci3_up[0]; $kn_1 -= $ci3_up[1]; $kn_2 -= $ci3_up[2]; $kn_3 -= $ci3_up[3]; $kn_4 -= $ci3_up[4]; $kn_5 -= $ci3_up[5]; $kn_6 -= $ci3_up[6]; $klp -= $ci3_up[7]; $kmaxhp -= $ci3_up[8]; } if($wi3_no){ $wn_0 -= $wi3_up[0]; $wn_1 -= $wi3_up[1]; $wn_2 -= $wi3_up[2]; $wn_3 -= $wi3_up[3]; $wn_4 -= $wi3_up[4]; $wn_5 -= $wi3_up[5]; $wn_6 -= $wi3_up[6]; $wlp -= $wi3_up[7]; $wmaxhp -= $wi3_up[8]; } if($_POST['jobc']){ if($win == 1){ $jwnr[$ksyoku] = "$kid<>$kpass<>$ksite<>$kurl<>$kname<>$ksex<>$kchara<>$kn_0<>$kn_1<>$kn_2<>$kn_3<>$kn_4<>$kn_5<>$kn_6<>$ksyoku<>$khp<>$kmaxhp<>$kex<>$klv<>$kgold<>$klp<>$ktotal<>$kkati<>$kwaza<>$kitem<>$kmons<>$host<>$date<>$win<>$wsite<>$wurl<>$wname<>\n"; }else{ $wcount += 1; $jwnr[$ksyoku] = "$wid<>$wpass<>$wsite<>$wurl<>$wname<>$wsex<>$wchara<>$wn_0<>$wn_1<>$wn_2<>$wn_3<>$wn_4<>$wn_5<>$wn_6<>$wsyoku<>$whp<>$wmaxhp<>$wex<>$wlv<>$wgold<>$wlp<>$wtotal<>$wkati<>$wwaza<>$witem<>$wmons<>$host<>$date<>$wcount<>$ksite<>$kurl<>$kname<>\n"; $recode = file("job_recode.cgi"); list($count,$name) = explode("<>",$recode[$ksyoku]); if($wcount > $count) { $recode[$ksyoku] = "$wcount<>$wname<>$wsite<>$wurl<>\n"; $fp = fopen("job_recode.cgi", "wb"); flock($fp,LOCK_EX); fwrite($fp, implode($recode,"")); flock($fp,LOCK_UN); fclose($fp); } } $fp = fopen("job_winner.cgi", "wb"); flock($fp,LOCK_EX); fwrite($fp, implode($jwnr, "")); flock($fp,LOCK_UN); fclose($fp); }else{ if($win){ $new = "$kid<>$kpass<>$ksite<>$kurl<>$kname<>$ksex<>$kchara<>$kn_0<>$kn_1<>$kn_2<>$kn_3<>$kn_4<>$kn_5<>$kn_6<>$ksyoku<>$khp<>$kmaxhp<>$kex<>$klv<>$kgold<>$klp<>$ktotal<>$kkati<>$kwaza<>$kitem<>$kmons<>$host<>$date<>$win<>$wsite<>$wurl<>$wname<>\n"; }else{ $wcount += 1; $new = "$wid<>$wpass<>$wsite<>$wurl<>$wname<>$wsex<>$wchara<>$wn_0<>$wn_1<>$wn_2<>$wn_3<>$wn_4<>$wn_5<>$wn_6<>$wsyoku<>$whp<>$wmaxhp<>$wex<>$wlv<>$wgold<>$wlp<>$wtotal<>$wkati<>$wwaza<>$witem<>$wmons<>$host<>$date<>$wcount<>$ksite<>$kurl<>$kname<>\n"; $recode = file("$recode_file"); list($count,$name) = explode("<>",$recode[0]); if($wcount > $count) { $fp = fopen("$recode_file", "wb"); flock($fp,LOCK_EX); fwrite($fp, "$wcount<>$wname<>$wsite<>$wurl<>\n"); flock($fp,LOCK_UN); fclose($fp); } } $fp = fopen("$winner_file", "wb"); flock($fp,LOCK_EX); fwrite($fp, $new); flock($fp,LOCK_UN); fclose($fp); } regist(); if($refresh and !$win) { header2($wurl); } else { header1($vtime); } print "

{$kname}は、{$king_name}{$wname}に戦いを挑んだ!!


\n"; for($i=0; $i <= count($battle_date); $i++){ print "$battle_date[$i]"; } print "{$comment}

{$kname}は、{$exp}の経験値を手に入れた。{$gold}G手に入れた。

\n"; footer(); $battle_flag=0; exit; } #----------------------# # キャラクタ作成画面 # #----------------------# function chara_make() { require(syoki_file); # ヘッダー表示 header1($vtime); print <<キャラクタ作成画面


ID
△お好きな半角英数字を4〜8文字以内でご記入ください。
パスワード
△お好きな半角英数字を4〜8文字以内でご記入ください。
ホームページ名
△ある場合のみ変更してください。
URL
△ある場合のみ変更してください。
キャラクターの名前
△作成するキャラクターの名前を入力してください。
キャラクターの性別 女 
△作成するキャラクターの性別を選択してください。
キャラクターのイメージ
キャラクターの能力 EOM; $point = mt_rand(0,9); $point+=4; $i=0;$j=0; for($k=0;$k<=6;$k++){ print "\n"; $i++;$j=0; } print <<
知能信仰心生命力器用さ速さ魅力
$kiso_nouryoku[$i] + \n"; print "
△ボーナスポイント「$point」をそれぞれに振り分けてください。(振り分けた合計が、{$point}以下になるように。
又どれかが最低12以上になるように。最高は18までです)
EOM; # フッター表示 footer(); exit; } #--------------# # クラス設定 # #--------------# function syoku_class($lv,$syoku) { require(syoki_file); #Class_level判定ルーチン if($lv >= 42) { $class_lv = 6; }elseif($lv < 7){ $class_lv = 0; }elseif($lv < 14){ $class_lv = 1; }elseif($lv < 21){ $class_lv = 2; }elseif($lv < 28){ $class_lv = 3; }elseif($lv < 35){ $class_lv = 4; }elseif($lv < 42){ $class_lv = 5; } if($syoku == 0){ $class = $FIGHTER[$class_lv]; }elseif($syoku == 1){ $class = $MAGE[$class_lv]; }elseif($syoku == 2){ $class = $PRIEST[$class_lv]; }elseif($syoku == 3){ $class = $THIEF[$class_lv]; }elseif($syoku == 4){ $class = $RANGER[$class_lv]; }elseif($syoku == 5){ $class = $ALCHEMIST[$class_lv]; }elseif($syoku == 6){ $class = $BARD[$class_lv]; }elseif($syoku == 7){ $class = $PSIONIC[$class_lv]; }elseif($syoku == 8){ $class = $VALKYRIE[$class_lv]; }elseif($syoku == 9){ $class = $BISHOP[$class_lv]; }elseif($syoku == 10){ $class = $LORD[$class_lv]; }elseif($syoku == 11){ $class = $SAMURAI[$class_lv]; }elseif($syoku == 12){ $class = $MONK[$class_lv]; }elseif($syoku == 13){ $class = $NINJA[$class_lv]; }elseif($syoku == 14){ $class = $KURO[$class_lv]; }elseif($syoku == 15){ $class = $SHIRO[$class_lv]; }elseif($syoku == 16){ $class = $AKA[$class_lv]; }elseif($syoku == 17){ $class = $AO[$class_lv]; }elseif($syoku == 18){ $class = $TOKI[$class_lv]; }elseif($syoku == 19){ $class = $ODO[$class_lv]; }elseif($syoku == 20){ $class = $BATTLE[$class_lv]; }elseif($syoku == 21){ $class = $GAN[$class_lv]; }elseif($syoku == 22){ $class = $UTA[$class_lv]; }elseif($syoku == 23){ $class = $KENOU[$class_lv]; }elseif($syoku == 24){ $class = $MAOU[$class_lv]; }elseif($syoku == 25){ $class = $KEN[$class_lv]; }elseif($syoku == 26){ $class = $YUU[$class_lv]; }elseif($syoku == 27){ $class = $HAOU[$class_lv]; }elseif($syoku == 28){ $class = $HAKAI[$class_lv]; }elseif($syoku == 29){ $class = $SYOUKAN[$class_lv]; } return array($class_lv, $class); } #------------------# # HTMLのフッター # #------------------# function footer() { global $win,$wurl,$mode,$ltime,$b_time,$ktotal,$vtime; require(syoki_file); if($refresh and !$win and $mode == "battle") { print "【チャンプのホームページへ】\n"; }else{ if($mode != ""){ print "TOPページへ\n"; } if($_POST['id'] and $mode != "log_in" and $mode != "tensyoku" and $mode != "yado" and $mode != "make_end") { print "
"; print ""; print ""; print ""; print ""; print "
\n"; } } print "
\n"; print "$verp by PaKaおかっきー
\n"; print "$ver by ma-ti
\n"; print "cooperation site by FFADV推奨委員会\n"; print "
\n"; if($mode == "log_in" and $ltime < $b_time and $ktotal){ print <<
EOM; } print "\n"; } #----------------# # ホスト名取得 # #----------------# function get_host() { $addr = ($_ENV["REMOTE_ADDR"])? $_ENV["REMOTE_ADDR"] : $_SERVER["REMOTE_ADDR"]; $host=@gethostbyaddr("$addr"); if ($host == "") { $host = $addr; } return array($host, $addr); } #--------------# # 時間を取得 # #--------------# function get_time() { list($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime(); $week = array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); # 日時のフォーマット $gettime = sprintf("%04d/%02d/%02d %02d:%02d", $year+1900,$mon+1,$mday,$hour,$min); return($gettime); } #------------------# # HTMLのヘッダー # #------------------# function header1($vtime) { global $mode,$ltime,$b_time,$ktotal,$vtime; require(syoki_file); if ($mode == 'admin'){ if(!isset($_SERVER[PHP_AUTH_USER]) || !(($_SERVER[PHP_AUTH_USER] == "$adminid" ) && ($_SERVER[PHP_AUTH_PW] == "$adminpass"))) { header('WWW-Authenticate: Basic realm="FFAdventure PHP Admin"'); header('HTTP/1.0 401 Unauthorized'); echo "ID及びパスワードが間違っているため、ログインできません。"; exit; } } print << EOM; foreach(file("$chara_file") as $header){ list($kid) = explode("<>", $header); if($_POST['id'] == "$kid") { break; }} if(file_exists("midicon/{$kid}_m.cgi")){ $midi = file("midicon/{$kid}_m.cgi"); $midi = $midi[0]; } if($mode == 'log_in' and $ltime < $b_time and $ktotal){ print << EOM; } print << $main_title EOM; if($midi){ if($mode == "log_in"){ $miurl ="$midia"; }elseif($mode == "monster"){ $miurl ="$midib"; }elseif($mode == "item_shop"){ $miurl ="$midic"; } } print << EOM; } #--------------# # 強制送還用 # #--------------# function header2($wurl) { require(syoki_file); print << EOM; print "$main_title\n"; print "\n"; } #-----------------# # TOPページ表示 # #-----------------# function html_top() { require(syoki_file); global $mode,$ltime,$b_time,$ktotal,$win,$wurl,$vtime; list($wid,$wpass,$wsite,$wurl,$wname,$wsex,$wchara,$wn_0,$wn_1,$wn_2,$wn_3,$wn_4,$wn_5,$wn_6,$wsyoku,$whp,$wmaxhp,$wex,$wlv,$wgold,$wlp,$wtotal,$wkati,$wwaza,$witem,$wmons,$whost,$wdate,$wcount,$lsite,$lurl,$lname) = read_winner(); $c_id = $_COOKIE['id']; $c_pass = $_COOKIE['pass']; list($class_lv, $class) = syoku_class($wlv, $wsyoku); $typesu = count($chara_syoku); if($fp = @fopen ("./butailog/{$wid}.cgi", "r")){ $rireki=explode("<>", fgets($fp)); fclose($fp); $rid=$rireki[0]; if($wid== "$rid"){ $hit=1; $rname=$rireki[1]; for($i=0;$i<$typesu;$i++){ $rn[$i]=$rireki[$i+2]; } } } for($i=0;$i<$typesu;$i++) { $class_lv=$rn[$i]-1; if($class_lv < 0 or !is_int($class_lv)) { $cl[$i] = " ----------- "; }elseif($i == 0){ $cl[$i] = "{$FIGHTER[$class_lv]}($class_lv)"; }elseif($i == 1){ $cl[$i] = "{$MAGE[$class_lv]}($class_lv)"; }elseif($i == 2){ $cl[$i] = "{$PRIEST[$class_lv]}($class_lv)"; }elseif($i == 3){ $cl[$i] = "{$THIEF[$class_lv]}($class_lv)"; }elseif($i == 4){ $cl[$i] = "{$RANGER[$class_lv]}($class_lv)"; }elseif($i == 5){ $cl[$i] = "{$ALCHEMIST[$class_lv]}($class_lv)"; }elseif($i == 6){ $cl[$i] = "{$BARD[$class_lv]}($class_lv)"; }elseif($i == 7){ $cl[$i] = "{$PSIONIC[$class_lv]}($class_lv)"; }elseif($i == 8){ $cl[$i] = "{$VALKYRIE[$class_lv]}($class_lv)"; }elseif($i == 9){ $cl[$i] = "{$BISHOP[$class_lv]}($class_lv)"; }elseif($i == 10){ $cl[$i] = "{$LORD[$class_lv]}($class_lv)"; }elseif($i == 11){ $cl[$i] = "{$SAMURAI[$class_lv]}($class_lv)"; }elseif($i == 12){ $cl[$i] = "{$MONK[$class_lv]}($class_lv)"; }elseif($i == 13){ $cl[$i] = "{$NINJA[$class_lv]}($class_lv)"; }elseif($i == 14){ $cl[$i] = "{$KURO[$class_lv]}($class_lv)"; }elseif($i == 15){ $cl[$i] = "{$SHIRO[$class_lv]}($class_lv)"; }elseif($i == 16){ $cl[$i] = "{$AKA[$class_lv]}($class_lv)"; }elseif($i == 17){ $cl[$i] = "{$AO[$class_lv]}($class_lv)"; }elseif($i == 18){ $cl[$i] = "{$TOKI[$class_lv]}($class_lv)"; }elseif($i == 19){ $cl[$i] = "{$ODO[$class_lv]}($class_lv)"; }elseif($i == 20){ $cl[$i] = "{$BATTLE[$class_lv]}($class_lv)"; }elseif($i == 21){ $cl[$i] = "{$GAN[$class_lv]}($class_lv)"; }elseif($i == 22){ $cl[$i] = "{$UTA[$class_lv]}($class_lv)"; }elseif($i == 23){ $cl[$i] = "{$KENOU[$class_lv]}($class_lv)"; }elseif($i == 24){ $cl[$i] = "{$MAOU[$class_lv]}($class_lv)"; }elseif($i == 25){ $cl[$i] = "{$KEN[$class_lv]}($class_lv)"; }elseif($i == 26){ $cl[$i] = "{$YUU[$class_lv]}($class_lv)"; }elseif($i == 27){ $cl[$i] = "{$HAOU[$class_lv]}($class_lv)"; }elseif($i == 28){ $cl[$i] = "{$HAKAI[$class_lv]}($class_lv)"; }elseif($i == 29){ $cl[$i] = "{$SYOUKAN[$class_lv]}($class_lv)"; }else $cl[$i] = " ----------- "; } if($wkati) { $ritu = (int)(($wkati / $wtotal) * 100); } else { $ritu = 0; } $recode = file("$recode_file"); list($rcount,$rname,$rsite,$rurl) = explode("<>",$recode[0]); $sanka2 = "現在の参加者: /"; $sankanum=0; foreach(file("$chara_file") as $sanka){ list($sid,$spass,$ssite,$surl,$sname,$ssex,$schara,$sn_0,$sn_1,$sn_2,$sn_3, $sn_4,$sn_5,$sn_6,$ssyoku,$shp,$smaxhp,$sex,$slv,$sgold,$slp,$stotal, $skati,$swaza,$sitem,$smons,$shost,$sdate) = explode("<>", $sanka); if($sdate + $sankatime > time()) { $timesa=time() - $sdate; $sanka2 .= " $sname({$timesa}秒前) / "; $sankanum++; } else { break; } } if($wsex) { $esex = "男"; } else { $esex = "女"; } $next_ex = $wlv * $lv_up; if($witem){ foreach(file("$item_file") as $battle_item){ list($wi_no,$wi_name,$wi_dmg) = explode("<>", $battle_item); if($witem == $wi_no) { break; } } }else{ $wi_name = "なし"; } if(file_exists("$item_dir/$wid.cgi")){ $witem2 = file("$item_dir/$wid.cgi"); $witem2 = $witem2[0]; } if($witem2){ foreach(file("$item2_file") as $battle_item2){ list($wi2_no,$wi2_name,$wi2_dmg) = explode("<>", $battle_item2); if($witem2 == $wi2_no) { break; } } } else { $wi2_name = "なし"; } $witem3 = @file("$item_dir/{$wid}_2.cgi"); $witem3 = $witem3[0]; if($witem3){ foreach(file("$item3_file") as $item_array){ list($wi3_no,$wi3_name,$wi3_gold,$wi3_up[0],$wi3_up[1],$wi3_up[2],$wi3_up[3],$wi3_up[4],$wi3_up[5],$wi3_up[6],$wi3_up[7],$wi3_up[8],$wi3_desc) = explode("<>", $item_array); if($wi3_no == "$witem3"){ for($i=0;$i<9;$i++){ if($wi3_up[$i]){$wi3_up[$i] = " + {$wi3_up[$i]}";} } break; } } }else{$wi3_name = "なし";} list($sanka3,$cy_table) = cy_tbl(); if(file_exists("$item_dir/{$wid}_abl.cgi")){ $ablty = file("$item_dir/{$wid}_abl.cgi"); $ablset = explode("<>",$ablty[0]); $abl_dat = file("./abldat.cgi"); foreach($ablset as $key=>$val){ if($val == 2){ list($aname) = explode("<>",$abl_dat[$key]); $abldsp .= "$aname/"; } } } if(!$abldsp)$abldsp = "なし"; $SORTFILE=file("./$TEAM_DIR/$TEAM_FILE"); usort($SORTFILE,"rnk");$rk=1; list($tmteam,$tmbossid,$tmboss,$tmchara,$tmn_0,$tmn_1,$tmn_2,$tmn_3,$tmex,$tmlv,$tmgold,$tmtotal,$tmkati,$tmcom,$tmitem,$tmid[0],$tmid[1],$tmid[2],$tmid[3],$tmid[4],$tmid[5],$tmid[6],$tmid[7],$tmid[8],$tmid[9])=explode("<>",$SORTFILE[0]); list($tmchara,$tmex,$tmritu,$tmitem,$nk_rank,$tm_nana,$tm_mna)=team_read($dummyid,$tmchara,$tmex,$tmlv,$tmtotal,$tmkati,$tmitem,$tmid); if(!$tmteam){ $rk=$tmteam=$tmboss=$tmchara=$tmn_0=$tmn_1=$tmn_2=$tmn_3=$tmex=$tmlv=$tmgold=$tmitem=$tmritu=$nk_rank="---";} $dbdsp = db_fnc($kname,$mname); # ヘッダー表示 header1($vtime); # HTMLの表示 print <<

累計:      本日:   昨日:
テストプレイ
キャラクターを作成済みの方はこちらから
I D パスワード

$dbdsp / $home_title/英雄たちの記録 / ランキング / 各職業に必要な特性値 / $bbs_title /開発室/更新履歴/管理用/ $sanka2({$sankanum}人)
$sanka3
$kanri_message

現在の連勝記録は、{$rname}さんの「$rsite」、{$rcount}連勝です。新記録を出したサイト名の横には、マークがつきます。
{$wcount}連勝中
ホームページ $wsite EOM; if($rurl == "$wurl") { print "\n"; } print <<

勝率:$ritu%
武器:$wi_name
防具:$wi2_name
装身具:$wi3_name

なまえ$wname 性別$esex
職業$chara_syoku[$wsyoku] クラス$class
レベル$wlv 経験値$wex/$next_ex
お金[持金] $wgold G
[預金] $wbgold ?????G
HP$whp/$wmaxhp $wi3_up[8]
$wn_0 $wi3_up[0] 知能$wn_1 $wi3_up[1]
信仰心$wn_2 $wi3_up[2] 生命力$wn_3 $wi3_up[3]
器用さ$wn_4 $wi3_up[4] 速さ$wn_5 $wi3_up[5]
魅力$wn_6 $wi3_up[6] カルマ$wlp $wi3_up[7]
アビリティ $abldsp
$lname の $lsite に勝利!!
$cy_table
[$main_title の遊び方]
  1. まず、「新規キャラクター作成」ボタンを押し、キャラクターを作成する。
  2. キャラクターの作成が完了したら、このページ右上からログインして、
    あなた専用のステータス画面に入ります。
  3. そこであなたの行動を選択することができます。
  4. 一度キャラクターを作成したら、右上のところからログインして遊びます。
    新規にキャラクターを作れるのは、一人に一つのキャラクターのみです。
  5. これは、HPバトラーではなく、キャラバトラーです。
    キャラクターを育てていくゲームです。
  6. 能力を振り分けることができキャラクターの能力を自分で決めることが可能。
    (ここで決めた能力はあまり上昇しないので、慎重に)
  7. {$limit}日以上闘わなければ、キャラクターのデータが削除されます。
  8. 一度戦闘すると$b_time秒経過しないと再び戦闘できません。
  9. 無料で遊ぶことができます。
  10. 全員送信で「お金下さい。」「何か下さい。」「何か買ってー。」などの行為を禁止します。
  11. 無駄に全員送信を行った場合は、それなりの処置をします。
[新規キャラクタ作成]
下のボタンを押して、あなたのキャラクターを作成します。

チームTOP
紋章チーム名結成者LV経験値お金勝率
$tmchara$tmteam [現:{$rk}位]$tmboss$tmlv$tmex$tmgold$tmritu
能力称号
強さ:$tmn_0 結束:$tmn_1 知名:$tmn_2 運気:$tmn_3$tmitem
順位$nk_rank



EOM; $jrec = file("job_recode.cgi"); foreach(file("job_winner.cgi") as $key=>$val){ $king = explode("<>",$val); list($jrco,$jname,$jsite,$jurl) = explode("<>",$jrec[$key]); print "\n"; print "\n"; print "\n"; } print <<
職業王
職種なまえLVHPサイト連勝数ラストファイトグランドチャンプ
$chara_syoku[$key]$king[4]$king[18]$king[15]/$king[16]$king[2]{$king[28]}連勝{$king[31]}に勝利!{$jname}の{$jrco}連勝
EOM; # フッター表示 print "\n"; print "\n"; print "\n"; $i=0; while($i<$typesu){ if(($i+1)%3==1) { print ""; } print ""; if(($i+1)%3==0) { print "\n"; } else { print "\n"; } $i++; } if($i%3==1) { print "\n"; } elseif($i%3==2) { print "\n"; } print "
チャンピオンの部隊修練度
$chara_syoku[$i]$cl[$i]


"; footer(); exit; } #----------------# # アイテム買う # #----------------# function item_buy() { global $mode,$ltime,$b_time,$ktotal,$win,$wurl,$vtime; require(syoki_file); if($_POST['id'] == "") { error("IDが入力されていません。"); }elseif($_POST['pass'] == ""){ error("パスワードが入力されていません。"); }elseif($_POST['item_no'] == ""){ error("アイテムを選んでください。"); } $item_id = $_POST['id']; $item_pass = $_POST['pass']; $hit=0; foreach(file("$item_file") as $item_array){ list($i_no,$i_name,$i_dmg,$i_gold) = explode("<>", $item_array); if($_POST['item_no'] == "$i_no") { $hit=1;break; } } if(!$hit) { error("そんなアイテムは存在しません"); } list($host, $addr) = get_host(); $date = time(); $hit=0;$item_new=array(); foreach(file("$chara_file") as $item_chara){ list($iid,$ipass,$isite,$iurl,$iname,$isex,$ichara,$in_0,$in_1,$in_2,$in_3,$in_4,$in_5,$in_6,$isyoku,$ihp,$imaxhp,$iex,$ilv,$igold,$ilp,$itotal,$ikati,$iwaza,$iitem,$imons,$ihost,$idate) = explode("<>", $item_chara); if($iid == "$item_id") { if($igold < $i_gold) { error("お金が足りません"); } else { $igold = $igold - $i_gold; } array_unshift($item_new,"$iid<>$ipass<>$isite<>$iurl<>$iname<>$isex<>$ichara<>$in_0<>$in_1<>$in_2<>$in_3<>$in_4<>$in_5<>$in_6<>$isyoku<>$imaxhp<>$imaxhp<>$iex<>$ilv<>$igold<>$ilp<>$itotal<>$ikati<>$iwaza<>$i_no<>$imons<>$host<>$idate<>\n"); $hit=1; }else{ array_push($item_new,"$item_chara"); } } if(!$hit) { error("キャラクターが見つかりません"); } $fp=fopen("$chara_file","w"); flock($fp,LOCK_EX); fwrite($fp, implode($item_new, "")); flock($fp,LOCK_UN); fclose($fp); header1($vtime); print <<アイテムを買いました


EOM; footer(); exit; } #----------------# # アイテム買う # #----------------# function item2_buy() { global $mode,$ltime,$b_time,$ktotal,$win,$wurl,$vtime; require(syoki_file); if($_POST['id'] == "") { error("IDが入力されていません。"); }elseif($_POST['pass'] == ""){ error("パスワードが入力されていません。"); }elseif($_POST['item2_no'] == ""){ error("アイテムを選んでください。"); } $item_id = $_POST['id']; $item_pass = $_POST['pass']; $hit=0; foreach(file("$item2_file") as $item2_array){ list($i2_no,$i2_name,$i2_dmg,$i2_gold) = explode("<>", $item2_array); if($_POST['item2_no'] == "$i2_no") { $hit=1;break; } } if(!$hit) { error("そんなアイテムは存在しません。"); } list($host, $addr) = get_host(); $date = time(); $hit=0;$item2_new=array(); foreach(file("$chara_file") as $item2_chara){ list($iid,$ipass,$isite,$iurl,$iname,$isex,$ichara,$in_0,$in_1,$in_2,$in_3,$in_4,$in_5,$in_6,$isyoku,$ihp,$imaxhp,$iex,$ilv,$igold,$ilp,$itotal,$ikati,$iwaza,$iitem,$imons,$ihost,$idate) = explode("<>", $item2_chara); if($iid == "$item_id") { if($igold < $i2_gold) { error("お金が足りません。"); } else { $igold = $igold - $i2_gold; } array_unshift($item2_new,"$iid<>$ipass<>$isite<>$iurl<>$iname<>$isex<>$ichara<>$in_0<>$in_1<>$in_2<>$in_3<>$in_4<>$in_5<>$in_6<>$isyoku<>$imaxhp<>$imaxhp<>$iex<>$ilv<>$igold<>$ilp<>$itotal<>$ikati<>$iwaza<>$iitem<>$imons<>$host<>$idate<>\n"); $hit=1; }else{ array_push($item2_new,"$item2_chara"); } } if(!$hit) { error("キャラクターが見つかりません。"); } $fp=fopen("$chara_file","w"); flock($fp,LOCK_EX); fwrite($fp, implode($item2_new, "")); flock($fp,LOCK_UN); fclose($fp); $fp=fopen("$item_dir/$item_id.cgi","w"); flock($fp,LOCK_EX); fwrite($fp, $i2_no); flock($fp,LOCK_UN); fclose($fp); header1($vtime); print <<アイテムを買いました

EOM; footer(); exit; } #----------------# # アクセ買う # #----------------# function item3_buy() { global $mode,$ltime,$b_time,$ktotal,$win,$wurl,$vtime; require(syoki_file); if($_POST['id'] == "") { error("IDが入力されていません。"); }elseif($_POST['pass'] == ""){ error("パスワードが入力されていません。"); }elseif($_POST['item_no'] == ""){ error("アイテムを選んでください。"); } $item_id = $_POST['id']; $item_pass = $_POST['pass']; $hit=0; foreach(file("$item3_file") as $item_array){ list($i3_no,$i3_name,$i3_gold) = explode("<>", $item_array); if($_POST['item_no'] == "$i3_no") { $hit=1;break; } } if(!$hit) { error("そんなアイテムは存在しません"); } list($host, $addr) = get_host(); $hit=0;$item_new=array(); foreach(file("$chara_file") as $item_chara){ list($iid,$ipass,$isite,$iurl,$iname,$isex,$ichara,$in_0,$in_1,$in_2,$in_3,$in_4,$in_5,$in_6,$isyoku,$ihp,$imaxhp,$iex,$ilv,$igold,$ilp,$itotal,$ikati,$iwaza,$iitem,$imons,$ihost,$idate) = explode("<>", $item_chara); if($iid == "$item_id") { if($igold < $i3_gold) { error("お金が足りません"); } else { $igold = $igold - $i3_gold; } array_unshift($item_new,"$iid<>$ipass<>$isite<>$iurl<>$iname<>$isex<>$ichara<>$in_0<>$in_1<>$in_2<>$in_3<>$in_4<>$in_5<>$in_6<>$isyoku<>$ihp<>$imaxhp<>$iex<>$ilv<>$igold<>$ilp<>$itotal<>$ikati<>$iwaza<>$iitem<>$imons<>$host<>$idate<>\n"); $hit=1; }else{ array_push($item_new,"$item_chara"); } } if(!$hit) { error("キャラクターが見つかりません"); } $fp=fopen("$item_dir/{$item_id}_2.cgi","w"); flock($fp,LOCK_EX); fwrite($fp, "$i3_no"); flock($fp,LOCK_UN); fclose($fp); $fp=fopen("$chara_file","w"); flock($fp,LOCK_EX); fwrite($fp, implode($item_new, "")); flock($fp,LOCK_UN); fclose($fp); header1($vtime); print <<アイテムを買いました


EOM; footer(); exit; } #--------------# # エラー処理 # #--------------# function error($error_message) { global $battle_flag,$mode,$ltime,$b_time,$ktotal,$vtime; require(syoki_file); $battle_flag=0; header1($vtime); print "


ERROR !

\n"; print "

$error_message\n"; print "


\n"; print "\n"; footer(); exit; } #----------------# # アイテム表示 # #----------------# function item_shop() { global $mode,$ltime,$b_time,$ktotal,$win,$wurl,$vtime; require(syoki_file); header1($vtime); if($_POST['id'] == "test"){error("テストキャラは参加できません。よろしければ新規作成をどうぞ。");} print <<アイテムショップ

買いたいアイテムをチェックしてください。 EOM; foreach(file("$item_file") as $item_array){ list($ino,$iname,$idmg,$igold) = explode("<>", $item_array); print "\n"; print "\n"; print "\n"; } print <<
No.なまえ威力価格
$ino$iname$idmg$igold

ボタンを押してください。

EOM; footer(); exit; } #----------------# # アイテム表示 # #----------------# function item2_shop() { global $mode,$ltime,$b_time,$ktotal,$win,$wurl,$vtime; require(syoki_file); header1($vtime); if($_POST['id'] == "test"){error("テストキャラは参加できません。よろしければ新規作成をどうぞ。");} print <<アイテムショップ

買いたいアイテムをチェックしてください。 EOM; foreach(file("$item2_file") as $item2_array){ list($i2no,$i2name,$i2dmg,$i2gold,$i2exp) = explode("<>", $item2_array); print "\n"; print "\n"; print "\n"; } print <<
No.なまえ威力価格説明
$i2no$i2name$i2dmg$i2gold$i2exp

ボタンを押してください。

EOM; footer(); exit; } #----------------# # アクセ表示 # #----------------# function item3_shop() { global $mode,$ltime,$b_time,$ktotal,$win,$wurl,$vtime; require(syoki_file); if($_POST['id'] == "test"){error("テストキャラは参加できません。よろしければ新規作成をどうぞ。");} $S_UP = array("力","知能","信仰心","生命力","器用さ","速さ","魅力","カルマ","最大HP"); foreach(file("$item3_file") as $item_array){ $sup_dat = explode("<>", $item_array); $i_desc = ""; for($i=0;$i<10;$i++){ $j=$i+3; if($j<12 && $sup_dat[$j]){$i_desc .= "{$S_UP[$i]}+{$sup_dat[$j]} ";} } if($sup_dat[12])$i_desc .= "/$sup_dat[12]"; $itmdsp .= "$sup_dat[0]$sup_dat[1]$i_desc$sup_dat[2]\n"; } header1($vtime); print <<アクセサリショップ

$aa

買いたいアイテムをチェックしてください。 $itmdsp
No.なまえ効果価格

EOM; footer(); exit; } #----------------# # ログイン画面 # #----------------# function log_in() { global $mode,$win,$wurl,$id,$pass,$ltime,$b_time,$ktotal,$vtime,$kdate; require(syoki_file); $hit=0; $lid = $_POST['id']; $lpass = $_POST['pass']; foreach(file("$chara_file") as $log_in){ list($kid,$kpass,$ksite,$kurl,$kname,$ksex,$kchara,$kn_0,$kn_1,$kn_2,$kn_3,$kn_4,$kn_5,$kn_6,$ksyoku,$khp,$kmaxhp,$kex,$klv,$kgold,$klp,$ktotal,$kkati,$kwaza,$kitem,$kmons,$khost,$kdate) = explode("<>", $log_in); if($lid == "$kid" and $lpass == "$kpass") { $hit=1; break; } } $sanka2 = "現在の参加者: /"; $sankanum=0; foreach(file("$chara_file") as $sanka){ list($sid,$spass,$ssite,$surl,$sname,$ssex,$schara,$sn_0,$sn_1,$sn_2,$sn_3, $sn_4,$sn_5,$sn_6,$ssyoku,$shp,$smaxhp,$sex,$slv,$sgold,$slp,$stotal, $skati,$swaza,$sitem,$smons,$shost,$sdate) = explode("<>", $sanka); if($sdate + $sankatime > time()) { $timesa=time() - $sdate; $sanka2 .= " $sname({$timesa}秒前) / "; $sankanum++; } else { break; } } list($sanka3,$cy_table,$c_hit) = cy_tbl(); $ltime = time(); $ltime = $ltime - $kdate; $vtime = $b_time - $ltime; $mtime = $m_time - $ltime; #-------- 棒グラフ幅の計算 ------# $mybar = (int)(($khp/$kmaxhp) * 100); $myb2 = 100 - $mybar + 1; #--------------------------------# if($lid != "$kid") {error("オープンエラー、ID・パスワードが正しくありません。");} if(!$hit) { error("入力されたIDは登録されていません。又はパスワードが違います。"); } list($class_lv, $class) = syoku_class($klv, $ksyoku); if($ksex) { $esex = "男"; } else { $esex = "女"; } $next_ex = $klv * $lv_up; #-------- 棒グラフ幅の計算 ------# $expbar = (int)(($kex / $next_ex) * 100); $expb2 = 100 - $expbar + 1; #--------------------------------# $hit=0; foreach(file("$item_file") as $log_item){ list($i_no,$i_name,$i_dmg,$i_gold) = explode("<>", $log_item); if($kitem == "$i_no"){ $hit=1;break; } } if(!$hit) { $i_name=""; } if(file_exists("$item_dir/$kid.cgi")){ $kitem2 = file("$item_dir/$kid.cgi"); $kitem2 = $kitem2[0]; } $hit=0; if($kitem2){ foreach(file("$item2_file") as $log_item2){ list($i2_no,$i2_name,$i2_dmg,$i2_gold) = explode("<>", $log_item2); if($kitem2 == $i2_no) { $hit=1;break; } } } if(!$hit) { $i2_name=""; } if(file_exists("$bank_dir/$kid.cgi")){ $kbgold = file("$bank_dir/$kid.cgi"); $kbgold = $kbgold[0]; } else { $kbgold = 0; } $kitem3 = @file("$item_dir/{$kid}_2.cgi"); $kitem3 = $kitem3[0]; if($kitem3){ foreach(file("$item3_file") as $item_array){ list($i3_no,$i3_name,$i3_gold,$i3_up[0],$i3_up[1],$i3_up[2],$i3_up[3],$i3_up[4],$i3_up[5],$i3_up[6],$i3_up[7],$i3_up[8],$i3_desc) = explode("<>", $item_array); if($i3_no == "$kitem3"){ for($i=0;$i<9;$i++){ if($i3_up[$i]){$i3_up[$i] = " + {$i3_up[$i]}";} } break; } } }else{$i3_name = "";} if(file_exists("$item_dir/{$kid}_abl.cgi")){ $ablty = file("$item_dir/{$kid}_abl.cgi"); $ablset = explode("<>",$ablty[0]); $abl_dat = file("./abldat.cgi"); foreach($ablset as $key=>$val){ if($val == 2){ list($aname) = explode("<>",$abl_dat[$key]); $abldsp .= "$aname/"; } } } if(!$abldsp)$abldsp = "なし"; $hit=0; foreach(file("$rank_file") as $RANKING_TMP){ list($rkrank,$rkid,$rkpass,$rkname,$rksex,$rkhp,$rkmaxhp,$rklv)=explode("<>",$RANKING_TMP); if($kid==$rkid){$hit=1;break;} } if(!hit or !$rkrank){$rk_rank="−";} else{$rk_rank="$rkrank";} $SORTFILE=file("./$TEAM_DIR/$TEAM_FILE"); usort($SORTFILE,"rnk");$rk=1;$hit=0; foreach($SORTFILE as $team_array){ list($tmteam,$tmbossid,$tmboss,$tmchara,$tmn_0,$tmn_1,$tmn_2,$tmn_3,$tmex,$tmlv,$tmgold,$tmtotal,$tmkati,$tmcom,$tmitem,$tmid[0],$tmid[1],$tmid[2],$tmid[3],$tmid[4],$tmid[5],$tmid[6],$tmid[7],$tmid[8],$tmid[9])=explode("<>",$team_array); for($i=0;$i<10;$i++){ if($kid=="$tmid[$i]"){$hit=1;break;} } if($hit){break;} $rk+=1; } list($tmchara,$tmex,$tmritu,$tmitem,$nk_rank,$tm_nana,$tm_mna)=team_read($kid,$tmchara,$tmex,$tmlv,$tmtotal,$tmkati,$tmitem,$tmid); if(!$hit){$rk=$tmteam=$tmboss=$tmchara=$tmn_0=$tmn_1=$tmn_2=$tmn_3=$tmex=$tmlv=$tmgold=$tmitem=$tmritu=$nk_rank="---";} if(!$tm_nana[0]){$tm_nana[0]="---";} if(!$tm_nana[1]){$tm_nana[1]="---";} $scid=crypt("$kid","sc"); if(!$tm_mna[0]){$tm_mna[0]="---";} else{$tm_mna[0]="$tm_mna[0]";} if(!$tm_mna[1]){$tm_mna[1]="---";} else{$tm_mna[1]="$tm_mna[1]";} $dbdsp = db_fnc($kname,$mname); header1($vtime); print <<{$kname}さん用ステータス画面
$dbdsp EOM; if($ltime < $b_time and $ktotal){ print << チャンプと闘えるまで残り秒です。0になると、自動的に更新しますのでブラウザの更新は押さないで下さい。 EOM; } print <<$sanka2
ホームページデータ
ホームページ名
ホームページのURL
キャラクターデータ

武器:$i_name
防具:$i2_name
装身具:$i3_name

なまえ 性別 $esex
職業 $chara_syoku[$ksyoku] クラス $class
レベル $klv 経験値 $kex/$next_ex
お金 [持金] $kgold G
[預金] $kbgold G
HP $khp/$kmaxhp $i3_up[8]
$kn_0 $i3_up[0] 知能 $kn_1 $i3_up[1]
信仰心 $kn_2 $i3_up[2] 生命力 $kn_3 $i3_up[3]
器用さ $kn_4 $i3_up[4] 速さ $kn_5 $i3_up[5]
魅力 $kn_6 $i3_up[6] カルマ $klp $i3_up[7]
アビリティ $abldsp
技発動時コメント
EOM; if($ltime >= $b_time or !$ktotal) { print "\n"; }else{ print "{$vtime}秒後闘えるようになります。\n"; } print <<
チーム情報
$tmcharaチーム名$tmteam
[現:$rk位]
結成者$tmboss
LV$tmlv経験値$tmex
お金$tmgold勝率$tmritu
能力強さ:$tmn_0 結束:$tmn_1 知名:$tmn_2 運気:$tmn_3
称号$tmitem
仲間1$tm_nana[0] / $tm_nana[1]
仲間2$tm_mna[0] / $tm_mna[1]
順位$nk_rank
$cy_table
【現在転職できる職業一覧】
EOM; if(!$hit) { print "現在転職できる職業はありません"; } else { print "\n"; } print <<  ※ 転職すると、全ての能力値が転職した職業の初期値になります。また、LVも1になります。
【修練度更新所】

 ※転職の前には必ず訪れてください。

【Devil's Tower】

 ※各階に待ち受ける敵を倒しながら、塔の上階へと進んで下さい。

【修行の旅】

EOM; if($ltime >= $m_time or !$ktotal) { print "
\n"; }else{ print "{$mtime}秒後
\n"; } $yado_gold = $yado_dai * $klv; print <<魔物と戦闘できます。

 ※オークションを行います
街の施設
【闘技場】($yado_daixG) 【ランキング戦】 【競馬場】 【旅の宿】
【闘技場へ行く】
EOM; if($ltime >= $m_time or !$ktotal) { echo <<
EOM; }else{ echo "{$mtime}秒後
\n"; } echo <<みなさんと戦闘できます。
【ランキング戦】
EOM; if($ltime>=$m_time or !$ktotal){ print"
\n"; }else{ print"{$mtime}秒後闘えるようになります。
\n"; } print <<※全参加者とランキング戦を行うことができます。
[現在{$rk_rank}位]
レースと育成】
EOM; $actn = << EOM; if($c_hit){ print << EOM; } print <<
$actn EOM; if($ltime >= $m_time or !$ktotal) { echo "
※{$C_NAME}チャンプに挑戦!"; }else{ echo "{$mtime}秒後に参加出来ます。\n"; } print <<
$actn
※{$C_NAME}の体力を回復
$actn EOM; if($ltime >= $m_time or !$ktotal) { print "
※ギャンブルができます"; }else{ print "{$mtime}秒後に参加出来ます。\n"; } print <<
$actn
※{$C_NAME}厩舎に移動
【旅の宿】

 $yado_goldG必要です。
【コンフィグ】 【武器屋】 【防具屋】 【アクセ屋】
【コンフィグ】

いろいろ変更出来ます。
【武器屋】

※武器を購入可能。
【防具屋】

 ※防具を購入可能。
【アクセ屋】
【リサイクルショップ】 【訓練所】 【倉庫】 【酒場】
【リサイクルショップ】

 ※中古品の売買ができます
【訓練所】
EOM; if($ltime >= $m_time or !$ktotal) { print "
\n"; }else{ print "{$mtime}秒後に訓練所に行けるようになります。
\n"; } print <<※訓練する事が可能。{$needgold}G必要です。
【倉庫】

 ※倉庫に道具の預入れ・引出しが出来ます。
【酒場】

 ※チームを結成し、対戦出来ます。
【郵便小包】 【銀行】 【職業安定所】 【依頼遂行】
【郵便小包】

 ※他のキャラに小包が送れます。
【銀行】

 ※銀行にお金の預入れ・引出しが出来ます。
【職業安定所】

【依頼遂行】
EOM; if($ltime >= $m_time or !$ktotal) { print "
\n"; }else{ print "{$mtime}秒後に遂行出来ます。
\n"; } print <<
【情報屋】 【アメ横】 【アビリティ】 【音楽操作】
【情報屋】

 ※有益な情報を、お金を払って教えてもらう事が出来ます。

 ※激安だよお兄さん

 ※アビリティをセットできます。
【音楽操作】

※音楽のON/OFFを操作できます。


【他のキャラクターへメッセージを送る】


 ※他のキャラクターへメッセージを送ることができます。

【届いているメッセージ】表示数$max_gyo件まで
EOM; $hit=0;$i=1; foreach(file("$message_file") as $MESSAGE_LOG){ list($pid,$hid,$hname,$hmessage,$hhname,$htime) = explode("<>", $MESSAGE_LOG); if(($kid == "$pid" || $pid == "all") && $kid != "$hid"){ if($max_gyo < $i) { break; } if ($pid == "all"){ print "
{$hname}さんから全員へ > 「$hmessage」($htime)
\n"; } else { print "
{$hname}さん > 「$hmessage」($htime)
\n"; } $hit=1;$i++; }elseif($kid == "$hid" || $pid == "all"){ if ($pid == "all" && $hid == "$kid"){ print "
{$kname}さんから全員へ > 「{$hmessage}」($htime)
\n"; } else { print "
{$kname}さんから{$hhname}さんへ > 「{$hmessage}」($htime)
\n"; } } } if(!$hit){ print "
{$kname}さん宛てのメッセージはありません

\n"; } print "


"; footer(); exit; } #----------------# # 登録完了画面 # #----------------# function make_end() { global $n_0,$n_1,$n_2,$n_3,$n_4,$n_5,$n_6,$c_syoku,$hp,$ex,$lv,$gold,$lp,$total,$kati,$waza,$item,$mons,$host,$date; require(syoki_file); if($chara_stop){ error("現在キャラクターの作成登録はできません"); } if (ereg("[^0-9a-zA-Z]+", $_POST['id'])) {error("IDに半角英数字以外の文字が含まれています。"); } if (ereg("[^0-9a-zA-Z]+", $_POST['pass'])) {error("パスワードに半角英数字以外の文字が含まれています。"); } # 職業未選択の場合 if($_POST['syoku'] == "") { if($_POST['id'] == "" or strlen($_POST['id']) < 4 or strlen($_POST['id']) > 8) { error("IDは、4文字以上、8文字以下で入力して下さい。"); } elseif($_POST['pass'] == "" or strlen($_POST['pass']) < 4 or strlen($_POST['pass']) > 8) { error("パスワードは、4文字以上、8文字以下で入力して下さい。"); } elseif($_POST['site'] == "") { error("ホームページ名が未記入です"); } elseif($_POST['url'] == "") { error("URLが未記入です"); } elseif($_POST['c_name'] == "") { error("キャラクターの名前が未記入です"); } elseif($_POST['sex'] == "") { error("性別が選択されていません"); } $g = $_POST['n_0'] + $_POST['n_1'] + $_POST['n_2'] + $_POST['n_3'] + $_POST['n_4'] + $_POST['n_5'] + $_POST['n_6']; if($g > $_POST['point']) { error("ポイントの振り分けが多すぎます。振り分けの合計を、{$_POST['point']}以下にしてください。"); } header1($vtime); print <<職業選択画面



あなたがなることができる職業は以下のとおりです。




EOM; footer(); exit; }else{ if($_POST['sex']) { $esex = "男"; } else { $esex = "女"; } $next_ex = $lv * $lv_up; $chara = $_POST['chara']; header1($vtime); print <<登録完了画面 以下の内容で登録が完了しました。

ホームページ {$_POST['site']}
なまえ {$_POST['c_name']} 性別 $esex
職業 {$chara_syoku[$_POST['syoku']]} お金 $gold
レベル $lv 経験値 $ex/$next_ex
HP $hp
$n_0 知能 $n_1
信仰心 $n_2 生命力 $n_3
器用さ $n_4 速さ $n_5
魅力 $n_6 カルマ $lp
EOM; $gettime = get_time(); $mes_regist = file("$message_file"); $mes_max = count($mes_regist); if($mes_max > $max) { array_pop($mes_regist); } array_unshift($mes_regist,"all<>uketuke<>受付け嬢<>{$_POST['c_name']}さんがゲームに参加しました。<>全員<>$gettime<>\n"); $fp = fopen("$message_file", "w"); flock($fp,LOCK_EX); fwrite($fp, implode($mes_regist, "")); flock($fp,LOCK_UN); fclose($fp); footer(); exit; } } #--------------# # メッセージ # #--------------# function message() { global $win,$wurl,$mode,$ltime,$b_time,$ktotal,$vtime; require(syoki_file); if($_POST['mes'] == "") { error("メッセージが記入されていません"); } if($_POST['mesid'] == "") { error("相手が指定されていません"); } if($_POST['id'] == "test"){error("テストキャラは参加できません。よろしければ新規作成をどうぞ。");} $gettime = get_time(); $mes_regist = file("$message_file"); if ($_POST['mesid'] != "all"){//無用な処理を減らす foreach(file("$chara_file") as $MESSAGE) { list($did,$dpass,$dsite,$durl,$dname) = explode("<>",$MESSAGE); if($_POST['mesid'] == "$did") { break; } } } else { $dname ="全員"; } $mes_max = count($mes_regist); if($mes_max > $max) { array_pop($mes_regist); } array_unshift($mes_regist,"{$_POST['mesid']}<>{$_POST['id']}<>{$_POST['name']}<>{$_POST['mes']}<>$dname<>$gettime<>\n"); $fp = fopen("$message_file", "w"); flock($fp,LOCK_EX); fwrite($fp, implode($mes_regist, "")); flock($fp,LOCK_UN); fclose($fp); header1($vtime); if ($_POST['mesid'] == "all"){ echo "

全員へメッセージを送りました。

"; } else { echo "

{$dname}さんへメッセージを送りました。

"; } print << EOM; footer(); exit; } #-----------------------------# # モンスターとの戦闘 # # 改造ベータ版(ver.2-A) # # # # [Perl版原版] ma-tiさん # # [PHP版原版] Pakaさん # # [改造] SYU # #-----------------------------# function monster() { global $mode,$ltime,$b_time,$vtime,$ksite,$kurl,$kname,$ksex,$kchara,$kn_0,$kn_1,$kn_2,$kn_3,$kn_4,$kn_5,$kn_6,$ksyoku,$khp,$kmaxhp,$kex,$klv,$kgold,$klp,$ktotal,$kkati,$kwaza,$kitem,$kmons,$date; require(syoki_file); if($battle_flag) { error("現在戦闘中です。少しお待ちになってから戦闘してください。"); } $battle_flag=1; foreach(file("$chara_file") as $battle){ list($kid,$kpass,$ksite,$kurl,$kname,$ksex,$kchara,$kn_0,$kn_1,$kn_2,$kn_3,$kn_4,$kn_5,$kn_6,$ksyoku,$khp,$kmaxhp,$kex,$klv,$kgold,$klp,$ktotal,$kkati,$kwaza,$kitem,$kmons,$khost,$kdate) = explode("<>", $battle); if($_POST['id'] == "$kid") { break; } } $ltime = time(); $ltime = $ltime - $kdate; $vtime = $b_time - $ltime; $mtime = $m_time - $ltime; if($_POST['id'] != "$kid") {error("オープンエラー、ID・パスワードが正しくありません。");} if($ltime < $m_time and $ktotal) { error("{$mtime}秒後闘えるようになります。
\n"); } if(!$kmons) { error("一度キャラクターと闘ってください"); } #### 敵1体目決定 #### if ($_POST['place'] == 1){//ボス戦1 $MONSTER = file("$monster_file8"); }else if ($_POST['place'] == 2) {//中級者の森 $MONSTER = file("$monster_file2"); }else if ($_POST['place'] == 3) {//上級者の森 $MONSTER = file("$monster_file3"); }else if ($_POST['place'] == 4) {//魔界 $MONSTER = file("$monster_file4"); }else if ($_POST['place'] == 5) {//闇 $MONSTER = file("$monster_file5"); }else if ($_POST['place'] == 6) {//アルテマ $MONSTER = file("$monster_file6"); }else if ($_POST['place'] == 7) {//神の城 $MONSTER = file("$monster_file7"); }else if ($_POST['place'] == 8) {//エクスペル $MONSTER = file("$monster_file9"); }else if ($_POST['place'] == 9) {//エクスペル $MONSTER = file("$monster_file10"); }else { $MONSTER = file("$monster_file");} $r_no = count($MONSTER); $r_no = mt_rand(0,$r_no-1); list($mname,$mex,$mhp,$msp,$mdmg) = explode("<>",$MONSTER[$r_no]); if($kitem){ foreach(file("$item_file") as $battle_item){ list($ci_no,$ci_name,$ci_dmg) = explode("<>", $battle_item); if($kitem == $ci_no) { break; } } } if(file_exists("$item_dir/$kid.cgi")){ $kitem2 = file("$item_dir/$kid.cgi"); $kitem2 = $kitem2[0]; } if($kitem2){ foreach(file("$item2_file") as $battle_item2){ list($ci2_no,$ci2_name,$ci2_dmg) = explode("<>", $battle_item2); if($kitem2 == $ci2_no) { break; } } } ######################## #### 装備武器セット #### if($kitem){ foreach(file("$item_file") as $battle_item){ list($ci_no,$ci_name,$ci_dmg) = explode("<>", $battle_item); if($kitem == $ci_no) { break; } } } ######################## $kitem3 = @file("$item_dir/{$kid}_2.cgi"); $kitem3 = $kitem3[0]; $hit=0; if($kitem3){ foreach(file("$item3_file") as $battle_item){ list($ci3_no,$ci3_name,$ci3_gold,$ci3_up[0],$ci3_up[1],$ci3_up[2],$ci3_up[3],$ci3_up[4],$ci3_up[5],$ci3_up[6],$ci3_up[7],$ci3_up[8],$ci3_desc) = explode("<>", $battle_item); if($ci3_no == "$kitem3"){$hit=1;break;} } } if($hit){ $kn_0 += $ci3_up[0]; $kn_1 += $ci3_up[1]; $kn_2 += $ci3_up[2]; $kn_3 += $ci3_up[3]; $kn_4 += $ci3_up[4]; $kn_5 += $ci3_up[5]; $kn_6 += $ci3_up[6]; $klp += $ci3_up[7]; $kmaxhp += $ci3_up[8]; }else{$ci3_no = "";} if($_POST['site']) { $ksite = $_POST['site']; } if($_POST['url']) { $kurl = $_POST['url']; } if($_POST['waza']) { $kwaza = $_POST['waza']; } if($_POST['c_name']) { $kname = $_POST['c_name']; } #### 敵1体目各値セット #### $khp_flg = $khp; $mhp = mt_rand(0,$mhp-1) + $msp; $mhp_flg = $mhp; $m1_win = 0; ######################## #### 敵2体出現判断 #### if($klv > 9 and $r_no > 0 and mt_rand(0,2) == 0){ $r2_no = mt_rand(0,$r_no-1); list($mname2,$mex2,$mhp2,$msp2,$mdmg2) = explode("<>",$MONSTER[$r2_no]); $mhp2 = mt_rand(0,$mhp2-1) + $msp2; $mhp2_flg = $mhp2; $m2_win = 0;} ######################## #### 特殊能力用 #### $gen_flg = 0; ######################## ######## アイテムゲット用 if($item_file){$FILE[1]=file("$item_file");$L_FILE[1]="$loft_dir/{$kid}_w.cgi";} if($item2_file){$FILE[2]=file("$item2_file");$L_FILE[2]="$loft_dir/{$kid}_p.cgi";} if($item3_file){$FILE[3]=file("$item3_file");$L_FILE[3]="$loft_dir/{$kid}_a.cgi";} for($i=1;$i<4;$i++){ $tmp = @file("$L_FILE[$i]"); $gi[$i]=explode("<>",$tmp[0]); if(count($gi[$i]) > 1)array_pop($gi[$i]); if(!$gi[$i])$gi[$i][0]=""; } ######## アビリティセット $ablty = @file("$item_dir/{$kid}_abl.cgi"); if($ablty){ $ablty = rtrim($ablty[0]); $ablset = explode("<>",$ablty);$j=0; for($i=0;$i{$hissatu[$hissatu_m]}\n"; } ######################## #### クリティカル判断 #### if(mt_rand(0,19) == 0) { $clit1 = "クリティカル!!"; $dmg1 = $dmg1 * 2; } if(mt_rand(0,29) == 0) { $clit2 = "{$mname}の攻撃、クリティカル!!"; $dmg2 = (int)($dmg2 * 1.5); } if(mt_rand(0,29) == 0) { $clit3 = "{$mname2}の攻撃、クリティカル!!"; $dmg3 = (int)($dmg3 * 1.5); } $dmg1 = $dmg1 + $ci_dmg; ######################## #### ダメージ判断 #### if(($mhp2 > 0 and mt_rand(0,1) == 0) or ($mhp <= 0 and $mhp2 > 0)){ $kawasicm1 = "$com1 $clit1 $kawasi3 $mname2 に $dmg1 のダメージを与えた。

"; $mons_flg = 1; }else{ $kawasicm1 = "$com1 $clit1 $kawasi2 $mname に $dmg1 のダメージを与えた。

"; $mons_flg = 0; } if($mhp > 0 and $mhp2 > 0){ $kawasicm2 = "$com2 $clit2 $kawasi1 $kname に $dmg2 のダメージを与えた。
"; $kawasicm3 = "$com3 $clit3 $kawasi1 $kname に $dmg3 のダメージを与えた。

"; $mons2_flg = 2; }elseif($mhp <= 0 and $mhp2 > 0){ $kawasicm3 = "$com3 $clit3 $kawasi1 $kname に $dmg3 のダメージを与えた。

"; $mons2_flg = 1; }else{ $kawasicm2 = "$com2 $clit2 $kawasi1 $kname に $dmg2 のダメージを与えた。

"; $mons2_flg = 0; } ######################## #### 回避&先制判断 #### if(mt_rand(0,$kn_5) == 0 or ($k == 1 and mt_rand(0,9) == 0)){ $dmg1 = 0; if($k == 1){ $kawasicm1 = "$kname は背後から攻撃され、敵に先制された

";} else{ $kawasicm1 = "$com1 $kname の攻撃は回避された

";} } if(mt_rand(0,8) == 0){ if($mons2_flg == 2){ $mons_kaihi = mt_rand(0,6); if($mons_kaihi == 0){ $dmg2 = 0; $dmg3 = 0; $kawasicm2 = "$com2 $mname の攻撃は回避された
"; $kawasicm3 = "$com3 $mname2 の攻撃は回避された

";} elseif($mons_kaihi > 0 and $mons_kaihi <= 3){ $dmg2 = 0; $kawasicm2 = "$com2 $mname の攻撃は回避された
";} else{ $dmg3 = 0; $kawasicm3 = "$com3 $mname2 の攻撃は回避された

";} } elseif($mons2_flg == 1){ $kawasicm3 = "$com3 $mname2 の攻撃は回避された

"; $dmg3 = 0;} else{ $kawasicm2 = "$com2 $mname の攻撃は回避された

"; $dmg2 = 0;} } ######################## #### 特殊効果 #### if(mt_rand(0,9) == 0 and $mhp > 0 and $mhp2 > 0 and !$gen_flg){ $dmg1 = 0;$dmg2 = 0;$dmg3 = 0; $genjyu = mt_rand(0,19); # 剣の幻獣 if($genjyu == 0){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!閃光を発した斬鉄剣が敵を切り刻む!!
"; if($mhp > $mhp2){ $kawasicm1 .= "$mname"; $temp_death1 = 1;} else{ $kawasicm1 .= "$mname2"; $temp_death2 = 1;} $kawasicm1 .= " を 真っ二つ にした!!!

"; $mons_flg = 2;} # 盾の幻獣 elseif($genjyu == 1){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!虹色に輝くオーラが体を包み込む!!
$mname と $mname2 の攻撃を 反射 した!!!

"; $temp_g3_1 = (mt_rand(0,$mdmg-1) + 1) + $mdmg; if(($mhp - $temp_g3_1) <= 0){$temp_death1 = 1;} $temp_g3_2 = (mt_rand(0,$mdmg2-1) + 1) + $mdmg2; if(($mhp2 - $temp_g3_2) <= 0){$temp_death2 = 1;} $kawasicm1 .= "$mname に $temp_g3_1 のダメージを与えた。!
$mname2 に $temp_g3_2 のダメージを与えた。!

"; $mons_flg = 3;} # 重力の幻獣 elseif($genjyu == 2){ $temp_g4_1 = (int)($mhp / 5); if($temp_g4_1 <= 0){$temp_death1 = 1;} $temp_g4_2 = (int)($mhp2 / 5); if($temp_g4_2 <= 0){$temp_death2 = 1;} $kawasicm1 = " $genjyu_name[$genjyu] を召喚!強烈な磁場が敵の体力を奪う!!
$mname と $mname2 のHPは 激減 した!!!

"; $mons_flg = 4;} # 悪魔の幻獣 elseif($genjyu == 3){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!闇に潜んだ眼が敵を睨み付ける!!
$mname と $mname2 のHPは になった!!!

"; $mons_flg = 5;} # 水の幻獣 elseif($genjyu == 4){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!聖なる水の調べが安らぎへと誘う!!
$kname のHPは 完全回復 した!!!

"; $mons_flg = 6;} # 火の幻獣 elseif($genjyu == 5){ $temp_g7_1 = (int)($mhp / 2); if($temp_g7_1 <= 0){$temp_death1 = 1;} $temp_g7_2 = (int)($mhp2 / 2); if($temp_g7_2 <= 0){$temp_death2 = 1;} $kawasicm1 = " $genjyu_name[$genjyu] を召喚!燃えたぎる炎は全てを焼き尽くす!!
$mname と $mname2 のHPは 半減 した!!!

"; $mons_flg = 7;} # 天使の幻獣 elseif($genjyu == 6){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!美しき微笑は隠された能力を引出す!!
$kname の全パラメータが 攻撃力 に付加された!!!

"; $temp_g8 = $klv * (mt_rand(0,4) + 1) + kn_0 + $kn_1 + $kn_2 + $kn_3 + $kn_4 + $kn_5 + $kn_6 + $kmaxhp + $klp + $ci_dmg; $temp_g8_1 = mt_rand(0,1); if($temp_g8_1 == 0){ $kawasicm1 .= "$mname に $temp_g8 のダメージを与えた!

"; if(($mhp - $temp_g8) <= 0){$temp_death1 = 1;} } else{ $kawasicm1 .= "$mname2 に $temp_g8 のダメージを与えた!

"; if(($mhp2 - $temp_g8) <= 0){$temp_death2 = 1;} } $mons_flg = 8;} # 煩悩の幻獣 elseif($genjyu == 7){ $temp_g9 = $klv * 500; $kawasicm1 = " $genjyu_name[$genjyu] を召喚!卑しき心が富を築き上げる!!
$kname の所持金が {$temp_g9}G 増えた!!!

"; $mons_flg = 9;} # 土の幻獣 elseif($genjyu == 8){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!生命の息吹が奇跡をもたらす!!
$kname の現HPが一時的に 2倍 になった!!!

"; $mons_flg = 10;} # 風の幻獣 elseif($genjyu == 9){ $g11_r = mt_rand(2,4); $kawasicm1 = " $genjyu_name[$genjyu] を召喚!疾風の刃が敵を蹴散らす!!
目にも止まらぬ早業で {$g11_r}回連続攻撃 !!!

"; $temp_g11_1 = 0;$temp_g11_2 = 0; for($g11=1; $g11<=$g11_r; $g11++) { $temp11_1 = $klv * (mt_rand(0,2) + 1) + mt_rand(0,$kn_5); $temp11_2 = $klv * (mt_rand(0,2) + 1) + mt_rand(0,$kn_5); $temp_g11_1 += $temp11_1; $temp_g11_2 += $temp11_2; $kawasicm1 .= "$mname に $temp11_1 のダメージを与えた!
$mname2 に $temp11_2 のダメージを与えた!"; $kawasicm1 .= "

";} if(($mhp - $temp_g11_1) <= 0){$temp_death1 = 1;} if(($mhp2 - $temp_g11_2) <= 0){$temp_death2 = 1;} $mons_flg = 11;} # 破壊の幻獣 elseif($genjyu == 10){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!万物を超越した力が世界を支配する!!
$mname と $mname2 の細胞を 破壊 した!!!

"; $temp_death1 = 1;$temp_death2 = 1; $mons_flg = 12;} # 生命の幻獣 elseif($genjyu == 11){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!あくなき正への執着が奇跡を生む!!
$kname と "; if($mhp > $mhp2){ $temp_g13 = 0; $kawasicm1 .= "$mname";} else{ $temp_g13 = 1; $kawasicm1 .= "$mname2";} $kawasicm1 .= " のHPが チェンジ した!!!

"; $mons_flg = 13;} # 創造の幻獣 elseif($genjyu == 12){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!絶対なる神の力を以って新たな生命を誕生させる!!
$mname と $mname2 を融合させて "; if($mhp_flg + $mhp2_flg > 1000){ $temp_g14 = 3; $kawasicm1 .= "全てを超えしもの";} elseif($mhp_flg + $mhp2_flg <= 300){ $temp_g14 = 1; $kawasicm1 .= "アルテマウェポン";} else{ $temp_g14 = 2; $kawasicm1 .= "オメガウェポン";} $kawasicm1 .= " を作り出してしまった!!!

"; $mons_flg = 14;} # 偽善の幻獣 elseif($genjyu == 13){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!体内に秘めた悪意の雨が降り注ぐ!!
雨に濡れた "; if(mt_rand(0,1) == 0){ $temp_g15 = 0; $temp_death1 = 1; $kawasicm1 .= "$mname"; }else{ $temp_g15 = 1; $temp_death2 = 1; $kawasicm1 .= "$mname2";} $kawasicm1 .= " の体を 腐敗 させていく!!!
なんと!$kname のHPも になってしまった!!

"; $mons_flg = 15;} # 眠りの幻獣 elseif($genjyu == 14){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!絶えず止まない睡魔が戦意を喪失させる!!
$mname と $mname2 を "; $temp_g16 = mt_rand(0,5); if($temp_g16 == 0){$temp_g16 = 6; $kawasicm1 .= "深い眠り";} elseif($temp_g16 >= 4){$temp_g16 = 4; $kawasicm1 .= "程よい眠り";} else{$temp_g16 = 2; $kawasicm1 .= "浅い眠り";} $kawasicm1 .= " へと誘った!!!

"; $mons_flg = 16;} # 猛毒の幻獣 elseif($genjyu == 15){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!猛毒の霧は永遠なる苦痛を約束する!!
$mname と $mname2 は 猛毒 の噴霧を浴びた!!!

"; $temp_g17 = mt_rand(2,6); $mons_flg = 17;} # 不死の幻獣 elseif($genjyu == 16){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!気高き真紅の羽が艶やかに乱舞する!!
$kname は不死の羽を手に入れ、一度だけ 蘇生 出来るようになった!!!

"; $temp_g18 = 1; $mons_flg = 18;} # サボテンの幻獣 elseif($genjyu == 17){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!体を小刻みに動かしながら何かを企んでいる!!
全身から無数に飛び出す 針100本 !!!

$mname に
"; for($g19=1; $g19<=100; $g19++) { $kawasicm1 .= "のダメージ!"; if($g19%10==0){$kawasicm1 .= "
";} } $kawasicm1 .= "のダメージを与えた。

"; if(($mhp - 100) <= 0){$temp_death1 = 1;} $mons_flg = 19;} # 疑心の幻獣 elseif($genjyu == 18){ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!戦う事への疑問が不信感を煽る!!
$mname と $mname2 は 混乱 して、互いに攻撃しあった!!!

"; $g20_r = mt_rand(2,4); $temp_g20_1 = 0;$temp_g20_2 = 0; for($g20=1; $g20<=$g20_r; $g20++) { $temp20_1 = (mt_rand(0,$mdmg-1) + 1) + $mdmg; $temp20_2 = (mt_rand(0,$mdmg2-1) + 1) + $mdmg2; $temp_g20_1 += $temp20_1; $temp_g20_2 += $temp20_2; $kawasicm1 .= "$mname は $mname2 に $temp20_1 のダメージを与えた!
$mname2 は $mname に $temp20_2 のダメージを与えた!

"; if($mhp - $temp_g20_2 <= 0 and $mhp2 - $temp_g20_1 <= 0){ $temp_death1 = 1;$temp_death2 = 1;break;} if($mhp - $temp_g20_2 <= 0){ $temp_death1 = 1;break;} if($mhp2 - $temp_g20_1 <= 0){ $temp_death2 = 1;break;} $kawasicm1 .= "$kname は敵同士の争いを静観している!

"; } $kawasicm2 = "$mname は 正気 に戻った!
"; $kawasicm3 = "$mname2 は 正気 に戻った!

"; if($temp_death1 and $temp_death2){$kawasicm2 = "";$kawasicm3 = "";} elseif($temp_death1){$kawasicm2 = "";} elseif($temp_death2){$kawasicm2 .= "

";$kawasicm3 = "";} $mons_flg = 20;} # 美の幻獣 else{ $kawasicm1 = " $genjyu_name[$genjyu] を召喚!聖水を飲み干すと、美貌が 100000 上がった!!
・・・だが、戦闘には何の意味も無かった!!!

"; $mons_flg = 99;} $genjyu = $genjyu + 1; $gen_flg = 1; } ######################## #### 勝負先読み調整 #### if($temp_g16){ # 眠りの幻獣用 $dmg2 = 0; $dmg3 = 0; if($mons_flg == 1){ $temp_g16_1 = $mhp;$temp_g16_2 = $mhp2 - $dmg1;} else{ $temp_g16_1 = $mhp - $dmg1;$temp_g16_2 = $mhp2;} $kawasicm2 = "$mname は 眠っている
"; $kawasicm3 = "$mname2 は 眠っている

"; if($temp_g16_1 <= 0){$kawasicm2 = "";} if($temp_g16_2 <= 0){$kawasicm3 = "

";} $temp_g16 -= 1; if($temp_g16 <= 0){ $kawasicm2 = "$mname は 目を覚ました
"; $kawasicm3 = "$mname2 は 目を覚ました

"; if($temp_g16_1 <= 0){ $kawasicm2 = "";} if($temp_g16_2 <= 0){ $kawasicm3 = "

";} $temp_g16 = 0; } }elseif($temp_g17){ # 猛毒の幻獣用 if($mhp > 0){$jizoku1 = (int)($mhp_flg * 0.1) + 1;} if($mhp2 > 0){$jizoku2 = (int)($mhp2_flg * 0.1) + 1;} if($mons_flg == 1){ $temp_g17_1 = $mhp - $jizoku1; $temp_g17_2 = $mhp2 - ($dmg1 + $jizoku2);} else{ $temp_g17_1 = $mhp - ($dmg1 + $jizoku1); $temp_g17_2 = $mhp2 - $jizoku2;} if($genjyu){ if($temp_g17_1 <= 0 and $temp_g17_2 <= 0){ $kawasicm2 = "";$kawasicm3 = "";} elseif($temp_g17_1 <= 0){$kawasicm2 = ""; $kawasicm3 = "$mname2 の攻撃!だが、幻獣には全く効かない!!
";} elseif($temp_g17_2 <= 0){$kawasicm3 = ""; $kawasicm2 = "$mname の攻撃!だが、幻獣には全く効かない!!

";} else{ $kawasicm2 = "$mname と $mname2 の攻撃は、幻獣には全く効かない!!

"; $kawasicm3 = "";} } $kawasicm2 .= "

$mname は のダメージを $jizoku1 受けた!

"; $kawasicm3 .= "$mname2 は のダメージを $jizoku2 受けた!

"; if($temp_g17_1 > 0 and $temp_g17_2 > 0){ $kawasicm1 .= "$mname と $mname2 の二人同時攻撃!!

";} if($temp_g17_1 <= 0 and $mons_flg == 0 and ($mhp - $dmg1 <= 0)){$dmg2 = 0;$kawasicm2 = "";} if($temp_g17_2 <= 0 and $mons_flg == 1 and ($mhp2 - $dmg1 <= 0)){ $dmg3 = 0;$kawasicm3 = "";} $temp_g17 -= 1; if($temp_g17 == 0){ if($temp_g17_1 > 0){$kawasicm2 .= "$mname の体から 毒が消えた

";} if($temp_g17_2 > 0){$kawasicm3 .= "$mname2 の体から 毒が消えた

";} } if($mhp <= 0){$kawasicm2 = "";} if($mhp2 <= 0){$kawasicm3 = "";} }elseif($mons_flg == 20){ }else{ if($genjyu){ # 特殊攻撃全般用 if(($temp_death1 and $temp_death2) or $mons_flg == 14){ $kawasicm2 = "";$kawasicm3 = "";} elseif($temp_death1){$kawasicm2 = ""; $kawasicm3 = "$mname2 の攻撃!だが、幻獣には全く効かない!!

";} elseif($temp_death2){$kawasicm3 = ""; $kawasicm2 = "$mname の攻撃!だが、幻獣には全く効かない!!

";} else{ $kawasicm1 .= "$mname と $mname2 の二人同時攻撃!!

"; $kawasicm2 = "$mname と $mname2 の攻撃は、幻獣には全く効かない!!

"; $kawasicm3 = "";} }else{ # 通常用 if($mons_flg == 0 and ($mhp - $dmg1) <= 0){ $dmg2 = 0;$kawasicm2 = "";} if($mons_flg == 1 and ($mhp2 - $dmg1) <= 0){ $dmg3 = 0;$kawasicm3 = "

";} if(($mhp - $dmg1) > 0 and ($mhp2 - $dmg1) > 0){ $kawasicm1 .= "$mname と $mname2 の二人同時攻撃!!

";} # 不死の幻獣用 if($temp_g18 and ($khp_flg - ($dmg2 + $dmg3)) <= 0){ $kawasicm3 .= "$kname は敵の攻撃に倒れた!だが突然、不死の羽が輝いて 復活 を遂げた!!

";} } } ######################## #### 戦闘画面表 表示パーツ #### if ($dmg2 < 0){ $dmg2 = 0; } $battle_date[$j] = << {$i}ターン
なまえ HP 職業 LV
$kname $khp_flg/$kmaxhp
$chara_syoku[$ksyoku] $klv
VS EOM; #### 敵2体出現用 表調整 #### if($mons2_flg == 2){ $battle_date[$j] .= << EOM; }elseif($mons2_flg == 1){ $battle_date[$j] .= << EOM; }else{ $battle_date[$j] .= << EOM; } ######################## $battle_date[$j] .= <<
なまえ HP
$mname$mhp/$mhp_flg
$mname2$mhp2/$mhp2_flg
$mname2$mhp2/$mhp2_flg
$mname$mhp/$mhp_flg

$kawasicm1 $kawasicm2 $kawasicm3 EOM; #### 敵残りHP算出 #### if($mons_flg == 1){ $mhp = $mhp - $jizoku1; $mhp2 = $mhp2 - ($dmg1 + $jizoku2);} elseif($mons_flg == 2){ if($temp_death1){$mhp = 0;}else{$mhp2 = 0;}} elseif($mons_flg == 3){ $mhp = $mhp - $temp_g3_1;$mhp2 = $mhp2 - $temp_g3_2;} elseif($mons_flg == 4){ $mhp = $temp_g4_1;$mhp2 = $temp_g4_2;} elseif($mons_flg == 5){$mhp = 1;$mhp2 = 1;} elseif($mons_flg == 6){$khp_flg = $kmaxhp;} elseif($mons_flg == 7){ $mhp = $temp_g7_1;$mhp2 = $temp_g7_2;} elseif($mons_flg == 8){ if($temp_g8_1 == 0){$mhp = $mhp - $temp_g8;} else{$mhp2 = $mhp2 - $temp_g8;}} elseif($mons_flg == 9){$kgold = $kgold + $temp_g9;} elseif($mons_flg == 10){$khp_flg = $khp_flg * 2;} elseif($mons_flg == 11){ $mhp = $mhp - $temp_g11_1; $mhp2 = $mhp2 - $temp_g11_2;} elseif($mons_flg == 12){$mhp = 0;$mhp2 = 0;} elseif($mons_flg == 13){ $temp_g13_1 = $khp_flg; if(!$temp_g13){$khp_flg = $mhp;$mhp = $temp_g13_1;} else{$khp_flg = $mhp2;$mhp2 = $temp_g13_1;}} elseif($mons_flg == 14){ $temp_g14_nm = $mname; if($temp_g14 == 3){ $mex = ($mex + $mex2) * 3; $mhp = ($mhp + $mhp2) * 3; $mhp_flg = ($mhp_flg + $mhp2_flg) * 3; if($mhp_flg <= 950){$mhp = 1000;$mhp_flg = 1000;} $msp = ($msp + $msp2) * 3; $mdmg = ($mdmg + $mdmg2) * 3; $mname = "全てを超えしもの";} elseif($temp_g14 == 1){ $mex = (int)(($mex + $mex2) * 1.5); $mhp = (int)(($mhp + $mhp2) * 1.5); $mhp_flg = (int)(($mhp_flg + $mhp2_flg) * 1.5); if($mhp_flg <= 450){$mhp = 500;$mhp_flg = 500;} $msp = (int)(($msp + $msp2) * 1.5); $mdmg = (int)(($mdmg + $mdmg2) * 1.5); $mname = "アルテマウェポン";} else{ $mex = ($mex + $mex2) * 2; $mhp = ($mhp + $mhp2) * 2; $mhp_flg = ($mhp_flg + $mhp2_flg) * 2; if($mhp_flg <= 150){$mhp = 200;$mhp_flg = 200;} $msp = ($msp + $msp2) * 2; $mdmg = ($mdmg + $mdmg2) * 2; $mname = "オメガウェポン";} $mhp2 = 0;} elseif($mons_flg == 15){ if($temp_g15 == 0){$mhp = 0;}else{$mhp2 = 0;} $khp_flg = 1;} elseif($mons_flg == 16){} elseif($mons_flg == 17){ if($mons_flg == 1){ $mhp = $mhp - $jizoku1; $mhp2 = $mhp2 - ($dmg1 + $jizoku2);} else{ $mhp = $mhp - ($dmg1 + $jizoku1); $mhp2 = $mhp2 - $jizoku2;}} elseif($mons_flg == 18){} elseif($mons_flg == 19){$mhp = $mhp - 100;} elseif($mons_flg == 20){ $mhp = $mhp - $temp_g20_2;$mhp2 = $mhp2 - $temp_g20_1;} else{ $mhp = $mhp - ($dmg1 + $jizoku1); $mhp2 = $mhp2 - $jizoku2;} ######################## #### 倒した敵名表示 #### if(!$m1_win and $mhp <= 0){$m1_win = 1; $battle_date[$j] .= <<$mname を倒した!

EOM; # 創造の幻獣 討伐時の特別恩恵 if($temp_g14){ $kn_0 = $kn_0 + $temp_g14;$kn_1 = $kn_1 + $temp_g14; $kn_2 = $kn_2 + $temp_g14;$kn_3 = $kn_3 + $temp_g14; $kn_4 = $kn_4 + $temp_g14;$kn_5 = $kn_5 + $temp_g14; $kn_6 = $kn_6 + $temp_g14;$klp = $klp + $temp_g14; $temp_g14_hp = $temp_g14 * 5; $khp = $khp + $temp_g14_hp; $kmaxhp = $kmaxhp + $temp_g14_hp; $temp_g14_gd = $temp_g14 * 2000; $kgold = $kgold + $temp_g14_gd; $battle_date[$j] .= <<力・知能・信仰心・生命力・器用さ・速さ・魅力・カルマがそれぞれ{$temp_g14}ずつと、HPが{$temp_g14_hp}上がった!
{$mname}が落とした宝箱から、{$temp_g14_gd}Gのお金を手に入れた。

EOM; } } if(!$m2_win and $mhp2_flg and $mhp2 <= 0 and !$temp_g14){$m2_win = 1; $battle_date[$j] .= <<$mname2 を倒した!

EOM; } ######################## #### 挑戦者残りHP算出 #### if($mons2_flg == 2){$khp_flg = $khp_flg - $dmg2 - $dmg3;} elseif($mons2_flg == 1){$khp_flg = $khp_flg - $dmg3;} else{$khp_flg = $khp_flg - $dmg2;} # 不死の幻獣 効果 if($temp_g18 and $khp_flg <= 0){ $khp_flg = $kmaxhp;$temp_g18 = 0;} ######################## #### 戦闘勝敗判断 #### if(($mhp <= 0 and $mhp2 <= 0 and $mhp2_flg) or ($mhp <= 0 and !$mhp2_flg)) { $win = 1; break; } elseif($khp_flg <= 0) { $win = 0; break; } ######################## $i++; $j++; } } #### 戦闘勝敗後の各値計算 #### if($win == 2){ $mex = 0; $gold = 0; $comment = "何も得るものはなかった・・・

"; if($get_f)$comment .= "・・・が、アイテムだけは持ち帰った!

"; }elseif($win == 1){ $ktotal += 1; $kkati += 1; if($mhp2_flg){ $mex = $mex + $mex2; $kex = $kex + $mex; if($kmons < 2){$kmons = 0;}else{$kmons -= 2;} $gold = ($klv * 10 + mt_rand(0,$klp-1)) * 2; }else{ $kex = $kex + $mex; $kmons -= 1; $gold = $klv * 10 + mt_rand(0,$klp-1); } $kgold = $kgold + $gold; $comment = "{$kname}は、戦闘に勝利した!!

"; $dbdsp = db_fnc($kname,$mname); if(mt_rand(0,99) == 0){//1/100の確率 $hit=0; $getitem = mt_rand(1,count(file($item_file)));//アイテムファイルすべての場合。 $getitem = sprintf('%04d',$getitem); foreach(file("$item_file") as $loft_item){ list($i_no,$i_name) = explode("<>", $loft_item); if($getitem == $i_no){ $hit=1;break; } } if($hit){ $item = @file ("$loft_dir/{$kid}_w.cgi"); $l_item = explode("<>", $item[0]); $hit=0; for($i=0;$i<$loft_max;$i++){ if(!$hit && $l_item[$i] == ""){$l_item[$i] = $getitem;$hit=1;} $loft_new2 .= "$l_item[$i]<>"; } $comment .= "{$kname}は{$i_name}を手に入れた!!

"; if($hit){ $fp=fopen("$loft_dir/{$kid}_w.cgi","w"); flock($fp,LOCK_EX); fwrite($fp, $loft_new2); flock($fp,LOCK_UN); fclose($fp); }else{$comment .= "・・・が、倉庫がいっぱいなのであきらめた!

"; } } } if(mt_rand(0,99) == 0){//1/100の確率 $hit=0; $getitem2 = mt_rand(1,count(file($item2_file)));//アイテムファイルすべての場合。 $getitem2 = sprintf('%04d',$getitem2); foreach(file("$item2_file") as $loft_item){ list($i2_no,$i2_name) = explode("<>", $loft_item); if($getitem2 == $i2_no){ $hit=1;break; } } if($hit){ $item = @file ("$loft_dir/{$kid}_p.cgi"); $l_item = explode("<>", $item[0]); $hit=0; for($i=0;$i<$loft_max;$i++){ if(!$hit && $l_item[$i] == ""){$l_item[$i] = $getitem2;$hit=1;} $loft_new2 .= "$l_item[$i]<>"; } $comment .= "{$kname}は{$i2_name}を手に入れた!!

"; if($hit){ $fp=fopen("$loft_dir/{$kid}_p.cgi","w"); flock($fp,LOCK_EX); fwrite($fp, $loft_new2); flock($fp,LOCK_UN); fclose($fp); }else{$comment .= "・・・が、倉庫がいっぱいなのであきらめた!

"; } } } if(mt_rand(0,99) == 0){//1/100の確率 $hit=0; $getitem3 = mt_rand(1,count(file($item3_file)));//アイテムファイルすべての場合。 $getitem3 = sprintf('%04d',$getitem3); foreach(file("$item3_file") as $loft_item){ list($i3_no,$i3_name) = explode("<>", $loft_item); if($getitem3 == $i3_no){ $hit=1;break; } } if($hit){ $item = @file ("$loft_dir/{$kid}_a.cgi"); $l_item = explode("<>", $item[0]); $hit=0; for($i=0;$i<$loft_max;$i++){ if(!$hit && $l_item[$i] == ""){$l_item[$i] = $getitem3;$hit=1;} $loft_new3 .= "$l_item[$i]<>"; } $comment .= "{$kname}は{$i3_name}を手に入れ た!!

"; if($hit){ $fp=fopen("$loft_dir/{$kid}_a.cgi","w"); flock($fp,LOCK_EX); fwrite($fp, $loft_new3); flock($fp,LOCK_UN); fclose($fp); }else{$comment .= "・・・が、倉庫がいっぱいなのであきらめた!

"; } } } if($mname == "チョコボン" && (!mt_rand(0,($turn-$k)+1) or !file_exists("cyk/cdat/$kid.cgi"))){ $cyo_flg = 1; $comment .= "{$kname}は、{$mname}を捕まえた!!

"; } }else{ $ktotal += 1; if($mhp2_flg){ if($mhp <= 0){ $mex = $mex + mt_rand(0,$klp-1); $gold = $klv * 10 + mt_rand(0,$klp-1); $kgold = $kgold + $gold;} elseif($mhp2_flg and $mhp2 <= 0){ $mex = $mex2 + mt_rand(0,$klp-1); $gold = $klv * 10 + mt_rand(0,$klp-1); $kgold = $kgold + $gold;} else{ $mex = mt_rand(0,$klp-1); if($kgold){$kgold = (int)($kgold / 2);} else{$kgold = 0;} } if($kmons < 2){$kmons = 0;}else{$kmons -= 2;} }else{ $mex = mt_rand(0,$klp-1); $kmons -= 1; if($kgold){$kgold = (int)($kgold / 2);} else {$kgold = 0;} } $kex = $kex + $mex; if($k == $turn + 1){ $comment = "{$kname}は、規定ターン内に勝てなかった・・・。

";} else{ $comment = "{$kname}は、戦闘に負けた・・・。

";} } ######################## #### レベルアップ処理 #### $hit=0; while($kex >= ($klv * $lv_up)) { $hit=1; $tmp_up += 1; $kmaxhp = $kmaxhp + mt_rand(0,$kn_3-1) + 1; $khp = $kmaxhp; $kex -= $klv * $lv_up; $klv += 1; if(mt_rand(0,4) == 0) { $kn_0 += 1; $t1 = 1;$t1_up = $tmp_up * $t1;} if(mt_rand(0,4) == 0) { $kn_1 += 1; $t2 = 1;$t2_up = $tmp_up * $t2;} if(mt_rand(0,4) == 0) { $kn_2 += 1; $t3 = 1;$t3_up = $tmp_up * $t3;} if(mt_rand(0,4) == 0) { $kn_3 += 1; $t4 = 1;$t4_up = $tmp_up * $t4;} if(mt_rand(0,4) == 0) { $kn_4 += 1; $t5 = 1;$t5_up = $tmp_up * $t5;} if(mt_rand(0,4) == 0) { $kn_5 += 1; $t6 = 1;$t6_up = $tmp_up * $t6;} if(mt_rand(0,4) == 0) { $kn_6 += 1; $t7 = 1;$t7_up = $tmp_up * $t7;} } if($tmp_up){ $comment .= "{$kname}は、レベルが{$tmp_up}上がった!!

"; if($t1) { $comment .= "力が{$t1_up}上がった。"; } if($t2) { $comment .= "知力が{$t2_up}上がった。"; } if($t3) { $comment .= "信仰心が{$t3_up}上がった。"; } if($t4) { $comment .= "生命力が{$t4_up}上がった。"; } if($t5) { $comment .= "器用さが{$t5_up}上がった。"; } if($t6) { $comment .= "速さが{$t6_up}上がった。"; } if($t7) { $comment .= "魅力が{$t7_up}上がった。"; } } ###### アビリティ取得判断 if($hit){ $i=0; foreach(file("abldat.cgi") as $abl_get){ list($name,$kubn,$dame,$suc,$job,$ablv,$acom,$col) = explode("<>",$abl_get); if(!$ablset[$i] && $ksyoku == $job && $klv >= $ablv){ $ablset[$i]=1; $comment .= "

修行の成果がようやく実を結ぶ・・・
{$kname}は{$name}をマスターした!!
"; $abl_hit=1;break; } $i++; } } ###### アビリティ用書き込み if($abl_hit){ $ablty = ""; for($i=0;$i",$gi[$i]); $getnew[$i] .= "<>"; $fp=fopen("$L_FILE[$i]","wb"); flock($fp,LOCK_EX); fwrite($fp, $getnew[$i]); flock($fp,LOCK_UN); fclose($fp); } } }elseif($get_g){$comment .= "
$giname を取り返されてしまった・・・";} ################ ######################## #### 挑戦者持ち越しHP調整 #### $khp = $khp_flg + mt_rand(0,$kn_3-1); if($khp > $kmaxhp) { $khp = $kmaxhp; } if($khp <= 0) { $khp = $kmaxhp; } ######################## if($ci3_no){ $kn_0 -= $ci3_up[0]; $kn_1 -= $ci3_up[1]; $kn_2 -= $ci3_up[2]; $kn_3 -= $ci3_up[3]; $kn_4 -= $ci3_up[4]; $kn_5 -= $ci3_up[5]; $kn_6 -= $ci3_up[6]; $klp -= $ci3_up[7]; $kmaxhp -= $ci3_up[8]; } regist(); header1($vtime); #### 画面出力 #### if($temp_g14_nm){$mname = $temp_g14_nm;} if($mhp2_flg){ print "

{$kname}は、{$mname}と{$mname2}に戦いを挑んだ!!


\n";} else{ print "

{$kname}は、{$mname}に戦いを挑んだ!!


\n";} for($i=0; $i <= count($battle_date); $i++){ print "$battle_date[$i]"; } if($win or $mhp <= 0 or ($mhp2 <= 0 and $mhp2_flg)) { print "$comment

{$kname}は、{$mex}の経験値を手に入れた。$goldG手に入れた。

\n{$dbdsp}\n"; } else { print "$comment

{$kname}は、{$mex}の経験値を手に入れた。お金が半分になった。

\n"; } ######################## if($cyo_flg){ $mcatc = mt_rand(1,$cy_rtr-1); $mcatc = time() - $mcatc*2592000; $msai = mt_rand(1,100); $mhp_flg = mt_rand($mhp_flg/2,$mhp_flg*2); $mdmg = mt_rand($mdmg/2,$mdmg*2); $d_chara = mt_rand(0,count($cyoko_img)-1); $dsex = mt_rand(0,1); $cment = mt_rand(0,count($cyoko_ment)-1); echo <<{$C_NAME}を連れて帰りますか?

EOM; } footer(); $battle_flag=0; exit; } #------------------# # ランキング画面 # #------------------# function cmp ($a, $b) { $tmp1 = explode("<>", $a); $tmp2 = explode("<>", $b); if($tmp1[18] == $tmp2[18] && $tmp1[17] == $tmp2[17]) return 0; elseif($tmp1[18] > $tmp2[18] || ($tmp1[18] == $tmp2[18] && $tmp1[17] > $tmp2[17])) return -1; else return 1; } function ranking() { global $win,$wurl,$mode,$ltime,$b_time,$ktotal,$vtime; require(syoki_file); $RANKING = file("$chara_file"); $sousu = count($RANKING); usort ($RANKING, "cmp"); $ima = time(); header1($vtime); print <<英雄たちの記録
現在登録されているキャラクター$sousu人中レベルTOP$rank_topを表示しています。

EOM; $i=1; foreach($RANKING as $RANKING_tmp){ list($rid,$rpass,$rsite,$rurl,$rname,$rsex,$rchara,$rn_0,$rn_1,$rn_2,$rn_3,$rn_4,$rn_5,$rn_6,$rsyoku,$rhp,$rmaxhp,$rex,$rlv,$rgold,$rlp,$rtotal,$rkati,$rwaza,$ritem,$rmons,$rhost,$rdate) = explode("<>",$RANKING_tmp); if($i > $rank_top) { break; } $rdate = $rdate + (60*60*24*$limit); $niti = $rdate - $ima; $niti = (int)($niti / (60*60*24)); print "\n"; print "\n"; print "\n"; $i++; } print "
なまえ職業ホームページレベル経験値HP削除まで
$i$rname$chara_syoku[$rsyoku]$rsite$rlv$rex$rhp/$rmaxhp$rn_0あと{$niti}日

\n"; footer(); exit; } #--------------------# # チャンプ読み込み # #--------------------# function read_winner() { require(syoki_file); $winner = file("$winner_file"); return(explode("<>",$winner[0])); } #----------------# # 書き込み処理 # #----------------# function regist() { global $ksite,$kurl,$kname,$ksex,$kchara,$kn_0,$kn_1,$kn_2,$kn_3,$kn_4,$kn_5,$kn_6,$ksyoku,$khp,$kmaxhp,$kex,$klv,$kgold,$klp,$ktotal,$kkati,$kwaza,$kitem,$kmons,$date,$n_0,$n_1,$n_2,$n_3,$n_4,$n_5,$n_6,$c_syoku,$hp,$ex,$lv,$gold,$lp,$total,$kati,$waza,$item,$mons; require(syoki_file); setcookie("id", $_POST['id'], time()+60*24*60*60); setcookie("pass", $_POST['pass'], time()+60*24*60*60); list($host, $addr) = get_host(); $date = time(); $hit=0;$new=array(); foreach(file("$chara_file") as $regist){ list($cid,$cpass,$csite,$curl,$cname,$csex,$cchara,$cn_0,$cn_1,$cn_2,$cn_3,$cn_4,$cn_5,$cn_6,$csyoku,$chp,$cmaxhp,$cex,$clv,$cgold,$clp,$ctotal,$ckati,$cwaza,$citem,$cmons,$chost,$cdate) = explode("<>", $regist); if($cid == "{$_POST['id']}" and $_POST['new'] == 'new') { error("そのIDはすでに登録されています"); }elseif($curl == "{$_POST['url']}" and $_POST['new'] == 'new' and $url_stop){ error("そのURLはすでに登録されています"); }elseif($host == "$chost" and $_POST['new'] == 'new' and $ip_stop){ error("一人り一キャラクターです。守れない場合アクセス制限をかけさせていただきます。このエラーを出したあなたのIPアドレスを保存しています。"); }elseif($cid == "{$_POST['id']}"){ array_unshift($new,"{$_POST['id']}<>{$_POST['pass']}<>$ksite<>$kurl<>$kname<>$ksex<>$kchara<>$kn_0<>$kn_1<>$kn_2<>$kn_3<>$kn_4<>$kn_5<>$kn_6<>$ksyoku<>$khp<>$kmaxhp<>$kex<>$klv<>$kgold<>$klp<>$ktotal<>$kkati<>$kwaza<>$kitem<>$kmons<>$host<>$date<>\n"); $hit=1; }else{ if(($date - $cdate) > (60 * 60 * 24 * $limit)) { if (file_exists("cyk/{$cid}.cgi")){ unlink("cyk/{$cid}.cgi"); } if (file_exists("cyk/{$cid}_cld.cgi")){ unlink("cyk/{$cid}_cld.cgi"); } if (file_exists("cyk/{$cid}_g.cgi")){ unlink("cyk/{$cid}_g.cgi"); } if (file_exists("$item_dir/$cid.cgi")){ unlink("$item_dir/$cid.cgi"); } if (file_exists("$item_dir/{$cid}_2.cgi")){ unlink("$item_dir/{$cid}_2.cgi"); } if (file_exists("$bank_dir/$cid.cgi")){ unlink("$bank_dir/$cid.cgi"); } if (file_exists("$bank_dir/{$_POST['id']}_f.cgi")){ unlink("$bank_dir/{$_POST['id']}_f.cgi"); } if (file_exists("$loft_dir/{$cid}_w.cgi")){ unlink("$loft_dir/{$cid}_w.cgi"); } if (file_exists("$loft_dir/{$cid}_p.cgi")){ unlink("$loft_dir/{$cid}_p.cgi"); } if (file_exists("$item_dir/{$cid}_abl.cgi")){ unlink("$item_dir/{$cid}_abl.cgi"); } continue; } array_push($new, $regist); } } if(!$hit and $_POST['new'] == 'new'){ $lp=mt_rand(0,14); $hp = (int)(($_POST['n_3'] + $kiso_nouryoku[3]) + (mt_rand(0,$lp-1) + 1)) + $kiso_hp; $ex=0; $lv=1; $gold=0; $total=$kati=0; $n_0 = $kiso_nouryoku[0] + $_POST['n_0']; $n_1 = $kiso_nouryoku[1] + $_POST['n_1']; $n_2 = $kiso_nouryoku[2] + $_POST['n_2']; $n_3 = $kiso_nouryoku[3] + $_POST['n_3']; $n_4 = $kiso_nouryoku[4] + $_POST['n_4']; $n_5 = $kiso_nouryoku[5] + $_POST['n_5']; $n_6 = $kiso_nouryoku[6] + $_POST['n_6']; $k_syoku = $_POST['syoku']; array_unshift($new,"{$_POST['id']}<>{$_POST['pass']}<>{$_POST['site']}<>{$_POST['url']}<>{$_POST['c_name']}<>{$_POST['sex']}<>{$_POST['chara']}<>$n_0<>$n_1<>$n_2<>$n_3<>$n_4<>$n_5<>$n_6<>$k_syoku<>$hp<>$hp<>$ex<>$lv<>$gold<>$lp<>$total<>$kati<>$waza<>$item<>$mons<>$host<>$date<>\n"); } $fp = fopen("$chara_file", "w"); flock($fp,LOCK_EX); fwrite($fp, implode($new, "")); flock($fp,LOCK_UN); fclose($fp); if($_POST['new']) { make_end(); } } #--------# # 転職 # #--------# function tensyoku() { global $win,$wurl,$mode,$ltime,$b_time,$ktotal,$vtime; require(syoki_file); if($_POST['syoku'] == 'no') { error("職業を選択してください。"); } $syoku = $_POST['syoku']; $id = $_POST['id']; list($host, $addr) = get_host(); $date = time(); $syokudate = file("$syoku_file"); list($a,$b,$c,$d,$e,$f,$g) = explode("<>",$syokudate[$_POST['syoku']]); if(!$a) { $a = $kiso_nouryoku[0]; } if(!$b) { $b = $kiso_nouryoku[1]; } if(!$c) { $c = $kiso_nouryoku[2]; } if(!$d) { $d = $kiso_nouryoku[3]; } if(!$e) { $e = $kiso_nouryoku[4]; } if(!$f) { $f = $kiso_nouryoku[5]; } if(!$g) { $g = $kiso_nouryoku[6]; } $lv = 1; $ex = 0; $ten_new = array(); foreach(file("$chara_file") as $tensyoku) { list($tid,$tpass,$tsite,$turl,$tname,$tsex,$tchara,$tn_0,$tn_1,$tn_2,$tn_3,$tn_4,$tn_5,$tn_6,$tsyoku,$thp,$tmaxhp,$tex,$tlv,$tgold,$tlp,$ttotal,$tkati,$twaza,$titem,$tmons,$thost,$tdate) = explode("<>", $tensyoku); if($id == $tid) { array_unshift($ten_new,"$tid<>$tpass<>$tsite<>$turl<>$tname<>$tsex<>$tchara<>$tn_0<>$tn_1<>$tn_2<>$tn_3<>$tn_4<>$tn_5<>$tn_6<>$syoku<>$thp<>$tmaxhp<>$ex<>$lv<>$tgold<>$tlp<>$ttotal<>$tkati<>$twaza<>$titem<>$tmons<>$host<>$date<>\n"); }else{ array_push($ten_new,"$tensyoku"); } } $fp = fopen("$chara_file","w"); flock($fp,LOCK_EX); fwrite($fp, implode($ten_new, "")); flock($fp,LOCK_UN); fclose($fp); list($wid,$wpass,$wsite,$wurl,$wname,$wsex,$wchara,$wn_0,$wn_1,$wn_2,$wn_3,$wn_4,$wn_5,$wn_6,$wsyoku,$whp,$wmaxhp,$wex,$wlv,$wgold,$wlp,$wtotal,$wkati,$wwaza,$witem,$wmons,$whost,$wdate,$wcount,$lsite,$lurl,$lname) = read_winner(); if($id == $wid) { $fp = fopen("$winner_file", "w"); flock($fp,LOCK_EX); fwrite($fp, "$wid<>$wpass<>$wsite<>$wurl<>$wname<>$wsex<>$wchara<>$a<>$b<>$c<>$d<>$e<>$f<>$g<>$syoku<>$whp_acs<>$wmaxhp<>$ex<>$lv<>$wgold<>$wlp<>$wtotal<>$wkati<>$wwaza<>$witem<>$wmons<>$host<>$date<>$wcount<>$lsite<>$lurl<>$lname<>\n"); flock($fp,LOCK_UN); fclose($fp); } header1($vtime); print <<転職しました


EOM; footer(); exit; } #------------# # 体力回復 # #------------# function yado() { global $win,$wurl,$mode,$ltime,$b_time,$ktotal,$vtime; require(syoki_file); list($host, $addr) = get_host(); $date = time(); $kitem3 = @file("$item_dir/{$_POST['id']}_2.cgi"); $kitem3 = $kitem3[0]; $hit=0; if($kitem3){ foreach(file("$item3_file") as $battle_item){ list($ci3_no,$ci3_name,$ci3_gold,$ci3_up[0],$ci3_up[1],$ci3_up[2],$ci3_up[3],$ci3_up[4],$ci3_up[5],$ci3_up[6],$ci3_up[7],$ci3_up[8],$ci3_desc) = explode("<>", $battle_item); if($ci3_no == "$kitem3"){break;} } } $hit=0;$yado_new=array(); foreach(file("$chara_file") as $YADO){ list($yid,$ypass,$ysite,$yurl,$yname,$ysex,$ychara,$yn_0,$yn_1,$yn_2,$yn_3,$yn_4,$yn_5,$yn_6,$ysyoku,$yhp,$ymaxhp,$yex,$ylv,$ygold,$ylp,$ytotal,$ykati,$ywaza,$yitem,$ymons,$yhost,$ydate) = explode("<>", $YADO); if($_POST['id'] == "$yid") { $kname=$yname; $jsyoku = $ysyoku; $yhp_acs = $ymaxhp + $ci3_up[8]; $yado_gold = $yado_dai * $ylv; if($ygold < $yado_gold) { error("お金が足りません"); } else { $ygold = $ygold - $yado_gold; } array_unshift($yado_new,"$yid<>$ypass<>$ysite<>$yurl<>$yname<>$ysex<>$ychara<>$yn_0<>$yn_1<>$yn_2<>$yn_3<>$yn_4<>$yn_5<>$yn_6<>$ysyoku<>$yhp_acs<>$ymaxhp<>$yex<>$ylv<>$ygold<>$ylp<>$ytotal<>$ykati<>$ywaza<>$yitem<>$ymons<>$host<>$ydate<>\n"); }else{ array_push($yado_new,$YADO); } } $fp = fopen("$chara_file","w"); flock($fp,LOCK_EX); fwrite($fp, implode($yado_new, "")); flock($fp,LOCK_UN); fclose($fp); list($wid,$wpass,$wsite,$wurl,$wname,$wsex,$wchara,$wn_0,$wn_1,$wn_2,$wn_3,$wn_4,$wn_5,$wn_6,$wsyoku,$whp,$wmaxhp,$wex,$wlv,$wgold,$wlp,$wtotal,$wkati,$wwaza,$witem,$wmons,$whost,$wdate,$wcount,$lsite,$lurl,$lname) = read_winner(); if($wid == "{$_POST['id']}") { $whp_acs = $wmaxhp + $ci3_up[8]; $fp = fopen("$winner_file","w"); flock($fp,LOCK_EX); fwrite($fp, "$wid<>$wpass<>$wsite<>$wurl<>$wname<>$wsex<>$wchara<>$wn_0<>$wn_1<>$wn_2<>$wn_3<>$wn_4<>$wn_5<>$wn_6<>$wsyoku<>$wmaxhp<>$wmaxhp<>$wex<>$wlv<>$wgold<>$wlp<>$wtotal<>$wkati<>$wwaza<>$witem<>$wmons<>$host<>$ydate<>$wcount<>$lsite<>$lurl<>$lname<>\n"); flock($fp,LOCK_UN); fclose($fp); } $jwnr = file("job_winner.cgi"); $king = explode("<>",$jwnr[$jsyoku]); if($king[0] == $_POST['id']){ $king[15] = $king[16]; # HPをアクセ対応にしたい方は下の一行を追加 # $king[15] += $ci3_up[8]; $jwnr[$jsyoku] = implode("<>",$king); $fp = fopen("job_winner.cgi", "wb"); flock($fp,LOCK_EX); fwrite($fp, implode($jwnr, "")); flock($fp,LOCK_UN); fclose($fp); } $dbdsp = db_fnc($kname,$mname); header1($vtime); print <<体力を回復しました
$dbdsp
EOM; footer(); exit; } #--------------# # 訓練所 # #--------------# function kunren() { global $win,$wurl,$mode,$ltime,$b_time,$ktotal,$vtime; require(syoki_file); ##################################################設定################################################## #能力が上がったときの数字の色 $color='red'; ######################################################################################################### $kid=$_POST['id']; $kpass=$_POST['pass']; header1($vtime); print "

訓練所

"; if($_POST['start']){ list($host, $addr) = get_host(); $date = time(); $hit=0;$kuji_new=array(); foreach(file("$chara_file") as $kuji){ list($kuid,$kupass,$kusite,$kuurl,$kuname,$kusex,$kuchara,$kun_0,$kun_1,$kun_2,$kun_3,$kun_4,$kun_5,$kun_6,$kusyoku,$kuhp,$kumaxhp,$kuex,$kulv,$kugold,$kulp,$kutotal,$kukati,$kuwaza,$kuitem,$kumons,$kuhost,$kudate) = explode("<>", $kuji); if($_POST['id'] == "$kuid") { $ltime = time(); $ltime = $ltime - $kudate; $vtime = $b_time - $ltime; $mtime = $m_time - $ltime; if($ltime < $b_time and $kutotal) { error("{$vtime}秒後に籤を引けるようになります。\n"); } if($continue_ok){ $final_needgold = $needgold*$_POST['times']; }else{ $final_needgold = $needgold;$_POST['times']=1; } if($kugold < $final_needgold) { error("お金が足りません。"); } else { $kugold = $kugold - $final_needgold; for($n=$_POST['times'];$n>0;$n--){ $kujiflg = mt_rand(0,6); $up_n[$kujiflg] +=1; if($kujiflg == 0){ $kujicm[0] = "力が{$up_n[$kujiflg]}上がった。"; $kun_0 = $kun_0 + 1; } elseif($kujiflg == 1){ $kujicm[1] = "知能が{$up_n[$kujiflg]}上がった。"; $kun_1 = $kun_1 + 1; } elseif($kujiflg == 2){ $kujicm[2] = "信仰心が{$up_n[$kujiflg]}上がった。"; $kun_2 = $kun_2 + 1; } elseif($kujiflg == 3){ $kujicm[3] = "生命力が{$up_n[$kujiflg]}上がった。"; $kun_3 = $kun_3 + 1; } elseif($kujiflg == 4){ $kujicm[4] = "器用さが{$up_n[$kujiflg]}上がった。"; $kun_4 = $kun_4 + 1; } elseif($kujiflg == 5){ $kujicm[5] = "速さが{$up_n[$kujiflg]}上がった。"; $kun_5 = $kun_5 + 1; } elseif($kujiflg == 6){ $kujicm[6] = "魅力が{$up_n[$kujiflg]}上がった。"; $kun_6 = $kun_6 + 1; } } } array_unshift($kuji_new,"$kuid<>$kupass<>$kusite<>$kuurl<>$kuname<>$kusex<>$kuchara<>$kun_0<>$kun_1<>$kun_2<>$kun_3<>$kun_4<>$kun_5<>$kun_6<>$kusyoku<>$kuhp<>$kumaxhp<>$kuex<>$kulv<>$kugold<>$kulp<>$kutotal<>$kukati<>$kuwaza<>$kuitem<>$kumons<>$host<>$date<>\n"); }else{ array_push($kuji_new,$kuji); } } $fp = fopen("$chara_file","w"); flock($fp,LOCK_EX); fwrite($fp, implode($kuji_new, "")); flock($fp,LOCK_UN); fclose($fp); print "

"; foreach(($kujicm) as $up_mes){ print "$up_mes

"; } }else{ print "

【訓練】
"; print ""; print ""; print ""; print "
"; if($continue_ok){ print ""; } print ""; print "※訓練することが出来ます。一回につき{$needgold}G必要です。"; print "
"; } footer(); exit; } #------------------------# # チョコテーブル表示関数 # #------------------------# function cy_tbl(){ global $mode,$kdate; require(syoki_file); $date=time(); $CHARA = file("$chara_file"); $CK = file("$choko_file"); $c_wnner = file("cyk/cyoko_winner.cgi"); if(!$mode){ $mc = explode("<>", $c_wnner[0]); $mc[ck2] = "{$mc[24]}連勝中"; $hit=0; foreach($CHARA as $battle){ list($cid,$cpass,$csite,$curl,$cname) = explode("<>", $battle); if($mc[0] == "$cid") { $hit=1;break; } } if(!$hit){$csite="なし";$curl="nasi";$cname="なし";} if($mc[32] == "$curl") { $cmk = ""; } $mc[ck3] = << ホームページ$csite$cmk EOM; if($mc[22]){$mc[kati] = (int)($mc[21]*100/$mc[22]);}else{$mc[kati] = "0";} $gget = number_format($mc[23]); $mc[kati] = "飼い主:{$cname}
勝率:{$mc[kati]}%
獲得賞金総額:
{$gget} G"; $mc[rcd] = << 現在の連勝記録は、{$mc[29]}({$mc[30]}さん)の「$mc[31]」、{$mc[33]}連勝です EOM; $mc[kime] = << {$mc[25]}({$mc[26]})の $mc[27] に勝利!! EOM; }else{ foreach($CK as $choko){ $mc = explode("<>", $choko); if($mc[0] == $_POST['id']){ list($cpid,$cpname) = explode("<>", $c_wnner[0]); if($mc[0] == $cpid && $mc[1] == $cpname){ $cmpdsp = "
REAL CHAMP!"; } $mc[ck2] = "{$C_NAME}データ"; $mc[kime] = << 決めゼリフ$mc[16] EOM; $mc[kati] = "戦績:{$mc[22]}戦{$mc[21]}勝
残り出走回数:{$mc[20]}回
獲得賞金総額:
{$mc[23]} G"; if($mc[18] > $kdate)$kdate=$mc[18]; $gget = number_format($mc[23]); $c_hit=1;break; } } } if($sankatime){ $rtn_dat[0] = "現在の参加馬:"; foreach($CK as $choko){ $smc = explode("<>", $choko); if($smc[18] + $sankatime > $date) { foreach($CHARA as $sanka){ list($oid,$opass,$osite,$ourl,$oname) = explode("<>",$sanka); if($smc[0] == $oid){break;} } $rtn_dat[0] .= " {$smc[1]}($oname) /"; } } }else{$rtn_dat[0] = "";} $mc[img] = "$img_path/cyoko/{$cyoko_img[$mc[5]]}"; $tosi = (int)(($date-$mc[19])/(86400*30)); $next_ex = $mc[6] * $lv_up; if($mc[4]){$msex = "♂";}else{$msex = "♀";} $tclass = (int)($mc[6] / 7); if($tclass > count($cyoko_class)-1)$tclass = count($cyoko_class)-1; if($mc[8] >= $mc[9]){$cycol[0] = "blue";} elseif($mc[8] < $mc[9]/8){$cycol[0] = "red";} elseif($mc[8] < $mc[9]/2){$cycol[0] = "orange";} if($mc[10] >= $mc[11]){$cycol[1] = "blue";} elseif($mc[10] < $mc[11]/8){$cycol[1] = "red";} elseif($mc[10] < $mc[11]/2){$cycol[1] = "orange";} $rtn_dat[1] = << $mc[ck2] $mc[ck3]
{$cmpdsp} {$mc[kati]}
性別 $msex クラス{$cyoko_class[$tclass]} 性格{$cyoko_ment[$mc[7]]} 名前{$mc[1]} 根性$mc[10]/$mc[11] レベル$mc[6] HP$mc[8]/$mc[9] 登録レース{$race_name[$mc[2]]} 経験値$mc[3]/$next_ex 強さ$mc[12] 優しさ$mc[13] 愛嬌$mc[14] 器用さ$mc[15] 月齢$tosi 歳 才能$mc[17] $mc[kime] EOM; if($mode && !$c_hit){ $rtn_dat[1] = << {$C_NAME}データ 現在{$C_NAME}はいません
捕まえたら厩舎にお越し下さい EOM; } $rtn_dat[2] = $c_hit; return $rtn_dat; } #---------------------# # ランキング戦 表示 # #---------------------# function rank_war(){ global $mode,$ltime,$b_time,$ktotal,$win,$wurl,$vtime; require(syoki_file); $send_id=$_POST['id'];$send_pass=$_POST['pass']; $rank_chk=count(file("$rank_file")); $tmp=array();$temp=array(); foreach(file("$chara_file") as $BASEDATA){ list($kid,$kpass,$ksite,$kurl,$kname,$ksex,$kchara,$kn_0,$kn_1,$kn_2,$kn_3,$kn_4,$kn_5,$kn_6,$ksyoku,$khp,$kmaxhp,$kex,$klv,$kgold,$klp,$ktotal,$kkati,$kwaza,$kitem,$kmons,$khost,$kdate)=explode("<>",$BASEDATA); $hit=0; foreach(file("$rank_file") as $RANKING_TMP){ list($rkrank,$rkid,$rkpass,$rkname,$rksex,$rkhp,$rkmaxhp,$rklv)=explode("<>",$RANKING_TMP); if($kid==$rkid){$hit=1;break;} } if(!$hit or !$rkrank){$rkrank="a";} if($rank_chk>0){$tmp["$kid"]=$rkrank;} else{$tmp["$kid"]=$klv;} $temp["$kid"]=array("$kpass","$kname","$ksex","$khp","$kmaxhp","$klv"); } if($rank_chk>0){asort($tmp);} else{arsort($tmp);} $rank_new=array();$i=1;$rank_cmt=""; foreach($tmp as $key=>$val){ $hyo_col=$hyo_col2=""; if($i==1){$hyo_col="gold";} elseif($i==2){$hyo_col="silver";} elseif($i==3){$hyo_col="brown";} if($key==$_POST['id']){ $hyo_col2="skyblue";$name1_tmp=$temp["$key"][1]; $jyun1_tmp="$i"; $id2_tmp=$id_tmp;$name2_tmp=$name_tmp;$jyun2_tmp=$i-1;} if($temp["$key"][2]==1){$hyo_sex="男";} else{$hyo_sex="女";} $rank_cmt.=""; $rank_cmt.="$i[$hyo_sex] {$temp["$key"][1]}{$temp["$key"][5]}{$temp["$key"][3]}/{$temp["$key"][4]}"; $rank_cmt.=""; array_push($rank_new,"$i<>$key<>{$temp["$key"][0]}<>{$temp["$key"][1]}<>{$temp["$key"][2]}<>{$temp["$key"][3]}<>{$temp["$key"][4]}<>{$temp["$key"][5]}<>\n"); $id_tmp="$key";$name_tmp=$temp["$key"][1]; $i+=1;} $fp=fopen("$rank_file","w"); flock($fp,LOCK_EX); fwrite($fp,implode($rank_new,"")); flock($fp,LOCK_UN); fclose($fp); header1($vtime); print <<ランキング戦

全参加者で競うランキング戦です。

$rank_cmt
EOM; $name1="$name1_tmp";$jyun1="$jyun1_tmp"; if($jyun1_tmp<=3){ if($jyun1_tmp==1){$c1=gold;} elseif($jyun1_tmp==2){$c1=silver;} elseif($jyun1_tmp==3){$c1=brown;} $name1="$name1_tmp"; $jyun1="$jyun1_tmp"; } $name2="$name2_tmp";$jyun2="$jyun2_tmp"; if($jyun2_tmp<=3){ if($jyun2_tmp==1){$c2=gold;} elseif($jyun2_tmp==2){$c2=silver;} elseif($jyun2_tmp==3){$c2=brown;} $name2="$name2_tmp"; $jyun2="$jyun2_tmp"; } print"$name1さんの現順位:$jyun1位"; if($jyun1_tmp>1){ print" ⇒ $name2さん[$jyun2位]に"; print""; print""; print""; print""; print""; print""; } print <<
名前レベルHP

EOM; footer(); exit; } #--------------------------------# #  チームファイル読み込み   # #--------------------------------# function team_read($id,$chara,$ex,$lv,$total,$kati,$item,$tmid){ require(syoki_file); if($item){ foreach(file("./$TEAM_DIR/$TMITM_FILE") as $DATA_ITEM){ list($tmit_no,$tmit_name,$tmit_w,$tmit_d)=explode("<>",$DATA_ITEM); if($item=="$tmit_no"){ $tmitem="$tmit_name [攻:$tmit_w / 防:$tmit_d]"; break;} } }else{$tmitem="なし";} $tmchara="$team"; $lvup_next=$LV_BASE*$lv;$tmex="$ex/$lvup_next"; if($total){ $tmritu=(int)($kati/$total*100); $tmritu="$tmritu%($kati/$total)";} else{$tmritu="0%(0/0)";} $tmd_cnt=0; for($j=0;$j<10;$j++){ if($tmid[$j]){$tmd_cnt+=1;} } $i=0; foreach(file("$chara_file") as $NAKAMADATA){ list($nkid,$nkpass,$nksite,$nkurl,$nkname,$nksex,$nkchara,$nkn_0,$nkn_1,$nkn_2,$nkn_3,$nkn_4,$nkn_5,$nkn_6,$nksyoku,$nkhp,$nkmaxhp,$nkex,$nklv,$nkgold,$nklp,$nktotal,$nkkati,$nkwaza,$nkitem,$nkmons,$nkhost,$nkdate)=explode("<>",$NAKAMADATA); for($j=0;$j<10;$j++){ if($tmid[$j]=="$nkid"){ $tmp["$nkid"]="$nklv"; $temp["$nkid"]=array("$nkid","$nkname","$nklv"); $i+=1; } } if($tmd_cnt=="$i"){break;} } if(count($tmp)>0){ arsort($tmp);$j=0;$nk_rank=""; foreach($tmp as $key=>$val){ $nk_rk=$j+1; $nk_lv="{$temp["$key"][2]}"; $nk_name="{$temp["$key"][1]}"; if($temp["$key"][0]==$id){ $nk_rank.="{$nk_rk}位 $nk_name [Lv.$nk_lv]
";} else{ $nk_rank.="{$nk_rk}位 $nk_name [Lv.$nk_lv]
";} $j+=1; } } if($fp=@fopen("./$TEAM_DIR/$TMLOG_DIR/{$id}.cgi","r")){ $tmdata=explode("<>",fgets($fp)); $tmdata2[0]=explode("<>",fgets($fp)); $tmdata2[1]=explode("<>",fgets($fp)); fclose($fp); for($j=0;$j<2;$j++){$tm_nana[$j]=$tmdata[$j+7];} for($j=0;$j<2;$j++){$tm_mna[$j]=$tmdata2[$j][2];} } return array($tmchara,$tmex,$tmritu,$tmitem,$nk_rank,$tm_nana,$tm_mna); } #--------------# # ソート処理 # #--------------# function rnk($a,$b){ # LVと経験値によるSORT処理 $tmp1=explode("<>",$a);$tmp2=explode("<>",$b); if($tmp1[9]==$tmp2[9] and $tmp1[8]==$tmp2[8]){return 0;} elseif($tmp1[9]>$tmp2[9] or ($tmp1[9]==$tmp2[9] and $tmp1[8]>$tmp2[8])){return -1;} else{return 1;} } # DB用関数 # function db_fnc($kname,$mname){ global $mode,$db_evname,$db_name,$db_ballname,$db_ent,$db_get; $dbdat = @file("db_dat.cgi"); $bdat = explode("<>",$dbdat[0]);array_pop($bdat); $cdat = explode("<>",$dbdat[1]);array_pop($cdat); $c=count($db_ballname); for($i=0;$i<$c;$i++){ if(!$bdat[$i]){$cnc[$i]="";}else{$nin++;} if($_POST['id'] && $_POST['id']==$bdat[$i]){$bname .= " $db_ballname[$i] ";$hit=1;} } $date=time(); if(!$mode or $mode=='log_in'){ if(!$cnc or $hit){ if(!$cnc){ if(!$cdat[2]){$tcom = "決定。エントリー受付";} $tcom .= "中"; $dsp = "\n"; if($_POST['id']){ $dsp .= <<
EOM; } $dsp .= "
第{$cdat[0]}回{$db_evname}開催{$tcom}!
\n"; }else{$tcom2 = "{$db_name}所持者は現在 {$nin} 名。";} if($hit) $dsp .= "※あなたは{$bname}を所持しています。{$tcom2}
\n"; $dsp .= "


\n"; } }elseif(!$hit && $cnc && $date%$db_get==0){ $get = array_rand($cnc); $bdat[$get] = $_POST['id'];$dbdat[0]=""; for($i=0;$i<$c;$i++){$dbdat[0] .= "$bdat[$i]<>";} $dbdat[0] .= "\n"; if($c-1==$nin){ $cdat[0]++; $cdat[1] = "$date"; $dbdat[1] = join("<>",$cdat)."\n"; } $fp=fopen("db_dat.cgi","wb"); flock($fp,LOCK_EX); fwrite($fp, implode("",$dbdat)); flock($fp,LOCK_UN); fclose($fp); switch($mode){ case 'sec_sell':case 'sec_buy': case 'item_buy':case 'item2_buy':case 'item3_buy': $dsp = <<
店主「おめでとうございます! あなたは来店10万人目のお客様です!ささやかな景品をどうぞ!」

その手にはきらきらと光る珠が・・・
EOM; break; case 'yado': $dsp = <<
宿屋主人「あのう…お客様、以前お泊まりになったときこれをお忘れではなかったですか?」

その手にはきらきらと光る珠が・・・

{$kname}「ぇ…いやぁありがとう、よく覚えていてくれたね。はっはっは、うわっーはっはっはははっは!!」
EOM; break; default : $rdr=mt_rand(0,6); $dsp = ""; switch($rdr){ case 0: $dsp .= "{$mname}の背中に奇妙な瘤がある。{$kname}は切り開いてみた・・・";break; case 1: $dsp .= "{$kname}は、{$mname}がしっかりと抱えた小さな袋に目をとめた・・・";break; case 2: $dsp .= "倒れた{$mname}の足下で何かが光っている・・・";break; case 3: $dsp .= "? {$mname}の片目は義眼のようだ。これは・・・";break; case 4: $dsp .= "帰ろうとした矢先、目の前の岩に埋まった珠が目に入った。これは・・・";break; case 5: $dsp .= "{$mname}は、最後に何かを投げつけようとしたらしい。これは・・・";break; default: $dsp .= "倒れた{$mname}が何かを吐きだした・・・";break; } $dsp .= "
\n"; break; } $dsp .= <<{$db_name}だ(゚∀゚)!!!

{$kname}は{$db_ballname[$get]}を手に入れた!!

EOM; } return $dsp; } ?>