|
老飞的完美武器虽然我也经历过不过早忘了咋回事,应该是系统赠送的吧,现在星辰搞出的我也没玩过不知道咋产出的,既然有人说是开箱子,那咱就用箱子得到好了。
% l* K( w& f W# ~6 O' [9 U l( s2 P6 v: L
首先是武器名称为红色,看我的另一篇文章有介绍,星辰是设置了完美武器这么个属性,就是U武、绿武、普通的那个分类,具体哪栏我忘了。可以自己设置,我出于测试就以dwItemRare==300 这个属性来判断好了。
0 h( g' ]' ]1 w7 f' h% \% u# D |" o, U+ x" G [3 H
然后是开箱子得到装备,在user.cpp下的函数。
+ S& B$ `! X2 P! v8 v7 @
- L- @% F+ `3 x! w9 F/ |! d- `& gDoUseGiftbox( CItemElem* pItemElem, DWORD dwItemId )//这个是开随机箱子
+ U5 I" h% V7 {5 ]1 o' Z+ a! P$ ~5 e9 Y6 l$ Q) m1 S) Y9 ?3 z
DoUsePackItem( CItemElem* pItemElem, PPACKITEMELEM pPackItemElem )//这个是开普通箱子9 z4 U6 R5 w' W( y
; O) X. c$ c$ \- _, r: l8 ?# T1 l 在这两个函数体下加一个判断就行了3 ] ?4 Z7 j# d1 v* H! R
* H) O( T) ?% M9 a1 ^9 y7 q8 {! e
if(itemElem.GetProp()->dwItemRare==300)
; O* K& [8 s, e& c. y {* E6 U1 }; J( ^
itemElem.m_bItemResist=(BYTE)xRandom(1,6);
( G& a- U3 Y- e7 m2 E itemElem.m_nResistAbilityOption=10;
. G# R0 B' `% `7 `) q; V; V: Z }
# d: ?9 _9 N4 m/ l F
# F) ]" A2 j+ d- a% [+ b就是上面这句。$ }. r* z/ p' Z
' K( h( @$ O! f5 h* c2 H' b至于加在哪里,不用我说了吧,就在创建物品之前就行了。
4 k$ z- \2 Q8 S( r
6 f) o T- Q$ |& M/ j" \* a7 D: k* C5 s4 |0 Y+ ~8 U" s
9 Y3 Z% T" h9 s, i, U/ I
对了,现在的端一般都是加20才满的,如果不想让玩家还能继续加工,就在加工那写个判断了,如果为完美武器则提示,特殊装备无法加工然后返回即可。也可以直接让他属性定义成20,这样已经满了就不用再管了。6 ~, S7 L! k8 S: d/ v5 K* g W( i; K
7 M! `! H/ Z. c1 g
8 A d" v8 U: ]6 N+ G+ r2 Y1 l! D( G1 w' G4 z* j
: k: T' `: u& ^8 T7 Q) n& `( }/ ]7 t H" @
活动给物品的话那就模仿这里面的创建物品的句子写就行了。8 r7 X- s+ W* |3 R. _! B
1 {+ e0 n7 r' @5 Y+ u w4 T
以上写法已经通过验证。不成功自己找原因了。
% c. J' d9 v2 \' ]& x |- s7 Y& J8 a" T J8 G, P
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
( r. G4 O# k- K; t4 G+ Y
) |3 ~! D/ [& F# p' Q1 ~' a1 k1 o& U BOOL CMover::CreateItem( CItemBase* pItemBase, BYTE* pnId, short* pnNum, BYTE nCount )% c3 @( H( [3 ^6 _) a
e' ^8 o: n% G7 p5 ^6 y# ? 在这个函数下修改的话,只要修改这一处,任何方式获得的都是完美武器= =0 m; O1 }. H9 B$ s) V
; L+ @0 z. E9 O( F% l# W3 v从B包拿出物品也会调用,所以不适合用在随机属性的物品上,这样可以随时换属性了- -9 Z; ^9 J8 c8 i0 e( v. G: Z
" v+ n2 L9 u" P6 Y' I* G z7 L/ V2 E& f; o, k) d* |
|
|