[問題]小弟想問問BSM大大些問題~!

製作Webgame技術交流、Webgame相關程式功能改造、中文化技巧等相關討論。

版主: Mr.Simon, 涅魂, 小剎, BSM

truman1288
 
文章: 2
註冊時間: 2008-11-21 5:43 pm
來自: Hong Kong

[問題]小弟想問問BSM大大些問題~!

文章truman1288 » 2008-11-23 10:18 am

小弟想問問是不是直接把[網路航海時代程式碼-sea.cgi]放進網頁裏,為什麼變了一些不明字體?

如:
http://hk.geocities.com/truman168/111.htm
小弟所打的html碼:




<html>
<head><META HTTP-EQUIV="content-type" CONTENT="text/html; charset=big5">
<title>網路航海時代 Ver2.73繁體中文版 </title>
</head>

<body bgcolor="#FFFFFF" text="#000000">



</body>
</html>
#!/usr/bin/perl
# ?夲?潦??怠??蛴??血???

# #############################################################
# ?砗??昙铝瘚瑟?隞?
# Copyright (C) 2002 ?喋奬?蓞L, All rights reserved.
# E-Mail : impulse@kun.ne.jp
# Web : http://www.kosumi.vxx.jp/
# ?研奬?胯:?ⓒ??胯??芥L?艾具?U啓?⒞�?
# ?拍欟?⒞??嫘噐甈~嘣URL:http://www.kosumi.vxx.jp/rules.htm
# ?怨?頛档??郦??拍欟閬铴??怠??蛴??蓞??柴啝閬骗喞?ⓒ垴?⒞�?
# ?ⓓ?璅押噐?喋奬?蓞L?铸??档??整??郦�?
# ?研奬?胯:?ⓒ??桐??具喩?窜??危issing Link瑽呭嘣靽??⒞??苹eoPle?砗???
# 撘脚欟?櫈??艾??蓞??换啌?窜??整???
# 撘脚欟?典??怒唣?换啌?株?雿貝蝑档噐Missing Link?娟ho瑽呭喩撣啣??换??ⓒ垴?⒞嘣?扼�?
# 閰喋??蛴噐ReadMe?称?閬找??櫈???Missing Link:http://www.area-s.com/)
# ?研奬?胯:?ⓒ??焼锄?具??蓡??怒??骗??骗喞?鲭?摰喋?雿乛�??喋奬?蓞L)?臭??桨嘣鞎砌遙?状??换垴????
# 鞈芸?蝑档噐?萸??潦??脩內?踴坥(http://www.kosumi.vxx.jp/support.htm)
# #############################################################

# 隞乩?閮剖?
use Nfile;
$g_basedat = 'base.dat'; # 鈭斗??癴腖?砍I??
$yarddat = 'item.dat'; # ?孵I?潸?鞎抵都皜?
$adfiles = 'a_list.dat'; # ?乗揁?当ē?ⓗ”

$trade_lower = 0.5; # ?拙I?扬???0.5隞乩?)
$trade_upper = 1.5; # ?拙I?扬???1.5隞乩?)
$flac = 0.00000003; # 1G敶梢艥?钦??厢?
$sell_rate = 0.6; # 鞈?婵?彁??寞Ç(?栞身?航眺???0.6)
$cf = 213; # 鈭斗??盙?霈箫?靽弴㕑(閬皥伨甇?末?湔㕑,0銝诎???
$cycle = 7; # ?拙I?钦??刧躰????
$pay = 100; # 瘞湔?銝�鈭箏腖?祈頃?亙I??
$f_price = 10; # 憌蓸锱銝�?桐??箸珻鞈澆项?寞Ç
$time_scale = 250; # 蝘餃??彑?(?刻肽200嚚?00)
$waste = 0.001; # 瘞游井銝�鈭箔?蝘奨?瘨昙�ⓘ??拚?
$cont = 15; # ????圈洛?栀饿嚗历腙雿逯??称?
$same = 0.5; # ?铸?撠觇??栀饿嚗???1嚗?
$stop = 3; # 靽彁??彑?嚗历??恠?
$robmoney = 5; # ?圈洛憟芸?撠觇?鞈浆??栈婱?玛?撟?%)
$b_flac = 100; # ?箄必?簧??扬??詨?摨?
$atk_limit = 200; # ?圈洛?ˏ???
$cmd_limit = 150; # ?欧骒?ˏ???
$nav_limit = 200; # ?芣絲?ˏ???
$newcity = 1000000; # 撱箇??浍飑?�?�??
$poten = 10000; # ?浍飑???—P
$r_fee = 50; # ?浍飑?扬耨?痪祥??靽桀儔1HP?�?�?梯祥)
$atkfee = 1000000; # 雿踹??桅婅?賜?敹睁????鉴??埔P)
$cityatked = 1000; # ?脰??游?撌乩??枣奝摰?
$citypwr = 400; # ?浍飑?枣腖?祆笂?箫?
$cl_limit = 7; # ?浍飑摮咞粐?枣骓?賣㕑(鈭斗???
$cs_limit = 7; # ?浍飑摮咞粐?枣骓?賣㕑(??
$rookie = 30; # ?怒L?准L??
$retry = 1; # ?讵婨?残?????(?脫迫?⊿??園?銴殇婨??

