]+>//g;
$prod[12] =~ s/<\/TD><\/TR>//g;
$prod[12] =~ s/]+>//g;
$prod[12] =~ s/<\/div>/ /g;
$dummy=quotemeta("基本 グループ1 グループ2");
$prod[12] =~ s/$dummy//g;
print "$prod[12] ";
print " 武器魔法スキル ";
if ($skill_visible) {
for($i=0;$i<$#skilllist+1;$i++){
print "$skilllist[$i]:$skill[$i] ";
}
} else {
print "skill function is not available. ";
}
print " ウェポンスキル習得 ";
for ($i=0;$i<=$#mwslist;$i++){
( $wskill, $wname, $wtype, $wjob, $wcond ) = split( /,/, $mwslist[ $i ] );
if( $ws[ $i ] ){
print "$wname:$maru[1] \n";
}
}
} elsif($mode eq "prof"){
if($class_edit==0){
$class =~ s/<//g;
}
print "$no/[$class] ";
print "$racelist[$race]($facetypename[$etc[0]])/$relmlistl[$relm]/$point/rank $mrank ";
print "コメント[$comment] ";
if($prof ne "off"){
print "ハンドル[$handle] ";
print "POLハンドル[$polhn] ";
print "e-mail[$mail] ";
print "ホームページ[ $home] ";
print "コメント $comment2";
} else {
print " プロフィール非公開";
}
} elsif($mode eq "level"){
if(($anon ne "on") || ($anon_mode != 1 )){
if($lev[$mainjob]<10){
$main_level="0$lev[$mainjob]";
} else {
$main_level=$lev[$mainjob];
}
if($supportjob <99){
$mod_level=int($lev[$mainjob]/2);
if($mod_level==0){$mod_level=1;}
if($mod_level>$lev[$supportjob]){$mod_level=$lev[$supportjob];}
if($mod_level<10){
$mod_level="0$mod_level";
}
print "$joblist[$mainjob]$main_level/$joblist[$supportjob]$mod_level ";
} else {
print "$joblist[$mainjob]$main_level ";
}
print "ジョブレベル ";
for ($j=0;$j<$job_max;$j++){
print "$joblist[$j]:$lev[$j] ";
}
@prod_r = split(/,/,$etc[1]);
print "合成 ";
for ($j=0;$j<$prod_max;$j++){
print "$prodlist[$j]:$prod[$j]($ranklist[$prod_r[$j]]) ";
}
}
} elsif($mode eq "mission"){
@mission = split(/,/,$prod[15]);
@assault= split (//,$mission[16]);
$assault[0]=hex($assault[0]);
@jades = split(/\//,$mission[23]);
@atmas = split(/\//,$mission[24]);
@mmm9cs = split( /\//,$mission[25]);
print"
ミッション ";
print"シャントット帝国の陰謀:$addsslist[$mission[21]] ";
print"戦慄!モグ祭りの夜:$addmklist[$mission[20]] ";
print"石の見る夢:$addcplist[$mission[19]] ";
print"アルタナ:$allist[$mission[18]] ";
print"カンパニエ叙勲:$alrank[$mission[22]] ";
print"アトルガン:$amlist[$mission[15]] ";
print"プロマシア:$pmlist[$mission[0]] ";
print"ジラート:$jmlist[$mission[1]] ";
print"サンドリア:$smlist[$mission[2]] ";
print"バストゥーク:$bmlist[$mission[3]] ";
print"ウインダス:$wmlist[$mission[4]] ";
print"裏サンド:$maru[$mission[5]] ";
print"裏バス:$maru[$mission[6]] ";
print"裏ウイン:$maru[$mission[7]] ";
print"裏ジュノ:$maru[$mission[8]] ";
print"裏氷河:$maru[$mission[9]] ";
print"裏ザルカ:$maru[$mission[10]] ";
print"裏バルクルム:$maru[$mission[11]] ";
print"裏ブブリム:$maru[$mission[12]] ";
print"裏クフィム:$maru[$mission[13]] ";
print"裏タブナジア:$maru[$mission[14]] ";
print "
アサルト ";
print"$aslist[0]:$asrank[$assault[0]] ";
print"$aslist[1]:$maru[$assault[1]] ";
print"$aslist[2]:$maru[$assault[2]] ";
print"$aslist[3]:$maru[$assault[3]] ";
print"$aslist[4]:$maru[$assault[4]] ";
print"$aslist[5]:$maru[$assault[5]] ";
print "ナイズル島開通:";
if($mission[17]==0){print "$maru[0]";} else {print "$maru[1]";}
print " ";
print"$aslist[6]:$maru[$assault[6]] ";
print"$aslist[7]:$maru[$assault[7]] ";
print"$aslist[8]:$maru[$assault[8]] ";
print"$aslist[21]:$maru[$assault[21]] ";
print"$aslist[22]:$maru[$assault[22]] ";
print"$aslist[31]:$maru[$assault[31]] ";
print"$aslist[32]:$maru[$assault[32]] ";
print"$aslist[41]:$maru[$assault[41]] ";
print"$aslist[46]:$maru[$assault[46]] ";
print"$aslist[51]:$maru[$assault[51]] ";
print"$aslist[9]:$maru[$assault[9]] ";
print"$aslist[10]:$maru[$assault[10]] ";
print"$aslist[11]:$maru[$assault[11]] ";
print"$aslist[23]:$maru[$assault[23]] ";
print"$aslist[24]:$maru[$assault[24]] ";
print"$aslist[33]:$maru[$assault[33]] ";
print"$aslist[34]:$maru[$assault[34]] ";
print"$aslist[42]:$maru[$assault[42]] ";
print"$aslist[47]:$maru[$assault[47]] ";
print"$aslist[52]:$maru[$assault[52]] ";
print"$aslist[12]:$maru[$assault[12]] ";
print"$aslist[13]:$maru[$assault[13]] ";
print"$aslist[14]:$maru[$assault[14]] ";
print"$aslist[25]:$maru[$assault[25]] ";
print"$aslist[26]:$maru[$assault[26]] ";
print"$aslist[35]:$maru[$assault[35]] ";
print"$aslist[36]:$maru[$assault[36]] ";
print"$aslist[43]:$maru[$assault[43]] ";
print"$aslist[48]:$maru[$assault[48]] ";
print"$aslist[53]:$maru[$assault[53]] ";
print"$aslist[15]:$maru[$assault[15]] ";
print"$aslist[16]:$maru[$assault[16]] ";
print"$aslist[17]:$maru[$assault[17]] ";
print"$aslist[27]:$maru[$assault[27]] ";
print"$aslist[28]:$maru[$assault[28]] ";
print"$aslist[37]:$maru[$assault[37]] ";
print"$aslist[38]:$maru[$assault[38]] ";
print"$aslist[44]:$maru[$assault[44]] ";
print"$aslist[49]:$maru[$assault[49]] ";
print"$aslist[54]:$maru[$assault[54]] ";
print"$aslist[18]:$maru[$assault[18]] ";
print"$aslist[19]:$maru[$assault[19]] ";
print"$aslist[20]:$maru[$assault[20]] ";
print"$aslist[29]:$maru[$assault[29]] ";
print"$aslist[30]:$maru[$assault[30]] ";
print"$aslist[39]:$maru[$assault[39]] ";
print"$aslist[40]:$maru[$assault[40]] ";
print"$aslist[45]:$maru[$assault[45]] ";
print"$aslist[50]:$maru[$assault[50]] ";
print"$aslist[55]:$maru[$assault[55]] ";
if($mission[17]>0){
print "ナイズル島到達度:$nzlist[$mission[17]] ";
}
print "
エンシェントジェイド ";
for($j=0;$j<=$#abyssname;$j++){
@{$jade[$j]} = split(//,$jades[$j]);
for($i=0;$i<=$#{$jadelist[$j]};$i++){
print "$jadelist[$j][$i]:$maru[$jade[$j][$i]] ";
}
}
print "
アートマ ";
for($j=0;$j<=$#abyssname;$j++){
@{$atma[$j]} = split(//,$atmas[$j]);
for($i=0;$i<=$#{$atmalist[$j]};$i++){
print "$atmalist[$j][$i]:$maru[$atma[$j][$i]] ";
}
}
print "
MMM警備課調練室 ";
for($j=0;$j<=$#mmm9list;$j++){
@{$mmm9c[$j]} = split(//,$mmm9cs[$j]);
for($i=0;$i<=$#{$mmm9list[$j]};$i++){
print "$mmm9list[$j][$i]:$maru[$mmm9c[$j][$i]] ";
}
}
} elsif($mode eq "custom"){
@custom=split(/,/,$prod[11]);
print "
$custom_field[0] ";
for($j=1;$j<$#custom_field+1;$j++){
if($custom_pulldown[$j]==0){
print "$custom_field[$j]:$custom[$j] ";
} else {
print "$custom_field[$j]:".${"custom_list$j"}[$custom[$j]]." ";
}
}
} else {
#detailend
}
print "
";
print " プロフィール";
print " レベル・合成スキル";
print " ミッション";
print " $custom_field[0]";
print " メリポ/スキル
";
if($mes_avail){
print <<"EOM";
$nameさんへメッセージ送信
EOM
}
print " ListTop";
}
sub diary_i{
print "$name 's diary
";
&c_check;
if($c_match ==0){
&header; &error_message('login first','access failed.');
}
if(!open(IN,"$datafile")){&error_message('datafile error2098','data file access failed.');}
@all= ;
close IN;
$match="";
foreach $i(@all){
($r_no,$r_name,$r_pass,$r_dummy)=split(/\t/,$i);
if($r_name eq $name){
$match=$i;
}
}
if($match eq ""){&header; &error_message('id/pass error','access failed.');}
($no,$name,$pass,$anon,$race,$relm,$mainjob,$supportjob,$prof,$handle,$polhn,$mail,$home,$comment2,$point,$class,$time,$comment,$mrank,$etc[0],$etc[1],$etc[2],$prod[0],$prod[1],$prod[2],$prod[3],$prod[4],$prod[5],$prod[6],$prod[7],$prod[8],$prod[9],$prod[10],$prod[11],$prod[12],$prod[13],$prod[14],$prod[15],$lev[0],$lev[1],$lev[2],$lev[3],$lev[4],$lev[5],$lev[6],$lev[7],$lev[8],$lev[9],$lev[10],$lev[11],$lev[12],$lev[13],$lev[14],$lev[15],$lev[16],$lev[17],$lev[18],$lev[19])=split(/\t/,$match);
$diaryfile="$diarydir$name.$diaryletter";
if($diarybg ne ""){$dbg=" bgcolor=$diarybg";}
if (!open(DB,"$diaryfile")) {
print "$name さんの日記はありません。";
}
elsif($prof ne "off"){
@lines = ;
close(DB);
$pagenow=1;
foreach $i (@lines){
($no,$today2,$title,$body,$imgexist,$res)=split(/\t/,$i);
if($pagenow==$page){
print "●$title/$today2($no) ";
if($imgexist ne ""){
@imgfiles = split(/,/,$imgexist);
foreach $imgfile(@imgfiles){
print "[画像] ";
}
}
if ($FORM{'all'} ne "true")
{
@diarylines = split(/ /,$body);
if ($#diarylines > 8)
{
$body = join(" ", @diarylines[0..8])."(略 [全文を読む]";
}
}
print "$body";
if($res ne ""){print " $res ";}
if($diaryres){
print "";
}
}
$pagenow++;
}
$page++;
print " Next";
print " DiaryTop";
print " ListTop";
}
else {
print "$name さんの日記は非公開になっています。";
}
}
sub res_diary_i{
&c_check;
if($c_match ==0){
&header; &error_message('login first','access failed.');
}
if($body eq ""){&header;&error_message('本文がありません','');}
if($name eq ""){&header;&error_message('名前がありません','');}
if($body !~ /[\x81-\x9A]/ && $denyeng){&header;&error_message('アルファベットのみの書き込みは禁止されています。','')};
&word_ban;
$diaryfile="$diarydir$name2.$diaryletter";
&dirlock;
if (!open(DB,"$diaryfile")) {
&header;
print " ";
} else {
@lines = ;
close(DB);
foreach $i(@lines){
($r_no,$r_today,$r_title,$r_body,$r_img,$r_res)=split(/\t/,$i);
if($no !=$r_no){
push(@out,$i);
} else {
$r_res =~ s/\n//g;
$body =~ s/ //g;
$r_res.="$name > $body ($today2) ";
$r_body =~ s/\n//g; #旧バージョン対策
push(@out,"$r_no\t$r_today\t$r_title\t$r_body\t$r_img\t$r_res\t\n");
}
}
if (!open(OUT,">$diaryfile")) {&header; &error_message('filesystem error','access failed.');}
print OUT @out;
close(OUT);
#RSS用履歴ファイル作成
$historybase="RESDIA\t$name $name2\t$timenow\t$rsstime\t$no\t$body\t$rh\t$addr\t\n";
&add_history;
if(!open(IN,"$datafile")){&error_message('datafile error2480','data file access failed.');}
@all=;
close IN;
@out=();
foreach $i(@all){
($no,$r_name,$pass,$anon,$race,$relm,$mainjob,$supportjob,$prof,$handle,$polhn,$mail,$home,$comment2,$point,$class,$time,$comment,$mrank,$etc[0],$etc[1],$etc[2],$prod[0],$prod[1],$prod[2],$prod[3],$prod[4],$prod[5],$prod[6],$prod[7],$prod[8],$prod[9],$prod[10],$prod[11],$prod[12],$prod[13],$prod[14],$prod[15],$lev[0],$lev[1],$lev[2],$lev[3],$lev[4],$lev[5],$lev[6],$lev[7],$lev[8],$lev[9],$lev[10],$lev[11],$lev[12],$lev[13],$lev[14],$lev[15],$lev[16],$lev[17],$lev[18],$lev[19])=split(/\t/,$i);
if($r_name eq $name2){
push(@out,"$no\t$r_name\t$pass\t$anon\t$race\t$relm\t$mainjob\t$supportjob\t$prof\t$handle\t$polhn\t$mail\t$home\t$comment2\t$point\t$class\t$timenow\t$comment\t$mrank\t$etc[0]\t$etc[1]\t$etc[2]\t$prod[0]\t$prod[1]\t$prod[2]\t$prod[3]\t$prod[4]\t$prod[5]\t$prod[6]\t$prod[7]\t$prod[8]\t$prod[9]\t$prod[10]\t$prod[11]\t$prod[12]\t$prod[13]\t$prod[14]\t$prod[15]\t$lev[0]\t$lev[1]\t$lev[2]\t$lev[3]\t$lev[4]\t$lev[5]\t$lev[6]\t$lev[7]\t$lev[8]\t$lev[9]\t$lev[10]\t$lev[11]\t$lev[12]\t$lev[13]\t$lev[14]\t$lev[15]\t$lev[16]\t$lev[17]\t$lev[18]\t$lev[19]\t\n");
} else {
push(@out,$i);
}
}
if(!open(OUT,">$datafile")){&header; &error_message('datafile error2494','data file access failed.');}
print OUT @out;
close OUT;
rmdir($lockdir);
}
$name=$name2;
}
sub new_regist_i{
if(($gpass ne $reg_pass && $reg_mode==0)){&error_message('illegal login','password is not correct.');}
if($mode eq "regist"){
&new_regist_regist_i;
} else {
&new_regist_normal_i;
}
}
sub new_regist_regist_i{
if(!open(IN,"$datafile")){&error_message('datafile error1791','data file access failed.');}
@all=;
close IN;
if( !($pass =~ /^[A-Za-z0-9_]+$/) ){
&error_message('そのパスワードは登録に利用できません。','パスワードは半角英数字で登録してください。');
}
if( !($name =~ /^[A-Za-z0-9_]+$/) ){
&error_message('その名前は使えません。','名前は半角英数字で登録してください。');
}
if($mainjob == $supportjob){&error_message('main/job error','メインとサポートは同一のジョブにはできません');}
$min_no=0;
foreach $i (@all){
($r_no,$r_user,$dummy)=split(/\t/,$i);
if($r_user eq $name){&error_message('already registed',"'$name' has already registed.");}
}
$no=$#all+2;
if($no<10){$no="0$no";}
if($no<100){$no="0$no";}
push(@all,"$no\t$name\t$pass\t$anon\t$race\t$relm\t$mainjob\t$supportjob\t$prof\t$handle\t$polhn\t$mail\t$home\t$comment2\t$point\t$class\t$timenow\t$comment\t$mrank\t$etc[0]\t$etc[1]\t$etc[2]\t$prod[0]\t$prod[1]\t$prod[2]\t$prod[3]\t$prod[4]\t$prod[5]\t$prod[6]\t$prod[7]\t$prod[8]\t$prod[9]\t$prod[10]\t$prod[11]\t$prod[12]\t$prod[13]\t$prod[14]\t$prod[15]\t$lev[0]\t$lev[1]\t$lev[2]\t$lev[3]\t$lev[4]\t$lev[5]\t$lev[6]\t$lev[7]\t$lev[8]\t$lev[9]\t$lev[10]\t$lev[11]\t$lev[12]\t$lev[13]\t$lev[14]\t$lev[15]\t$lev[16]\t$lev[17]\t$lev[18]\t$lev[19]\t\n");
&dirlock;
if(!open(OUT,">$datafile")){&error_message('datafile error1819','data file access failed.');}
print OUT @all;
close OUT;
rmdir($lockdir);
#RSS用履歴ファイル作成
$historybase="NEWREG\t$name\tNewMember\t$rsstime\t$no\t$rh\t\t$addr\t\n";
&add_history;
print "新規メンバー'$name'($no)の登録を完了しました。";
print " ListTop";
}
sub new_regist_normal_i{
print <<"EOM";
必要事項を入力してください。
";
}
sub keitai_menu{
print "modifying=$all ";
&c_check;
if($c_match ==0){
&header; &error_message('login first','access failed.');
}
($no,$name,$pass,$anon,$race,$relm,$mainjob,$supportjob,$prof,$handle,$polhn,$mail,$home,$comment2,$point,$class,$time,$comment,$mrank,$etc[0],$etc[1],$etc[2],$prod[0],$prod[1],$prod[2],$prod[3],$prod[4],$prod[5],$prod[6],$prod[7],$prod[8],$prod[9],$prod[10],$prod[11],$prod[12],$prod[13],$prod[14],$prod[15],$lev[0],$lev[1],$lev[2],$lev[3],$lev[4],$lev[5],$lev[6],$lev[7],$lev[8],$lev[9],$lev[10],$lev[11],$lev[12],$lev[13],$lev[14],$lev[15],$lev[16],$lev[17],$lev[18],$lev[19])=split(/\t/,$match);
@prod_r = split(/,/,$etc[1]);
@mp=split(/,/,$prod[13]);
@mission = split(/,/,$prod[15]);
@assault=split( //,$mission[16]);
$assault[0]=hex($assault[0]);
@jades = split(/\//,$mission[23]);
@atmas = split(/\//,$mission[24]);
@mmm9cs = split( /\//,$mission[25]);
#################共通フォーム
print "";
print "No. $no : '$name' 修正
|