铁血丹心

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

新增人物的击破/实战显示

[复制链接]
发表于 2012-2-16 11:59 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 二宫和也 于 2012-2-16 12:01 编辑

我搜了一下貌似还没有人发过关于这个的帖子,如有类同实属巧合,老鸟们请无视

这几天玩源码版想做个新的人物(教程看这里http://www.txdx.net/thread-531703-1-1.html),但发现新增人物无法显示击破数,用SetS也无法设置,在源码里翻了半天之后发现跟击破有关的语句都有i=1,51之类循环。我一开始以为51是人物的编号,试过之后才发现更像是可加入队友的数量,于是顺着线索找下去在CY_CC.Table里发现如下语句
  1. TeamP={  
  2. 0,1,2,4,9,16,
  3. 17,25,28,29,30,
  4. 35,36,37,38,44,
  5. 45,47,48,49,51,
  6. 52,53,54,55,56,
  7. 58,59,63,66,72,
  8. 73,74,75,76,77,
  9. 78,79,80,81,82,
  10. 83,84,85,86,87,
  11. 88,89,90,91,92};
复制代码
刚好51个数字,代表着可加入队友的人物编号,所以只要把新的人物编号加在后面,然后把CY.Fight和CY_Main里面所有与击破有关的循环从1,51改为1,52就可以正常显示与使用了,有如下几处
  1. --        CY.Main里面有两处
  2. for j=1,51 do --显示
  3.           if id==TeamP[j] then
  4.              local num,cl=GetS(5,j,6,5)-2,C_GOLD;
  5.              if num>499 then
  6.                 num="极"
  7.                 cl=C_RED
  8.              end
  9.              DrawString(x1+size*2+8,y1+h*i,num,cl,size)
  10.              break
  11.           end
  12.     end

  13. for i=1,51 do --初始设置
  14.        SetS(5,i,6,5,2)     
  15. end

  16. --CY.Fight里面有4处
  17.              if inteam(pid) then --加连击
  18.                    for q=1,51 do
  19.                         if TeamP[q]==pid then
  20.                             local jp=math.modf((GetS(5,q,6,5)/25)+1);
  21.                             if jp>20 then jp=20 end
  22.                             LJ=LJ+jp
  23.                             break
  24.                         end
  25.                     end
  26.              end   

  27.              if inteam(pid) then --加暴击
  28.                    for q=1,51 do
  29.                         if TeamP[q]==pid then
  30.                             local jp=math.modf((GetS(5,q,6,5)/25)+1);
  31.                             if jp>20 then jp=20 end
  32.                             BJ=BJ+jp
  33.                             break
  34.                         end
  35.                     end
  36.              end   

  37.     if inteam(pp) then --加发动机率
  38.        for q=1,51 do
  39.             if TeamP[q]==pp then
  40.                 local jp=math.modf((GetS(5,q,6,5)/25)+1);
  41.                 if jp>20 then jp=20 end
  42.                 p=p+jp
  43.                 break
  44.             end
  45.         end
  46.     end   

  47.                 for i=1,51 do --加击破数
  48.                     if pid==TeamP[i] then
  49.                         local szexp=1;
  50.                         if eid<191 and eid>0 then
  51.                           szexp=WARSZJY[eid]
  52.                         end                        
  53.                                        
  54.                         SetS(5,i,6,5,GetS(5,i,6,5)+szexp)
  55.                         
  56.                         WAR.SZJPYX[eid]=1;
  57.                         break
  58.                     end
  59.                 end
复制代码
非源码版的DIY版也可以用,不过要把整个函数c/p到DIY文件里比较麻烦...





【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-2-16 12:37 | 显示全部楼层
在TeamP这表中加个TeamP.Num的子项
值就赋为有多少人,比如原来为51,你加了一个就是52
再把代码中所有for循环处的i=1,51这样的地方改为i=1,TeamP.Num
这样以后添加人物就方便了,直接改TeamP.Num的值就行了
代码中的其他地方就不用改了

点评

战斗系统上的修改基本上做好了。DEMO的剧本对话写了70%左右,剩下需要添加剧情人物武功场景等等等。。。乐观地说,剩余的大部分是体力活。消极地说,进度很慢。。。。  发表于 2012-2-16 13:53
lua不难,程序里面magic number多了,看起来很头疼  发表于 2012-2-16 13:21
用#TeamP当然没问题 话说新的武者修罗现在制作进度如何哦?好久没消息了  发表于 2012-2-16 13:11
LUA还难啊 学习一下,很快就能掌握的  发表于 2012-2-16 13:01
是不是可以直接用#TeamP  发表于 2012-2-16 13:00
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2012-2-16 12:50 | 显示全部楼层
本帖最后由 二宫和也 于 2012-2-16 12:57 编辑

回复 tsmdsyp 的帖子

请问大人如何在表里加那样的子项?我对lua的语法没啥研究-_-

原来下面加个TeamP.Num=xxx就好了 Orz
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-2-16 12:57 | 显示全部楼层
只要定义了表,随时都能添加和更改子项的内容
你可以在T表下面加一句TeamP.Num=52就行了

点评

俺刚刚发现了这点,把问题想得太复杂了-_-,谢谢!  发表于 2012-2-16 12:59
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-12-23 23:35

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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