石器时代LA官方

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7303|回复: 0

[源代码] 关于人物属性点还原后分配修改

[复制链接]

1万

主题

491

回帖

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35506
石币
24669
发表于 2013-10-4 17:07:22 | 显示全部楼层 |阅读模式

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|石器时代LA官方

GMT+8, 2024-5-3 08:02 , Processed in 0.097899 second(s), 21 queries .

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表