等級:7 - 駕輕就熟 經驗值:0 / 66 魔法值:127 / 2266 生命值:6%
升級
  60.33%
TA的每日心情 | 擦汗 2017-11-11 04:04 |
---|
簽到天數: 23 天 [LV.4]偶爾看看III
|
馬上註冊,結交更多好友,享用更多功能,讓你輕鬆玩轉社群。
您需要 登入 才可以下載或檢視,沒有帳號?立即註冊
×
本文章最後由 gyle 於 2016-4-13 10:57 PM 編輯
9 i$ @: Z9 f* W' u' x0 C. n: j: Q2 [, r& v R9 ^
小弟看過fallrain大大的探險暴資源的文章後 在網上找了一些遊戲的code來看
7 R X/ N& g1 N5 {- I但才疏學淺又無學php 睇到一舊雲 想拋磚引玉 請各位高手指導下 當然站長開估最好
9 b, b( \- p$ c9 M7 m* m" L我不知道站長真正用的是哪個version的code(寫是1.4 但數據出入太大) 中間改了多少 所以參考了5個version
/ D1 P6 d) y/ R4 ]4 s/ p$ Z1 https://github.com/shoghicp/xnov ... nCaseExpedition.php' d' x! K8 ~& Y6 |4 G2 J# d! R5 B1 Q. }
1.3 http://2moons.googlecode.com/svn ... nCaseExpedition.php
5 q( j: [# q- [- Y2 ^/ Z- l1.4 http://2moons.googlecode.com/svn ... nCaseExpedition.php- c) z' v1 L$ X- j
1.6 https://searchcode.com/codesearch/view/31727593/
( z# G1 J! R2 j: @' F- s8 i1.7 https://searchcode.com/codesearch/view/3773791/
( G( u- q e' f3 X4 G9 ?: V T7 J/ K7 q我個人認為有幾點可以確信:
) ~9 F8 E6 ^* ^$ s1.開資源,海賊,黑洞,黑暗物質的機率跟船隻數量,種類無關純粹人品8 C$ |6 o9 F& u& _+ R) b1 z, }
2.開資源 資源的數量除了跟船隊容量有關外 還有船隊分數# X) H9 j3 M9 B2 z
3.開黑暗物質 黑暗物質的數量純粹與人品有關! R. w$ K4 c* L. c- s0 h K
第一點:9 V/ k* O5 `' g9 p$ s8 a
探險機制是用rand() funtion 來決定8 a8 d8 s- z9 T4 R
在1.3version 用$GetEvent = mt_rand(1, 6);來決定, 即開資源,海賊,黑洞....等等用1至6表示 然後system隨機開出
* V$ J5 f% z. z# k9 L6 U1.4version 一樣
+ j; l8 [. @3 r0 C5 ?但解釋不到'''沒有任何特別事件''這個項機率為甚麼這麼高
1 E, q( g5 W' s7 C; \6 h5 q; M1.6version 用$$GetEvent = mt_rand(1, 9);來決定 即開資源,海賊,黑洞....等等用1.至9來表示 但''沒有任何特別事件''這項是以7,8,9表示 即1/3機率
# Z" C! }8 W! I! H; f1.7version 太難...看不懂 不過應該是''沒有任何特別事件''這項機率降低
+ ^8 M4 d0 h! N: i第二點:, D$ l& t8 z# q4 q g4 Y+ k
資源的數量
/ w4 ] J+ |0 \3 e4 }. q1.3version跟1.4version4 a5 M, q* [0 {9 I1 l: {
1.6version 1.7version都用同一條code' q) r. c8 C* H, J. x' F( h/ f
case 1: $WitchFound = mt_rand(1,3);<----這部分開始$ O) A/ d+ b; n, U9 q: }
$FindSize = mt_rand(0, 100);
! S. Y3 t- d- s3 {+ J. k% N if(10 < $FindSize) { ( Q6 |$ k# }3 E( r/ p3 }
$WitchSize = 1;
" b4 r' t8 { }! A8 ] $Factor = (mt_rand(10, 50) / $WitchFound) * $GLOBALS['CONFIG'][$this->_fleet['fleet_universe']]['resource_multiplier'] $Message = $LNG['sys_expe_found_ress_1_'.mt_rand(1,4)]; }
( p; _ W. y0 J0 y2 D! C- W( K4 ? elseif(0 < $FindSize && 10 >= $FindSize) { % A; a7 n2 u1 m- o
$WitchSize = 2;
1 X% U5 V- f" g5 z- h# N! T $Factor = (mt_rand(52, 100) / $WitchFound) * $GLOBALS['CONFIG'][$this->_fleet['fleet_universe']]['resource_multiplier'];
" }% i9 G% p+ j- a $Message = $LNG['sys_expe_found_ress_2_'.mt_rand(1,3)];
- ^% S4 O; ?" H& |) O) C! k } - L! N4 \" [3 O/ W: {
elseif(0 == $FindSize) {# _: r5 T6 K, b9 @/ ~3 B7 E9 ?
$WitchSize = 3;$ X7 C! D2 x6 Q) d4 A: n$ C; _, I4 |
$Factor = (mt_rand(102, 200) / $WitchFound) * $GLOBALS['CONFIG'][$this->_fleet['fleet_universe']]['resource_multiplier'];
& b- |9 z8 G5 e% } $Message = $LNG['sys_expe_found_ress_3_'.mt_rand(1,2)];<----到這裡全是機率控制 大致是資源的數量分為三種90% 是金屬, 9%是晶, 1%是氫高
$ W6 i6 a) b8 x* f$ m" J3 z R }
. o) v& w1 P; \' P3 ^6 n; z $StatFactor = $db->uniquequery("SELECT MAX(total_points) as total FROM `".STATPOINTS."` WHERE `stat_type` = 1 AND `universe` = '".$this->_fleet['fleet_universe']."';");
% C1 i% i8 G- S0 A S! t $MaxPoints = ($StatFactor['total'] < 5000000) ? 9000 : 12000;<----這裡是船分計算,船分高過5百萬 可得乘資源的數量12000 低過乘9000
# Y/ n: f8 T- Z* z& b$ x$ P $Size = min($Factor * MAX(MIN($FleetPoints / 1000, $MaxPoints), 200), $FleetCapacity);<----這裡是最終計算(比較複雜) 首先是計算船分/1000低 還是剛才提及的9000或12000底 選較底那個 但最底都有200 ,然後乘$Factor,就是可得乘資源 如果超過船隊容量就只得船隊容量switch($WitchFound) { 5 h$ \0 k% m" J! z: j, Y
case 1: $this->UpdateFleet('fleet_resource_metal', $this->_fleet['fleet_resource_metal'] + $Size);
. V9 V$ x3 k& H. O break;/ }* U1 J6 [+ z, r
case 2: $this->UpdateFleet('fleet_resource_crystal', $this->_fleet['fleet_resource_crystal'] + $Size);
$ x# r7 q5 v* v2 c break;
4 o% H8 {+ P$ J* O0 B- \1 U case 3: $this->UpdateFleet('fleet_resource_deuterium', $this->_fleet['fleet_resource_deuterium'] + $Size);
$ W' n" j9 z. m! U) Y- k" m break;
1 X& m- W$ z3 s' q ]! m } break;4 k8 p( y! X% B2 k& Y7 f7 Y
第三點5 S3 ?7 R3 v5 X/ O3 Q' i
黑暗物質的數量" |8 _- R9 K, L( S v
case 2:
9 b" V7 T. q0 J. L1 _# C/ b $FindSize = mt_rand(0, 100);
' j2 W% U! m1 k3 d if(10 < $FindSize) {
9 s+ V0 ^8 J4 [. x% X9 m $Size = mt_rand(100, 300); 7 h$ U2 U: k$ {3 |: k
$Message = $LNG['sys_expe_found_dm_1_'.mt_rand(1,5)]; ( Q( f/ ^# \) |, a3 ?6 _+ C9 R7 c
} ! A3 N. R* z6 L4 Q& ^7 {% w. D0 L
elseif(0 < $FindSize && 10 >= $FindSize) {0 j1 l: j6 c/ N c
$Size = mt_rand(301, 600);: [0 V/ X6 {/ d. j6 W H; X4 x% g
$Message = $LNG['sys_expe_found_dm_2_'.mt_rand(1,4)];
; L J- ?% S+ B& M% `2 o/ n) V } + T; X4 U+ Y3 V u+ ^' O7 C' i5 u
elseif(0 == $FindSize) {
" Z9 R% J- q3 i9 a7 l6 D, N/ h; h4 S $Size = mt_rand(601, 3000);
0 |* c3 Y6 A! ] $Message = $LNG['sys_expe_found_dm_3_'.mt_rand(1,2)];% X6 ~+ d; c8 i
} 4 _/ Y+ Z# ^+ y/ @" J4 q
$this->UpdateFleet('fleet_resource_darkmatter', $this->_fleet['fleet_resource_darkmatter'] + $Size);
$ `) M) ?# W0 s' _4 E9 {. B. W) tsystem決定, 90% 100~300單位 9% 301~600單位 1%601~3000單位& D9 S' Y0 i* H# [
最後船種分數:* D$ J' C; e3 g, b* o7 Z
1versionNo. 分數 船名8 l' i/ G& t- G5 N( x* P
202 => 1.0, // 'Petit transporteur'
; o0 y- y" C5 E203 => 1.5, // 'Grand transporteur', y+ X. }% {( ?
204 => 0.5, // 'Chasseur léger'0 o6 W6 f4 f0 U
205 => 1.5, // 'Chasseur lourd'# c- |: ~5 F8 N5 G) M: |5 x
206 => 2.0, // 'Croiseur'207 => 2.5, // 'Vaisseau de bataille' |
3 S+ s5 }/ ?0 _* V d! i | 208 => 0.5, // 'Vaisseau de colonisation' |
* {0 E" n4 h9 D T5 C | 209 => 1.0, // 'Recycleur' |
C7 v/ m! N" V5 I% u' k- B | 210 => 0.01, // 'Sonde espionnage' |
0 {9 w& r/ ], [- K, h0 \8 R | 211 => 3.0, // 'Bombardier' |
q B( G9 v+ R7 ]/ G | 212 => 0.0, // 'Satellite solaire' | . b" ^/ w; \6 K
| 213 => 3.5, // 'Destructeur' | # t! G0 D* f8 I& E
| 214 => 5.0, // 'Etoile de la mort' |
3 o9 Q7 J) V6 g | 215 => 3.2, // 'Traqueur' | $ i! B2 T3 s) _; _$ s4 d7 c& i$ o: Z% {
1.4-1.7version4 h& q3 D' E' D E0 H7 g
$Expowert[202] = 12;
" t. e+ L' T. F2 G Y$Expowert[203] = 47;+ b& X8 O. r$ Q0 P! N: h
$Expowert[204] = 12;
5 h! {$ \. x8 k/ C, F$Expowert[205] = 110;* p3 g7 ^8 e/ W) h- N9 V# r+ s
$Expowert[206] = 47;, n1 n, l& X$ V, p
$Expowert[207] = 160;' B0 ^& @! o, e1 E% {: {
新與舊太大出入難以作準 希望有人破解http://ocalc.ogame-user.de/?sec=_fleet&lang=en 計算器如果計算器準確 個人認為毀滅者 應該是最好刷資源 其次是BB
& Y) h0 X4 X; P0 O, }: ^
3 A! k' h8 Z9 q, |; F! A% I Q( c9 ^8 N5 T7 `9 h$ ^0 V& d
% A( s% Z5 T* J: N1 z
9 c3 v( ]; T# t3 N( L
: U7 a/ V5 c: p, B% a( o8 T6 C& S# g! L
, f& m: I/ B7 \' X! n) k( M+ c
- K* F8 k2 N; k, x5 V) s6 F, _/ M' o) I0 O4 _& g- r- `0 J5 }
" U' l1 A, q: t/ B4 o2 | |
|