铁血丹心

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

龙人版龙象般若功最终版补丁发布

  [复制链接]
发表于 2011-12-6 19:53 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 铁血垃圾 于 2011-12-10 03:00 编辑


    1. function War_DIY_WugongHurtLife(enemyid, wugong, hurt, ang, dng)
    2. local pid,eid = WAR.Person[WAR.CurID]["人物编号"],WAR.Person[enemyid]["人物编号"];
    3. local f=false
    4. for j=1,10 do
    5. if JY.Person[eid]["武功"..j]==103 then
    6. JY.Person[eid]["中毒程度"] = 0
    7. JY.Person[eid]["受伤程度"] = 0
    8. if eid == 0 then
    9. if math.random(10)> 2 then
    10. if WAR.Person[enemyid]["特效文字2"]== nil then
    11. WAR.Person[enemyid]["特效文字2"]="气墙·"..JY.Wugong[JY.Person[eid]["武功"..j]]["名称"].."护体"
    12. else WAR.Person[enemyid]["特效文字2"]="气墙·"..JY.Wugong[JY.Person[eid]["武功"..j]]["名称"].."护体".."+"..WAR.Person[enemyid]["特效文字2"]
    13. end
    14. WAR.Person[enemyid]["特效动画"]=math.fmod(JY.Person[eid]["武功"..j],10)+85
    15. dng = dng + 2000
    16. hurt = math.modf(hurt/10)
    17. end
    18. else if math.random(10)> 5 then
    19. if WAR.Person[enemyid]["特效文字2"]== nil then
    20. WAR.Person[enemyid]["特效文字2"]="气墙·"..JY.Wugong[JY.Person[eid]["武功"..j]]["名称"].."护体"
    21. else WAR.Person[enemyid]["特效文字2"]="气墙·"..JY.Wugong[JY.Person[eid]["武功"..j]]["名称"].."护体".."+"..WAR.Person[enemyid]["特效文字2"]
    22. end
    23. WAR.Person[enemyid]["特效动画"]=math.fmod(JY.Person[eid]["武功"..j],10)+85
    24. dng = dng + 1000
    25. hurt = math.modf(hurt/5)
    26. end
    27. end
    28. end
    29. end
    30. return hurt,ang,dng
    31. end
    复制代码

也不是什么了不起的东西,我只希望起到一个抛砖引玉的效果,还有就是为了带动DIY区的制作热情。以前看本区的网友都爱玩现有别人做好的东西,却不愿自己研究制作,感觉气氛不够啊!我对剧情制作没什么兴趣,所以只研究了武功的特效。现在就发上我这几天研究的代码吧,主要目的还是希望主角不要太脆皮了,原版金庸主角就算不练野球拳也是最强的,因为原版金庸主角是最硬的人物,别人都打不动。我玩金庸上千遍了,早就习惯了硬邦邦的主角了,不喜欢玩软骨头。
说下效果吧,就是主角如果练了龙象般若功,有80%的几率发动极意·龙象般若功护体,伤害减少90%,气防增加2000可与其它内功护体同时出,并同时显示出来,并且当生命低于500时,会自动消耗内力补满生命,免中毒,免内伤。
如果是队友或者敌人练了龙象般若功,有50%的几率发动动极意·龙象般若功护体,伤害减少80%,气防增加1000。没有补血特效,其它与主角一样。

另外,我补充说明下为什么要主角生命500以下自动补生命。不用说大家最不希望的就是主角比队友脆皮吧?为什么不是一直补血,而是低于500才补呢?实践证明,低于500才补满血是最实用的,否则不但没必要,而且你看自己总是满血也会很不爽的,最关键一点就是,太浪费内力了,你会发现自己血是满的,内力空了。只有这样才比较平衡,玩的有趣。。。

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-12-6 19:57 | 显示全部楼层
本帖最后由 铁血垃圾 于 2011-12-6 20:01 编辑

希望能有高手指点下,如何修改内功护体的概率啊!我想提高龙象菠萝功护体的概率并优先发动护体,怎么办呢?我做的这个特效是100%成功的,无法与龙象般若功护体挂钩啊。如果我想当龙象般若功护体时才有这种效果该怎么做呢?

点评

