等級:25 - 爐火純青 經驗值:0 / 246 魔法值:15062 / 15062 生命值:6%
升級
  100%
TA的每日心情 | 奮斗 20 小時前 |
|---|
簽到天數: 5989 天 [LV.Master]伴壇終老
|
發表於 2016-4-13 23:57:32
|
顯示全部樓層
$ f- ^2 j3 K2 W" v* X 1 w7 q. j8 o% e
6 f) Q& u2 x5 K% h
- $GetEvent = mt_rand(1, 9);2 r* I5 ?$ i& a) T: P- N$ t
' ~9 P. d$ l) D% J2 ]- $Message = $LNG['sys_expe_nothing_'.mt_rand(1,8)];
1 J/ ^2 i1 a. b. k3 ]- k
* \ c4 b u2 Z& b! ~1 X/ |- switch($GetEvent): a, R) ^ E# I- ?& u; N
- {
' J- b$ V' N4 U$ W6 } - case 1:
- [, e" F3 d/ `( j0 `5 c - $eventSize = mt_rand(0, 100);0 U9 c* a+ A2 Q9 f: l7 x
- $factor = 0;
% b7 y/ H* i7 C5 d- K - . V5 \3 [: @3 l+ f
- if(10 < $eventSize)4 c, _0 w0 x; d! d5 d! w0 @
- {8 n8 Q s; n4 [2 R P: q
- $Message = $LNG['sys_expe_found_ress_1_'.mt_rand(1,4)];. o1 X8 ?1 Q& ^- x! \: l. c5 P0 S
- $factor = mt_rand(100, 300);
" l$ x% I) {( s/ j1 P& E - }
, \: o( F0 J% f - elseif(0 < $eventSize && 10 >= $eventSize)
. Z8 s$ s: _4 @. @# T - {" n2 t. z# o' E- L$ a9 ~6 Y& J
- $Message = $LNG['sys_expe_found_ress_2_'.mt_rand(1,3)]; n( l! _6 i/ l& T: Z
- $factor = mt_rand(301, 600);
$ E* ]2 D, k+ @0 S8 b: U1 ^ - }
( {1 p) V' F( p% @$ L6 q - elseif(0 == $eventSize)
, n$ _3 r* J6 q# z, c7 c# S7 T" }, u) F - {* }4 Y; r8 j! e; S; I6 D7 `
- $Message = $LNG['sys_expe_found_ress_3_'.mt_rand(1,2)];
, k8 d1 \! A4 w7 `+ F) c1 R - $factor = mt_rand(601, 3000);
% q9 v s$ N& V* T - }
+ X; E# ]1 ^& t5 T6 a$ X
- b$ b) D# d" q! o+ O& q* U2 r- $chanceToFound = mt_rand(1, 6);
% a( A: f' r% [# G1 a( V% ` - if($chanceToFound > 3)
" i% P4 m# T; R, o. Q! {# G - {
3 H4 P1 o# Z1 _! H - $resourceId = 901;: |5 c4 Q1 M; r8 `
- }
5 I4 T$ l; q$ d/ ~9 L9 T - elseif($chanceToFound > 1)
3 y, w7 @9 H& Q, r/ i/ t - {
, [) V. G+ W1 u& D. W8 K$ r - $resourceId = 902;+ `0 e' U' e2 W& }
- $factor = $factor / 2;6 ]. ?; z3 f1 f( y6 n) B, n p
- }
, W2 o6 }6 e* L% W4 W - else9 [& F( l& t, d. _" C: C7 m+ l
- {
) Y4 l- b$ v+ n. m3 J. [; z - $resourceId = 903;# q( Y; g' ]0 {1 |6 p( Y
- $factor = $factor / 3;8 ?' }; a, H7 q! g- Z1 G
- }
" U& \, _' Z. E( @' H* T - # a+ F% D+ h" y1 N1 y& T [
- $sql = "SELECT MAX(total_points) as total FROM %%STATPOINTS%%
) U: r, _+ H. y+ n3 x8 \ - WHERE `stat_type` = :type AND `universe` = :universe;";- Z4 x8 X( t5 V S
- f! s: x7 z- I; N! i& N
- $topPoints = Database::get()->selectSingle($sql, array(
0 {1 J3 L5 o9 \, O - ':type' => 1,# o8 R/ K) v$ T1 k) x, G
- ':universe' => $this->_fleet['fleet_universe']
# {3 `2 b N9 d# I6 t s B - ), 'total');6 u ?/ o" }2 A, V; I( T* x
- \, A7 N K9 s5 G1 d' G8 G
- if($topPoints > 5000000)
* I+ A* U* S' g% A- |- W6 D7 P - {: j- u! K/ l% p c x
- $maxFactor = 12000;
5 f% P+ B9 C5 d( y& L6 F8 w9 C8 g - }
% b, ?+ O* k, ~. z. F, K - elseif($topPoints > 1000000)
K! j8 s9 W8 A1 w - {
( ]' ?8 S; m: h4 t. K( @9 h - $maxFactor = 9000;
# u2 X4 f2 L: X+ Q) c h/ B - }
; K7 F; ^7 B, P/ l, |& A/ P9 e - elseif($topPoints > 100000)0 T( ^% j' k3 ]1 `
- {
7 d/ u& C7 s3 i9 k; @ T - $maxFactor = 6000;
7 L9 w/ \+ l, X& i: m - }
" R( S2 X! G9 I4 l- i - else# \ L% N% ~3 W7 G( I9 B0 \
- {+ S9 |& ^8 t9 S" G: T6 N0 S' b3 X$ d
- $maxFactor = 2400;
% M+ ~' d4 O# C y - }
! D! z1 h4 H( }9 E4 _1 p4 s8 k* J
4 H* n6 j2 X1 a# U# K- $founded = round(min($maxFactor, max(200, $factor)) * $fleetPoints);
( u' E5 n, G# H; c - % r' r! R" l. C0 [0 i% l4 E
- $fleetColName = 'fleet_resource_'.$resource[$resourceId];5 S2 B' \& V8 _. V+ N, i7 S
- $this->UpdateFleet($fleetColName, $this->_fleet[$fleetColName] + $founded);
9 F- A, d, z6 F" P1 D - break;& _ p1 k6 `, t4 @6 p$ c
- case 2:
( H% i4 @- w. `8 k' {" T7 b' c - $eventSize = mt_rand(0, 100);
% J% r6 |: f n. @8 ]3 M3 z - $Size = 0;
b( l* e+ {$ Y# |, m: }! |% \8 Y! Z
$ p# p. X/ o' A) L- if(10 < $eventSize) {8 z) \+ Q, ^% f: d6 J: x
- $Size = mt_rand(300, 500);
/ D, W; }% K7 o) Q) M/ f - $Message = $LNG['sys_expe_found_dm_1_'.mt_rand(1,5)];% r! j& }; O5 q9 H. w
- } elseif(0 < $eventSize && 10 >= $eventSize) {0 h9 G1 @* ^' _% |: o6 n
- $Size = mt_rand(501, 1000); S% }, N: |. |1 ^% a" m
- $Message = $LNG['sys_expe_found_dm_2_'.mt_rand(1,3)];, ?- f4 o2 w" j3 ~" [
- } elseif(0 == $eventSize) {% L6 L4 d0 O% K! v% n- \; j
- $Size = mt_rand(1001, 2000);
) N9 h& [+ H0 G% q5 s$ C8 z - $Message = $LNG['sys_expe_found_dm_3_'.mt_rand(1,2)];: S* `3 s/ t' i p, p1 J
- }
, M7 X. `: f$ K( V0 ]4 ]/ j - 1 S# O; q* i7 Q. C! g6 U
- $this->UpdateFleet('fleet_resource_darkmatter', $this->_fleet['fleet_resource_darkmatter'] + $Size);
6 R4 \5 k5 W0 M - break;' F9 h0 t5 J# p4 E3 G( b3 U" Y
- case 3:) E' S' q! O" V% y" S
- $eventSize = mt_rand(0, 100);& [! ^4 c% J% y% u9 _. `
- $Size = 0;( D) f1 j$ l2 m* |: {- f
- $Message = "";1 T% B: i8 N5 @/ J9 Q3 `
-
- t5 T. N" C; |4 \5 V, a - if(10 < $eventSize) {$ q& x+ x! h4 Y5 ~
- $Size = mt_rand(10*$config->resource_multiplier, 50*$config->resource_multiplier);
( G; R- v' }0 G* B0 K6 \ - $Message = $LNG['sys_expe_found_ships_1_'.mt_rand(1,4)];
% }. L& \) [& u1 { - } elseif(0 < $eventSize && 10 >= $eventSize) {' J. C6 X& y: P/ H! Z A$ ]( o1 Q6 Z, o k
- $Size = mt_rand(52*$config->resource_multiplier, 100*$config->resource_multiplier);
4 u# o2 ?+ ` `) B( }9 X - $Message = $LNG['sys_expe_found_ships_2_'.mt_rand(1,2)];
3 B- s/ e. y* x& |" _2 Q7 f2 H8 ^ - } elseif(0 == $eventSize) {
& h( s5 L7 V o$ ?% b) K - $Size = mt_rand(102*$config->resource_multiplier, 200*$config->resource_multiplier);
5 S- J5 Y0 H, k% ?0 K: M: h( U - $Message = $LNG['sys_expe_found_ships_3_'.mt_rand(1,2)];3 f4 {$ z, t8 n3 X/ I
- }
- w% ], K6 W3 X5 @" t( i" x- ` - 3 _5 ?1 E& V7 r$ W8 a- y8 d! i' J
- $sql = "SELECT MAX(total_points) as total FROM %%STATPOINTS%%
2 r1 V( F( \0 z9 r5 Q: H! w2 n' g - WHERE `stat_type` = :type AND `universe` = :universe;";
; Y/ U3 @$ t! m8 r - + d4 H* x2 n8 A
- $topPoints = Database::get()->selectSingle($sql, array() i: c/ L, K p5 s `4 I/ ^
- ':type' => 1,
, O* O0 D( c! S( v2 I - ':universe' => $this->_fleet['fleet_universe']
5 S3 b( L. j% A7 } - ), 'total');
4 o. j; o9 y: b% g$ f9 E
4 @: y1 J; k/ c& p+ p% |* _& I- $MaxPoints = ($topPoints < 5000000) ? 4500 : 6000;
, B+ i# y h3 t# }) W" {; y - * V( i! h. w* J$ ?3 c0 O
- $FoundShips = max(round($Size * min($fleetPoints, $MaxPoints)), 10000);
/ K: ^4 O5 ^* N- u; ]% U. [ - ! Z4 f4 e% z- j5 \
- $FoundShipMess = ""; % k" v! U4 V8 `* F# l
- $NewFleetArray = "";2 b& H9 W. ~& x& H; y
-
3 F, O l3 m( z4 T - $Found = array();) Q# w4 {, A9 K( }8 I: V8 [
- foreach($reslist['fleet'] as $ID) 5 y7 |0 K- _) K, F2 B; t' G. `
- {8 @9 U) p# S5 R T# A3 R
- if(!isset($fleetArray[$ID]) || $ID == 208 || $ID == 209 || $ID == 214)
3 ^$ O+ y7 ?+ E$ {# ] - continue;
7 h5 y" h. w* C. [$ Y# _ -
, o3 Z0 }3 N8 r3 ~, i - $MaxFound = floor($FoundShips / ($pricelist[$ID]['cost'][901] + $pricelist[$ID]['cost'][902]));
0 y. N8 E9 a1 k0 \$ e% y - if($MaxFound <= 0)
2 a Y! K$ `# M; Y, r. w - continue;
7 p0 k- |6 t' O8 Q/ i5 g - : E5 y; s- R. E6 ^1 `* n& j
- $Count = mt_rand(0, $MaxFound);
, J" p' H; r) j4 M4 A6 \ - if($Count <= 0)
5 o8 C; p2 b3 K2 [2 j4 b - continue;4 N6 L& E) k! p! Z" L4 W: a
- * f# c" u# {( Q* P( U+ k, e' {
- $Found[$ID] = $Count;# N7 @4 Q9 V- L9 m/ S7 b
- $FoundShips -= $Count * ($pricelist[$ID]['cost'][901] + $pricelist[$ID]['cost'][902]);
, ?% W; a6 u7 l' _ - $FoundShipMess .= '<br>'.$LNG['tech'][$ID].': '.pretty_number($Count);- ?4 `0 A3 v6 h; ?, x) C
- if($FoundShips <= 0)
! ~1 C0 x) R4 J/ ]+ l5 p - break;1 e- Q9 U! M' L1 n& f
- }
9 [5 o& ^' x1 O/ H4 u% d- Z - / ~7 C$ c: A) f1 j8 p
- if (empty($Found)) {/ J9 I: K3 ^2 f7 _ F
- $FoundShipMess .= '<br><br>'.$LNG['sys_expe_found_ships_nothing'];* O, G6 C- Q0 H3 s" e* O. Z
- }
( Q& g, U$ p+ |" i - " U6 C4 I8 o7 h3 C2 I
- foreach($fleetArray as $ID => $Count)' }; q: J) [% U5 y4 V' p
- {5 ~0 x z1 Z5 D8 f4 d9 o
- if(!empty($Found[$ID]))
, x% Y% {- s3 ~1 d- X - {' w0 d$ }& g5 J- t- k4 ~
- $Count += $Found[$ID];9 {# ~" b; W& k' p m1 Y* _
- }& ]" @" A7 q% b" a
- # k# V, p2 f- c# t
- $NewFleetArray .= $ID.",".floatToString($Count).';';% e2 w3 H; f7 w( x7 j
- } 3 w( K! n4 v4 m0 ^, v6 o& F& J
- ) e- J1 F: c# ] o; K6 g3 V9 b3 V
- $Message .= $FoundShipMess;
5 G' Z5 C$ ~" a4 A& Z+ r! N -
3 t# b, t, {0 }, S) g' f) Y - $this->UpdateFleet('fleet_array', $NewFleetArray);
7 A* y, V0 l1 Y2 G0 `8 M* X) w - $this->UpdateFleet('fleet_amount', array_sum($fleetArray));
- b$ f& u, p) h( b3 b - break;
複製程式碼 ; A5 c: ~3 o" q7 E
這才是現在用的6 T' [4 [* s% d% r1 |
上面的都不太對
# u. k: n& y0 i+ D1 J9 T% k2 {/ I1 Q& p7 {: }
整個遊戲的架構
5 q% C: g1 d7 a5 k7 B即將進行大修改$ Y( k3 [% i* a* G* \# W$ ~
資料夾與檔案命名規則; D; }# T& ^) J$ w: t5 z: o
甚至資料表等都會改掉
8 l9 O, q m2 a! ^4 A5 i5 |(不影響遊戲運作與介面)9 v3 s0 C) R! f$ W5 i; ]
所以網上找到的code
F9 J5 \) o: `& f將會跟本服完全不同
+ H+ {' _4 m6 o( ^目的是有獨特性以及保密性
V! x' Q$ G f8 [3 @* T5 ~8 _: \
% w3 I5 p! t& Z( `我們的版本是客製化版本; m3 C$ T# C. a$ E( y/ E6 Y
跟公開版本不同
6 m& Y# d @1 N4 I0 n- `9 M9 G
, J$ ]# x" ^6 ]+ {: s1 X+ n* s* A2 X: j6 B$ X" F
當然如果能改成跟官服的探險機制一樣是最好不過了 |
|