#!/usr/local/bin/perl #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ # # The Endless Battle program Satellite # Copyright Net Game Communications All Rights reserved # メインスクリプト # # フリーウェアですが、著作権は放棄していません。 # 再配布、商用利用する場合はご報告願います。 #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ # # The Endless Battle sub program # Copyright masimaro All Rights reserved # 倉庫スクリプト # #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #ver.4 #設定 $SCRIPTNM="souko.cgi"; #倉庫スクリプト名 $tate="30"; #アイコン縦サイズ $yoko="30"; #アイコン横サイズ $SOUKODATA="souko"; #武器庫データを格納する(パーミッション777) $timer="1"; # #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ require 'ebs_sub1.cgi'; require "./$LOG_FOLDER/$HASH_DATA"; &ERROR('直リンクは禁止です','入り口からのアクセスお願いします。') if $ENV{'HTTP_REFERER'} !~ m/^$THIS_DIR/ && $DIRECT_LINK && $SUB ne 'MY_LIST' && $SUB ne 'C_LIST'; !$SUB && ($SUB='MAINTE'); &$SUB; sub MAINTE {&MAINTENANCE;} sub MASTER {&MASTER2;&dell;} sub HOKAN {&HOKAN2;&MASTER2;} sub DASU {&DASU2;&MASTER2;} sub IDOU {&IDOU2;&MASTER2;} sub MAINTENANCE{ @pair = split(/;/, $ENV{'HTTP_COOKIE'}); foreach (@pair) {my($key, $value) = split(/=/, $_);$DUMMY{$key} = $value;} @pairs = split(/,/, $DUMMY{EB}); foreach (@pairs) {my($key, $value) = split(/:/, $_);$COOKIE{$key} = $value;} &HEADER; print << " -----END-----";
 souko Mode
