等級:25 - 爐火純青 經驗值:0 / 245 魔法值:13644 / 13644 生命值:5%
升級
  100%
TA的每日心情 | 開心 4 小時前 |
---|
簽到天數: 5520 天 [LV.Master]伴壇終老
|
發表於 2016-4-13 23:57:32
|
顯示全部樓層
' `5 x+ H+ W$ N+ o' [- _6 m
8 C g; h$ h7 ^' s O
. H( ?1 ~3 ]' v4 h2 {- $GetEvent = mt_rand(1, 9);
, j1 I4 Y% }2 ^5 c - ( ~ h' m# j! w/ J$ X
- $Message = $LNG['sys_expe_nothing_'.mt_rand(1,8)];
" @0 ]% Q/ C0 P# J8 L" H
+ [0 j1 d1 L, @. T& b# g- switch($GetEvent)$ ^7 R8 C9 Z. [/ p+ {! M3 ^1 I
- {
. q/ z2 v/ F1 N5 V' A* Z - case 1:
0 ?4 y4 ]9 _! p" ` V! m - $eventSize = mt_rand(0, 100);6 S8 a8 r( ~+ ~& \: V( s% J3 G8 _- g
- $factor = 0;
! f7 O/ o2 T, a z) ? - ' N) Q# L) x& @ j0 Q. f! K" |
- if(10 < $eventSize). g/ c' I' P" p2 p" q6 d
- {
; u( l$ p2 z/ ?7 @ K# ]" @. l6 V; a7 f - $Message = $LNG['sys_expe_found_ress_1_'.mt_rand(1,4)];
" e( |! F/ F _2 \; x, O5 O - $factor = mt_rand(100, 300);* r* n$ H: v. S& V$ M
- }
8 a. w" O- P# V0 r* O8 `& U7 v - elseif(0 < $eventSize && 10 >= $eventSize)
* w& Q! y# q& a( |8 ~) l6 | _ - {' |3 Z% X* @: l) c( d9 [/ F
- $Message = $LNG['sys_expe_found_ress_2_'.mt_rand(1,3)];
4 m: n- Y1 r3 c( ?$ R5 _ - $factor = mt_rand(301, 600);
; {' W( `* I: Y* ?7 O - }
* ~6 ?' H; G5 [0 d( N/ p" h+ Z. o1 W - elseif(0 == $eventSize)7 B4 o3 A7 w2 ?' B! v
- {2 I1 B* a8 g4 _5 Y& ^) h n% F# K7 F
- $Message = $LNG['sys_expe_found_ress_3_'.mt_rand(1,2)];$ ]. E2 d* q( S3 @' H
- $factor = mt_rand(601, 3000);; O/ |+ t% J" o1 r/ n: N, N( J1 k/ r4 n
- }' D: M( n. X6 z
; I$ B; }$ B8 g7 l9 C8 {2 I3 [- $chanceToFound = mt_rand(1, 6);
7 ^$ u: G# K5 D# v' v - if($chanceToFound > 3)! k" T4 F; j7 i+ J% \5 o$ A
- {$ R9 H0 i$ t7 R! s. h& J* _
- $resourceId = 901;* W/ w7 M- N& B3 T
- }
7 V" W/ _/ z6 q - elseif($chanceToFound > 1)1 Z: S# Z, B% t! [) ?* s/ f# z" ]
- {
0 c9 X# u& q, A Z( | - $resourceId = 902;; f3 Z; ?, U& ? E& _6 P Z7 L* j
- $factor = $factor / 2;
, c7 q4 P+ f6 x1 f6 c. O# u- e - }$ m& ^ A3 n" _- ?% S
- else8 S, B3 q6 L* s, p/ g! @$ `4 h
- {. H1 d* C; e6 u& j1 w
- $resourceId = 903;
! j- m. u. C, F - $factor = $factor / 3;4 R# q; Y. M, E4 C( W& K! w
- }
/ {- P0 v( j& w5 L' Y9 b6 | - / z4 j+ ?' U( m: T$ r
- $sql = "SELECT MAX(total_points) as total FROM %%STATPOINTS%%
0 `+ p; Z9 }8 B& b - WHERE `stat_type` = :type AND `universe` = :universe;";$ \8 ]3 m% y5 y1 Q0 Q2 E
- . C2 ~* v0 n. |$ e. s5 C9 b$ h8 \
- $topPoints = Database::get()->selectSingle($sql, array(" B# {* D0 ?6 i( m
- ':type' => 1,
: a9 P. c8 \1 y9 w7 A6 E - ':universe' => $this->_fleet['fleet_universe']* O" m) c) l9 o T7 U
- ), 'total');& T) C" q! A: {- ~; ^
- ( f' t$ G4 G7 ^6 x* j
- if($topPoints > 5000000)
4 v- ~# A" F# y$ ]% M8 X - { U7 ^8 s* _% l
- $maxFactor = 12000;
* u, c; @: A+ A# s/ A" ]8 t' L( z - }
* @6 M- y& Y( y! } p( c8 O( B: ?0 ` - elseif($topPoints > 1000000)# L- K* N2 V$ A" u
- {/ F& B3 S3 P7 I2 ~- w
- $maxFactor = 9000;) f* q% K+ Q9 h
- }0 P) k3 v1 m% P3 `
- elseif($topPoints > 100000)
# v) P5 f3 u- b! I- i; m - {
& H+ O+ _7 e- b8 _2 U" M. [: e! T% E - $maxFactor = 6000;
* z* d+ Q7 @! |. ?4 k* _& n - }( h7 \+ C! U& R" o! ]# d
- else0 N# x2 w1 U, g$ a% Q
- {
& r( Y, j- t$ S% J7 j - $maxFactor = 2400;) D4 u i# ]! M2 F
- }
. K& ^, ]0 \; _( T! R - 2 O* M9 j* j3 g* d$ q0 ]
- $founded = round(min($maxFactor, max(200, $factor)) * $fleetPoints);. P1 b' c. r4 f+ L( {- `
$ R q' K! ^2 s/ c! J# |- $fleetColName = 'fleet_resource_'.$resource[$resourceId];
' O# g1 z: {$ v6 u1 C - $this->UpdateFleet($fleetColName, $this->_fleet[$fleetColName] + $founded);
2 m H7 K! t' N; ^. f4 |& r& N - break;1 a C w% Q$ @& e0 P
- case 2:
6 _+ Q5 a% R% l5 M% {( n - $eventSize = mt_rand(0, 100);
) F f* `0 r! Y - $Size = 0;0 A0 q n; j" H2 m+ O6 E
x3 a9 U: T+ l+ K4 q- if(10 < $eventSize) {
6 i0 y% H1 j4 \# p# H* O- ], d - $Size = mt_rand(300, 500);1 C2 m! g' H7 c8 e6 R" Q
- $Message = $LNG['sys_expe_found_dm_1_'.mt_rand(1,5)];
; Z2 L: U# f3 G& _$ p) G - } elseif(0 < $eventSize && 10 >= $eventSize) {
' f2 m1 n8 g0 x( s8 ~) C) B( q - $Size = mt_rand(501, 1000);
4 s; W+ W4 n- I- Q: d- t0 w - $Message = $LNG['sys_expe_found_dm_2_'.mt_rand(1,3)];/ i6 |; T q7 C) H
- } elseif(0 == $eventSize) {
$ \$ m* N, `( E$ _, z/ g: h% r% J - $Size = mt_rand(1001, 2000);6 q n! {& ~* s5 ^
- $Message = $LNG['sys_expe_found_dm_3_'.mt_rand(1,2)];
4 Q0 n: R) E% B+ j - }+ a; Q- ?) V" u: R# e
* O6 H: w* Z4 ^ a9 w* Z7 E- $this->UpdateFleet('fleet_resource_darkmatter', $this->_fleet['fleet_resource_darkmatter'] + $Size);
. g3 s# ~" p' r - break;$ W& S q. Z* o% T
- case 3:0 Q/ r$ |* p; S' O( ~1 w
- $eventSize = mt_rand(0, 100);
- [4 b" }4 C9 S4 R7 { - $Size = 0;. W7 |6 C, F! ^( @0 p
- $Message = "";0 n1 c; O" s4 a8 x, `0 H0 n
-
- p# j: t, o# i/ H4 m& U - if(10 < $eventSize) {1 p# }4 Z2 }4 \2 @$ r# P" U
- $Size = mt_rand(10*$config->resource_multiplier, 50*$config->resource_multiplier);0 k7 a9 Q0 j) j Y/ @6 ^. p+ l
- $Message = $LNG['sys_expe_found_ships_1_'.mt_rand(1,4)];
, s% A" H* E* D7 k U% i* r - } elseif(0 < $eventSize && 10 >= $eventSize) {! q% N5 D5 l& V2 T. V
- $Size = mt_rand(52*$config->resource_multiplier, 100*$config->resource_multiplier);
+ I" y. s# F7 M# p# q - $Message = $LNG['sys_expe_found_ships_2_'.mt_rand(1,2)];
5 I2 x' v7 }4 ~+ q1 R( g' \9 D - } elseif(0 == $eventSize) {
/ M+ d7 }* K* a, m u- [8 J - $Size = mt_rand(102*$config->resource_multiplier, 200*$config->resource_multiplier);1 @- f# _7 b$ Y6 C- A0 r
- $Message = $LNG['sys_expe_found_ships_3_'.mt_rand(1,2)];
7 P6 U! W4 P! k9 K8 }; B7 Y+ i! ^ - }4 d: D' g9 l9 B
3 w. d9 M& I" m5 C- B9 Z* X- $sql = "SELECT MAX(total_points) as total FROM %%STATPOINTS%%! {! a+ m6 ^$ D, l/ v. U
- WHERE `stat_type` = :type AND `universe` = :universe;";
: R% ~. p1 Y8 }, D, R! G0 x2 u \ - ' L0 ^$ N" z# @- s3 A7 O
- $topPoints = Database::get()->selectSingle($sql, array(
) @/ X$ P8 y( G+ @2 U/ }: } - ':type' => 1,* e* W1 a, p; ]1 @5 F' i
- ':universe' => $this->_fleet['fleet_universe']
- Q. c j; k: ]1 }2 E L - ), 'total');
1 E) \: N, u8 H# d0 N - # O( q, f9 W z. f! [- ]
- $MaxPoints = ($topPoints < 5000000) ? 4500 : 6000;
6 b. y- t8 U4 E# F7 w" [+ a/ J- f+ C( B - : m a& T$ x5 s4 B$ a# j* c
- $FoundShips = max(round($Size * min($fleetPoints, $MaxPoints)), 10000);
, c2 B2 P) E$ e9 X -
3 k% |! \2 l0 j5 T3 v' O - $FoundShipMess = "";
$ F; \6 D' ?2 I - $NewFleetArray = "";
& ^; H8 k& [$ _6 D/ y6 ^ k+ L - 6 U1 l$ R s% S
- $Found = array();
' F; v: H0 q# J( P* D8 n( S - foreach($reslist['fleet'] as $ID)
6 H" O0 c3 w8 O - {
4 n8 V. e! o) g: ]5 w - if(!isset($fleetArray[$ID]) || $ID == 208 || $ID == 209 || $ID == 214)
( m& z R, J2 K% ? - continue;- r- T; b X" [+ X6 J( s
-
1 ^& G9 h+ E5 g8 \- U3 R - $MaxFound = floor($FoundShips / ($pricelist[$ID]['cost'][901] + $pricelist[$ID]['cost'][902]));
) o* E! c3 o$ V6 O# L8 } - if($MaxFound <= 0) $ P0 n3 K* ~* C
- continue;
) P( c9 T! S! F - 2 `! ~" `% o" t8 J5 ~ J
- $Count = mt_rand(0, $MaxFound);8 D) b% U2 X" }- _. x, K
- if($Count <= 0)
. _- O! c3 J- F3 I" S. w4 R3 { - continue;' e$ a y1 \/ T1 j/ u$ `
-
: V+ r0 ]2 a0 x4 U! q: c6 {% A( _ - $Found[$ID] = $Count;
. A5 I% ~: a, \ k0 e - $FoundShips -= $Count * ($pricelist[$ID]['cost'][901] + $pricelist[$ID]['cost'][902]);
* O- M4 P' U4 {9 [# h V2 s# X - $FoundShipMess .= '<br>'.$LNG['tech'][$ID].': '.pretty_number($Count);2 i% B, p3 m* q/ d& j% Q) y
- if($FoundShips <= 0)0 ^! ?) `+ `+ M' \1 S0 i
- break;2 u" ]& g7 L) M$ H$ ]- y
- }$ a2 R7 n% l/ y. n
-
7 ^. _1 Z! S# [0 M! H8 o - if (empty($Found)) {3 k8 D; T' @% s" M. @
- $FoundShipMess .= '<br><br>'.$LNG['sys_expe_found_ships_nothing'];
, ^5 z2 {5 k o0 y9 W - }
m7 t3 ~8 h) G! P - " M# g% J X: M/ E$ h$ I% q' h9 r# Z
- foreach($fleetArray as $ID => $Count)
5 `- t# A2 I' o - {
; x7 B" S5 h" E- f% k; W" v - if(!empty($Found[$ID]))1 ?% }, V, o- K
- {
8 G, B7 q3 }# v2 _% j# Q$ l - $Count += $Found[$ID];. |) C7 Y" K: m& h! t
- }; T0 v3 n8 D6 f" D$ {
- 6 ^) I: \4 `- K' S3 M
- $NewFleetArray .= $ID.",".floatToString($Count).';';, T$ {$ d$ N$ B H7 @
- } 3 N. X9 x4 T8 b. |
-
7 P; H% V% w" }; e1 A' a, a* z - $Message .= $FoundShipMess;. `4 { l: I q
- / v9 |. O. Q# w
- $this->UpdateFleet('fleet_array', $NewFleetArray);
! c5 F# A: h" a - $this->UpdateFleet('fleet_amount', array_sum($fleetArray)); Q* E! o6 K+ |2 E5 z
- break;
複製程式碼
! e- E, I1 E2 W- m這才是現在用的8 t9 P' P& P1 \' `+ }6 F
上面的都不太對
3 e5 F$ K! I* V0 o3 D. a$ n8 V6 z0 d9 C& }% N5 a
整個遊戲的架構2 I& d5 F! J- b
即將進行大修改$ m8 }8 {8 R- ~" M# J, }' c: O
資料夾與檔案命名規則 b' k. o! w# O
甚至資料表等都會改掉
+ v( W$ h9 F4 n: c4 `(不影響遊戲運作與介面)
7 b7 a9 p Q2 X& M所以網上找到的code N9 z/ s9 _+ J# W# s- T
將會跟本服完全不同0 C E3 }% T, z3 o# x
目的是有獨特性以及保密性% `$ f, K; o# P% f2 p3 k" _
8 _ C& p7 D; Y我們的版本是客製化版本( [0 W9 b4 y! Q( A" C
跟公開版本不同
! a- A a; `9 j+ B
1 [* B" O3 P" d% z3 N5 w. ]; J& J& l1 b9 X0 b4 L' g: c+ P3 Y
當然如果能改成跟官服的探險機制一樣是最好不過了 |
|