且現在開放了2个diy戰鬥函數應該不再用 drawname 了  发表于 2011-12-7 04:34
這想法較難实現因要用到戰鬥函數的核心  发表于 2011-12-7 04:30
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-6 20:07 | 显示全部楼层
看来楼主真的很喜欢龙象啊!

点评

我打算让练胡青牛医术后,太监变成男人,哈哈  发表于 2011-12-6 20:10
不是,随便找个武功基情一下,哈哈  发表于 2011-12-6 20:09
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-6 20:14 | 显示全部楼层
铁血垃圾 发表于 2011-12-6 19:57
希望能有高手指点下,如何修改内功护体的概率啊!我想提高龙象菠萝功护体的概率并优先发动护体,怎么办呢? ...

不大清楚 只不过用蓝大提供的 function War_DIY_WugongHurtLife(emenyid, wugong, hurt, ang, dng)可以对内功护体作额外的判定补偿

点评

这个我知道,但是我不知道内功护体是用什么函数来判断的,所以没法写了  发表于 2011-12-6 20:15
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-6 21:04 | 显示全部楼层
本帖最后由 deideilee 于 2011-12-6 21:10 编辑
铁血垃圾 发表于 2011-12-6 19:57
希望能有高手指点下,如何修改内功护体的概率啊!我想提高龙象菠萝功护体的概率并优先发动护体,怎么办呢? ...

  1. [/size][/font][/color]for i=1,10 do
  2. local kfid=JY.Person[eid]['武功'..i]

  3. if kfid>88 and kfid<109 and kfid~=97 then

  4. if kfid==95 then

  5. if myrandom(20,eid) then

  6. WAR.Person[emenyid]["特效文字2"]=JY.Wugong[kfid]['名称']..'蓄力'

  7. WAR.Person[emenyid]["特效动画"]=math.fmod(kfid,10)+85;

  8. local lv=math.modf(JY.Person[eid]['武功等级'..i]/100)+1;

  9. if WAR.tmp[200+eid]==nil or WAR.tmp[200+eid]==0 then

  10. WAR.tmp[200+eid]=lv*5;

  11. else

  12. WAR.tmp[200+eid]=WAR.tmp[200+eid]+lv*3;

  13. end

  14. if not inteam(eid) then

  15. dng=1000;

  16. end

  17. break;

  18. end

  19. end

  20. if myrandom(10,eid) then

  21. local lv=math.modf(JY.Person[eid]['武功等级'..i]/100)+1

  22. local wl=JY.Wugong[kfid]['攻击力'..lv]

  23. if wl>dng then

  24. dng=wl

  25. WAR.Person[emenyid]["特效文字2"]=JY.Wugong[kfid]['名称']..'护体'

  26. WAR.Person[emenyid]["特效动画"]=math.fmod(kfid,10)+85--JY.Wugong[kfid]["武功动画&音效"]

  27. end

  28. end

  29. end

  30. end
复制代码

这是027大的部分代码 完整的可去达摩堂找找 至于蓝大对这部修改了什么就不得而知了 希望对你有帮助 && 找到方法了也教我一下下哦


点评

你想出了护体后加气防就ang =ang + 1000就行了,另外代码还要改的地方就是护体与其他护体没有同时显示出来,所以我代码又加了点东西上去  发表于 2011-12-9 17:15
来看看吧,我代码已经成了,有画面的  发表于 2011-12-9 11:42
谢谢了,我也正在研究这段,呵呵  发表于 2011-12-6 21:35
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-7 05:11 | 显示全部楼层
本帖最后由 wklee3 于 2011-12-7 08:39 编辑

楼主看這个是否合用

function War_DIY_WugongHurtLife(emenyid, wugong, hurt, ang, dng)
        local pid,eid = WAR.Person[WAR.CurID]["人物编号"],WAR.Person[emenyid]["人物编号"];

          local f=false
        if eid == 0 then                                                                --主角?
           for j=1,10 do
            if JY.Person[eid]["武功"..j]==103 then f = true end                                --有否龙象        
          end

          if f then                                                                         --若有
             local fhp=math.modf(JY.Person[eid]["生命最大值"]-JY.Person[eid]["生命"])                  
           JY.Person[eid]["中毒程度"] = 0
           JY.Person[eid]["受伤程度"] = 0
           if math.random(100)>50 and JY.Person[eid]["内力"] > fhp  and fhp< math.floor(JY.Person[eid]["生命最大值"]/4) then                        -- 生命少於1/4 時 50% 發動消耗内力补满生命
               JY.Person[eid]["生命"]=JY.Person[eid]["生命最大值"]
             JY.Person[eid]["内力"]=JY.Person[eid]["内力"]-fhp
           end
          end
        end
        
        return hurt, ang, dng;        
