等級:25 - 爐火純青 經驗值:0 / 245 魔法值:14246 / 14246 生命值:5%
升級
  100%
TA的每日心情 | 慵懶 4 小時前 |
---|
簽到天數: 5735 天 [LV.Master]伴壇終老
|
發表於 2016-4-13 23:57:32
|
顯示全部樓層
$ g* C: ]9 d# t

- d; R5 ~' k% u" x
8 B5 q+ w1 e& L# w7 R2 T- $GetEvent = mt_rand(1, 9);
, }, C1 ]* U* K! P+ a* p - V: L& W) O( C
- $Message = $LNG['sys_expe_nothing_'.mt_rand(1,8)];$ J2 D% z: m+ m! I3 f' ?" A
- # y& P; L2 X- j3 F
- switch($GetEvent)$ Q; v0 u# E/ t" ^/ |
- {
% ]; J3 J+ f% p a% w2 p - case 1:
" U' w& i8 p4 v" ~' w: o( m4 N; L - $eventSize = mt_rand(0, 100);
* d. ^) D, ?! N/ P, E, b. X' Z - $factor = 0;. {& ~4 r# T8 j
- , |& j F4 k$ ?
- if(10 < $eventSize)
$ Z0 d$ |& ^, M0 w( o9 X2 G5 H - {
- L! A/ }( @, V9 I' p - $Message = $LNG['sys_expe_found_ress_1_'.mt_rand(1,4)];
6 ~; P- a# }, ^ - $factor = mt_rand(100, 300);' v( g+ L; J4 e) V# ?- O
- }% R% T# g0 A0 h2 X3 W, X3 ]
- elseif(0 < $eventSize && 10 >= $eventSize)" h3 K. r$ v" y: d
- {* V1 V8 s1 g3 n7 D( R
- $Message = $LNG['sys_expe_found_ress_2_'.mt_rand(1,3)];
4 f3 @3 X) A5 h% @4 m. `3 y - $factor = mt_rand(301, 600);
/ U1 t& D5 D) h9 U# q - }
1 v F' S+ ]) ^ - elseif(0 == $eventSize)7 n0 K. j- B$ O6 I: t+ q" ]
- {
1 T5 Z' V1 m; }2 ?7 J. A - $Message = $LNG['sys_expe_found_ress_3_'.mt_rand(1,2)];# u2 V% V4 z% i! l$ t
- $factor = mt_rand(601, 3000);
8 k8 t0 w+ Y+ z* q* z9 Z$ O - }, o. @& c* u4 w" Q8 a& V, M
" n/ ]8 x7 @0 v+ X O& _ B- $chanceToFound = mt_rand(1, 6);
/ F* L9 |7 t7 Y+ F' Z3 s/ ]: V - if($chanceToFound > 3)$ q' M e7 z. A
- {6 h0 t6 b$ u- T" A$ |
- $resourceId = 901;% e3 z" w' r7 o- N# I) D
- }. g, p9 } o) w
- elseif($chanceToFound > 1)
. E) m9 R, C! b$ t. g - {1 a4 l% e6 ~* s
- $resourceId = 902;
, I, g8 I3 X& r4 ?! y- B# }5 H - $factor = $factor / 2;
8 B6 j# S0 o b - }
( L" ^/ K6 [, x( i+ u - else
/ }1 j! K$ D$ } { - {
/ Q8 ~' R. p) f4 \! H; N - $resourceId = 903;/ [$ B* {6 V7 z' @4 q
- $factor = $factor / 3;
2 p( P/ r8 Q( R P7 f0 u - }
" d& K& R6 [% w% T
- @) I- u' Y5 B2 k! e6 X8 Z- $sql = "SELECT MAX(total_points) as total FROM %%STATPOINTS%%+ u, R. ^% A [
- WHERE `stat_type` = :type AND `universe` = :universe;";! |3 t: c: l4 C2 X) u" p+ v) W7 D7 z
- , ~0 W! I2 i, A2 P
- $topPoints = Database::get()->selectSingle($sql, array(
1 H; J3 K4 m& F) u - ':type' => 1,3 w9 Y! `8 \: N; ?, o. F1 U9 Q) B) b. {
- ':universe' => $this->_fleet['fleet_universe']$ S9 g6 u; e9 _$ {$ O, P& }" ]
- ), 'total');/ Z# F3 B, @: C3 B# g
- 4 I, b" r5 r' x4 Z5 [ t' v
- if($topPoints > 5000000)
2 s# G8 H0 ?- Q% D, h7 v - {
# W$ s5 W J! b1 e' _+ t1 r - $maxFactor = 12000;
8 r7 v0 d3 V9 s( O - }. M4 M$ Y/ v7 b+ }
- elseif($topPoints > 1000000)
! b% b& h2 F4 I8 Z$ m+ o - {* ] s# E# ?! G/ G( V
- $maxFactor = 9000;5 f3 Y8 T$ n2 k' i6 X7 I
- }
1 N5 _) \9 C5 X - elseif($topPoints > 100000)6 n* J1 u. m; }' A3 E% q: j
- {8 p4 S/ A) u0 F4 N6 M
- $maxFactor = 6000;
% v5 s1 t4 r; |5 z; x' J - }
$ M4 {6 Z, }) z3 [, O. [* ? - else6 s5 B, G8 _) Y" b5 X6 p
- {
1 c/ b! C# X/ Q7 R - $maxFactor = 2400;
8 T9 O5 C# m( N - }/ X, U) C& s2 Y: e: c& P2 i# j
7 k7 u1 I, W' X0 U5 M# x% `- $founded = round(min($maxFactor, max(200, $factor)) * $fleetPoints);
1 K7 _. E7 x. D# S% I" j8 ]
' \' ~: w% B! V( n. ~4 [- $fleetColName = 'fleet_resource_'.$resource[$resourceId];0 i! L4 V6 ~9 g9 w ^5 p0 x
- $this->UpdateFleet($fleetColName, $this->_fleet[$fleetColName] + $founded);
( u$ z$ w) E5 Y% O) G5 W3 ]3 ^ - break;) I: j/ \6 k7 I# b; Y* [
- case 2:
4 s" z$ A! w7 ^! u( b* p. Z+ q - $eventSize = mt_rand(0, 100); v+ D1 l* F" w! J3 x! j$ w7 Z
- $Size = 0;& p5 n; N5 [# Y% v
9 k: i, S Q6 S7 U- I$ S- if(10 < $eventSize) {
: t0 Y" A+ S$ {0 z9 u+ `8 M0 ?% z# O - $Size = mt_rand(300, 500);
8 C; h3 _, ~$ b" f, f2 C - $Message = $LNG['sys_expe_found_dm_1_'.mt_rand(1,5)];
: B2 O# q0 } S! k a - } elseif(0 < $eventSize && 10 >= $eventSize) {& Q/ ~. k: U3 v A5 t& M% n
- $Size = mt_rand(501, 1000);
5 Y$ l0 a( r# {; N: L - $Message = $LNG['sys_expe_found_dm_2_'.mt_rand(1,3)];$ x# q& p! G: p6 }2 Y9 n* p
- } elseif(0 == $eventSize) { s& b: }3 X2 H2 |. v+ ?
- $Size = mt_rand(1001, 2000);
) N7 w. z! O$ i% V: x1 e P7 k/ [ - $Message = $LNG['sys_expe_found_dm_3_'.mt_rand(1,2)];
" v/ h# ~" V& `4 K - }+ w1 n" Q5 G+ R4 i& t$ L7 L
- 1 @: a) e3 C# u T
- $this->UpdateFleet('fleet_resource_darkmatter', $this->_fleet['fleet_resource_darkmatter'] + $Size);# T6 r( H# N: ]; N1 `. `8 b8 z4 n
- break;0 ^8 G& a" C) U$ T1 b& ?
- case 3:2 N7 d' G; ], k% \2 w2 o) F
- $eventSize = mt_rand(0, 100);
$ q, h6 X! F1 ~/ T2 t8 w v$ n - $Size = 0;' P1 h/ ^; \4 s
- $Message = "";
6 A2 D+ |: W3 ^+ [$ }0 M& f! h -
+ D; W+ D4 Z4 L$ l/ J - if(10 < $eventSize) {
' C# Q; i) n, { - $Size = mt_rand(10*$config->resource_multiplier, 50*$config->resource_multiplier);# d9 ?, V* T- }* ?
- $Message = $LNG['sys_expe_found_ships_1_'.mt_rand(1,4)];
* M! G$ b5 u- X! D$ T0 i - } elseif(0 < $eventSize && 10 >= $eventSize) {3 N% j% ^( d9 S/ A' v" H
- $Size = mt_rand(52*$config->resource_multiplier, 100*$config->resource_multiplier);
. E9 H! g! A+ V6 g - $Message = $LNG['sys_expe_found_ships_2_'.mt_rand(1,2)];
$ J u% ]. J) k! c. C - } elseif(0 == $eventSize) {
% N) e- _/ b5 i4 K - $Size = mt_rand(102*$config->resource_multiplier, 200*$config->resource_multiplier);
( l- F& d3 F5 y1 } - $Message = $LNG['sys_expe_found_ships_3_'.mt_rand(1,2)];
2 q6 Z4 {4 y1 @' L% h+ O! C - }
; ` p( [+ @: Q4 y: F - ) W3 D7 O* t+ r' r- n; V9 q- f
- $sql = "SELECT MAX(total_points) as total FROM %%STATPOINTS%%
7 d8 F' W# n( [" b* K - WHERE `stat_type` = :type AND `universe` = :universe;";
: ^! }2 c( E- [" v0 B - ( S2 H: a7 j- j Z7 C d
- $topPoints = Database::get()->selectSingle($sql, array(6 I" q2 I& E0 z! C
- ':type' => 1,! W! \9 A. `+ R0 |( Z" O5 g
- ':universe' => $this->_fleet['fleet_universe']
9 J: Y5 t* f% h# | - ), 'total');
3 l4 L% V' T& i$ z& s - - q2 b3 ^. O; y% d- J3 }4 ?2 i
- $MaxPoints = ($topPoints < 5000000) ? 4500 : 6000;- N/ ?( n- T, g1 b7 ~. e$ F# P2 x1 h
- ) Z% B$ G$ M0 I& e2 r2 K/ W5 Q
- $FoundShips = max(round($Size * min($fleetPoints, $MaxPoints)), 10000);
# R6 {7 J2 w$ o/ w: w& z - ) v1 D6 h) O4 d. ^
- $FoundShipMess = ""; 5 G `/ v& M; w3 Y a% e2 j# C- a
- $NewFleetArray = "";
7 `& [ E+ |3 Q' {' Y: |) g - 2 S$ P" C( V) U, o
- $Found = array();2 q2 B6 F* ] V" q* J
- foreach($reslist['fleet'] as $ID)
4 H4 r, _4 Q; Y0 y% p4 T - {6 g) R( Q/ w' x4 w7 s- x* @
- if(!isset($fleetArray[$ID]) || $ID == 208 || $ID == 209 || $ID == 214)2 r" Y8 u3 d9 @( n
- continue;
2 O. S% [! D% m1 L - . q2 u) J5 ?, D1 s* `
- $MaxFound = floor($FoundShips / ($pricelist[$ID]['cost'][901] + $pricelist[$ID]['cost'][902]));
6 m- b( K# a: G# K - if($MaxFound <= 0) + h3 y4 q0 O2 o7 `) V) S
- continue;
; D7 u. E1 v, E: q' r7 ~ -
$ |3 |/ h6 S/ ]. N- q5 S6 o8 ^ - $Count = mt_rand(0, $MaxFound);
2 c3 l6 C& h5 B8 @' ^ - if($Count <= 0)
/ h# C4 L. y X* N6 Z; j0 n - continue;8 g, ?- _' a% [6 a% d/ M6 x( E+ ? G
- ( @2 i9 m+ ], z( b4 |' S
- $Found[$ID] = $Count;' s8 L" c& ^1 _9 A5 d
- $FoundShips -= $Count * ($pricelist[$ID]['cost'][901] + $pricelist[$ID]['cost'][902]);
; v6 O8 Y6 m5 m( ^ - $FoundShipMess .= '<br>'.$LNG['tech'][$ID].': '.pretty_number($Count);0 E- W7 m" W4 u. f
- if($FoundShips <= 0)
4 D" C! m! y! B+ p$ x- k+ O - break;3 [8 g0 G" v, t9 e6 O2 K [' ?
- }6 v0 Q# _; l4 g8 S0 G
- 9 ^9 c) J' l, c' L5 ?0 F5 b
- if (empty($Found)) {
5 K& V% W5 C, ~! Q! @7 t - $FoundShipMess .= '<br><br>'.$LNG['sys_expe_found_ships_nothing'];0 V7 L5 L& U/ F+ {& `
- }6 w2 X+ Y; \* i8 e r% e$ m$ M
, d( f6 V0 _" W9 r; z3 x- foreach($fleetArray as $ID => $Count)& S4 ?. h" N5 |# b& |1 W; G; |
- {
" a, V/ X& o% S - if(!empty($Found[$ID]))/ @# v) g+ s0 D
- {$ c! p/ S; K6 a; }
- $Count += $Found[$ID];
7 w9 o* b0 t& D6 h; O6 l! ]1 u1 { - }' h1 M$ E( |" ]! U& [
-
" z( @9 T. Z/ a& C - $NewFleetArray .= $ID.",".floatToString($Count).';';
7 i* l6 n- }, g/ _# w% Z: ` - } " G' A' b4 p4 v2 M0 Z$ T
-
3 {$ p4 `9 F$ m- u% I! f- D - $Message .= $FoundShipMess;9 J7 j2 d" y9 e) E! w$ Y
- , x1 P) v, ^+ \
- $this->UpdateFleet('fleet_array', $NewFleetArray);. H/ z: {* }4 J0 z$ {6 Y+ L$ ^' n
- $this->UpdateFleet('fleet_amount', array_sum($fleetArray));. z: U+ d4 B" Z) m; ?
- break;
複製程式碼 * [$ \$ E# G7 T, T* ~6 Z$ a
這才是現在用的% R9 ?: ?/ {$ m4 r$ z9 ]% z
上面的都不太對
/ I2 O3 w% G% V$ y, d7 m& B2 [. U. B
整個遊戲的架構 Y6 H. t1 g3 @7 i) `
即將進行大修改9 X( q; ]8 w% |
資料夾與檔案命名規則! Z; ]! P1 S1 L, X7 ^& U) f' N7 C
甚至資料表等都會改掉
4 `, G& ?, q: @* i$ p, I(不影響遊戲運作與介面)
! C: b7 J: v% x6 b* ~* _7 s. f9 j v所以網上找到的code
$ j; p- m/ t/ w, q- V' t4 N將會跟本服完全不同& w- g, m3 @9 P& T5 K
目的是有獨特性以及保密性
7 q9 G0 r" p5 f0 }
6 E( C M& g4 a* ^' c; Y6 ]我們的版本是客製化版本8 M, v/ s) Q, i4 C
跟公開版本不同* ]. Q7 T6 S9 l/ l% {
9 o" U% H; _/ p
, L/ w3 K! A' g& W0 O當然如果能改成跟官服的探險機制一樣是最好不過了 |
|