等級:25 - 爐火純青 經驗值:0 / 245 魔法值:14176 / 14176 生命值:5%
升級
  100%
TA的每日心情 | 慵懶 7 小時前 |
---|
簽到天數: 5708 天 [LV.Master]伴壇終老
|
發表於 2016-4-13 23:57:32
|
顯示全部樓層
' d, `3 i: K& O' m" v

5 q" y2 i- K2 e& q9 E3 G
i3 f% S' ^5 e! `- $GetEvent = mt_rand(1, 9);
y7 `0 S8 H6 Q0 J+ [
. C- H, e& G% T* e {* D: n% T- $Message = $LNG['sys_expe_nothing_'.mt_rand(1,8)];
; y, u$ ~* [7 Z/ j/ Y) a
, B( g* ?' }1 i J P* _- switch($GetEvent). t6 |+ o& c+ B% r9 R; b
- {. S% @8 \; E& k! W" l; Y- q
- case 1: @ }: n9 _' U
- $eventSize = mt_rand(0, 100);/ r9 W, N# T x3 B) o
- $factor = 0;3 j* h" s, v/ ?7 ?3 V: K! Y
6 j4 L1 J+ z9 r. I1 t; T- if(10 < $eventSize)
; S2 _% \- K: V - {
: U5 L# R6 R3 [7 ~ - $Message = $LNG['sys_expe_found_ress_1_'.mt_rand(1,4)];
, _3 Z+ b" D. o* G - $factor = mt_rand(100, 300);
$ T; C8 X: [2 i% h/ m; o - }; B Y% I0 O' x, F0 l" ?* ^1 u/ b! N
- elseif(0 < $eventSize && 10 >= $eventSize)
7 v- B, O) D; E" h2 M - {
?$ l9 x% E4 I: y. w - $Message = $LNG['sys_expe_found_ress_2_'.mt_rand(1,3)];
, h2 c& `& T- C% R; V* Z2 k9 d - $factor = mt_rand(301, 600);* }! ]3 X. G5 S; i$ u, E8 p
- }
( ~- c* W" J: z - elseif(0 == $eventSize)" W" `: ?) F" |7 [8 U
- {
5 Q' C, J3 j' W/ F - $Message = $LNG['sys_expe_found_ress_3_'.mt_rand(1,2)];
6 s5 U }' ^' j, ]4 E: ]1 D - $factor = mt_rand(601, 3000);3 }& K) u$ {2 |% O! ?2 D1 Z
- }7 K, T% q& M$ O6 k. Z
% E2 T# h0 p/ g! o- $chanceToFound = mt_rand(1, 6);
: ]7 }0 D$ j( Z+ e+ D: L- I - if($chanceToFound > 3)0 g4 l+ A* O c% y% B# w
- {8 q7 X6 L2 v5 Q, d$ \
- $resourceId = 901;/ D6 x% s$ Z* ^! x
- } A# x, u8 k7 W- }6 m$ [4 h
- elseif($chanceToFound > 1)9 h% L; u" [ ?9 O7 a
- {
" D2 |$ V) F/ K/ M - $resourceId = 902;
& O5 f7 l0 r/ v% G* |$ h- P& X# M) Q - $factor = $factor / 2;
6 G. P$ f) o) ], o# | - }' Y. c/ o ]+ [+ ^
- else& O, P1 O" j! h& I1 X
- {, k8 W2 z( ^$ p+ K2 @1 l; M
- $resourceId = 903;
& m1 l+ H3 b* s. h# G - $factor = $factor / 3;
U. c7 A8 O$ W$ e. j# \3 l - }
( Q. b' f! w. B8 V6 X
+ K0 [+ `+ A. t* U- $sql = "SELECT MAX(total_points) as total FROM %%STATPOINTS%%
' r" }7 g6 i2 C% V( p - WHERE `stat_type` = :type AND `universe` = :universe;";
1 i3 u+ u- N+ v8 o, G) j' p& w
/ S! H, `" R; `0 k% E7 E# `- $topPoints = Database::get()->selectSingle($sql, array($ V; R0 E: `$ @1 ^/ `2 A: v
- ':type' => 1,) A6 i- `; P/ W" V
- ':universe' => $this->_fleet['fleet_universe']( Z8 s7 k5 _4 Q3 c5 |) Z# ^
- ), 'total');
6 H8 _" _# {! [) W# g - ) u3 z, `& I+ W2 j& x" D
- if($topPoints > 5000000). w# X3 C9 v( p( ^+ \3 U7 g& b% e
- {6 M. C. N! u+ T3 ^& k7 u0 P6 b
- $maxFactor = 12000;
) w9 s1 s* E; [ - }; B! u' G2 Q& @7 h/ T
- elseif($topPoints > 1000000)
$ Q& `9 X q+ B3 e+ q - {
( _1 w; A4 C( A L - $maxFactor = 9000;
8 j4 J2 a6 G; J" X% E1 [5 O+ H - }' Z- L+ k9 G& l* z
- elseif($topPoints > 100000)2 _+ y4 y/ v s. J4 M
- {5 m8 o/ |0 V& v! h9 l
- $maxFactor = 6000;
5 ?# K+ h7 S- ^9 U - }6 x: T$ i( [; q- B9 j# y& i& ]
- else8 Z9 l9 n2 f+ ~+ k
- {
$ R T" N' c& t* o - $maxFactor = 2400;
! Y' {; p7 M5 p0 V0 @ - }
0 G1 P" c% G1 n" d: h( ]- d/ ^% W - . u9 x6 a8 s% m
- $founded = round(min($maxFactor, max(200, $factor)) * $fleetPoints);; v* u% c& q/ d; O% D$ L/ m1 j8 [
# q) o3 `; ~7 S3 k, l' p9 g- $fleetColName = 'fleet_resource_'.$resource[$resourceId];
# f5 K" @% i! \) l# g - $this->UpdateFleet($fleetColName, $this->_fleet[$fleetColName] + $founded);1 D5 o$ }/ I+ J/ @2 c
- break;
! T K: L( Z) H7 H - case 2:
; }2 s' c, j( O: L" J - $eventSize = mt_rand(0, 100);
2 p/ y% P8 R9 h; N6 p& u - $Size = 0;* l( r; m% ^! r0 S* E
, b P. w& Z6 c( o0 l. i( o/ F- if(10 < $eventSize) {
9 U8 K7 _) C4 H' E. f - $Size = mt_rand(300, 500);/ l3 u" r: a- V) p6 G2 m
- $Message = $LNG['sys_expe_found_dm_1_'.mt_rand(1,5)];
8 b3 p9 _! {* W8 `/ _: _1 T2 K& y - } elseif(0 < $eventSize && 10 >= $eventSize) {
8 `5 f$ E1 Q7 {; B" C7 f* y7 s - $Size = mt_rand(501, 1000);/ K$ T( W( h# v1 I) W9 h
- $Message = $LNG['sys_expe_found_dm_2_'.mt_rand(1,3)];
. b% Q9 D. w* Y2 G$ @2 X& i2 h - } elseif(0 == $eventSize) {
/ x/ C% c; a$ g3 J! j& Z) d ^: |+ u - $Size = mt_rand(1001, 2000);
4 y4 k1 Y* A; P( S5 Y, h- a$ r - $Message = $LNG['sys_expe_found_dm_3_'.mt_rand(1,2)];
! y: |( n- W4 ~0 h* B - }5 i: b6 l- d; i- F% i4 _6 L0 G
6 d0 A* [% L# O' Z/ }3 m- $this->UpdateFleet('fleet_resource_darkmatter', $this->_fleet['fleet_resource_darkmatter'] + $Size);, {5 K* N5 J2 A3 W; r
- break;
' p4 b/ c( s* j5 Z - case 3:
! n& q6 H, c& v) I2 V4 t/ g: a$ h - $eventSize = mt_rand(0, 100);: Q+ [$ X: L- a( t5 k) v$ C( _5 E- `
- $Size = 0;$ X! b+ z" y1 \
- $Message = "";3 J* J6 B$ X; t8 w z
- 4 T+ j$ G. I$ Y. Y: Y; A
- if(10 < $eventSize) {
. C) r* W, @4 x% l - $Size = mt_rand(10*$config->resource_multiplier, 50*$config->resource_multiplier);
: z* i; h' c3 y _. h, K - $Message = $LNG['sys_expe_found_ships_1_'.mt_rand(1,4)];# W: [! d- a# Z/ b
- } elseif(0 < $eventSize && 10 >= $eventSize) {
% u# l+ {: a- J# L' Z2 u - $Size = mt_rand(52*$config->resource_multiplier, 100*$config->resource_multiplier);' r+ H$ H( H- u% v! J
- $Message = $LNG['sys_expe_found_ships_2_'.mt_rand(1,2)];
' f, ?3 |1 f# e - } elseif(0 == $eventSize) {, w9 U4 l7 o* R$ {% L" Q6 l6 {
- $Size = mt_rand(102*$config->resource_multiplier, 200*$config->resource_multiplier);
# H; u G; h6 B - $Message = $LNG['sys_expe_found_ships_3_'.mt_rand(1,2)];' P4 Z" V4 r9 c' U) y
- }4 m$ k; ~; G& P' X" e/ g8 u- g5 T
& Z2 O" o' S r0 T9 n$ |- $sql = "SELECT MAX(total_points) as total FROM %%STATPOINTS%% m4 \1 N) R; }- R; c. u7 Y' n- Y- w
- WHERE `stat_type` = :type AND `universe` = :universe;";
" V9 e; o/ ?# |
) G+ i0 C2 `; y6 ~% R- $topPoints = Database::get()->selectSingle($sql, array(7 `9 h( Y6 c3 L: b: ]
- ':type' => 1,+ ]6 f* a# t) S5 M
- ':universe' => $this->_fleet['fleet_universe']8 x6 S5 x$ O: @% {" O/ I
- ), 'total');
2 V- P' _6 t- V/ _1 q+ W - ; t+ q9 \# S( B5 ~* G) B* D
- $MaxPoints = ($topPoints < 5000000) ? 4500 : 6000;
$ I4 _$ H% F) u! E2 ]: w8 V
$ J$ x& J j! I7 X- X: F- $FoundShips = max(round($Size * min($fleetPoints, $MaxPoints)), 10000);1 D/ x0 f( t+ p3 w) B
- 9 ~6 J: G$ Z5 |: B
- $FoundShipMess = ""; ; X7 s( j/ v* I+ A C8 @
- $NewFleetArray = "";
* h" m7 \( Y# n# E2 x - ( j' } [9 Z6 W' a+ f: Q) j! C7 P) v2 h
- $Found = array();
5 h; ~: U8 l' v+ H- q) |, | - foreach($reslist['fleet'] as $ID)
6 ]+ A' n; J/ k2 a) O; i- v0 A - {
/ v0 j2 ~: Y, \( T; V7 L9 X8 I - if(!isset($fleetArray[$ID]) || $ID == 208 || $ID == 209 || $ID == 214)% b1 E; L) \8 U& u; m% H" A: m. i. U( {( N
- continue;
" ?+ T# [( E7 M" C+ y- A/ ~ F - * Q7 q5 r. J2 E$ b9 t2 D0 X G
- $MaxFound = floor($FoundShips / ($pricelist[$ID]['cost'][901] + $pricelist[$ID]['cost'][902]));
U# w+ o3 |' ^$ C2 _5 y+ h - if($MaxFound <= 0)
" _* j+ r8 v) O( Q+ e! o& P - continue;
* j5 s- B( }8 @5 H+ ~9 c/ s) T! A -
( u9 I9 Q6 u- F% F5 [ |! A - $Count = mt_rand(0, $MaxFound);* }" n0 H) N* r4 u ]3 `
- if($Count <= 0)
4 ~# e3 v1 z1 h3 \ - continue;
" O3 h+ W: }8 n- Z# U% o3 d -
6 h+ |+ x) w3 X' |9 O- F0 i. J7 h - $Found[$ID] = $Count;
2 k0 L- w; W: t+ p3 ]2 i - $FoundShips -= $Count * ($pricelist[$ID]['cost'][901] + $pricelist[$ID]['cost'][902]);. i7 h: E5 q4 \: u5 h/ ?9 K) o
- $FoundShipMess .= '<br>'.$LNG['tech'][$ID].': '.pretty_number($Count);
, l; I/ f/ \- z1 z6 N/ D/ Y7 z - if($FoundShips <= 0): v$ n) E1 @7 w& G
- break;
: C0 D2 r! W! s - }
! ^* Q, Q# |1 H/ b; T& C - . I! m% w2 m9 h# u4 s+ A* w9 F
- if (empty($Found)) {
+ H5 N6 t' e( ~8 Z - $FoundShipMess .= '<br><br>'.$LNG['sys_expe_found_ships_nothing'];9 x* W/ m# l9 M) V) Z# M- C
- }( o# {/ \2 F' v5 B9 M R% _' x
- : ^) P; \& Z M1 U
- foreach($fleetArray as $ID => $Count)
/ x4 d0 A. ]3 D/ ]: d/ F/ ]3 ~7 P+ d - {
! w, k% ]5 v* B$ p \3 B+ s - if(!empty($Found[$ID]))
/ e2 O7 q- K2 q/ K! @ - {
/ f+ F- `$ N, o6 ~/ W - $Count += $Found[$ID];
1 b$ ^- E- @2 u+ e. y* v - }5 h, y0 [: |1 k, S/ Y$ F3 O
- & o2 F K# J' f7 u `
- $NewFleetArray .= $ID.",".floatToString($Count).';';
0 K- P+ v5 A {* `) G4 ] - } 5 t1 d; u+ q/ e+ M0 @; \5 m& o/ Y
-
( I* J6 V6 s. h% k( O2 f# C - $Message .= $FoundShipMess;: ?/ B: n. n8 `8 b( h Z2 f& b, x
-
; H4 O& H: U1 y; W3 l - $this->UpdateFleet('fleet_array', $NewFleetArray);0 _: J0 c% ^! B( f
- $this->UpdateFleet('fleet_amount', array_sum($fleetArray));
' @, ?; H; K% P& G/ f+ ` - break;
複製程式碼
. O* I$ A5 |/ Z. Q這才是現在用的; z+ q0 W6 ~5 ^7 f$ `
上面的都不太對
# b1 c& K/ i2 w; X9 m+ Z( \0 }& a0 F7 U! f/ }9 u
整個遊戲的架構4 {: E8 W6 `- T
即將進行大修改
: i3 l6 O% U6 N3 X資料夾與檔案命名規則! `! b! a9 d0 O4 y9 d) L
甚至資料表等都會改掉
6 ?3 C; J d( X @& z3 q(不影響遊戲運作與介面)
# n0 O& O0 p1 b2 L$ u3 G所以網上找到的code8 e5 h- W( G' A5 M! y9 B) E
將會跟本服完全不同5 S1 w: K% O: g9 L& t9 N7 ]
目的是有獨特性以及保密性: w; a5 N; q) X! w9 G
% }, D2 | {% C* K7 x9 l. Y
我們的版本是客製化版本" ?- u3 z) L4 s1 Q5 T! C5 V$ \
跟公開版本不同
1 G1 C7 b( s# I! G' V; v; o5 D2 j0 _4 i* J0 v) d- D/ O7 R; c- D
1 B, ~5 I* Z" i+ Z) V' T
當然如果能改成跟官服的探險機制一樣是最好不過了 |
|