end

當然這不是100%如你所想的
還有,這是未經測試的若有bug,只能看著自己俢改了

点评

嗯,后来想想我也明白了,就是随机出现1到100,如果数大于50就干嘛干嘛的。  发表于 2011-12-7 16:57
還是用 JY.Person[0]["生命"]<500 這个判斷, fhp< math.floor(JY.Person[eid]["生命最大值"]/4) 好像錯了  发表于 2011-12-7 13:15
試試 >0 (100%) 便知了  发表于 2011-12-7 12:57
math.random(100) 是制做一个 1-100 間的隨機数  发表于 2011-12-7 12:55
math.random(100)>50 你这个几率的函数是50%的意思吗?为什么不是“=”?我刚才测试,貌似几率为0,没有补血效果。  发表于 2011-12-7 12:46
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-7 14:08 | 显示全部楼层
回复 btxdex 的帖子

這是今天剛用新開放的函數重寫的, 也不是甚麼好東西, 高手們還望多指正, 且剛剛寫好錯漏難免


function War_DIY_WugongHurtLife(enemyid, wugong, hurt, ang, dng)
    local pid,eid = WAR.Person[WAR.CurID]["人物编号"],WAR.Person[enemyid]["人物编号"];
      local f=false


    if pid==0 then
--神偷
       for ii=1,3 do            -- 每次攻擊偷3次
        local h=0
        for j=1,4 do if JY.Person[eid]["携带物品"..j] >= 0 then h=h+1 end end    --先看有无東西可偷
        if h >0 then                                --有
          local h1=math.random(4)
          while JY.Person[eid]["携带物品"..h1]==-1 do h1=math.random(4) end
          if math.random(100) >= 50 then                    --50% 成功偷得            
--            if JY.Person[eid]["携带物品"..h1] >= 0 then
            JY.Person[eid]["携带物品数量"..h1] = JY.Person[eid]["携带物品数量"..h1]-1
            instruct_32(JY.Person[eid]["携带物品"..h1],1)
            if JY.Person[eid]["携带物品数量"..h1]<=0 then JY.Person[eid]["携带物品"..h1]=-1 end
--            end
          end
        end
      end

--中毒 被攻擊者50%中毒20点 (當然內傷可也如此diy)
      if math.random(100) >= 50 then
         if JY.Person[eid]["中毒程度"]<80 then
           JY.Person[eid]["中毒程度"] = JY.Person[eid]["中毒程度"] + 20 else JY.Person[eid]["中毒程度"] = 100
         end
      end

    end



    return hurt, ang, dng;
   
end

点评

介个。。。最终版的diy我没注意,汗一个  发表于 2011-12-7 22:17
TCHEXI最终版里公布的,你居然没看见?  发表于 2011-12-7 22:06
谢!  发表于 2011-12-7 21:20
不错,请问function War_DIY_WugongHurtLife(enemyid, wugong, hurt, ang, dng)这个函数在哪公布的?我一致没找到。。。  发表于 2011-12-7 20:48
找過, 卻找不到; 能請教在那嗎? 不過心想只是不多的代碼,也就照發算了  发表于 2011-12-7 16:56
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-7 13:19 | 显示全部楼层
回复 wklee3 的帖子

能够再帮忙写一个关于进攻函数的代码的例子吗?我想参考一下
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-7 12:21 | 显示全部楼层
看是都看懂了 就是不会写
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
头像被屏蔽
发表于 2011-12-7 10:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-7 10:14 | 显示全部楼层
本帖最后由 wklee3 于 2011-12-7 10:16 编辑

local a,b =math.modf(10/4)

a=2
b=0.25

local a=math.floor(10/4)

a=2
(沒有第2个数回傳)

点评

