石器人物属性点还原后分配修档

  • A+
所属分类:源码教程
大家都知道人物超越了一定点数后会自动还原。但有10点会分配在体力上。但有人不想把这10点分配在体力上,而是分配给其他属性上。我们可以参考源码进行修改。

首先打开char.c后,找到下面的代码:
  {
          print("\n重调点数[%s:%s]:%d->%d ",
                          CHAR_getChar(charaindex,CHAR_CDKEY),
                          CHAR_getChar(charaindex,CHAR_NAME),
                          total,max);
    CHAR_setInt(charaindex,CHAR_VITAL,1000);
    CHAR_setInt(charaindex,CHAR_STR,0);
    CHAR_setInt(charaindex,CHAR_TOUGH,0);
    CHAR_setInt(charaindex,CHAR_DEX,0);
    CHAR_setInt(charaindex,CHAR_SKILLUPPOINT,max-10);
  }

print 我就不说明了,这个是在GMSV的显示,可以去掉。重点来讲下面的代码
 CHAR_setInt(charaindex,CHAR_VITAL,1000);
    CHAR_setInt(charaindex,CHAR_STR,0);
    CHAR_setInt(charaindex,CHAR_TOUGH,0);
    CHAR_setInt(charaindex,CHAR_DEX,0);
    CHAR_setInt(charaindex,CHAR_SKILLUPPOINT,max-10);

第一行的意思是给人物设置10点体力
第二行的意思是给人物设置0点腕力
第三行的意思是给人物设置0点耐久
第四行的意思是给人物设置0点敏捷
有的同学会疑问第一行为什么要设置1000,因为人物属性点是存在小数的。所以1000=10.00,这样就好理解了吧。所以有些玩家在转生后会发现同一队人物,有的人物会多出1点,有的人物少1点。这就是转生后,随机小数造成的。

至于最后一行,那很明显了,就是把人物的所有点数归到未分配状态。但为什么会减10呢?因为你已经分配给体力10点了,所以当然要减去这10点了。

有的同学还要疑问为什么体力上写1000,而下面就写10。这里就是一个算法问题了,未分配的点数计算是没有小数的。所以点数就按照没有小数的计算。

PS:另外声望和气势也是存在小数的。
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

您必须才能发表评论!