admin
管理员
管理员
  • UID1
  • 注册日期2011-05-18
  • 最后登录2022-08-22
  • 粉丝94
  • 关注0
  • 发帖数1061
  • QQ
  • 铜币1232枚
  • 威望8点
  • 银元1218个
阅读:1617回复:0

【源码编译】关于完美武器

楼主#
更多 发布于:2012-10-07 12:32

老飞的完美武器虽然我也经历过不过早忘了咋回事,应该是系统赠送的吧,现在星辰搞出的我也没玩过不知道咋产出的,既然有人说是开箱子,那咱就用箱子得到好了。      首先是武器名称为红色,看我的另一篇文章有介绍,星辰是设置了完美武器这么个属性,就是U武、绿武、普通的那个分类,具体哪栏我忘了。可以自己设置,我出于测试就以dwItemRare==300 这个属性来判断好了。
然后是开箱子得到装备,在user.cpp下的函数。
DoUseGiftbox( CItemElem* pItemElem, DWORD dwItemId )//这个是开随机箱子
DoUsePackItem( CItemElem* pItemElem, PPACKITEMELEM pPackItemElem )//这个是开普通箱子
    在这两个函数体下加一个判断就行了
  if(itemElem.GetProp()->dwItemRare==300)
  {
    itemElem.m_bItemResist=(BYTE)xRandom(1,6);
    itemElem.m_nResistAbilityOption=10;
  }
就是上面这句。
至于加在哪里,不用我说了吧,就在创建物品之前就行了。

      对了,现在的端一般都是加20才满的,如果不想让玩家还能继续加工,就在加工那写个判断了,如果为完美武器则提示,特殊装备无法加工然后返回即可。也可以直接让他属性定义成20,这样已经满了就不用再管了。


活动给物品的话那就模仿这里面的创建物品的句子写就行了。
以上写法已经通过验证。不成功自己找原因了。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 BOOL CMover::CreateItem( CItemBase* pItemBase, BYTE* pnId, short* pnNum, BYTE nCount )
 在这个函数下修改的话,只要修改这一处,任何方式获得的都是完美武器= =
从B包拿出物品也会调用,所以不适合用在随机属性的物品上,这样可以随时换属性了- -
哎...今天够累的,签到来了3...
游客

返回顶部