|
大家都知道人物超越了一定点数后会自动还原。但有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:另外声望和气势也是存在小数的。 |
|