等級:25 - 爐火純青 經驗值:0 / 246 魔法值:15007 / 15007 生命值:6%
升級
  100%
TA的每日心情 | 奮斗 17 小時前 |
|---|
簽到天數: 5969 天 [LV.Master]伴壇終老
|
發表於 2016-4-13 23:57:32
|
顯示全部樓層
) Y6 u2 I4 W3 @4 g0 H- W, a+ t; a z 5 u) l9 f/ w$ q2 [
' {6 l' ~$ ?* {- L# N
- $GetEvent = mt_rand(1, 9);
+ q) I* n$ @7 ]' X - ; g- c4 h) f m0 `; X
- $Message = $LNG['sys_expe_nothing_'.mt_rand(1,8)];8 i* e% K. N! }
9 D+ R- K+ y @, ]5 w- switch($GetEvent). n8 M5 \6 h% N9 z9 ]* {3 j
- {
5 |; n7 v A9 @6 O - case 1:
5 K6 Z& N5 ~+ d; k& U - $eventSize = mt_rand(0, 100);
R+ L; {- M# j" ~# Y( J8 b- o# v& f - $factor = 0;+ W0 g2 s* i2 J7 I
2 ^1 w3 X7 i5 C- if(10 < $eventSize)5 X: ^" B( _' q, _
- {
- ~7 B0 o$ p9 ]( |) w" ? - $Message = $LNG['sys_expe_found_ress_1_'.mt_rand(1,4)];
. J! ^6 _2 h9 H, f7 z; r - $factor = mt_rand(100, 300);6 A0 n8 v6 O8 D; Y% z
- }
7 h& z: W4 W v2 w - elseif(0 < $eventSize && 10 >= $eventSize)3 x' Q- \6 m$ B* [* |; M
- {9 ~8 R7 C; x/ ~: M
- $Message = $LNG['sys_expe_found_ress_2_'.mt_rand(1,3)];7 p" @+ S; Y' y8 }! s
- $factor = mt_rand(301, 600);
, @8 P3 M+ k* z# @. V. G# k" ~4 \ - }
7 c2 l P+ R6 Z( V% |- Y7 P - elseif(0 == $eventSize)
" o; ]3 h- \/ \8 _' B* H" U* y - {
4 t9 C! I, L- h8 `9 O1 R" P% c' p+ x - $Message = $LNG['sys_expe_found_ress_3_'.mt_rand(1,2)];, U) g5 w5 T0 I l+ e
- $factor = mt_rand(601, 3000);
0 I/ E m' x8 M$ ?7 k - }
$ E, S' Z8 I& Q* I( U1 S - ) ~$ e0 D2 |1 ~) _- D
- $chanceToFound = mt_rand(1, 6);
2 O# ^3 c7 a q' o) C! [& x - if($chanceToFound > 3)- }) W4 g& v" p$ ? Y: b" |
- {$ ^: k1 u* T! V! @0 b% I! P
- $resourceId = 901;
( r8 R1 w" O- @9 } - }8 z# ~9 Z4 [' {, O8 }0 f; P
- elseif($chanceToFound > 1)
6 q% T5 N/ \1 U8 B - {
, {5 _1 o' B8 K! A; G4 | - $resourceId = 902;2 ]6 }/ ^+ u j" U
- $factor = $factor / 2;/ N1 _. R+ K3 g
- }
9 G3 c, j; e: V3 k# [2 M3 m - else
9 v2 N8 u! B7 v( `8 s/ \7 ^" X - {! L, I% h% C$ Z3 q X9 i0 x
- $resourceId = 903;
; k C# u% Z0 ^5 h" g: f- s - $factor = $factor / 3;8 x0 ]' H; L% t* m, B+ _
- }
B n2 G; I6 I" Y* w
& Q( ~5 ? O5 M: J2 F9 S- $sql = "SELECT MAX(total_points) as total FROM %%STATPOINTS%%
' M x4 l9 q# O8 s& i& d: K - WHERE `stat_type` = :type AND `universe` = :universe;";
) ?& r3 ^) O! q- B/ o. b( R9 v
4 L, W, o% D2 I+ Y2 b# ~- $topPoints = Database::get()->selectSingle($sql, array(
2 {* r& Y: B6 s. R% d; I - ':type' => 1,
8 J0 h! @ F: q( s0 |1 L+ g- W - ':universe' => $this->_fleet['fleet_universe']
2 G1 N! e+ G$ [; X: S- F - ), 'total');
' L `. ~, k0 L$ R1 \ U
1 ~8 ?. l/ t K8 g. u! \- if($topPoints > 5000000). l+ K3 K2 Q! I2 M% N1 a
- {, _: H0 d4 ]1 O2 p! c
- $maxFactor = 12000;
4 ?& v9 i b; g7 @5 ? - }
* L. _1 p% S1 Q8 `/ G! \7 L9 v2 W( u4 O - elseif($topPoints > 1000000)
; ^% Z/ q6 _/ f- i% J& z; e8 z& f* R - {7 h% ^7 v/ P7 X" \4 _' l8 {
- $maxFactor = 9000; [6 U" I+ E3 Q. {5 a. i
- }
; G. `* `5 a3 L5 |: r+ T+ K - elseif($topPoints > 100000)' S+ ~0 b* g+ t) Z/ w+ r2 }
- {
+ g) |; f- e7 } - $maxFactor = 6000;
( [ g* ^% x. e d/ E8 M - }# E6 m! M& r6 @; \5 X
- else/ d8 B9 G5 y' m7 S: X
- {% ?6 P* s" W9 U8 r
- $maxFactor = 2400;; E0 Y d! i c' R
- }! w# s7 `3 v1 a8 B
- ! s/ R1 z1 J' A4 y, o" P L
- $founded = round(min($maxFactor, max(200, $factor)) * $fleetPoints);6 G" p; ?3 t1 S2 {2 _% a
- 7 _7 |* T9 g v x0 x
- $fleetColName = 'fleet_resource_'.$resource[$resourceId];3 C( G% z) b, y( y
- $this->UpdateFleet($fleetColName, $this->_fleet[$fleetColName] + $founded);
* B( m$ c) W/ W - break;
$ w2 c! V- A/ o5 ?$ t - case 2:( i+ K7 u+ }0 O
- $eventSize = mt_rand(0, 100);
" ]( L1 S; g/ f3 W, ~' [: I3 o - $Size = 0;
Z1 `$ f) G& g3 q - 6 u! Q9 R) d2 t4 F
- if(10 < $eventSize) {2 Q( e9 x- h1 a; T
- $Size = mt_rand(300, 500);
4 Q }3 ~) ]$ h% ~2 e2 ` - $Message = $LNG['sys_expe_found_dm_1_'.mt_rand(1,5)];8 E( s8 }" N( Z; O
- } elseif(0 < $eventSize && 10 >= $eventSize) {
* M; {) h6 Y6 ^+ ~1 @. _ - $Size = mt_rand(501, 1000);% ?$ ~( w0 y( ~9 w6 p
- $Message = $LNG['sys_expe_found_dm_2_'.mt_rand(1,3)];
: h' ?/ j' T+ Z* ^% v - } elseif(0 == $eventSize) {
2 A# E, m; q5 J$ q% s. e - $Size = mt_rand(1001, 2000);6 }( d2 f2 V9 _& {. @, K& Z
- $Message = $LNG['sys_expe_found_dm_3_'.mt_rand(1,2)];" o: M% X3 i) v \5 h+ ]% V* _
- } L0 _5 O. S( [/ \9 R0 j
- ) O/ Z+ L8 O7 L; W+ X% K. O2 u
- $this->UpdateFleet('fleet_resource_darkmatter', $this->_fleet['fleet_resource_darkmatter'] + $Size);
( e, E% u. z- I* L8 E; R - break;
9 p9 d: m% W R- @+ j! `, p - case 3:
$ ?5 ?9 _. L8 o: t( a - $eventSize = mt_rand(0, 100);
2 _4 [/ e2 C J' s7 A# p3 M% S - $Size = 0;. y l; b3 @% ?3 E1 V/ r c
- $Message = "";
2 N# Y. i, i( {4 |& Y - F: F( a9 w1 V+ h( ^. h5 X5 L
- if(10 < $eventSize) {# Q& F4 x% ]' l3 l$ w6 M/ p7 p8 J
- $Size = mt_rand(10*$config->resource_multiplier, 50*$config->resource_multiplier);
6 n( p2 _& G0 ?7 r. Y- A. t - $Message = $LNG['sys_expe_found_ships_1_'.mt_rand(1,4)];) J ?3 B' @6 u* R# f/ H4 Z
- } elseif(0 < $eventSize && 10 >= $eventSize) {6 q; l! B6 f) U* X
- $Size = mt_rand(52*$config->resource_multiplier, 100*$config->resource_multiplier);) |3 k6 d r, h% S; Q: r
- $Message = $LNG['sys_expe_found_ships_2_'.mt_rand(1,2)];- k5 l! g# t) } L
- } elseif(0 == $eventSize) {
3 ^8 B8 ]: ~9 e" ?) L - $Size = mt_rand(102*$config->resource_multiplier, 200*$config->resource_multiplier);& z' m5 ?9 q1 ?2 r I% Y9 H
- $Message = $LNG['sys_expe_found_ships_3_'.mt_rand(1,2)];
) H/ ^; ^- L. l. J ? - }
7 @/ `; g5 q7 _& I2 u5 W - , W1 y9 i( M& o# p. m
- $sql = "SELECT MAX(total_points) as total FROM %%STATPOINTS%%
% p( q1 R/ C% d4 v - WHERE `stat_type` = :type AND `universe` = :universe;";
$ x/ N8 w% S" c7 a - $ q: Z8 q+ Q8 H/ k. R; [
- $topPoints = Database::get()->selectSingle($sql, array(
' o' h0 G! v5 ^+ d& j8 J6 E - ':type' => 1,
- J* e! V- P7 | - ':universe' => $this->_fleet['fleet_universe']
1 A7 R- N* e. a8 f - ), 'total');5 I q! ?' z. u" C3 M3 e: e
& ~" }% a2 D8 ^4 H' X" K: j# p- $MaxPoints = ($topPoints < 5000000) ? 4500 : 6000;
i9 e$ I: ?+ |3 a9 [
3 h! T6 ?% S Q6 V( x- $FoundShips = max(round($Size * min($fleetPoints, $MaxPoints)), 10000);6 r1 t; P6 V+ n4 ^
-
6 e7 w. H2 l' u - $FoundShipMess = ""; # K( f Z8 L8 p9 n+ g7 ^6 Q
- $NewFleetArray = "";) ~1 b2 D- r. T Z# W1 N0 x+ ~9 o6 {
-
' z: }( t* b1 p& x3 s - $Found = array();$ R! o8 d6 T! e% Y, B3 ]: j+ C
- foreach($reslist['fleet'] as $ID)
+ C" ^4 R9 i' X$ ]4 D" I. x& e - {
2 m- b; |8 t; v- X% [4 K& u: c - if(!isset($fleetArray[$ID]) || $ID == 208 || $ID == 209 || $ID == 214)* Z; a: T! r' E A2 }% F0 l
- continue;9 U3 ^. c$ T7 F$ y. x0 y
-
3 R5 { Z7 G( g6 ^- W3 [# X - $MaxFound = floor($FoundShips / ($pricelist[$ID]['cost'][901] + $pricelist[$ID]['cost'][902]));
6 y, a' K0 p* w% _. N - if($MaxFound <= 0)
+ A& V! G" o7 L8 s8 L4 |5 H. T - continue;& r) L8 E& x2 J
-
) V2 r) E5 l4 w( B& H - $Count = mt_rand(0, $MaxFound);' H% m& @! \! x9 @0 \
- if($Count <= 0)
$ V5 w" l3 k! ?2 Y - continue;# E5 x y* A' {. K1 @ g
-
% _3 d+ j9 Z( V% a8 {7 z/ w - $Found[$ID] = $Count;
; G3 U& h# G" o - $FoundShips -= $Count * ($pricelist[$ID]['cost'][901] + $pricelist[$ID]['cost'][902]);
- D' g5 k( Z9 ]! U7 \ z& v+ U - $FoundShipMess .= '<br>'.$LNG['tech'][$ID].': '.pretty_number($Count);. I9 W# H; L, k- a+ J
- if($FoundShips <= 0)
% e. b: u( p% x/ b* W% o0 m+ [- _# u - break;
* @+ o+ |3 g5 a - }
% z6 h p) {/ m$ v! W -
. N) O1 H# H( L' p) n4 g! z - if (empty($Found)) {1 v% b' M0 K) Q. Y
- $FoundShipMess .= '<br><br>'.$LNG['sys_expe_found_ships_nothing'];
$ y8 l0 a( t& D* h$ b; h - }/ _+ i7 `' M" j' S
- }4 i( L1 @0 H4 s3 B
- foreach($fleetArray as $ID => $Count)( S6 q) P* R4 t4 k0 F
- {; [5 t7 u) J0 U+ S1 u
- if(!empty($Found[$ID]))
* a' r, h* ?! z; v - {
& }7 T- v9 T1 G+ G6 j - $Count += $Found[$ID];* f/ D$ y- o. r: \6 c
- }
6 \6 I2 B0 C2 T9 m- ` K: ?- O- k7 a9 K1 Q -
$ ], z: ~* y) |+ S& X - $NewFleetArray .= $ID.",".floatToString($Count).';';, T) J7 l5 f, E9 |5 y
- } ' \6 c# G% b/ M& D* ?
- & k+ X) A" |! |0 k9 S
- $Message .= $FoundShipMess;4 Z6 ]( G* R( P1 x) q/ o
-
1 q. ]% j. I& K% J9 ~- U9 ], D - $this->UpdateFleet('fleet_array', $NewFleetArray);
% E+ ?7 H( Q3 H: i' U - $this->UpdateFleet('fleet_amount', array_sum($fleetArray));
6 _) o8 l3 ~ C& @4 o, i - break;
複製程式碼
7 `3 V& ~) l' i( q7 ~這才是現在用的
- s- L6 K, B+ U3 a0 X3 c: N上面的都不太對% O1 O+ ~% [' C: M: }7 S( R9 n
9 ~/ w+ e6 v) t& P
整個遊戲的架構
; F( ~* m3 K! j6 k5 @/ T8 y; N即將進行大修改
, n+ O8 T' z: A9 x* k資料夾與檔案命名規則4 N* ]' A& o# _6 O# C7 K
甚至資料表等都會改掉0 _# \; J$ H5 b0 C2 M: U) {
(不影響遊戲運作與介面)
3 O& }; }. W2 e! k$ X3 S4 }所以網上找到的code
- t: E. @8 r- \' S( B" L/ O將會跟本服完全不同
, Z- S0 l/ M1 ?% \: m8 O% `, D目的是有獨特性以及保密性6 z! ]" G( i( B$ w9 P& h
1 |0 m+ {$ Y' e# T' K1 j
我們的版本是客製化版本- y$ A, F; c: {1 L* u! b/ Y8 @/ g
跟公開版本不同
! h2 g; j) [# @7 o( B# Z8 E0 `0 c: [0 N) a" n3 u8 O
% T* g6 ]* X. S( Z- V
當然如果能改成跟官服的探險機制一樣是最好不過了 |
|