ID $COOKIE{'pname'}
PASS $COOKIE{'pass'}
-----END----- } sub MASTER2{ &ERROR('ID入力エラー!!') if $FORM{'plname'} eq ''; &ERROR('パスワードエラー!!') if $FORM{'pass'} eq ''; &DBM_INPORT(P); @VALS = split(/\s/,$P{"$FORM{'plname'}"}); &ERROR('パスワードエラー!!') if crypt ($FORM{'pass'},eb) ne "$VALS[2]"; &HEADER; &LOCK; open(IN,"$SOUKODATA/$FORM{'plname'}.cgi"); $cdat = ; close(IN); ($cname,$weapon1,$weapon2,$weapon3,$weapon4,$weapon5) = split(/<>/,$cdat); &UNLOCK; print << "-----END-----";
-----END----- print ""; print""; if($VALS[10] ne ''){ print << "-----END-----"; -----END----- }else{print"";} if($VALS[11] ne ''){ print << "-----END-----"; -----END----- }else{print"";} print << "-----END-----";
装備
$FORM{'plname'}$VALS[3]
"; local($WN_A,$WLV_A) = split(/!/,$VALS[9]); local($WN_B,$WLV_B) = split(/!/,$VALS[10]); local($WN_C,$WLV_C) = split(/!/,$VALS[11]); $WEP_A=$WLV_A%$WEAPON_LVUP; $WEP_B=$WLV_B%$WEAPON_LVUP; $WEP_C=$WLV_C%$WEAPON_LVUP; $WLV_A=int$WLV_A/$WEAPON_LVUP;$WLV_B=int$WLV_B/$WEAPON_LVUP;$WLV_C=int$WLV_C/$WEAPON_LVUP; @WN_sA=split(/\,/,$WEAPON_LIST{"$WN_A"});print"  【装備】  ".$WN_sA[0]." Lv.$WLV_A/exp.$WEP_A"; @WN_sB=split(/\,/,$WEAPON_LIST{"$WN_B"});print'  【予備1】  '.$WN_sB[0].''; @WN_sC=split(/\,/,$WEAPON_LIST{"$WN_C"});print'  【予備2】  '.$WN_sC[0]."
 
 
 


-----END----- print ""; print << "-----END-----"; -----END----- if($VALS[10] eq '' and $weapon2 ne ''){ print << "-----END-----"; -----END----- }else{print"";} if($VALS[11] eq '' and $weapon3 ne ''){ print << "-----END-----"; -----END----- }else{print"";} if($weapon4 ne ''){ print << "-----END-----"; -----END----- }else{print"";} print << "-----END-----";
倉庫
BOX0BOX1BOX2BOX3BOX4
"; local($WN_A,$WLV_A) = split(/!/,$weapon1); local($WN_B,$WLV_B) = split(/!/,$weapon2); local($WN_C,$WLV_C) = split(/!/,$weapon3); local($WN_D,$WLV_D) = split(/!/,$weapon4); local($WN_E,$WLV_E) = split(/!/,$weapon5); $WEP_A=$WLV_A%$WEAPON_LVUP; $WEP_B=$WLV_B%$WEAPON_LVUP; $WEP_C=$WLV_C%$WEAPON_LVUP; $WLV_A=int$WLV_A/$WEAPON_LVUP;$WLV_B=int$WLV_B/$WEAPON_LVUP;$WLV_C=int$WLV_C/$WEAPON_LVUP; $WEP_D=$WLV_D%$WEAPON_LVUP; $WEP_E=$WLV_E%$WEAPON_LVUP; $WLV_D=int$WLV_D/$WEAPON_LVUP;$WLV_E=int$WLV_E/$WEAPON_LVUP; @WN_sA=split(/\,/,$WEAPON_LIST{"$WN_A"});print"    ".$WN_sA[0]." Lv.$WLV_A/exp.$WEP_A"; @WN_sB=split(/\,/,$WEAPON_LIST{"$WN_B"});print'    '.$WN_sB[0].''; @WN_sC=split(/\,/,$WEAPON_LIST{"$WN_C"});print'    '.$WN_sC[0].""; @WN_sD=split(/\,/,$WEAPON_LIST{"$WN_D"});print'    '.$WN_sD[0].''; @WN_sE=split(/\,/,$WEAPON_LIST{"$WN_E"});print'    '.$WN_sE[0]."
 
 
 


-----END----- print "
倉庫:EDIT BY MASIMARO
"; &FOOTER; print "
"; } sub HOKAN2{ if ( $PL_VALUES[26] >= time-$timer){&ERROR('連続での使用はできません')} &DBM_INPORT(P); @VALS = split(/\s/,$P{"$FORM{'plname'}"}); &LOCK; open(IN,"$SOUKODATA/$FORM{'plname'}.cgi"); $cdat = ; close(IN); ($cname,$weapon1,$weapon2,$weapon3,$weapon4,$weapon5) = split(/<>/,$cdat); dbmopen (%P,"$DBM_P",0666); @VALS = split(/\s/,$P{"$FORM{'plname'}"}); if($FORM{'azuke2'} ne '' and $VALS[10] eq $FORM{'azuke2'}){$VALS[10] ="$weapon2";$weapon2="$FORM{'azuke2'}";} if($FORM{'azuke3'} ne '' and $VALS[11] eq $FORM{'azuke3'}){$VALS[11] ="$weapon3";$weapon3="$FORM{'azuke3'}";} $VALS[26] = $DATE ; $P{"$FORM{'plname'}"}="@VALS"; dbmclose %P; $VALS="$FORM{'plname'}<>$weapon1<>$weapon2<>$weapon3<>$weapon4<>$weapon5<>"; if(!open(OUT,">$SOUKODATA/$FORM{'plname'}.cgi")){ &ERROR('UserData Directry open error'); } print OUT $VALS; close(OUT); chmod(0666,"$SOUKODATA/$FORM{'plname'}.cgi"); &UNLOCK; } sub DASU2{ if ( $PL_VALUES[26] >= time-$timer){&ERROR('連続での使用はできません')} &LOCK; open(IN,"$SOUKODATA/$FORM{'plname'}.cgi"); $cdat = ; close(IN); ($cname,$weapon1,$weapon2,$weapon3,$weapon4,$weapon5) = split(/<>/,$cdat); dbmopen (%P,"$DBM_P",0666); @VALS = split(/\s/,$P{"$FORM{'plname'}"}); if($FORM{'dasi2'} ne '' and $FORM{'dasi2'} eq $weapon2){$VALS[10] =$FORM{'dasi2'};$weapon2="";} if($FORM{'dasi3'} ne '' and $FORM{'dasi3'} eq $weapon3){$VALS[11] =$FORM{'dasi3'};$weapon3="";} if($FORM{'dasi4'} ne ''){$weapon4="";} $VALS[26] = $DATE ; $P{"$FORM{'plname'}"}="@VALS"; dbmclose %P; $VALS="$FORM{'plname'}<>$weapon1<>$weapon2<>$weapon3<>$weapon4<>$weapon5<>"; if(!open(OUT,">$SOUKODATA/$FORM{'plname'}.cgi")){ &ERROR('UserData Directry open error'); } print OUT $VALS; close(OUT); chmod(0666,"$SOUKODATA/$FORM{'plname'}.cgi"); &UNLOCK; } sub IDOU2{ if ( $PL_VALUES[26] >= time-$timer){&ERROR('連続での使用はできません')} &LOCK; open(IN,"$SOUKODATA/$FORM{'plname'}.cgi"); $cdat = ; close(IN); ($cname,$weapon1,$weapon2,$weapon3,$weapon4,$weapon5) = split(/<>/,$cdat); dbmopen (%P,"$DBM_P",0666); @VALS = split(/\s/,$P{"$FORM{'plname'}"}); $VALS[26] = $DATE ; $P{"$FORM{'plname'}"}="@VALS"; dbmclose %P; if($FORM{'houkou'} eq "LEFT"){ $VALS="$FORM{'plname'}<>$weapon2<>$weapon3<>$weapon4<>$weapon5<>$weapon1<>"; }else{ $VALS="$FORM{'plname'}<>$weapon5<>$weapon1<>$weapon2<>$weapon3<>$weapon4<>"; } if(!open(OUT,">$SOUKODATA/$FORM{'plname'}.cgi")){ &ERROR('UserData Directry open error'); } print OUT $VALS; close(OUT); chmod(0666,"$SOUKODATA/$FORM{'plname'}.cgi"); &UNLOCK; } sub dell{ #不要データ削除 &DBM_INPORT(P); while (my($key,$val) = each %P){ @VALS = split(/\s/,$val);$ET++; $soukolist.="$key.cgi"; } &LOCK; if(!opendir(DIR,"$SOUKODATA")){ &ERROR('soukoData Directry open error')} @usrfile = sort grep /\.cgi/,readdir(DIR); closedir(DIR); foreach $no (0 .. $#usrfile) { if ($soukolist !~ m/$usrfile[$no]/){unlink("$SOUKODATA/$usrfile[$no]")} } &UNLOCK; }