一定要整数, 出了小数會有error及跳出  发表于 2011-12-7 11:43
我感觉是取整数,所以保留了,将来修改做除法什么的出了小数就麻烦了  发表于 2011-12-7 11:33
在這是一樣效果, 蒼半源碼多用 math.modf, 可能是少按点鍵吧?  发表于 2011-12-7 10:29
明白了,谢谢大神。但是fhp为什么要用math.modf呢?  发表于 2011-12-7 10:21
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-12-7 22:16 | 显示全部楼层
本帖最后由 铁血垃圾 于 2011-12-7 22:58 编辑



复制代码

  1. function War_DIY_WugongHurtLife(enemyid, wugong, hurt, ang, dng)
  2. local pid,eid = WAR.Person[WAR.CurID]["人物编号"],WAR.Person[enemyid]["人物编号"];
  3. local f=false
  4. if eid == 0 then
  5. for j=1,10 do
  6. if JY.Person[eid]["武功"..j]==103 then
  7. f = true
  8. end
  9. if f and math.random(100)>0 then
  10. local fhp=math.modf(JY.Person[eid]["生命最大值"]-JY.Person[eid]["生命"])
  11. JY.Person[eid]["中毒程度"] = 0
  12. JY.Person[eid]["受伤程度"] = 0
  13. WAR.Person[enemyid]["特效文字1"]=JY.Wugong[JY.Person[eid]["武功"..j]]["名称"].."护体"
  14. WAR.Person[enemyid]["特效动画"]=math.fmod(JY.Person[eid]["武功"..j],10)+85
  15. if JY.Person[eid]["内力"] > fhp and JY.Person[eid]["生命"] < 500 then
  16. JY.Person[eid]["生命"]=JY.Person[eid]["生命最大值"]
  17. JY.Person[eid]["内力"]=JY.Person[eid]["内力"]-fhp
  18. end
  19. end
  20. end
  21. end
  22. return hurt, ang, dng
  23. end
复制代码

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-12-7 22:18 | 显示全部楼层
本帖最后由 铁血垃圾 于 2011-12-7 22:44 编辑

以上代码,我第13句与第14句代码出了问题,我原本打算是判定的是什么武功就显示什么字,如代码判定的是103(龙象般若功),应该显示特效文字龙象般若功护体才对,可是我这出现的是普通攻击护体,高手帮我看看啊!而且我打电脑,是MISS,电脑打我也是MISS

function War_DIY_WugongHurtLife(enemyid, wugong, hurt, ang, dng)
local pid,eid = WAR.Person[WAR.CurID]["人物编号"],WAR.Person[enemyid]["人物编号"];
local f=false
         if eid == 0 then        
                 for j=1,10 do
                                 if JY.Person[eid]["武功"..j]==103 then
                                       f = true
                                 end  
                                            if f and math.random(100)>0 then         
                                  local fhp=math.modf(JY.Person[eid]["生命最大值"]-JY.Person[eid]["生命"])   
                                                JY.Person[eid]["中毒程度"] = 0
                                                JY.Person[eid]["受伤程度"] = 0
                                                WAR.Person[enemyid]["特效文字1"]=JY.Wugong[JY.Person[eid]["武功"..j]]["名称"].."护体"
                               WAR.Person[enemyid]["特效动画"]=math.fmod(JY.Person[eid]["武功"..j],10)+85   
                                      if  JY.Person[eid]["内力"] > fhp and JY.Person[eid]["生命"] < 500 then   
                                                  JY.Person[eid]["生命"]=JY.Person[eid]["生命最大值"]
                                                JY.Person[eid]["内力"]=JY.Person[eid]["内力"]-fhp
                                      end
                                             end
                  end
         end
end
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-7 22:44 | 显示全部楼层
关于miss,会不会是少加了        return hurt, ang, dng;这句,主要这个函数我才刚注意到,没来得及实验呢

点评

