📄 index.cgi
字号:
}else{
push(@NEW_DEF_LIST3,"$_");
}
}
if(!$pphit){
unshift(@NEW_DEF_LIST3,"$kid<>$kname<>$kpos<>0<>$kcon<>\n");
}
open(OUT,">$DEF_LIST");
print OUT @NEW_DEF_LIST3;
close(OUT);
&MAP_LOG2("<font color=red>【支配】</font>\[$old_date\]$cou_name[$kcon]国家$kname的$zname支配.");
&MAP_LOG("<font color=red>【支配】</font>\[$old_date\]$cou_name[$kcon]国家$kname的$zname支配.");
}else{
@NEW_DEF_LIST3=();
foreach(@DEF_LIST3){
($did,$dname,$dtown_id,$dtown_flg,$dcon) = split(/<>/);
if("$mdid" ne "$did"){
push(@NEW_DEF_LIST3,"$_");
}
}
open(OUT,">$DEF_LIST");
print OUT @NEW_DEF_LIST3;
close(OUT);
$kcex += 30;
&K_LOG2("$kname和$ename战斗中胜利.");
&E_LOG2("$ename败给$kname");
&MAP_LOG("<font color=red>【胜利】</font>$kname打倒$ename");
}
}else{
$ecex += 30;
&K_LOG2("$kname败给$ename");
&E_LOG2("$ename打倒$kname");
}
if(!$last_battle){
if($eid ne ""){
&ENEMY_INPUT;
}
}else{
$zshiro = $esol;
if("$zname" ne ""){
splice(@TOWN_DATA,$cnum,1,"$zname<>$zcon<>$znum<>$znou<>$zsyo<>$zshiro<>$znou_max<>$zsyo_max<>$zshiro_max<>$zpri<>$zx<>$zy<>$zsouba<>$z[0]<>$z[1]<>$z[2]<>$z[3]<>\n");
}
}
$kstr_ex++;
$ksub1 = "$kstr_ex,$kint_ex,$klea_ex,$kcha_ex,$ksub1_ex,$ksub2_ex,";
}
}
}
}elsif($cid eq "19"){
$ksub2=0;
if($csub){
if($cnum > 3000){
$cnum = 3000;
}
if($cno){
if($kgold > int($cnum / $csub)){
$kadd = int($cnum / $csub);
$kgold -= $kadd;
$krice += $cnum;
&K_LOG("$mmonth月:【商人】付钱$kadd给$cnum买米.");
$kint_ex++;
$ksub1 = "$kstr_ex,$kint_ex,$klea_ex,$kcha_ex,$ksub1_ex,$ksub2_ex,";
}else{
&K_LOG("$mmonth月:【商人】所持的金钱不够.");
}
}else{
if($krice > $cnum * $csub){
$kadd = int($cnum * $csub);
$krice -= $kadd;
$kgold += $cnum;
&K_LOG("$mmonth月:【商人】:$kadd用米和$cnum换钱.");
$kint_ex++;
$ksub1 = "$kstr_ex,$kint_ex,$klea_ex,$kcha_ex,$ksub1_ex,$ksub2_ex,";
}else{
&K_LOG("$mmonth月:【商人】米不够!!!");
}
}
}
}elsif($cid eq "20"){
$ksub2=0;
$zhit=0;
foreach(@z){
if($_ eq $cnum){
$zhit=1;
}
}
if($zhit){
$kpos = $cnum;
$klea_ex++;
$ksub1 = "$kstr_ex,$kint_ex,$klea_ex,$kcha_ex,$ksub1_ex,$ksub2_ex,";
&K_LOG("$mmonth月:$town_name[$cnum]移动.");
}else{
&K_LOG("$mmonth月:$town_name[$cnum]不能移动,现在位置!$zname");
}
}elsif($cid eq "21"){
$ksub2=0;
&COUNTRY_DATA_OPEN($kcon);
if($xcid eq 0){
if($cou_name[$cnum] eq ""){
&K_LOG("$mmonth月:那国家的官不能.");
}else{
$kcon = $cnum;
&K_LOG("$mmonth月:$cou_name[$cnum]做官.");
&MAP_LOG("$mmonth月:$kname在$cou_name[$cnum]国家做官.");
}
}else{
&K_LOG("$mmonth月:无国家不能做.");
}
}elsif($cid eq "22"){
$ksub2=0;
open(IN,"$ARM_LIST");
@ARM_DATA = <IN>;
close(IN);
($armname,$armval,$armdmg,$armwei,$armele,$armsta,$armclass,$armtownid) = split(/<>/,$ARM_DATA[$cnum]);
if($armval > $kgold){
&K_LOG("$mmonth月:所持的金钱不够.$armname 钱:$armval");
}else{
$kgold -= $armval;
$karm = $cnum;
&K_LOG("$mmonth月:武器:$armname买武器.");
}
}elsif($cid eq "23"){
$ksub2=0;
open(IN,"$PRO_LIST");
@PRO_DATA = <IN>;
close(IN);
($proname,$proval,$prodmg,$prowei,$proele,$prosta,$proclass,$protownid) = split(/<>/,$PRO_DATA[$cnum]);
if($proval > $kgold){
&K_LOG("$mmonth月:所持的金钱不够.$proname 钱:$proval");
}else{
$kgold -= $proval;
$kbook = $cnum;
&K_LOG("$mmonth月:书:$proname买书.");
}
}elsif($cid eq "25"){
$ksub2=0;
if($kgold < 100){
&K_LOG("$mmonth月:钱不够.");
}else{
$kgold-=100;
open(IN,"$MESSAGE_LIST2");
@MES_REG2 = <IN>;
close(IN);
$mes_num = @MES_REG2;
if($mes_num > $MES_MAX) { pop(@MES_REG2); }
unshift(@MES_REG2,"$cnum<>$kid<>$kpos<>$kname<>$csub<>$cno<>$ctime<>$kchara<>$cend<>\n");
open(OUT,">$MESSAGE_LIST2");
print OUT @MES_REG2;
close(OUT);
&K_LOG("$mmonth月:$cno寄信给.");
$kcha_ex++;
$ksub1 = "$kstr_ex,$kint_ex,$klea_ex,$kcha_ex,$ksub1_ex,$ksub2_ex,";
}
}elsif($cid eq "27"){
$ksub2=0;
if($kgold < 50){
&K_LOG("$mmonth月:钱不够.");
}else{
if($cnum eq "1"){
$kstr_ex +=2;
$a_mes = "武力";
}elsif($cnum eq "2"){
$kint_ex +=2;
$a_mes = "智力";
}else{
$klea_ex +=2;
$a_mes = "统率力";
}
$ksub1 = "$kstr_ex,$kint_ex,$klea_ex,$kcha_ex,$ksub1_ex,$ksub2_ex,";
&K_LOG("$mmonth月:$a_mes强化.");
}
}else{
$ksub2++;
if($ksub2 > $DEL_TURN){
unlink("./charalog/main/$kid\.cgi");
unlink("./charalog/log/$kid\.cgi");
unlink("./charalog/command/$kid\.cgi");
&MAP_LOG("[放置]:$kname被删掉.");
next;
}
&K_LOG("$mmonth月:什么都没有做");
}
}else{
&K_LOG("$mmonth月:不是本国.");
}
$krice -= $ksol;
if($krice < 0){
&K_LOG("$mmonth月:<font color=red>【逃脱】</font>:运米兵逃脱!");
$ksol = 0;
$krice = 0;
}
$uhit=0;
if($kstr_ex >= 20){
$kstr++;
$kstr_ex-=20;
$uhit=1;
&K_LOG("$mmonth月:<font color=red>【逃脱】</font>:$kname武力上升一点!");
}
if($kint_ex >= 20){
$kint++;
$kint_ex-=20;
$uhit=1;
&K_LOG("$mmonth月:<font color=red>【逃脱】</font>:$kname智力上升一点!");
}
if($klea_ex >= 20){
$klea++;
$klea_ex-=20;
$uhit=1;
&K_LOG("$mmonth月:<font color=red>【逃脱】</font>:$kname统率力上升一点!");
}
if($kcha_ex >= 20){
$kcha++;
$kcha_ex-=20;
$uhit=1;
&K_LOG("$mmonth月:<font color=red>【逃脱】</font>:$kname声望上升一点!");
}
if($uhit){
$ksub1 = "$kstr_ex,$kint_ex,$klea_ex,$kcha_ex,$ksub1_ex,$ksub2_ex,";
}
&CHARA_MAIN_INPUT;
if($ACT_LOG){
($qsec,$qmin,$qhour,$qday) = localtime($kdate);
unshift(@ACT_DATA,"$kname更新 \($qday日 $qhour:$qmin:$qsec\)\n");
}
# $kup_date++;
# if($kup_date > 2){last;}
}
}
}
if($thit){
open(OUT,">$TOWN_LIST");
print OUT @TOWN_DATA;
close(OUT);
}
closedir(dirlist);
&D_UNLOCK_FILE;
}
#_/_/_/_/_/_/_/_/_/#
#_/ 曇廤夋柺 _/#
#_/_/_/_/_/_/_/_/_/#
sub ALL_RESET {
if($REFREE){
$r_str = length("$SANGOKU_URL");
$r_url = substr("$ENV{'HTTP_REFERER'}", 0, $r_str);
if($r_url ne $SANGOKU_URL){ &ERR2("ERR No.002<BR>人物不对请向管理员联系.<BR>P1:$ROSER_URL <BR>P2:$r_url"); }
}
open(IN,"$COUNTRY_LIST");
@COU_DATA = <IN>;
close(IN);
foreach(@COU_DATA){
($xcid,$xname,$xele,$xmark,$xking,$xmes,$xsub,$xpri)=split(/<>/);
if("$in{'seiha'}" eq "$xcid"){$hit=1;last;}
}
open(IN,"./charalog/main/$xking\.cgi");
@E_DATA = <IN>;
close(IN);
($eid,$epass,$ename,$echara,$estr,$eint,$elea,$echa,$esol,$egat,$econ,$egold,$erice,$ecex,$eclass,$earm,$ebook,$ebank,$esub1,$esub2,$epos,$emes,$ehost,$edate,$email,$eos) = split(/<>/,$E_DATA[0]);
require "reset.pl";
&RESET_MODE;
&MAP_LOG2("$in{'e_date'}:$xname国家$ename统一天下.");
&HEADER;
print <<"EOM";
<CENTER><h2><font color=blue>初期化</h2></font>
<br>
<br>
<form method="post" action="./index.cgi">
<input type=submit value='TOP'>
</form>
<br>
EOM
&FOOTER;
exit;
}
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/#
#_/ LOG偺彂偒崬傒 _/#
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/#
sub E_LOG2 {
if($eid ne ""){
open(IN,"./charalog/log/$eid\.cgi");
@E_LOG2 = <IN>;
close(IN);
unshift(@E_LOG2,"$_[0]($mday日$hour时$min分)\n");
splice(@E_LOG2,20);
open(OUT,">./charalog/log/$eid\.cgi");
print OUT @E_LOG2;
close(OUT);
}
}
sub K_LOG2 {
open(IN,"./charalog/log/$kid\.cgi");
@K_LOG2 = <IN>;
close(IN);
unshift(@K_LOG2,"$_[0]($mday日$hour时$min分)\n");
splice(@K_LOG2,20);
open(OUT,">./charalog/log/$kid\.cgi");
print OUT @K_LOG2;
close(OUT);
}
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/#
#_/ 媼椏寁嶼 _/#
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/#
sub SALARY {
$ksal=0;
foreach(@TOWN_DATA){
($z2name,$z2con,$z2num,$z2nou,$z2syo,$z2shiro)=split(/<>/);
if($z2con eq $kcon){
if($mmonth eq "1"){
$ksal += int($z2syo * 8 * $z2num / 10000);
}elsif($mmonth eq "7"){
$ksal += int($z2nou * 8 * $z2num / 10000);
}
}
}
}
#_/_/_/_/_/_/_/_/_/_/_/_/#
# FILE LOCK #
#_/_/_/_/_/_/_/_/_/_/_/_/#
sub D_F_LOCK {
local($retry)=1;
if (-e $lockfile2) {
local($mtime) = (stat($lockfile2))[9];
if ($mtime && $mtime < time - 60) { &D_UNLOCK_FILE; }
}
while (!mkdir($lockfile2, 0755)) {
if (--$retry <= 0) { &ERR2("File lock error!<BR>资料更新中,请暂时等待!");
}
sleep(1);
}
}
#_/_/_/_/_/_/_/_/_/_/_/_/#
# FILE UNLOCK #
#_/_/_/_/_/_/_/_/_/_/_/_/#
sub D_UNLOCK_FILE
{
rmdir("$lockfile2");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -