|
等級:25 - 爐火純青 經驗值:0 / 245 魔法值:14419 / 14419 生命值:5%
升級
  100%
TA的每日心情 | 奮斗 昨天 00:22 |
|---|
簽到天數: 5797 天 [LV.Master]伴壇終老
|
發表於 2016-4-13 23:57:32
|顯示全部樓層
4 H: J x0 M% B4 ~
; C# D: y% L& ]7 J6 j) n! b
# L0 E8 T" m4 H: `9 i% \- $GetEvent = mt_rand(1, 9);6 {5 X: m3 ]0 k! u, m. O( Q& ?
0 r5 ^6 _/ U3 C: }( v- $Message = $LNG['sys_expe_nothing_'.mt_rand(1,8)];. k# v- }" S* h6 _/ ^* c5 o& e
- ( G7 ~. K9 [! q% d6 Y- {3 M
- switch($GetEvent)
7 B# j( b+ x L0 [( h - {
$ c; G M* z2 j# O1 ~/ K - case 1:
- ?9 X7 C4 x E# k' P" B - $eventSize = mt_rand(0, 100);
# k' m' d/ U+ |& J - $factor = 0;
g! j# M$ ]0 S
$ B1 M! w4 i$ Y2 G- if(10 < $eventSize), b9 X* A7 @$ S) Y$ K
- {
, c. ?, U! F! L' x - $Message = $LNG['sys_expe_found_ress_1_'.mt_rand(1,4)];
2 P; ~2 T2 k7 e) |' Y - $factor = mt_rand(100, 300);& ^5 O% H; \' h& Z
- }
) E9 ?! f+ @9 d& N - elseif(0 < $eventSize && 10 >= $eventSize)
) B& L7 A1 Z' Q. ]) Q. { - {# `3 M1 |0 `) ~5 {
- $Message = $LNG['sys_expe_found_ress_2_'.mt_rand(1,3)];. m" f) l4 e) \7 [
- $factor = mt_rand(301, 600);
/ D1 A: C: }8 ] - }- d" w; a2 W$ d3 Z: Y+ r7 W
- elseif(0 == $eventSize)
, Q, C# _- w) k2 K - {$ O/ n4 r9 V W u
- $Message = $LNG['sys_expe_found_ress_3_'.mt_rand(1,2)];
$ a& F7 V9 g% x4 g0 q8 l, L - $factor = mt_rand(601, 3000);
. ~& Z+ `8 K& L! B3 B `3 I - }
, k& \: a0 t* J6 O, }$ v
7 V1 q+ v& w4 [2 I) p- $chanceToFound = mt_rand(1, 6);6 F; x& G8 K( Q( r) R9 D# \
- if($chanceToFound > 3). [8 ~( B" S% H, q/ b
- {9 }" m- I7 g* w$ ^# ?2 u+ P
- $resourceId = 901;
; T. D, S6 q8 [) G4 e0 q8 D - }
$ S( Q7 W' \: ]) X2 n! }0 @. v - elseif($chanceToFound > 1)2 P4 O+ E# V! R8 f+ C1 F0 N
- {
# H, O1 m5 n3 c" F) r2 f, J3 d7 x - $resourceId = 902;$ H/ J( ?8 j: p, a4 T; D- M
- $factor = $factor / 2;$ k1 z$ t: U5 q7 K. v+ I
- }
: l% q( [2 \2 h) d( j0 [ - else
1 e* d" |2 V9 W& n& C% ~ - {
! E! D4 z" |& Y8 N' Z# B - $resourceId = 903;
2 ^7 ]% x1 X" s1 w- I0 ^ - $factor = $factor / 3;
; d7 L! A) G" ~5 g6 T/ V - }
4 {( F2 B3 v2 A* K" M O" D4 L
! i G2 ]% Q1 c- $sql = "SELECT MAX(total_points) as total FROM %%STATPOINTS%%: s& F1 e D- T; ^
- WHERE `stat_type` = :type AND `universe` = :universe;";! h' s5 m% N7 Y" h
- 5 m; p/ `7 B3 f
- $topPoints = Database::get()->selectSingle($sql, array(# Q& m' r5 h$ `6 V. Z
- ':type' => 1,: [! B4 s7 N7 g" M3 L* a4 f# H
- ':universe' => $this->_fleet['fleet_universe']( z& K! \8 ?1 k' F" g7 j1 R
- ), 'total');
& G. ?" O4 }! s& s$ [" R - 4 H0 ^6 G) Y) S% ~7 o
- if($topPoints > 5000000)
; f9 d* w0 N) e: x - { D# m$ ^9 W1 x8 o0 {
- $maxFactor = 12000;" |% ~+ C; A4 v; E" @8 `4 Z0 R" X
- }
# z4 {7 m P( [! g6 T - elseif($topPoints > 1000000)
' @- S% p- {( ?/ r& Y - {
; D. |4 c- v8 W0 K& t1 Z! W* {6 ?- p - $maxFactor = 9000;
) ]# L/ R4 b3 ~ - }
4 P2 g4 I( ^) j# _+ S! {: ]9 l - elseif($topPoints > 100000)
% e4 J4 U) U n) e+ ~* l - {
S! B' V; L7 q1 J4 R7 ] - $maxFactor = 6000; @5 D* ?9 e3 m
- }
c& ]* S/ W5 |) ^7 {6 j - else
- T2 I: q% d2 ] S5 z1 f - {0 n& _! ]# ]# p9 w& @3 C
- $maxFactor = 2400;; n: b! _6 x9 n/ n& _& [# f8 y2 J
- }! | V5 O. Z7 Q
- ( N: x1 E6 F1 U! k" p* h6 y
- $founded = round(min($maxFactor, max(200, $factor)) * $fleetPoints);. J, `% O- @- k' m0 x0 n
8 H, v- @6 R, R9 p% x) A B& w- $fleetColName = 'fleet_resource_'.$resource[$resourceId];
5 @; ~9 t1 g/ n3 S7 ^& S+ D' E - $this->UpdateFleet($fleetColName, $this->_fleet[$fleetColName] + $founded);
9 p; L7 M1 X8 G0 D% a' u) i - break;
, O. Q) C& _# o3 t6 k - case 2:1 i5 o. B/ R! ` S
- $eventSize = mt_rand(0, 100);
. O! p5 i4 n X! `3 W. { - $Size = 0;
# V; h4 S; t+ |; }/ O+ Y
( a9 K6 D' u" x- if(10 < $eventSize) {( D0 `+ @3 ]3 V# V) x% T5 q$ J; o
- $Size = mt_rand(300, 500);
( _, P. Z; }- u1 e9 o - $Message = $LNG['sys_expe_found_dm_1_'.mt_rand(1,5)];% N3 T7 n3 u5 @5 n
- } elseif(0 < $eventSize && 10 >= $eventSize) {5 c/ i( A9 z2 O0 I6 `% f* d
- $Size = mt_rand(501, 1000);7 `- K; e) r! {: T
- $Message = $LNG['sys_expe_found_dm_2_'.mt_rand(1,3)];6 I2 b; y% t) @7 B: v' w2 \
- } elseif(0 == $eventSize) {+ i9 z2 x4 L( n' f0 q" k
- $Size = mt_rand(1001, 2000);/ I0 J" B' [% R, U
- $Message = $LNG['sys_expe_found_dm_3_'.mt_rand(1,2)];/ G- }. x+ h9 N
- }, g& {# u5 I9 ]0 Q
# a" i" _' m) l8 X4 T* I. I. a, G- $this->UpdateFleet('fleet_resource_darkmatter', $this->_fleet['fleet_resource_darkmatter'] + $Size);
3 g, p# I* { r1 f" L8 [1 r - break;$ Q2 [( x* \/ L2 r7 S( R
- case 3:
) y- P" b2 w4 ? - $eventSize = mt_rand(0, 100);
/ Z+ f3 r; e1 @. e - $Size = 0;
' q, N( A" ~- x+ p* r - $Message = "";
1 W) j, c) l- i4 @ - 5 k+ A$ I9 q% c0 J, w8 [
- if(10 < $eventSize) {
/ \+ I! Z l, h! y9 m - $Size = mt_rand(10*$config->resource_multiplier, 50*$config->resource_multiplier);
- g. T" H' ?, t3 t$ D9 L - $Message = $LNG['sys_expe_found_ships_1_'.mt_rand(1,4)];6 X* L' P. m- I2 O" b! `! o5 f
- } elseif(0 < $eventSize && 10 >= $eventSize) {
, M$ N' E7 Z: S" J h - $Size = mt_rand(52*$config->resource_multiplier, 100*$config->resource_multiplier);
% A: T, B, m7 S - $Message = $LNG['sys_expe_found_ships_2_'.mt_rand(1,2)];3 C% T, ]/ M# y0 {& x
- } elseif(0 == $eventSize) {
) @; Y/ d: L' [ - $Size = mt_rand(102*$config->resource_multiplier, 200*$config->resource_multiplier);
% G6 I& E. F3 s: F - $Message = $LNG['sys_expe_found_ships_3_'.mt_rand(1,2)];
4 b1 w0 Y1 k. ]4 f. Y6 l% E - }
" t# {* d! M& h7 Z6 z8 O
. }; m9 V/ H/ y4 I- $sql = "SELECT MAX(total_points) as total FROM %%STATPOINTS%%
: A' n) g+ g5 V' C( c - WHERE `stat_type` = :type AND `universe` = :universe;";! c3 E J# d$ U, u9 \% [
- I/ p n0 a2 G+ e H. }& f- $topPoints = Database::get()->selectSingle($sql, array(" J6 v7 L# p1 ?# r4 N8 R5 ^0 F
- ':type' => 1,: c3 F9 a3 e; E/ n+ g/ N A" g
- ':universe' => $this->_fleet['fleet_universe']
6 e! D6 H! x4 J3 I+ U$ [ - ), 'total');
1 g* B6 x! j% q8 V0 o - . p- X H6 {# ]1 ~
- $MaxPoints = ($topPoints < 5000000) ? 4500 : 6000;2 @5 y5 |% w z3 {6 C8 K
- : b$ w5 H9 P4 g2 k1 S
- $FoundShips = max(round($Size * min($fleetPoints, $MaxPoints)), 10000);
* R5 n, y8 G( N& q N -
; r6 M0 D* W7 x1 ~, i0 i" ] - $FoundShipMess = ""; , @3 p# k1 Y: U0 R, P
- $NewFleetArray = "";
: q' {, R% H; H -
+ j; E5 k5 i7 l* F - $Found = array();! {. J% ^, f5 u% J" M
- foreach($reslist['fleet'] as $ID) * I/ d7 Y# s7 k' c
- {$ q, M/ P, D. ?( j
- if(!isset($fleetArray[$ID]) || $ID == 208 || $ID == 209 || $ID == 214) E+ n" m# G, [% s T- Z
- continue;0 x+ k% m2 B% P2 g5 Z1 j, x, F
-
2 a3 H2 T1 u9 x. `0 M - $MaxFound = floor($FoundShips / ($pricelist[$ID]['cost'][901] + $pricelist[$ID]['cost'][902]));6 D5 l' E; _. }5 D9 z
- if($MaxFound <= 0) $ k, o) }" d4 T& V& d
- continue;( b% r2 Q" I) p( u( F, x
-
6 j$ B7 F+ O8 w/ \ w. B - $Count = mt_rand(0, $MaxFound);& g, c% U0 [+ d$ z+ p
- if($Count <= 0) : q: F3 T% t8 u8 W6 g0 P; M: a9 I! ?
- continue;
9 F7 e5 j: t* f - 6 R# R l# `( A5 d- ~
- $Found[$ID] = $Count;9 ~2 u: m# ?5 [! a+ O# p
- $FoundShips -= $Count * ($pricelist[$ID]['cost'][901] + $pricelist[$ID]['cost'][902]);
" Z: d1 l3 e% k9 R8 u' z4 t! B - $FoundShipMess .= '<br>'.$LNG['tech'][$ID].': '.pretty_number($Count);- ~4 \ a( v5 D7 j" l- W
- if($FoundShips <= 0)
2 E U# R, b6 m4 z5 W0 q - break;, X( ?; ]' R% L l" U5 W
- }
2 T9 }" J* ?- H) L -
& i+ \6 u' W3 K - if (empty($Found)) {1 e( c+ H: `' I) T, W; l
- $FoundShipMess .= '<br><br>'.$LNG['sys_expe_found_ships_nothing'];( d3 T+ |$ \/ n9 y* k
- }$ Y x2 |' d* D7 o+ y, J7 n* s
+ _# C0 a7 ^1 K2 r" b9 Q5 {; w- foreach($fleetArray as $ID => $Count)
# A0 P* S: P7 u. \ - {; j4 t% U6 P1 D* e( l+ R. ]
- if(!empty($Found[$ID]))
* e0 m, u W* `5 u/ d3 _ - {
H0 K/ X6 C; I/ t/ t - $Count += $Found[$ID];
0 K/ z- h. W" n% c; y - }
$ V1 V# [1 F$ O- ?, m1 N) e% e - 2 X6 G* T2 s. r" ?
- $NewFleetArray .= $ID.",".floatToString($Count).';';9 I9 f. i( l0 }4 X. n" R
- } # ] P: F+ B6 I! L2 g; N
-
! A4 U7 @& E% q6 E& q - $Message .= $FoundShipMess;1 k+ p( V5 q8 [! f" e6 X5 y
- . J- k: Z7 x8 Z& s, t5 k& I
- $this->UpdateFleet('fleet_array', $NewFleetArray);
" h6 M8 N" J1 y/ k8 r7 B7 t - $this->UpdateFleet('fleet_amount', array_sum($fleetArray));( w; p( T5 _7 T. |, K, `
- break;
複製程式碼 " \1 o1 p- s; w/ |0 c) i: Y
這才是現在用的+ b6 ~1 r3 s; P+ K+ _3 k
上面的都不太對
|8 E+ G5 ^8 W" a' @+ o# R
9 X4 ^* E4 L* P) a: K2 t6 d* C整個遊戲的架構
1 T' V8 ~. C3 |6 y5 ] u即將進行大修改
8 v6 E: f8 e1 r4 ~& L資料夾與檔案命名規則+ D- t. o( W2 ?! J4 O5 r! c$ U
甚至資料表等都會改掉, } k* `; f. |* x! n* I
(不影響遊戲運作與介面)
& R) K1 G$ r/ Y- s2 |所以網上找到的code+ F0 m; s+ M. b* t' \
將會跟本服完全不同# q$ K: p2 c+ s( T0 v0 a8 V4 ]
目的是有獨特性以及保密性
2 t0 N. V+ d% ~4 l" f3 |
3 o7 J' b" ?* c( y! E9 D我們的版本是客製化版本
D0 ]: f E! n0 Q3 N- [- U跟公開版本不同
! g3 D+ m4 Q% d; l. n; g2 S
3 g! ]. H; e1 _/ Q. A A) f9 c r# }- W1 l
當然如果能改成跟官服的探險機制一樣是最好不過了 |
|