我已经改好了,楼下就是了,刚才是因为我提早结束了循环。那个变量就不用定义了,谢谢了  发表于 2011-12-7 23:18
local kfid=JY.Person[eid]['武功'..i]就像这个样子  发表于 2011-12-7 23:12
可以用local定义一个变量再进行赋值,以后只改这个变量的赋值就完了。不知道你想要的是不是这个意思。  发表于 2011-12-7 23:04
但是我想想让我想让第13句第14句代码的武功与第6句代码的武功相同,可是我又不想用常量,以免以后修改代码要一起修改就麻烦了,该怎么做呢?  发表于 2011-12-7 22:48
果然是少了这句话,多谢指点啊!  发表于 2011-12-7 22:47
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-12-7 23:06 | 显示全部楼层
  1. function War_DIY_WugongHurtLife(enemyid, wugong, hurt, ang, dng)
  2. local pid,eid = WAR.Person[WAR.CurID]["人物编号"],WAR.Person[enemyid]["人物编号"];
  3. local f=false
  4. if eid == 0 then
  5. for j=1,10 do
  6. if JY.Person[eid]["武功"..j]==103 then
  7. f = true
  8. if f and math.random(100)>0 then
  9. local fhp=math.modf(JY.Person[eid]["生命最大值"]-JY.Person[eid]["生命"])
  10. JY.Person[eid]["中毒程度"] = 0
  11. JY.Person[eid]["受伤程度"] = 0
  12. WAR.Person[enemyid]["特效文字2"]=JY.Wugong[JY.Person[eid]["武功"..j]]["名称"].."护体"
  13. WAR.Person[enemyid]["特效动画"]=math.fmod(JY.Person[eid]["武功"..j],10)+85
  14. if JY.Person[eid]["内力"] > fhp and JY.Person[eid]["生命"] < 500 then
  15. JY.Person[eid]["生命"]=JY.Person[eid]["生命最大值"]
  16. JY.Person[eid]["内力"]=JY.Person[eid]["内力"]-fhp
  17. end
  18. end
  19. end
  20. end
  21. end
  22. return hurt, ang, dng
  23. end
复制代码

点评

可以啊!我现在的代码都加上了,伤害,气防的运算倒是很简单,主要还是想先做出一个比较强壮的框架出来,然后往里面加东西就是了  发表于 2011-12-9 17:01
嗯嗯~~出现护体后还应该对 hurt、ang和dng作一些运算吧?  发表于 2011-12-9 11:58
我这是在试验啊!我游戏的时候这些数据会稍作调整的,测试的时候如果老不出,我怎么知道效果?  发表于 2011-12-7 23:14
math.random(100)>0这个还判断神马东西啊  发表于 2011-12-7 23:11
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-7 23:10 | 显示全部楼层
本帖最后由 tchexi 于 2011-12-7 23:21 编辑

好了,本层作废,留待以后更新吧

点评

没什么变化是因为/2不明显,你/5试试就知道了。另外,这个应该不会有小数的,我记得谁说过的,不会有小数  发表于 2011-12-8 22:51
你最好加上那个,不然的话可能会出小数  发表于 2011-12-8 21:07
hurt=hurt/2就可以了,我正好写了一个  发表于 2011-12-8 09:11
请问受到的伤害减半怎么写代码啊?我加了一句hurt = math.modf(hurt/2),结果没变化。  发表于 2011-12-7 23:46
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-12-7 23:10 | 显示全部楼层
本帖最后由 铁血垃圾 于 2011-12-7 23:16 编辑

好了,问题解决了,问题出在end用早了,大家看我前面的代码第8句用了个end结束了循环,导致我后面出现普通攻击护体,楼上的代码就是把那个end挪到下面来了,现在我100%龙象般若功护体了,可以与龙人版兼容。有兴趣的可以拿去玩玩,如果觉得100%概率太高了,可以很方便的修改代码,把第8句的0改成50就是50%的概率护体了,不过这个特效护体可以与其它内功护体同时出的,比较爽,哈哈
顺便介绍下这个内功的功能啊!如果主角练了龙象般若功,那么有一定几率(默认100%)护体,消耗内力补满生命,前提是生命小于500
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-7 23:18 | 显示全部楼层
回复 铁血垃圾 的帖子

恭喜lz,呵呵,终于大功告成了,不过这个特效似乎是借鉴那个4mm强化的补丁来的吧?期待新的想法和思路。主要我也正在研究这一段,但是没注意到蓝大公布的1.2最终版里的那个新函数,纠结许久

点评

我先爽去了,哈哈  发表于 2011-12-7 23:19
是的,刚学,呵呵  发表于 2011-12-7 23:19
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-8 01:00 | 显示全部楼层
这样就空出好几个格子不用去练恢复内伤的武功了.本身带的破防还有在吗?

点评

自然不影响,呵呵  发表于 2011-12-8 01:14
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-8 02:33 | 显示全部楼层
回复 铁血垃圾 的帖子