$x_rev = 85; # ?啣???0,0)?枣�?鞊∠?)
$y_rev = 73;
$map_x = 0.556; # x?孵??殷?簞敶隆??窜嘣?鮖呟?颯;?啜�??啣瀃?桀?)/360
$map_y = 0.733; # (?啣??栈萵)/180
$map_height = 132; # ?啣瀃?栈蒂
$map_width = 200; # ?啣瀃?枣?
$move_ship = "move.gif"; # 蝘餃??刻驻?綨?
$move_width = 400; # 蝘餃?頝漄嚗昙情蝝¿?

# 鞎∪窄?寞??寞?
@shield = ('?萸??担C嚗㏂??潦嘣??,'?鲭??桀录','瘞湔娽?柴啬?蛴?'); # 鋡怨必?簧??豢竏?菜硅?餅???
@atkup = ('?瑯?嚗㏂??琐呟蟡雴嘣隞桅'); # ?餅??霶??詨???
@gard = ('?准C?啜奝?喋???); # 鞎∪窄靽風
@vanish = ('憭芷婮?桃耯'); # ?圈洛?鞇埀
@save = ('?詻7?喟??桅???); # 憌蓸锱瘨昙祥雿峄?

# ?両??㏂植?喋??扼嘣?~??颯L??'瘚瑚?','皜?,'鈭斗??癴?','?燗驻?�','?焼ū','??,'镼脫?')
@ms = ( '' , '?繮?撠铴?瘚瑁??�嚗癑�? , '?铸漱?緑??箸珻撠望伨雿殚眺擃哣都?? , '?繮??屮??晓暑?鲷欟?? , '?颤??湔伨皜舐??当ē鈭斗??櫈�? , '' , 'Good luck !');

#require 'jcode.pl';
require 'setting.cgi'; # ?颯??琐倶?喋鞄?櫈篭?扎;
require 'sys.cgi';

# 閮剖??隆??整啓

# ###################################################################
&error("隢鲭蒽[setting.cgi]?湔竡?冽饿?桅???) if $usrdir eq 'userdir';
&decode;
if ($F{'id'} =~ /\W/) { &error('銝觇迤?芸项?啓??) }
if (!$F{'mode'}) { require 'rank.cgi'; &start_view }
else {
if (($F{'mode'} eq 'trade_sell') || ($F{'mode'} eq 'trade_buy')) { require 'trade.cgi' }
elsif ($F{'mode'} eq 'move') { require 'move.cgi' }
elsif (($F{'mode'} eq 'bar_trade') || ($F{'mode'} eq 'adven')) { require 'bar.cgi' }
elsif (($F{'mode'} eq 'rep_ship') || ($F{'mode'} eq 'buy_ship') || ($F{'mode'} eq 'sell_ship')) { require 'yard.cgi' }
elsif ($F{'mode'} eq 'battle') { require 'battle.cgi' }
elsif ($F{'mode'} =~ /city/) { require 'city.cgi' }
elsif ($F{'mode'} =~ /ctrade/) { require 'ctrade.cgi' }
elsif ($F{'mode'} =~ /cadmin/) { require 'cadmin.cgi' }
elsif ($F{'mode'} eq 'cbattle_atk') { require 'cbattle.cgi' }
&{$F{'mode'}} }
exit;
# ###################################################################

# Sub Ships #
sub ships {
if ( $#ship_ind < 0 && $money < 2000 ) {
print qq|<form method=$method action=$seacgi>?∩遙雿厠驻??br>鞈浆?雿峄蒽2000??br>?臬谳閬癴董?蔃刘畾綽?<br>\n|;
print qq|<input type=hidden name=mode value="restart">\n|;
&id_ps;
&submit_button;
print qq|</form>\n|;
return
}
for ($i=0; $i <= 16; $i++){
if(!$ship[$i][0]){ $ship[$i][0] = $damgif; }
}
print <<SHIP_TABLE;
<table border=0 cellspacing=0 cellpadding=0 background="$img/$seaimg" cols=5>
<tr>
<td height=40 width=40 align=center valign=center><br></td>
<td height=40 width=40 align=center valign=center><br></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[11][0]" alt="$ship[11][4](HP$ship[11][2])"></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[15][0]" alt="$ship[15][4](HP$ship[15][2])"></td>
<td height=40 width=40 align=center valign=center><br></td>
</tr>
<tr>
<td height=40 width=40 align=center valign=center><br></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[9][0]" alt="$ship[9][4](HP$ship[9][2])"></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[3][0]" alt="$ship[3][4](HP$ship[3][2])"></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[7][0]" alt="$ship[7][4](HP$ship[7][2])"></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[13][0]" alt="$ship[13][4](HP$ship[13][2])"></td>
</tr>
<tr>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[6][0]" alt="$ship[6][4](HP$ship[6][2])"></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[2][0]" alt="$ship[2][4](HP$ship[2][2])"></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[0][0]" alt="$ship[0][4](HP$ship[0][2])"></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[1][0]" alt="$ship[1][4](HP$ship[1][2])"></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[5][0]" alt="$ship[5][4](HP$ship[5][2])"></td>
</tr>
<tr>
<td height=40 width=40 align=center valign=center><br></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[10][0]" alt="$ship[10][4](HP$ship[10][2])"></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[4][0]" alt="$ship[4][4](HP$ship[4][2])"></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[8][0]" alt="$ship[8][4](HP$ship[8][2])"></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[14][0]" alt="$ship[14][4](HP$ship[14][2])"></td>
</tr>
<tr>
<td height=40 width=40 align=center valign=center><br></td>
<td height=40 width=40 align=center valign=center><br></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[12][0]" alt="$ship[12][4](HP$ship[12][2])"></td>
<td height=40 width=40 align=center valign=center><img src="$img/$ship[16][0]" alt="$ship[16][4](HP$ship[16][2])"></td>
<td height=40 width=40 align=center valign=center><br></td>
</tr>
</table>
SHIP_TABLE
}

# Sub Status #
sub status {
&fleet;
&load_data;
$rest = $total - $total_load - $food - $sailor;
($load_detail =$load) =~ s/???�/g;
($item_detail =$item_line) =~ s/,/?�/g;
$load_detail .= '<br>';
$item_detail .= '<br>';
my $now_price = sprintf "%3.2f" , $p_price*100;
my $avoid = int($cmd / 3);
$message .= $record;
$record = '';
$message = '<br>' if !$message;
my $i_up = 1 + $t_item*0.01;
my $alv = &level($aexp*$i_up);
my $plv = &level($pexp*$i_up);
my $tlv = &level($texp*$i_up);
$on_clickf = qq|onClick="return opWin('$listcgi?mode=player_list','win6')"|;
$on_clickh = qq|onClick="return opWin('$listcgi?mode=history&id=$id&ps=$F{'ps'}','win6')"|;
$on_clicke = qq|onClick="return opWin('$listcgi?mode=event_look','win6')"|;
$on_clickm = qq|onClick="return opWin('$listcgi?mode=mail_form&id=$id&ps=$F{'ps'}','win6')"|;
$on_clicki = qq|onClick="return opWin('$listcgi?mode=introduce&id=$id&ps=$F{'ps'}','win6')"|;
print <<STATUS_TABLE;
<table border=1 width="100%" bgcolor=$t_bgcol bordercolor=$bdcol cellspacing=0>
<tr>
<td colspan=2 align=center>?�??/td>
</tr><tr>
<td width=80 align=center>?阡?</td><td>$name?阡?</td>
</tr><tr>
<td width=80 align=center>鞎典�桧捆??/td><td>?券8嚗?total?�?暹?嚗?total_load?�?拚?嚗?rest</td>
</tr><tr>
<td width=80 align=center>鞎函锱閰喟敦</td><td>$load_detail</td>
</tr><tr>
<td width=80 align=center>憌蓸锱</td><td>$food</td>
</tr><tr>
<td width=80 align=center>鞈浆?</td><td>$money G</td>
</tr><tr>
<td width=80 align=center>瘞湔?</td><td>$sailor鈭?/td>
</tr><tr>
<td width=80 align=center>Lv</td><td>?乗揁Lv嚗?alv?�瘚瑁?Lv嚗?plv?�?玛犖Lv嚗?tlv</td>
</tr><tr>
<td width=80 align=center>?圈洛??/td><td>$atk</td>
</tr><tr>
<td width=80 align=center>?鞇埀??/td><td>$avoid 嚗?(?欧骒?h?$cmd)</td>
</tr><tr>
<td width=80 align=center>?蓢漲</td><td>$vector 蝭� (?芣絲?h?$nav)</td>
</tr><tr>
<td width=80 align=center>?曉珯??/td><td>$p_name(?拙I嚗?now_price嚗?</td>
</tr><tr>
<td width=80 align=center>鞎∪窄</td><td>$item_detail</td>
</tr><tr>
<td width=80 align=center>?诎嚔</td><td>?乗揁嚗?adven<br>瘚瑁?嚗?piracy<br>?玛犖嚗?trade</td>
</tr><tr>
<td colspan=2 align=center>$message</td>
</tr><tr>
<td colspan=2 align=center>
STATUS_TABLE
print qq|<a href="$listcgi?mode=player_list" $on_clickf target=_blank>[?阡?]</a>?�\n|;
print qq|<a href="$listcgi?mode=history&id=$id&ps=$F{'ps'}" $on_clickh target=_blank>[撅交韭]</a>?�\n|;
print qq|<a href="$listcgi?mode=event_look" $on_clicke target=_blank>[鈭鲸辣]</a>?�\n|;
print qq|<a href="$listcgi?mode=mail_form&id=$id&ps=$F{'ps'}" $on_clickm target=_blank>[靽∩辣]</a>?�\n|;
print qq|<a href="$listcgi?mode=introduce&id=$id&ps=$F{'ps'}" $on_clicki target=_blank>[Profile]</a>\n|;
print qq|</td></tr></table>\n|;
}

# Sub Play #
sub play {
&get_me($F{'id'});
&set_cookie if $F{'mode'} eq 'play';
&get_host;
&get_port($area,$port) if $port;
&get_port($area,$area) if !$port;
&ship_data;
$last = time;
&t_check;
&sink;
&header;
&quest;
my ($y,$x) = split(/,/,$p_locate);
$x = int($x * $map_x + $x_rev + 0.5); #0.5?臬??其???
$y = int($y_rev - $y * $map_y + 0.5);
print qq|<center><H2><font color=#4169e1>$title</font></H2>\n|;
print qq|<table width="90%"><tr align=center valign=top><td>\n|;
print qq|<table width=$map_width><tr><td height=$map_height background="$img/worldmap.gif" align=left valign=top>\n|;
print qq|<div><span style="position:relative; top:$y; left:$x;">\n|;
print qq|<img src="$img/pointer.gif"></span></div></td></tr><tr><td>\n|;
&ships;
&dis_tactics if $tactics != 4 || $moved < $last;
print qq|</td></tr></table><td width="40%">\n|;
&status;
&move_point if $last > $moved; # $port && $port?郦??郦噼嚗晓葛?怒??郦噼嚗档�皥葛?睐宏?厠”蝷?
print qq|</td><td width="30%">\n|;
if($_[0]) {print qq|$_[0]\n<form method=$method action=$seacgi><input type=hidden name="mode" value="play">|; &id_ps; &submit_button; print qq|</form>|;}
elsif ($point==1 && $last >= $moved ) { require 'move.cgi'; &move_list }
elsif ($point==2) { require 'trade.cgi'; &trade_dis('鞈澆项',$trade_line); &trade_dis('鞈?婵',$load) if $load; }
elsif ($point==3) { require 'yard.cgi'; &shipyard }
elsif ($point==4) { require 'bar.cgi'; &bar_meet }
elsif ($point==5) { require 'city.cgi'; &city_top }
elsif ($point==6) { require 'battle.cgi'; &enemy }
elsif ($last < $moved) { &moving }
print qq|</td></tr></table></center>\n|;
&home_button;
&footer;
&set_me;exit;
}

# Sub Start View #
sub start_view {
print qq|Set-Cookie: T$cookname=check;\n|;
&header;
print qq|<center><H2><font color=#4169e1>$title</font></H2><br>\n|;
&get_cookie;
&form_table('up','40',0);
print qq|<a href="$newcgi">?萇?撣單饿</a><br><a href="manual.htm" target=_blank>?拇?隤芣?</a></td></tr><tr><td align=center>|;
$on_click = qq|onClick="return opWin('$listcgi?mode=id_list','win4')"|;
print qq|ID ??a href=$listcgi?mode=id_list $on_click target=_blank>ID LIST</a>??br>\n|;
print qq|<input type=text name=id class=text size=$stx_wth value="$c_id">\n|;
print qq|</td></tr><tr><td align=center>\n|;
print qq|撖疯Ⅳ<br>\n|;
print qq|<input type=password name=ps class=text size=$stx_wth value="$c_ps">\n|;
print qq|</td></tr><tr><td align=right>\n|;
&submit_button;
print qq|<input type=hidden name=mode value="play"></center>\n|;
&form_table('down');
&ranking;
&home_button;
&footer;
}

# Sub Get Port #蝚砌?撘洤嚗?area?盙洵鈭鉴??堆?$port(or $area)?眎?憭栉灋
sub get_port {
if ($_[0] =~ /\W/) { &error('銝觇迤?扼?') }
my $AreaFile = new Nfile("$datadir/$_[0]\.dat",'read');
@arealine = $AreaFile->read;
($port_line) = grep {($num) = split(/<>/,$_); $num == $_[1];} @arealine;
if (!$port_line) { &error("皜臬贽鞈欧??綨??航炊"); exit }
($p_num,$p_name,$p_locate,$trade_line,$p_price) = split(/<>/,$port_line);
}

# Sub Trade Check #
sub trade_check {
&ship_data;
&fleet;
&load_data;
$rest = $total - $total_load - $food - $sailor;
if ($F{'quan'} =~ /[^0-9]/) { &play("?賊?頛詨项?航炊");exit }
if (!$F{'quan'}) { &play("?芾撓?交㕑??);exit }
if ($money < ($price * $F{'quan'}) ) { &play("?�?眏?銝诎雲");exit }
if ($rest < $F{'quan'} ) { &play("?拚??枣捆?蝾?頞?);exit }
}

# Sub Sell Check #
sub sell_check {
if ($F{'quan'} =~ /[^0-9]/) { &play("?賊?頛詨项?航炊");exit }
if (!$F{'quan'}) { &play("?芾撓?交㕑??);exit }
}


# Sub Quest #
sub quest {
if (!$quest_flag) { return }
my ($qarea,$qport,$qpoint,$guide,$prog,$get) = split(/,/,$quest_line);
if ( $port == $qport && $area == $qarea && $point == $qpoint ) {
&msg("$guide");
&add_record("$guide");
$prog++;
my $ConFile = new Nfile("$datadir/$quest_flag",'read');
@content = $ConFile->read;
$quest_line = $content[$prog];
chomp($quest_line);
undef @content;
if (!$quest_line) {
if ($end_quest !~ /$quest_flag/) {
$adven += $prog * 5000;
$aexp += $prog * 5000;
$end_quest .= "$quest_flag,";
if ($get) {
my @item_check = split(/,/,$item_line);
foreach (@item_check) { if ($_ eq $get) { $find = 1; last } }
if (!$find) {
$item_line = join(',' , @item_check , $get);
&add_record("?脣? $get");
&msg("敺ⓔ闾鈭?get")
}
}
}
$quest_flag = '';
return
}
my @item_check = split(/,/,$quest_line);
if ( $#item_check >= 4 ) {
splice(@item_check , 4 , 0 , $prog);
$quest_line = join(',' , @item_check);
return
}
$quest_line .= ",$prog"
}
}

# Sub Add Record #
sub add_record {
&get_date(time) if !$date;
if ($_[1] && $_[0]) {
$words = "[$date] $_[0]\n";
pop (@ulines) if @ulines >= $def_om;
unshift (@ulines,$words);
}
elsif ($_[0]) {
$words = "[$date] $_[0]\n";
pop (@ilines) if @ilines >= $def_om;
unshift (@ilines,$words);
}
}

# Sub Message #
sub msg {
return if !$_[0];
$message = "" if $message eq '<br>';
$message .= "<br>" if $message;
$message .= "$_[0]\n";
}

# Sub Get Date #
sub get_date {
($sec,$min,$hour,$day,$month,$year) = localtime($_[0]);
$year += 1900;
$month++;
$date = sprintf("%04d\/%02d\/%02d",$year,$month,$day);
}

# Sub Get Ship Data # $ship[$_][0]=?餃??砗�冦1]=蝛诎??蛴�冦2]=HP?冦3]=?蓢漲?冦4]=?菝?
sub ship_data {
undef @ship;
for (0 .. $#ship_ind) {
@{$ship[$_]} = split(/,/,$ship_ind[$_])
}
}

# Sub Fleet Status #
sub fleet {
$total = $vector = 0;
for(0 .. $#ship){
$total += $ship[$_][1];
$vector += $ship[$_][3]
}
$vector = @ship_ind > 0 ? int( ($vector + ($nav * 0.1)) / @ship_ind ) : 0;
$vector = ($vector * int((100 + &level($aexp*(1 + $t_item*0.01)))/10))/10;
}

# Sub Total Load #
sub load_data {
$total_load = 0;
my @load_ind = split(/??,$load);
foreach (@load_ind) {
($load_name,$load_quan) = split(/,/,$_);
$total_load += $load_quan;
}
}

# Sub Moving #
sub moving {
$take = $moved - time;
$take = 0 if $take < 0;
$amount = $take == 0 ? $move_width : 1;
$delay = ($take * 1000) / $move_width ;
print qq|<center><table width="100%"><tr><td align=center><form method=$method action=$seacgi>?当闾?椥;
print qq|<input type=hidden name=mode value="play">\n|;
&id_ps;
&submit_button;
print <<SHIP_MOVE;
</form></td></tr><tr>
<td background="$img/$seaimg">
<marquee behavior=slide loop="1" height=$move_width direction=up scrollamount=$amount scrolldelay=$delay truespeed>
<center><img src="$img/$move_ship"></center>
</marquee>
</td></tr></table>
<FORM action="./" method="post" name="count">
?拚??彑?<INPUT NAME="down" SIZE="10">
<SCRIPT LANGUAGE="JavaScript">
<!---
xx = $take;
function down() {
if (xx < 0)xx = 0;
sec = xx % 60;
min = ((xx - sec) / 60) % 60;
hor = (xx - min * 60 - sec) / 3600;
if (hor < 10)hor = "0" + hor;
if (min < 10)min = "0" + min;
if (sec < 10)sec = "0" + sec;
xx--;
document.count.down.value = hor+":"+min+":"+sec;
setTimeout('down()', 1000);
}
down();
//end --->
</SCRIPT>
</FORM>
</center>
SHIP_MOVE
}

# Sub Sink #
sub sink {
if (!$port && $#ship_ind < 0) {
&set_cookie('del');
&header;
print qq|<center><font size=5 color=#4169e1>$title</font><br><br><br>\n|;
print qq|<font size=6 color=#FF0000>\n|;
print qq|?簧巩蝯栁?嚗?br>$name?阡??潭絲銝箫饪皛绢?<br>?栅妛瘚瑁ㄐ?栈??領�把�把�吭n|;
print qq|</font></center>\n|;
&home_button;
&footer;
unlink("$usrdir/$id\.dat");
exit
}
}

# Sub Submit Button #
sub submit_button {
print qq|<input type=submit value="$sub_lbl" class=button>\n|;
}

# Sub Display Tactics #
sub dis_tactics {
my(@t_type)=('憟賣闾','?拙漲','?鞇埀');
&form_table('up','100%',1);
print qq|?啗??�?�|;
&id_ps;
&submit_button;
&reload;
print qq|</td></tr><tr><td align=center valign=center>\n|;
for($i=0;$i<3;$i++) {
$checked = $i == $tactics ? ' checked' : '';
print qq|<input type=radio name=tactics value="$i"$checked>$t_type[$i] \n|;
}
if ($#ship_ind <= 1) {
$checked = $tactics == 3 ? ' checked' : '';
print qq|<br><input type=radio name=tactics value="3"$checked>?厢?(?典??脫飛嚗?\n|;
}
if ($port && $moved < $last) {
$checked = $tactics == 4 ? ' checked' : '';
print qq|<br><input type=radio name=tactics value="4"$checked>?厶?皜臬贽($stop撠镦?)\n|;
}
print qq|<input type=hidden name=mode value="ch_tac">\n|;
&form_table('down');
}

# Sub Change Tactics #
sub ch_tac {
&get_me($F{'id'});
if ($action ne $F{'reload'}) { &play; exit }
$tactics = $F{'tactics'};
if ($tactics == 4) { $moved = time + ($stop * 3600); $point = 1 }
$action = '';
&play;
}

# Sub Tactics Check #
sub t_check {
if (($tactics == 3 && $#ship_ind > 1) || ($tactics == 4 && $moved < $last)) { $tactics = 1 }
if ($tactics == 3) {
$piracy = 0 if $piracy > 0;
$adven = 0 if $adven > 0;
$trade = 0 if $trade > 0;
}
}

# Sub Move Point #
sub move_point {
my(@in_port)=('皜臬贽','鈭斗?','?燗驻','?焼ū','?浍飑','镼脫?'); # $point 瘚瑚?嚗??皥葛嚗??癳漱?暦?2?眏�燗驻嚗??眏??湛?4?盙竰嚗??眎必?�?6
print qq|<br>\n|;
&form_table('up','100%',1);
print qq|皜臬须蝘餃??�?�| if $port;
print qq|銵鉴??�?�| if !$port;
&submit_button;
print qq|</td></tr><tr><td align=center>\n|;
for($i=1;$i<7;$i++) {
$checked = $i == $point ? ' checked' : '';
print qq|<input type=radio name=point value="$i"$checked>$in_port[$i-1] \n|;
$i += 4 if !$port;
}
&id_ps;
print qq|<input type=hidden name=mode value="ch_point">\n|;
&form_table('down');
#?焼项?箫予摰?
require 'chat.cgi';
&chat;
}

# Sub Change Point #
sub ch_point {
&get_me($F{'id'});
if (time < $moved) { &play; return }
#Ver2.73
if ($F{'point'} < 0 || 6 < $F{'point'}) { &play; return; }
if (!$port && $F{'point'} != 1 && $F{'point'} != 6) { &play; return; }
##
$point = $F{'point'};
&msg("$ms[$F{'point'}]");
&play;
}

# Sub Restart #
sub restart {
require 'rank.cgi';
&get_me($F{'id'},'read');
unlink("$usrdir\/$id\.dat");
&set_cookie('del');
&start_view;
exit;
}

# Sub Table #蝚砌?嚗㏘?or銝骗�盙洵鈭鳗?撟猾�盙洵銝涩?憓w?
sub form_table {
if($_[0] eq 'up') {
print <<TAB;
<center><form method=$method action=$seacgi>
<table width="$_[1]" border="$_[2]" bgcolor=$t_bgcol bordercolor=$bdcol cellspacing=0>
<tr><td align=center>
TAB
}
if($_[0] eq 'down') {
print <<TAB;
</td></tr>
</table></form>
</center>
TAB
}
}

# Sub Return Button #
sub return_button {
print qq|<center><form method=$method action=$seacgi><input type="button" value="餈鮴?" onClick="history.back()"></form></center>\n|;
}

# Sub Home Button #
sub home_button {
if (!$def_ho) { return }
print qq|<center><a href=$hom_url target=$hom_tgt>$hom_lbl</a><br></center>\n|;
}

# Sub ID & Password #
sub id_ps {
print qq|<input type=hidden name=id value="$F{'id'}">\n|;
print qq|<input type=hidden name=ps value="$F{'ps'}">\n|;
}

# Sub Reload #
sub reload {
$action = rand(1000) if !$reloadflag;
print qq|<input type=hidden name=reload value="$action">\n|;
$reloadflag = 1;
}

# Sub Level #
sub level {
return int(5.9 * log($_[0] + 4792) - 50)
}

# Sub Error #
sub error {
&unlock if $locked;
if (!$headflag) { &header }
print <<ERR;
<center>
<hr width=80%>
<B><font color=#FF0000>$_[0]</font></B>
<hr width=80%>
</center>
ERR
&return_button if !$def_rb;
&footer('no');
exit;
}

# Sub Get Cookie #
sub get_cookie {
@pairs = split(/\;/,$ENV{'HTTP_COOKIE'});
foreach $pair (@pairs) {
my($name, $value) = split(/\=/, $pair);
$name =~ s/ //g;
$DUMMY{$name} = $value;
}
@pairs = split(/\,/,$DUMMY{$cookname});
foreach $pair (@pairs) {
my($name, $value) = split(/\:/, $pair);
$COOKIE{$name} = $value;
}
$c_id = $COOKIE{'id'};
$c_ps = $COOKIE{'ps'}
}

# Sub Set Cookie #
sub set_cookie {
# ?胯??准L?舀⊇?湔?简妚?蔅??桧鸿
($secg,$ming,$hourg,$mdayg,$mong,$yearg,$wdayg,$ydayg,$isdstg) = gmtime(time + $def_dead*24*60*60);
($secg,$ming,$hourg,$mdayg,$mong,$yearg,$wdayg,$ydayg,$isdstg) = gmtime(time + $retry*60*60) if $_[0] eq 'del';
$yearg += 1900;
if ($secg < 10) { $secg = "0$secg"; }
if ($ming < 10) { $ming = "0$ming"; }
if ($hourg < 10) { $hourg = "0$hourg"; }
if ($mdayg < 10) { $mdayg = "0$mdayg"; }

$month = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')[$mong];
$youbi = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday')[$wdayg];
$date_gmt = "$youbi, $mdayg\-$month\-$yearg $hourg:$ming:$secg GMT";
$cook = "id\:$F{'id'}\,ps\:$F{'ps'}";
print "Set-Cookie: $cookname=$cook; expires=$date_gmt\n";
}

# Sub Decode #
sub decode {
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
} else {
@pairs = split(/&/, $ENV{'QUERY_STRING'});
if($#pairs >= 0 && $method eq 'POST') { &error("銝觇迤?芥真?押L?扼?"); }
}

foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

# &jcode'convert(*name,'sjis');
# &jcode'convert(*value,'sjis');

$value =~ s/</&lt;/g;
$value =~ s/>/&gt;/g;
$value =~ s/\,/嚗?g;
$value =~ s/\r\n/<br>/g;
$value =~ s/\r/<br>/g;
$value =~ s/\n/<br>/g;

$F{$name} = $value;
}
}

# Sub Get Host #
sub get_host {
$host = $ENV{'REMOTE_HOST'};
$ad = $ENV{'REMOTE_ADDR'};
if ($get_remotehost) {
if ($host eq "" || $host eq "$ad") {
$host = gethostbyaddr(pack("C4",split(/\./,$ad)),2);
}
}
if ($host eq "") { $host = $ad }
}


其中
<html>
<head><META HTTP-EQUIV="content-type" CONTENT="text/html; charset=big5">
<title>網路航海時代 Ver2.73繁體中文版 </title>
</head>

<body bgcolor="#FFFFFF" text="#000000">



</body>
</html>
是小弟加的,有無人可幚幚我~?[/sell]



teng
 
文章: 124
註冊時間: 2004-09-23 10:01 am

文章teng » 2009-05-30 11:52 pm

你是把這個網海的程式放到這個空間了=-口-?


http://chaoslove.co.cc 我的論壇@@"
目標: 重新清潔垃圾中


回到 Webgame製作&改造

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 7 位訪客

cron