铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 854|回复: 5

有段代码看不懂 = =

[复制链接]
发表于 2012-8-22 18:36 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
--太极拳,借力打力
  if wugong == 16 and WAR.tmp[3000 + pid] ~= nil and WAR.tmp[3000 + pid] > 0 then
    if WAR.tmp[3000 + pid] > 200 then
      WAR.tmp[3000 + pid] = 200
    end
    hurt = hurt + WAR.tmp[3000 + pid]
    WAR.tmp[3000 + pid] = 0
  end
  借力打力是怎么实现的?
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-8-23 00:59 | 显示全部楼层
--ivansz:太极拳,借力打力累计计算
        for i = 1, 10 do
                local kfid = JY.Person[eid]["武功" .. i]
                if kfid == 16 then
                        if WAR.tmp[3000 + eid] == nil then
                                WAR.tmp[3000 + eid] = 0
                        end
                        WAR.tmp[3000 + eid] = WAR.tmp[3000 + eid] + hurt;
                        if WAR.tmp[3000 + eid] > 200 then
                                WAR.tmp[3000 + eid] = 200
                        end
                  break;
                end
        end



--太极拳,才加杀1点集气,额
    if wugong == 16 then
      if WAR.tmp[3000 + pid] == nil then
        WAR.tmp[3000 + pid] = 0
            elseif 0 < WAR.tmp[3000 + pid] then
        WAR.Person[id][CC.TXWZ3] = CC.WARS59   --太极拳借力打力
        ng = ng + WAR.tmp[3000 + pid] * 5
      end
    end


--太极拳,借力打力
  if wugong == 16 and WAR.tmp[3000 + pid] ~= nil and WAR.tmp[3000 + pid] > 0 then
    hurt = hurt + WAR.tmp[3000 + pid]
    WAR.tmp[3000 + pid] = 0
  end


太极拳是分这三部分实现的
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-8-23 01:09 | 显示全部楼层
第一部分其实是给一个变量赋值,WAR.tmp[3000 + pid]就是这货,如果是空值就先赋值为0,然后把伤害计入这个变量,最高纪录200,第二部分是一个判定,如果该变量为0那么就把0带入,如果大于0那么带入刚才纪录的伤害数值,WAR.Person[id][CC.TXWZ3] = CC.WARS59   --太极拳借力打力
这一句是指显示文字,你可以不要CC.WARS59换成"太极拳借力打力"
最后一部分就是伤害的实现,如果变量不为空,且大于0那么伤害=本身伤害+纪录数值
下一句是释放变量的值为0,这就是为什么太极拳借力打力只能打一次,如果去掉每一次都会借力打力...你要是觉得复杂,可以搜平一指的,他的简单,同样也用到了变量定义,我觉得那是个很好的例子,因为很多效果不能写在一个函数里面,所以在每一部分实现的时候就需要一座桥来连接,那么变量就是很好的桥,如果一个变量改变那么另一个特效只需判定人物和变量是否改变就会同时触发了,你可以试试做让每杀一个人攻击集气增强
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-8-23 01:24 | 显示全部楼层
    hurt = hurt + WAR.tmp[3000 + pid];
    WAR.tmp[3000 + pid] = 0;
这两句导致借力打力只对一个目标有效。个人认为应该把WAR.tmp[3000 + pid] = 0;放在攻击结束之后的某个位置。(修罗版就是这么做的)
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2012-8-23 10:00 | 显示全部楼层
回复 btxdex 的帖子

攻击结束之后的位置是在?

点评

只可意会不可言传!多多思考,多多研究战斗函数。  发表于 2012-8-23 10:30
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2012-8-23 10:05 | 显示全部楼层
回复 wang0378 的帖子

               
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-12-24 10:26

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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