恭喜楼主, 開始打做自己的金庸武俠世界

点评

呵呵, 进步是源自你本身對這的熱愛  发表于 2011-12-8 12:09
我发现我目的达到了,先爽爽再说,以后再继续研究,哈哈哈。其中真的要感谢您对我的帮助啊!不然我也不会进步这么快了,多谢了。  发表于 2011-12-8 08:52
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-8 17:29 | 显示全部楼层
回复 铁血垃圾 的帖子

看了一下代码,应该在开头加一个判定:
if WAR.Person[WAR.CurID]["敌方"] == true then               
do return;end
   end

这样既避免万一敌方也会龙象的话就会出错误啦~

点评

我今天打侠客岛,龙岛主的时候没有出错,他比木岛主还难打,2800的血,好不容易被我磨完了,他又补满了,要知道我还把龙象伤害减轻80%了,幸亏他没什么补内力的药,不然我会崩溃的,打了40多分钟才把他打死,哈哈  发表于 2011-12-8 21:05
会吗?不知道,我的代码已经改了,不光是主角,只要是练了龙象的人都有这效果了  发表于 2011-12-8 21:03
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-12-9 19:09 | 显示全部楼层
  1. function War_DIY_WugongHurtLife(enemyid, wugong, hurt, ang, dng)
  2. local pid,eid = WAR.Person[WAR.CurID]["人物编号"],WAR.Person[enemyid]["人物编号"];
  3. local f=false
  4. for j=1,10 do
  5. if JY.Person[eid]["武功"..j]==103 then
  6. if eid == 0 then
  7. if math.random(10)> 2 then
  8. local fhp=math.modf(JY.Person[eid]["生命最大值"]-JY.Person[eid]["生命"])
  9. JY.Person[eid]["中毒程度"] = 0
  10. JY.Person[eid]["受伤程度"] = 0
  11. if WAR.Person[enemyid]["特效文字2"]== nil then
  12. WAR.Person[enemyid]["特效文字2"]="极意·"..JY.Wugong[JY.Person[eid]["武功"..j]]["名称"].."护体"
  13. else WAR.Person[enemyid]["特效文字2"]="极意·"..JY.Wugong[JY.Person[eid]["武功"..j]]["名称"].."护体".."+"..WAR.Person[enemyid]["特效文字2"]
  14. end
  15. WAR.Person[enemyid]["特效动画"]=math.fmod(JY.Person[eid]["武功"..j],10)+85
  16. if JY.Person[eid]["内力"] > fhp and JY.Person[eid]["生命"] < 500 then
  17. JY.Person[eid]["生命"]=JY.Person[eid]["生命最大值"]
  18. JY.Person[eid]["内力"]=JY.Person[eid]["内力"]-fhp
  19. end
  20. dng = dng + 2000
  21. return math.modf(hurt/10), ang, dng
  22. end
  23. else if math.random(10)> 5 then
  24. JY.Person[eid]["中毒程度"] = 0
  25. JY.Person[eid]["受伤程度"] = 0
  26. if WAR.Person[enemyid]["特效文字2"]== nil then
  27. WAR.Person[enemyid]["特效文字2"]="极意·"..JY.Wugong[JY.Person[eid]["武功"..j]]["名称"].."护体"
  28. else WAR.Person[enemyid]["特效文字2"]="极意·"..JY.Wugong[JY.Person[eid]["武功"..j]]["名称"].."护体".."+"..WAR.Person[enemyid]["特效文字2"]
  29. end
  30. WAR.Person[enemyid]["特效动画"]=math.fmod(JY.Person[eid]["武功"..j],10)+85
  31. dng = dng + 1000
  32. return math.modf(hurt/5), ang, dng
  33. end
  34. end
  35. end
  36. end
  37. return hurt,ang,dng
  38. end
复制代码

点评

我觉得DIY论坛就该如此,何必加密呢?  发表于 2011-12-9 19:26
lz好有共享精神啊,鼓励哦  发表于 2011-12-9 19:22
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-9 20:05 | 显示全部楼层
都看懂了,但是写就。。。。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-22 16:09 | 显示全部楼层
有爱,这段代码怎么用啊,添加到diy.lua么?

点评

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

本版积分规则

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

GMT+8, 2024-12-23 19:21

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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