北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 25045|回复: 24

关于dazuo的一点小技巧(for newbie)

[复制链接]
发表于 2008-12-23 13:15:03 | 显示全部楼层 |阅读模式
首先普及一个小常识-心跳
心跳就是mud的一个最小计时单位,所有跟时间有关的动作都是以心跳为基础的
比如,每10个心跳,气血精神内力等恢复一次,食物饮水掉一点
每30还是40次心跳,可以睡一次觉等等
所以,有时候你会看到一句话
Mudos tells you: You have no heart beat!
这就是说,时间凝固啦,系统要崩溃啦。这时候如果你睡觉,就再也醒不过来了,呵呵
扯远了,还是说回打坐
dazuo要花时间,所以也是跟心跳有关系的
每个心跳气血转化成内力的值设为a,那么a =1 + enable force/10
举个例子,一个id基本内功和特殊内功都是300级,等级20
那么enable force就是300+150+20=470 (可以支持4700点最大内力)
a=470/10+1=48
也就是说,每个心跳有48点气血转化成内力
如果你dazuo 480,就需要10次心跳
那么你dazuo 433呢,也是要经过10次心跳,因为9次心跳只能转化432点气血
这样你的效率就降低了(480-433)/480=9.8%,还是很可观的
特别是对于需要靠dazuo保持正循环的情况,比如读xkd的石壁,这是不能忽略的

结论:
dazuo xxxx,这个xxx值,取为enable force/10+1的整数倍,效率是最高的

评分

参与人数 1精华 +20 收起 理由
icer + 20

查看全部评分

北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2008-12-23 13:22:27 | 显示全部楼层
不是每次打坐值为内力上限的四分之一,最有效率吗?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2008-12-23 13:48:18 | 显示全部楼层
请问一次心跳是多长时间?
小数点如何处理?

[ 本帖最后由 skywindcn 于 2008-12-23 01:49 PM 编辑 ]
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2008-12-23 15:14:03 | 显示全部楼层
dazuo的效率跟内力上限没有任何关系
只跟enable force有关系

一次心跳大概是1s左右
你可以dazuo的时候,不停的hp查看,就可以看到气血是有规律的往下掉的
不能整除的一概取整,小数点后舍去,这是由lpc的除法运算规则决定的,所有用到除法的地方都是这样
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2008-12-23 15:19:17 | 显示全部楼层
这里考虑的是理想情况,也就是服务器的延迟为0
当lag比较严重的时候,尽量减少执行指令的数目,也就是每次打坐更多的气,可以有效的提高效率,但是需要考虑最大内力增加的情况,尽量避免浪费,那就比较复杂了
当然,这时候前面所说的规律一样是适用的
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2008-12-23 16:57:08 | 显示全部楼层
原帖由 jessy 于 2008-12-23 03:14 PM 发表
dazuo的效率跟内力上限没有任何关系
只跟enable force有关系

一次心跳大概是1s左右
你可以dazuo的时候,不停的hp查看,就可以看到气血是有规律的往下掉的
不能整除的一概取整,小数点后舍去,这是由lpc的除法运 ...

内力上限也是取决于enable force吧?
比如a = 10b;
c = 2b;
虽然a和c没有直接关系,但是很容易得到a = 5c啊。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2008-12-23 18:12:01 | 显示全部楼层
ok,说错了
我前面说的内力上限其实是指的最大内力
那个是没有关系的
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2008-12-23 22:29:09 | 显示全部楼层
那吐纳呢?和啥有关?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2008-12-26 14:34:51 | 显示全部楼层
详细的计算是这样的:
一个心跳,可以认为是一秒,所以一秒钟可以转换enable force/10+1取整的气血量到内力(吐纳其实是一样的)。
比如,你enable force是92,那么一秒钟可以转换92/10+1=10点气血变成内力。
然后,你现在气血是130/130,内力是105/105,那么你应该打坐多少最好呢?
按照楼主的说法“dazuo xxxx,这个xxx值,取为enable force/10+1的整数倍,效率是最高的”,那么应该打坐110点,(此处假设你经验已经超过10W,气血到内力的转换比是1:1),花费时间为11秒,内力升级完成,剩余气血20。
事实上,我们很容易看出,打坐105点,才是最优秀的方案,虽然仍然花费时间11秒,但是剩余气血是25。
当然对于噩梦之周的话,打坐105就非常不合算了,因为在噩梦之后的情况下,只有enable force/10+1的整数倍,是有效值,多余的数字因为取整的关系,是不会变成内力的。(比如噩梦效果-4%,那么105点内力中最后的5点,算法是5×(1-0.04),其中1-0.04是取整的就是0.96取整,就是0,所以5×0=0,剩余的5点气血,花费了1秒钟,居然没效果。)

下面列出整个最优化打坐吐纳的计算过程:
$temp = @conversion*(1+@weekChange)  //weekChange是噩梦之周之类的增加或减少效果值
#if (%match($temp, "(%d)~.%d", $temp) = 1) {#noop} //取整数,有简单的办法请告诉我
efficiency = $temp
$temp = 1*(1+@weekChange)
#if (%match($temp, "(%d)~.%d", $temp) = 1) {#noop}//取整数
efficiencyPer = $temp
#if (@exp < 100000) {
  efficiency = @efficiency*2 //这个是enforce/10+1的气血的转换效果,新手效果2倍。
  efficiencyPer = @efficiencyPer*2 //这个是不满enforce/10+1的气血的转换效果,新手效果2倍。
}

$temp = @neiliMax*2 - @neili
dazuoTimes = $temp / @efficiency //这个是内力升级需要的enable force/10+1的倍数
mod = %mod($temp, @efficiency)
$temp = @qixue / 10
#if (%mod($temp, 10) > 0) {#add $temp 1}
#if ($temp < 10) {$temp = 10}
dazuoTimesMax = (@qixue - $temp) / @conversion
#if (@conversion <= 10 && @dazuoTimesMax <= 1) {dazuoTimesMax = 0}  //当前气血最多能够打坐多少次enable force/10+1的倍数

#if (@dazuoTimesMax > @dazuoTimes) {
  #if (@conversion <= 10 && @dazuoTimes <= 1 && @dazuoTimesMax != 0) {
    dazuo 10
    $times = 10 / @conversion
    #if (%mod(10, @conversion) > 0) {#add $times 1}
    $time = $times * 1000
    #wait $time
    hpp
  } {
    $fix = 0
    #if (@efficiencyPer != 0) {$fix = (@mod+1)/@efficiencyPer}  //这个就是计算升级需要的整数倍的余量问题
    $dazuo = @dazuoTimes * @conversion + $fix
    dazuo $dazuo
    #if (@mod != 0) {#add dazuoTimes 1}
    $time = @dazuoTimes * 1000
    #wait $time
    hpp
  }
} {
  #if (@conversion <= 10 && @dazuoTimesMax <= 1 || @dazuoTimesMax == 0) {
  refullQixue
  } {
    $dazuo = @dazuoTimesMax * @conversion
    dazuo $dazuo
    $time = @dazuoTimesMax * 1000
    #wait $time
    hpp
  }
}

[ 本帖最后由 xxxcc 于 2008-12-26 02:37 PM 编辑 ]
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2008-12-26 14:39:13 | 显示全部楼层
因为我没有超过10W经验的ID,所以无法测试超过10W的情况是否100%准确。
但是在小于10W的情况下,应该是没问题的,也实际测试过各种周效果的影响,计算完全正确。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-25 04:39 PM , Processed in 0.010895 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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