bar.cgi

来自「web大航海时代源码,很简短」· CGI 代码 · 共 141 行

CGI
141
字号
# Sub Bar #
sub bar_meet {
	if ($F{'ad'}) { &ad_dis; return }
	&get_all_users;
	&form_table('up','100%',1);
	&reload;
	print qq|酒場  |;
	&submit_button;
	print qq|</td></tr><tr><td align=left>\n|;
	$p_sail = int($pay * (100 - &level($pexp*(1 + $t_item*0.01)) )/100);
print <<BAR;
	<input type=radio name=goods value="1" checked>雇用水手(一人需$p_sail G)<br>
	<input type=radio name=goods value="2">解雇水手<br>
	<input type=radio name=goods value="3">購入食物:$f_price G<br>
	<input type=radio name=goods value="4">捨棄食物<br>
	<div align=right>指定數量:<input type=text name=quan size=10></div>
	<input type=hidden name=mode value="bar_trade">
BAR
	&id_ps;
	&form_table('down');
	&form_table('up','100%',1);
	&reload;
	print qq|聽取冒險情報  |;
	&submit_button;
	print qq|<input type=hidden name=mode value="play">\n|;
	print qq|<input type=hidden name=ad value="1">\n|;
	&id_ps;
	&form_table('down');
	print qq|<table width="100%" bgcolor=$t_bgcol border="1" bordercolor=$bdcol cellspacing=0><tr><td align=center>\n|;
	print qq|來店者</td></tr><tr><td align=center>\n|;
	foreach (@alllines) {
		($uid,$uname,$usex,$uarea,$uport,$upoint,$ufriend_line) = (split(/<>/))[0,1,3,15,16,17,22];
		if ($uport == $port && $upoint == 4 && $uid != $id) {
			if ( $friend_line !~ /$uid/ ) {
				if (!$friend_line) { $friend_line = "$uid,$uname" }
				else { $friend_line .= "△$uid,$uname" }
			}
			if ( $ufriend_line !~ /$id/ ) {
				&get_u($uid);
				if (!$ufriend_line) { $ufriend_line = "$id,$name" }
				else { $ufriend_line .= "△$id,$name" }
				&set_u;
			}
			$sex_img = $usex ? $wmn_img : $man_img;
			$on_click = qq|onClick="return opWin('$listcgi?mode=uprofile&uid=$uid','win6')"|;
			print qq|<img src="$img/$sex_img"><a href="$listcgi?mode=uprofile&uid=$uid" $on_click target=_blank>$uname</a><br>\n|;
		}
	}
	if (!$sex_img) { print qq|店裡一個客人也沒有...| }
	print qq|</td></tr></table>\n|;
}

# Sub Adventure Display #
sub ad_dis {
	my $AdFile = new Nfile("$datadir/$adfiles",'read');
	my @adfline = $AdFile->read;
	&form_table('up','100%',1);
	&reload;
	print qq|冒險情報  |;
	&submit_button;
	print qq|</td></tr><tr><td align=left>\n|;
	foreach (0 .. $#adfline) {
		($harea,$hport,$price,$file)
		= split(/<>/,$adfline[$_]);
		if ($harea =~ /$area/ || $hport =~ /$port/) {
			$checked = !$first ? ' checked' : '';
			$first = 1;
			print qq|<input type=radio name=goods value="$_"$checked>$price G<br>|;
		}
	}
	print qq|目前沒有情報可以提供| if !$first;
	print qq|<input type=hidden name=mode value="adven">\n|;
	print qq|<input type=hidden name=check value="$first">\n|;
	&id_ps;
	&form_table('down');
}


# Sub Bar Trade #
sub bar_trade {
	&get_me($F{'id'});
	if ($action ne $F{'reload'}) { &play; exit }
	if ($F{'quan'} =~ /[^0-9]/) { &play("輸入的數值錯誤");exit }
	$F{'quan'} = int($F{'quan'});
	if ( $F{'goods'} == 1 ) {
		$price = int($pay * (100 - &level($pexp*(1 + $t_item*0.01)))/100);
		&trade_check;
		$action = '';
		$sailor += $F{'quan'};
		$money -= $price * $F{'quan'};
		&msg("雇用水手$F{'quan'}人");
		&add_record("水手以每人$price G共雇用$F{'quan'}人");
		&play; return;
	} elsif ( $F{'goods'} == 3 ) {
		$price = $f_price;
		&trade_check;
		$action = '';
		$food += $F{'quan'};
		$money -= $f_price * $F{'quan'};
		&msg("購入食物$F{'quan'}單位");
		&add_record("食物以每單位$price G共購入$F{'quan'}單位");
		&play; reurtn;
	} elsif ( $F{'goods'} == 2 ) {
		&sell_check;
		$action = '';
		$sailor -= $F{'quan'};
		if ($sailor < 0 ) { $sailor = 0; $F{'quan'} = '全部的'; }
		&msg("將水手$F{'quan'}人解雇");
		&add_record("將水手$F{'quan'}人解雇");
		&play; return;
	} elsif ( $F{'goods'} == 4 ) {
		&sell_check;
		$action = '';
		$food -= $F{'quan'};
		if ($food < 0 ) { $food = 0; $F{'quan'} = '全部的'; }
		&msg("將食物$F{'quan'}單位捨棄");
		&add_record("將食物$F{'quan'}單位捨棄");
		&play; return;
	}
}

# Sub Adven #
sub adven {
	&get_me($F{'id'});
	if (($action ne $F{'reload'}) || !$F{'check'}) { &play; exit }
	my $AdFile = new Nfile("$datadir/$adfiles",'read');
	my @adfline = $AdFile->read;
	($harea,$hport,$price,$file,$fguide) = split(/<>/,$adfline[$F{'goods'}]);
	if ($money < $price) { &play("所持金額不足"); exit }
	$money -= $price;
	$quest_flag = $file;
	my $QFile = new Nfile("$datadir/$file",'read');
	($quest_line) = $QFile->read;
	chomp($quest_line);
	$quest_line .= ",0";
	&msg("聽取冒險情報<br>$fguide");
	&add_record("$fguide");
	&play
}

1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?