等級:25 - 爐火純青 經驗值:0 / 246 魔法值:15128 / 15128 生命值:6%
升級
  100%
TA的每日心情 | 奮斗 16 小時前 |
|---|
簽到天數: 6014 天 [LV.Master]伴壇終老
|
發表於 2016-4-13 23:57:32
|
顯示全部樓層
! f; o- D1 q$ z$ F5 G, \

8 E$ V5 m r2 r& T
j: u5 Q( e S4 t- $GetEvent = mt_rand(1, 9);
" V' R1 p4 T z" o) t5 z- { - % F2 w, E2 E1 U3 R. g. R2 m
- $Message = $LNG['sys_expe_nothing_'.mt_rand(1,8)];3 D3 i/ o$ M# N7 ^& {5 e) e; \! }
! r/ T- s7 c1 e0 d4 z: ^5 e- switch($GetEvent)
# o4 u) q- Q& y4 b/ p - {6 b m1 F% n$ q: L* O( z
- case 1:2 N5 W1 a& [' X) Y& g
- $eventSize = mt_rand(0, 100);( ^5 w, I: l; `, Q& w- i
- $factor = 0;
/ t2 V. K- M+ t; R5 x/ Z: V - 6 c- c) p8 V8 x
- if(10 < $eventSize)3 ~# M9 \- v0 }8 K. ^
- {
! U) R: G/ S' H6 D+ f - $Message = $LNG['sys_expe_found_ress_1_'.mt_rand(1,4)];
" h3 t; b n, i - $factor = mt_rand(100, 300);
& t2 N) V7 |. D - }9 m" i* h6 ?% q: G: W: [8 L
- elseif(0 < $eventSize && 10 >= $eventSize)
# j6 m3 O9 `1 C/ R$ a0 p4 U. B2 G - {
8 l8 J* x7 `! E f - $Message = $LNG['sys_expe_found_ress_2_'.mt_rand(1,3)];
7 X, D* r+ S3 A" S4 w" O( S - $factor = mt_rand(301, 600);
% W4 h+ A N* { - }) R, p; ` q8 q
- elseif(0 == $eventSize), A# K& Y& Q6 r3 `* w3 S( v
- {
. n; o7 |3 q; ~% J- N; }6 N- c o - $Message = $LNG['sys_expe_found_ress_3_'.mt_rand(1,2)];
% D: Z/ e+ A# b7 s. q - $factor = mt_rand(601, 3000);
{# T% v% b! h1 ]4 X- L C - }
/ P4 [9 x Y. o9 R
6 j8 z; k3 ^+ j0 ^- $chanceToFound = mt_rand(1, 6);
3 ^/ x2 X5 V: _3 W1 H5 w4 _1 v - if($chanceToFound > 3)
; [6 U& l% q) h6 k. e% G: t - {$ ~+ n( e: ]5 S) O8 `
- $resourceId = 901;) o% P$ C @4 S8 ]- k* B8 F P
- }
! O. o9 w; k5 p" P( `% i$ G% ] - elseif($chanceToFound > 1)
% T1 ~% ~' e, l% L2 t - {
- L8 ^. C5 ]0 c - $resourceId = 902;
4 X( A1 o0 ]; X8 ~$ c9 D - $factor = $factor / 2;
. Q/ s4 _( z% B# k - }) ~% P( @ r" S+ A6 c2 X L% Z. c
- else
3 J$ e8 O" e8 w2 _3 X - {
0 y/ {& R8 r% @, u0 r0 V2 {0 ]( W2 ~ - $resourceId = 903;
. d% a. [& Y3 x% q/ @ - $factor = $factor / 3;
0 s% \; a" n& H - }4 b5 ^- N6 \, e! r" R7 n7 O: F
1 M3 @' w, {2 H9 \1 ^/ R- $sql = "SELECT MAX(total_points) as total FROM %%STATPOINTS%%
* p( W" H; H! G6 q {2 m8 l, j( q' l - WHERE `stat_type` = :type AND `universe` = :universe;";. Z4 e+ b3 w7 I$ B* b: x7 Z. f" M
- $ C6 Z/ ?- }/ A4 b* x4 K- i
- $topPoints = Database::get()->selectSingle($sql, array(
5 {7 H3 O3 Q0 E8 h* o2 p - ':type' => 1,3 }$ l& ~* \+ T1 p7 Z
- ':universe' => $this->_fleet['fleet_universe']
9 s/ Z; m% z$ Y4 @+ O4 s9 | - ), 'total');- q( k6 o5 K5 Y
& g( {" ?* K. l9 a7 G3 _- if($topPoints > 5000000)
! S/ O Q# U! B; x2 J) R$ n, X/ C. Y - {& K, }8 c3 u) D8 I- [% V8 [5 Q
- $maxFactor = 12000;" J& c& Y5 n. E* Q) E/ y- H$ |5 u
- }# u- N! [% B2 D8 y, Q+ o
- elseif($topPoints > 1000000)
5 B v8 @' R# L - {+ E4 X% P3 }2 N6 j& E1 V$ e- m5 ]
- $maxFactor = 9000;
: a8 K# P7 s9 N' S! | - }9 v( K; \9 \% u: {; V
- elseif($topPoints > 100000)
! H" e' Y' p, Z+ c- X - {/ g& }2 w7 R. H4 l5 R
- $maxFactor = 6000;/ |# J, o1 `6 _
- }
+ `2 |7 c6 W/ P, d, Z$ G7 v - else
9 m1 P H6 r7 [1 z" Y - {, l) p$ }" S& l7 r
- $maxFactor = 2400;; C. t1 [$ p8 `2 V- n
- }8 ^) c6 l6 {# U8 i
9 D* V# m) h, d% G0 A- $founded = round(min($maxFactor, max(200, $factor)) * $fleetPoints);' |4 V+ _# L. g2 B k4 J6 Y* @# K
- $ G, _! ?$ l8 t% [( v5 u( x. s
- $fleetColName = 'fleet_resource_'.$resource[$resourceId];
$ |$ h% K, X$ K& H; w2 _ - $this->UpdateFleet($fleetColName, $this->_fleet[$fleetColName] + $founded);
! E& D+ I% ^% p$ m5 {1 Q - break;
0 x. f. E+ W% [- `3 r# ] - case 2:0 r1 C7 K& W- [" B0 y4 J* Q
- $eventSize = mt_rand(0, 100);# b [6 U" z/ s Q8 \8 ?
- $Size = 0; R0 g# R( V) B1 U5 B
$ Q7 ]& _2 m- F& Z2 i3 Y- if(10 < $eventSize) {3 J1 o3 x& Q \
- $Size = mt_rand(300, 500);: B9 [/ p1 K V P
- $Message = $LNG['sys_expe_found_dm_1_'.mt_rand(1,5)];$ E5 C1 F3 Y3 W4 U" r# d4 o
- } elseif(0 < $eventSize && 10 >= $eventSize) {* E0 t2 D4 @$ F% }
- $Size = mt_rand(501, 1000);/ t; C. c4 f) W' n. d) k& q, T9 I% L
- $Message = $LNG['sys_expe_found_dm_2_'.mt_rand(1,3)];
' r' ?! t f) F; n - } elseif(0 == $eventSize) {7 w6 L8 w4 d8 q2 v
- $Size = mt_rand(1001, 2000);
- c" [* I3 W! v3 \% V - $Message = $LNG['sys_expe_found_dm_3_'.mt_rand(1,2)];
- u2 l; @" c8 F; f/ [- j# T% ^ Q - }) M e7 ~( f( V- j
- " M1 ?/ |( w4 P/ b. Z' r# I
- $this->UpdateFleet('fleet_resource_darkmatter', $this->_fleet['fleet_resource_darkmatter'] + $Size);
! p. u4 o9 h4 p( Y% Y J - break;
3 y/ Q- d) z6 {, e& i( X3 M0 r7 o - case 3: S* k8 b+ w7 D' j7 Y" [6 W# A
- $eventSize = mt_rand(0, 100);
2 a& r, L. s7 p, D& ^ - $Size = 0;' T9 Q$ }3 a6 m
- $Message = "";% F& @; l& s5 r, w) q
-
, t2 s- S% y- e6 ~ - if(10 < $eventSize) {# I7 L1 ?1 k" Z9 r/ Q! x9 |! ` i* a
- $Size = mt_rand(10*$config->resource_multiplier, 50*$config->resource_multiplier);
8 }8 Y& @! ]! @, u* k# j- g! L - $Message = $LNG['sys_expe_found_ships_1_'.mt_rand(1,4)];% `' H( T+ Q+ ~+ m9 S
- } elseif(0 < $eventSize && 10 >= $eventSize) { [0 u0 d; P& X
- $Size = mt_rand(52*$config->resource_multiplier, 100*$config->resource_multiplier);
( ]+ e" F' N: _. @ - $Message = $LNG['sys_expe_found_ships_2_'.mt_rand(1,2)];) b; k) Z& q6 w2 Q* j3 z
- } elseif(0 == $eventSize) {5 ~. U, l( s, E+ t
- $Size = mt_rand(102*$config->resource_multiplier, 200*$config->resource_multiplier);
2 ]3 n; [ _: \5 d - $Message = $LNG['sys_expe_found_ships_3_'.mt_rand(1,2)];
3 T1 l5 x" U2 }% v - }9 M. u/ b1 P8 X, _7 i
, ^; z0 k7 T1 P# s1 ?- $sql = "SELECT MAX(total_points) as total FROM %%STATPOINTS%%
8 c: X; C0 [3 y - WHERE `stat_type` = :type AND `universe` = :universe;";
_. \* O5 d$ j. L8 t9 [0 g: { - ! ]) Y5 p5 S# E8 r, M1 R5 Z" p
- $topPoints = Database::get()->selectSingle($sql, array(; ~7 }4 r9 A/ H& j
- ':type' => 1,
6 y7 n! A0 h$ R$ c - ':universe' => $this->_fleet['fleet_universe']2 ~! u; n; i& }$ o: | U" J
- ), 'total');
6 L0 U, m E2 X5 v% W6 h
2 J8 P% {7 |, i; r( e4 y4 ^- $MaxPoints = ($topPoints < 5000000) ? 4500 : 6000;* \! B7 [0 @ q% u0 J# r& I
- $ v& u# {- J% P
- $FoundShips = max(round($Size * min($fleetPoints, $MaxPoints)), 10000);% F+ K% @. T& y4 o
- % i2 M, }& I1 Q) K$ [. P& S2 q6 M
- $FoundShipMess = "";
9 ?0 R7 v9 q" S) r, w - $NewFleetArray = "";3 b" m7 \. {1 F- n, r1 \2 R/ q8 z
- 9 g1 q& G, a1 R
- $Found = array();, E! v& ?5 t7 `1 X" K/ x
- foreach($reslist['fleet'] as $ID) - }% L' H3 B" ]9 z( v$ P
- {
6 X8 A- D8 z# {# {+ J - if(!isset($fleetArray[$ID]) || $ID == 208 || $ID == 209 || $ID == 214)5 W/ p, `% r+ h1 J. Y7 n
- continue;; f4 F. T) i3 C- s/ X m# s- L
-
9 h' L1 B% F; K8 ]' m: n - $MaxFound = floor($FoundShips / ($pricelist[$ID]['cost'][901] + $pricelist[$ID]['cost'][902]));
2 K2 f: c% v4 F& e/ X - if($MaxFound <= 0)
& k: E6 A ~0 T9 s8 z& W2 H( t - continue;
# d. Q7 r% Q, N - ! ~* F" S0 N" b' p
- $Count = mt_rand(0, $MaxFound);
6 w6 S7 J6 ~) \' h h! ]" O' L - if($Count <= 0)
6 Z7 n+ i* A7 M - continue;. k6 ~/ C( n$ j6 c
-
; x# b; _- w2 u3 s: b - $Found[$ID] = $Count;
z3 o1 }0 D6 B - $FoundShips -= $Count * ($pricelist[$ID]['cost'][901] + $pricelist[$ID]['cost'][902]);( J7 x& W4 K3 Z8 {: z
- $FoundShipMess .= '<br>'.$LNG['tech'][$ID].': '.pretty_number($Count);1 n/ }+ O0 m. R: j! |5 G
- if($FoundShips <= 0)
5 {% z: L( D. M7 ]5 W9 O - break;
1 f, r5 Z& n7 I, X' V* Q - }
1 J0 i% P+ Q8 p- P3 e - [, y; u5 ], P7 b4 K% n1 [/ U
- if (empty($Found)) {9 b. p/ i9 c! z' }9 r8 K
- $FoundShipMess .= '<br><br>'.$LNG['sys_expe_found_ships_nothing'];4 C+ q+ G. W7 X+ `6 ^( ?+ ~5 N
- }
6 S1 d3 X% y4 i: z
m% G# M$ c, b2 q1 g a- foreach($fleetArray as $ID => $Count)
% c2 H; o# t/ @& [% A2 N% P' d - {
3 F0 [: G$ i6 R$ J4 o, t5 M - if(!empty($Found[$ID]))
) K9 f9 k5 B, @% [0 o - {
- E2 m+ j- g( k+ e* P% S% u' l1 v( H - $Count += $Found[$ID];( c* ]- a" i" H! X
- }& G' o# g3 {8 N* ^( O1 Y7 z& D
- / h) b% K' b% ]' q
- $NewFleetArray .= $ID.",".floatToString($Count).';';
# h q' P) p7 t; G3 G - }
# O& A7 M \% o1 s# h V. ] - 8 t- v* r6 u6 s" Q$ O* A7 a
- $Message .= $FoundShipMess;
3 }- m9 H. Y7 z -
- y: y4 Z$ U8 o - $this->UpdateFleet('fleet_array', $NewFleetArray);
( i, Y, t, t6 R! \2 ]$ m7 z - $this->UpdateFleet('fleet_amount', array_sum($fleetArray));
" x+ I3 U7 S- E/ [7 O* b - break;
複製程式碼
8 h1 F5 W: `5 f+ D- r3 C/ {* j- a/ I這才是現在用的: h% K9 R) i$ e% A$ c$ x
上面的都不太對
% L4 y4 F" g& ]" R2 {4 G- N, k# Z1 g/ l# {
整個遊戲的架構
7 k/ o' k2 f! G7 R% a% _5 k即將進行大修改
: a0 i2 _: C- v1 l資料夾與檔案命名規則
' J3 ]1 P+ G& k) P3 j甚至資料表等都會改掉( o0 R( _8 u# r4 V/ x9 }5 f: \9 E
(不影響遊戲運作與介面)7 C8 n) O1 |$ T1 l' m6 h2 U
所以網上找到的code$ r6 u* J3 t# i
將會跟本服完全不同: N! v, j& P8 M% j! U
目的是有獨特性以及保密性
- Z, H$ Z: N+ @5 k$ ~3 T; [7 Z7 ?/ O( _% f: j
我們的版本是客製化版本6 t7 ^# j# C0 s3 d
跟公開版本不同
1 z- \' e% x0 b* H. X" x+ N
/ g9 h7 D/ k" M+ T; ? D0 T5 R: x" M2 G: H" k5 i0 j
當然如果能改成跟官服的探險機制一樣是最好不過了 |
|