铁血丹心

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

第二讲 人物数据的修改

  [复制链接]
发表于 2011-9-29 16:24 | 显示全部楼层 |阅读模式
本帖最后由 蓝烟清 于 2011-10-19 15:27 编辑

开始第二讲,人物数据的修改

2.1   介绍与遗留问题
      学习目标:理解人物数据的定义,以及学会如何操作数据
      遗留难点:无


2.2   定义
      JY.PersonNum=0;      --人物总数
      JY.Person={};        --人物数据

2.3   具体参数
pid指的是人物的编号,具体每个人物的编号可下载附件查看
修改就很简单了,直接找到人物编号,修改成相应的数值就可以了
  1. JY.Person[pid]["头像代号"] = 1;        --头像
  2. JY.Person[pid]["生命增长"] = 10;        --每级可增长的生命量
  3. JY.Person[pid]["姓名"] = "主角";        --名字
  4. JY.Person[pid]["外号"] = "强力党";        --称号
  5. JY.Person[pid]["性别"] = 0;        --性别,0男,1女,2太监
  6. JY.Person[pid]["等级"] = 1;        --等级
  7. JY.Person[pid]["经验"] = 0;        --人物经验值
  8. JY.Person[pid]["生命"] = 50;        --生命值
  9. JY.Person[pid]["生命最大值"] = 50;        --生命上限
  10. JY.Person[pid]["受伤程度"] = 0;        --内伤
  11. JY.Person[pid]["中毒程度"] = 0;        --中毒
  12. JY.Person[pid]["体力"] = 100;        --体力值
  13. JY.Person[pid]["物品修炼点数"] = 0;        --当前修练物品所需要的经验值
  14. JY.Person[pid]["武器"] = -1;        --当前装备的武器编号
  15. JY.Person[pid]["防具"] = -1;        --当前装备的防具编号
  16. JY.Person[pid]["出招动画帧数1"] = 10; --人物出招的动作,一共定义五个,出招动画帧数1....出招动画帧数5
  17. JY.Person[pid]["出招动画延迟1"] = 0;        --人物每个出招动作之后的延迟时间,与上面对应,也是五个
  18. JY.Person[pid]["武功音效延迟1"] = 5; --每个出招动作配合的声音,与上面对应,也是五个
  19. JY.Person[pid]["内力性质"] = 0;  --内力性质,0阴性,1阳性,2调和
  20. JY.Person[pid]["内力"] = 100; --内力值
  21. JY.Person[pid]["内力最大值"] = 100;  --内力上限
  22. JY.Person[pid]["攻击力"] = 30;   --人物攻击力
  23. JY.Person[pid]["轻功"] = 30;   --人物轻功
  24. JY.Person[pid]["防御力"] = 30;  --人物防御力
  25. JY.Person[pid]["医疗能力"] = 30;  --人物医疗能力
  26. JY.Person[pid]["用毒能力"] = 30;  --人物用毒能力
  27. JY.Person[pid]["解毒能力"] = 30;  --人物解毒能力
  28. JY.Person[pid]["抗毒能力"] = 30;  --人物抗毒能力
  29. JY.Person[pid]["拳掌功夫"] = 30;  --人物拳掌功夫
  30. JY.Person[pid]["御剑能力"] = 30;  --人物御剑能力
  31. JY.Person[pid]["耍刀技巧"] = 30;  --人物耍刀技巧
  32. JY.Person[pid]["特殊兵器"] = 30;  --人物特殊兵器
  33. JY.Person[pid]["暗器技巧"] = 30;  --人物暗器技巧
  34. JY.Person[pid]["武学常识"] = 30;  --人物武学常识,苍炎似乎没用这个,实战修改还未公开
  35. JY.Person[pid]["品德"] = 100;  --道德值
  36. JY.Person[pid]["攻击带毒"] = 100;  --人物攻击带毒
  37. JY.Person[pid]["左右互搏"] = 0;  --0没学会,1学会
  38. JY.Person[pid]["声望"] = 0;  --苍炎似乎没用这参数
  39. JY.Person[pid]["资质"] = 80;   --人物资质
  40. JY.Person[pid]["修炼物品"] = 0;  --当前修练的物品编号
  41. JY.Person[pid]["修炼点数"] = 0;  --当前拥有的秘笈修炼经验值
  42. JY.Person[pid]["武功1"] = 0;  --人物已习得的武功编号,一共可定义10个,武功1...武功10
  43. JY.Person[pid]["武功等级1"] = 0;  --对应武功的等级,同样的定义10个,0一级,900十级,999极
  44. JY.Person[pid]["携带物品1"] = 0;  --人物随身携带的物品,一共可定义4个,携带物品1...携带物品4
  45. JY.Person[pid]["携带物品数量1"] = 0;  --对应随身携带物品的数量,一共4个。 把其收为队伍,身上的东西将会归公。。。
复制代码
2.4   数据合法范围
但是每个数据都会有一个合法的范围,它在CC.PersonAttribMax中定义
  1. CC.PersonAttribMax={};             --人物属性最大值
  2. CC.PersonAttribMax["经验"]=60000,
  3. CC.PersonAttribMax["修炼点数"]=30000,
  4. CC.PersonAttribMax["生命最大值"]=999,
  5. CC.PersonAttribMax["受伤程度"]=100,
  6. CC.PersonAttribMax["中毒程度"]=100,
  7. CC.PersonAttribMax["内力最大值"]=5000,
  8. CC.PersonAttribMax["攻击力"]=500,
  9. CC.PersonAttribMax["防御力"]=500,
  10. CC.PersonAttribMax["轻功"]=500,
  11. CC.PersonAttribMax["医疗能力"]=240,
  12. CC.PersonAttribMax["用毒能力"]=240,
  13. CC.PersonAttribMax["解毒能力"]=240,
  14. CC.PersonAttribMax["抗毒能力"]=240,
  15. CC.PersonAttribMax["拳掌功夫"]=240,
  16. CC.PersonAttribMax["御剑能力"]=240;
  17. CC.PersonAttribMax["耍刀技巧"]=240;
  18. CC.PersonAttribMax["特殊兵器"]=240;
  19. CC.PersonAttribMax["暗器技巧"]=240;
  20. CC.PersonAttribMax["武学常识"]=240;
  21. CC.PersonAttribMax["品德"]=100;
  22. CC.PersonAttribMax["资质"]=100;
  23. CC.PersonAttribMax["攻击带毒"]=240;
复制代码
以上的数据并不是十分准确,只是提供一个参考,比如内力最大值与资质挂勾,公式是maxNeiLi = 9500-(math.floor((JY.Person[pid]["资质"]-1)/15)

2.5   实例
2.5.1    修改主角生命上限为最大
  1. JY.Person[0]["生命最大值"] = CC.PersonAttribMax["生命最大值"];
  2. JY.Person[0]["生命"] = JY.Person[0]["生命最大值"];
复制代码
2.5.2    主角学会易筋经
学功夫必须得先判断哪个武功位置是空的,还是如果已经满十个武功之后怎么处理
  1. local pid = 0;  --主角的编号0
  2. local wugong = 108;                --易筋经的武功编号
  3. local flag = 1;  --标志是否没有学会
  4. for i=1, 10 do
  5.         if JY.Person[pid]["武功"..i] == wugong then                --先判断之前有没有学会
  6.                 DrawStrBoxWaitKey("你已经学会了易筋经",C_ORANGE,CC.DefaultFont);
  7.                 flag = 0;
  8.                 break;
  9.         end
  10. end

  11. if flag == 1 then   --如果还没有学会,那么就开始学习吧
  12.         local isfull = 1;  --标志武功是否已经学满
  13.         for i=1, 10 do
  14.                 if JY.Person[pid]["武功"..i] == 0 then   --如果这个格子没有武功
  15.                         JY.Person[pid]["武功"..i] = wugong;
  16.                         JY.Person[pid]["武功等级"..i] = 999;  --学会直接为极
  17.                         isfull = 0;  --能学,就说明没有满
  18.                         break;
  19.                 end
  20.         end
  21.         
  22.         if isfull == 1 then   --如果已经学满了十个武功
  23.                 JY.Person[pid]["武功10"] = wugong;                --直接洗掉最后一个武功,当然你也可以洗其它位置的,或者说直接提示满武功不给学都行
  24.                 JY.Person[pid]["武功等级10"] = 999;  --等级为极
  25.         end
  26. end
复制代码
2.5.3    关于经验值的修改
      感谢“kutree”提供
      经验值的修改比较抽象,如果你不想理解很透的话直接看后面那个用法就行了,原理讲得比较多,呵呵。
      关于需要多少经验升级,有一个表定义,每个数值就是对应等级所需要的经验值
  1. CC.Exp={ 50, 150, 300 ,500 , 750 ,
  2. 1050, 1400, 1800 ,2250 , 2750 ,
  3. 3850, 5050, 6350 ,7750 , 9250 ,
  4. 10850, 12550, 14350 ,16750 , 18250 ,
  5. 21400, 24700, 28150 ,31750 , 35500 ,
  6. 39400, 43450, 47650 ,52000 , 60000 };
复制代码
举个例子说:如果你的等级是1,那么你升级所需要的经验就是50-0=50,就会在经验值升级的数据后面显示 0/50
      如果你的等级是2,那么升级所需要的经验就是150-50 = 100,经验数据就会显示 0/100
      但是在苍炎中,经验需要双倍才能升级,也就是说1级时经验会显示  0/100 ,2级时 0/200,3级时 0/400,依此类推。升级   所需要的经验是固定的,与资质没有关系(所以说很佩服那位兄弟,不打木桩通关的,要知道苍炎可以原版升级需要两倍的经验,呵呵)

      了解好上面的,接着说经验值的修改,把人物设置成1级,并且经验是200
      JY.Person[0]["等级"] = 1;
      JY.Person[0]["经验"] = 200;
      此时,人物状态经验值上将会显示  400/100,设置的经验也是两倍,呵呵。
      再改个数据,把人物设置成2级,并且经验是200
      JY.Person[0]["等级"] = 2;
      JY.Person[0]["经验"] = 200;
      此时,人物状态经验值上将会显示  300/200, 同样设置经验为200,但是实际只有300。那1级升级的100经验已经被隐藏起来了,呵呵。

      如果要设置人物有升一级的经验,那么直接使用  JY.Person[0]["经验"] = CC.Exp[JY.Person[0]["等级"]];
      如果要直接升满级经验    JY.Person[0]["经验"] = CC.Exp[#CC.Exp]
      经验有了,咱们调用   War_AddPersonLVUP(0);   升级函数给主角直接升级

2.6   结束语
      人物数据的修改是比较常见的操作
      目前有一个通用增加人物数据的函数,这里也介绍一下
      AddPersonAttrib(pid, attname, value)
      三个参数,pid人物编号,attname属性的名字,value改变的值,如果为负数则减少
      使用方法:AddPersonAttrib(0, "攻击力", 100);    --主角的攻击力增加100,注意是增加哦


2.7   补充说明
      2.7.1   实战数据修改
      实战位置:GetS(5,i,6,5);  i为可入队的第i个人物,1表示主角。 具体入队人物在CC.PersonExit列表中,可以下面的楼层参考
      SetS(5,1,6,5,500+2);         --修改主角实战数据,实战数据要-2
      JY.SZJPJC[1] = "" .. GetS(5,1,6,5);   --改变属性面版上的显示

      2.7.2   主角天赋数据修改
      天赋位置:GetS(4, 5, 5, 5);   --1拳 2剑 3刀 4特 5罡 6仁 7医
      修改主角天赋 :SetS(4, 5, 5, 5,5);   --修改为天罡
      修改面版上的显示:JY.Thing[201][WZ7] = 5;    --必须同时修改,否则存档后跳出


      第二讲基本上到这里结束了,如果还有对人物数据修改有疑问或者需要了解的,可以在帖子问
下一讲将会是物品数据的修改





全物品代码下载:





本帖子中包含更多资源

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

x

评分

参与人数 1声望 +10 收起 理由
陈建北 + 10 好贴奖励

查看全部评分

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-9-29 17:35 | 显示全部楼层
谢谢,辛苦了……好不容易有一篇能看懂的,而且够详细……

点评

不客气,人物数据修改有不明白的尽管问  发表于 2011-9-29 17:43
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-9-29 19:17 | 显示全部楼层
本帖最后由 wklee3 于 2011-9-29 19:23 编辑

回复 蓝烟清 的帖子

CC_PersonAttribMax.txt文件的内容,

CC.PersonAttribMax["经验"]=60000,
CC.PersonAttribMax["修炼点数"]=30000,
CC.PersonAttribMax["生命最大值"]=999,
CC.PersonAttribMax["受伤程度"]=100,
CC.PersonAttribMax["中毒程度"]=100,
CC.PersonAttribMax["内力最大值"]=5000,
CC.PersonAttribMax["攻击力"]=500,
CC.PersonAttribMax["防御力"]=500,
CC.PersonAttribMax["轻功"]=500,
CC.PersonAttribMax["医疗能力"]=240,
CC.PersonAttribMax["用毒能力"]=240,
CC.PersonAttribMax["解毒能力"]=240,
CC.PersonAttribMax["抗毒能力"]=240,
CC.PersonAttribMax["拳掌功夫"]=240,

点评

很感谢。内力上限定义的是5000,但是S大对内力上限设置了那个公式。。。。其它数据不能超过最大值,S大在战斗结束之后有验证的,超过就会跳出  发表于 2011-9-29 21:17
似乎内力最大值是 5000+.... 而不是 9500-......  发表于 2011-9-29 19:56
期待LZ更多的講座  发表于 2011-9-29 19:30
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-9-29 19:36 | 显示全部楼层
本帖最后由 kutree 于 2011-9-29 19:54 编辑

补充两点吧。
第一点:“实战经验”的修改
从其他朋友那里学到的实战经验的查询及修改方式:
  1. SetS(5,2,6,5,1000) --实战经验修改(2表可入队列表中第二位)
  2. JY.SZJPJC[2] = "" .. GetS(5,2,6,5)
复制代码
其中红色的字就表示要修改的人物,不过不是任务代码,而是这位队友在可加入队友的列表中排在第几位。
那么这些队友就有:

  1. 主角
  2. 胡斐 程灵素 阎基 张无忌 胡青牛
  3. 王难姑 蓝凤凰 平一指 田伯光 郭靖(南山)
  4. 令狐冲 林平之 狄云 石破天 岳老三
  5. 薛慕华 阿紫 游坦之 虚竹 慕容复
  6. 花铁干 段誉 袁承志 郭靖(降龙) 黄蓉
  7. 杨过 小龙女 程瑛 小昭 田归农
  8. 任盈盈 霍青桐 陈家洛 王语嫣 萧中慧
  9. 梅超风 岳灵珊 张召重 朱九真 宋青书
  10. 何铁手 霍都 贝海石 阿珂 苏荃
  11. 祖千秋 人厨子 钟灵 温青青 4MM之一
复制代码

主角为1,其他依次排列,比如2就是胡斐,3就是程灵素了

第二点:“经验”参数的意义
经验这个数字确实代表了人物的经验,但是并不是我们在状态面板上看到的数值。
经验表示的是人物的总经验,面板上现实的仅仅是升到相应等级后余下的经验。

游戏中定义了一个表用于储存每一级所需的经验:
  1. CC.Exp={ 50, 150, 300 ,500 , 750 ,
  2. 1050, 1400, 1800 ,2250 , 2750 ,
  3. 3850, 5050, 6350 ,7750 , 9250 ,
  4. 10850, 12550, 14350 ,16750 , 18250 ,
  5. 21400, 24700, 28150 ,31750 , 35500 ,
  6. 39400, 43450, 47650 ,52000 , 60000 };
复制代码

不过有意思的是,苍炎里面实际显示的数值似乎是这些数字的二倍。
比如第3个数为300而第4个数为500,表示4级要升级为5级就需要500-300点经验,实际却是400点,可能S大用了一些等效算式让显示的不同吧。
不过不要紧,我们在处理经验时仍旧参照这些数值就可以了。

比如我想让新开档主角升为30级,而且为了让暗器以及医疗用毒和解毒尽量高(发现如果一次升多级,这些值好像仅仅会提升升一级的数值),所以用如下代码:
  1. while JY.Person[0]["等级"] ~= 30 do --是否满级
  2. JY.Person[0]["经验"] = CC.Exp[JY.Person[0]["等级"]];
  3. War_AddPersonLVUP(0);
  4. end
复制代码
原理就是利用循环,让主角的经验一次次的达到升级所需的量。

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-9-29 19:50 | 显示全部楼层
很好的帖子 受教了。
请教一下:1.有没有 绑定 封穴 和 流血 的参数?
                 2.如何申请全局变量 现在都在有其他人的声望和道德做全局变量
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-9-29 20:15 | 显示全部楼层
可以做个合集了LZ,之前帖子的链接编辑到1楼吧

点评

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

回复 kutree 的帖子

一、修改实战通过那个方式是可以实现,其实把1000改成502就可以到极了的
队友加入位置其实是CC.PersonExit这个队伍离队事件列表
CC.PersonExit={{1,100},{2,102},{4,104},{9,106},{16,108},
                   {17,110},{25,112},{28,114},{29,116},{30,118},
                   {35,120},{36,122},{37,124},{38,126},{44,128},
                   {45,130},{47,132},{48,134},{49,136},{51,138},
                   {52,140},{53,142},{54,144},{55,146},{56,148},
                   {58,150},{59,152},{63,154},{66,156},{72,158},
                   {73,160},{74,162},{75,164},{76,166},{77,168},
                   {78,170},{79,172},{80,174},{81,176},{82,178},
                   {83,180},{84,182},{85,184},{86,186},{87,188},
                   {88,190},{89,192},{90,194},{91,196},{92,198},
                   {93,4003}
       };
但是对于lib.SetS和lib.GetS函数,S大还没有回复,不太明白原理。所以就没放出来,以后再补充

二、很不错哦。 我都没发现。很感谢,一会去试试看
确实是两倍,而且经验也是两倍
JY.Person[0]["等级"] = 1;
JY.Person[0]["经验"] = 200;
经验值上显示的是 400/100
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-9-29 21:02 | 显示全部楼层
回复 deideilee 的帖子

一、封穴和流血这两个也没办法做修改,只知道S大定义了FXXS和LXXS这两个变量,具体等S大进一步公布再一起谈论

二、定义全局变量很简单,变量名前面不加前缀就可以了,比如:
MyList = {};  就是全局的变量了
每个人物都固定有声望和品德的数据,但是从当前游戏设计上看,只有主角的才有实际的效果,所以就可以利用其它人物的数据做保存了。 另外声望和品德这些数据在存档的时候会保存到进度里,读档之后这些数据都是还在的,有些人就利用这个原理修改除主角之外人物的这些属性来判断是否触发事件的条件。

点评

嗯,对。只有那51个队友的数据才会被保存  发表于 2011-9-29 22:00
好像是FXDS和LXZT。以现在的技能似乎无法做变量。还有多加一点,有些人物的声望没有被保存,比如谢烟客[164]。可能只有可入队的人物会保存。  发表于 2011-9-29 21:43
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-9-29 21:55 | 显示全部楼层
早前有位大大透露了封穴是FXDS, 我試驗後應是

WAR.FXDS[war id ] = nil
便无封穴

注意 war id 是戰鬥人員排序號不是JY.Person 中的 pid
例如

--尋找主角的 war id
    local k=0
        for i=0,WAR.PersonNum-1 do
            if WAR.Person["人物编号"] == 0 then  k=i end
        end

    WAR.FXDS[k] = nil     --清除主角封穴

把這代碼放入 function drawname 那主角便是免封穴了

流血便不知了, 除非知道那 LXXS 是甚麼

点评

等一下试试。  发表于 2011-9-29 22:32
封穴 和 流血完成戰鬥便 clear 不像內伤中毒  发表于 2011-9-29 22:10
是 WAR.Person[i]["人物编号"]  发表于 2011-9-29 22:05
是 WAR.Person[i]["人物编号"]  发表于 2011-9-29 22:05
这样子啊。 不应该止在战斗场景的吧。 难道说人物状态上的显示,只是S大为了骗骗我们?  发表于 2011-9-29 22:04
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-9-30 12:26 | 显示全部楼层
對不起昨天發錯了, 因為我的 DIY.LUA 很亂
應是

WAR.FXDS[k] = nil

k 是 JY.Person 中的 pid

剛才用 UE 在 FXDS 附近找到一变量, LQZ, 感覺是怒氣, 試一下果然不錯

WAR.FXDS[0] = nil
WAR.LQZ[0]=100


把以上代碼放入 function drawname 那主角便是免封穴及全程怒氣了

点评

请问斗转星移怎么做啊  发表于 2012-3-11 09:41
呵呵。 你们想法不错。 brolycjw做了石中玉,很看好你啊  发表于 2011-9-30 22:43
那現在完全可設計一天賦: 發怒比正常快一倍; 只要每時序做以下判斷 if LQZ[0] < 50 then LQZ[0] = 50 end  发表于 2011-9-30 19:42
没错, LQZ是怒气, LQZ=100时会有怒气效果  发表于 2011-9-30 13:51
FXDS和LXZT 应该是战斗中使用的流血变量。我认为可能FXXS和LXXS是人物面版上用来显示的  发表于 2011-9-30 13:22
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-9-30 21:01 | 显示全部楼层
本帖最后由 walter 于 2011-9-30 21:06 编辑

感谢教学,对於新手很有用^^
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-9-30 21:09 | 显示全部楼层
本帖最后由 kutree 于 2011-9-30 21:13 编辑

竟然在回帖的瞬间,帖子的内容变了……
已经有人研究出了封穴和怒气的变量啊,非常值得学习,虽然我还不怎么会用UE,似乎会涉及到汇编什么的……

点评

你们两个什么情况。。。。另外说UE全名是UltraEdit,是一个文本编辑器,比记事本、写字版什么的功能强一点。。。lua可以标识关键字。 能看到是因为函数名和全局变量是加密了还看得到的。。  发表于 2011-9-30 22:39
我还以为眼花了呢……  发表于 2011-9-30 21:48
因为两遍 对照再看 不小心 回错篇了 哈哈  发表于 2011-9-30 21:18
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-10-26 15:13 | 显示全部楼层
回复 kutree 的帖子

CC.PersonAttribMax["攻击力"]=800,

CC.PersonAttribMax["防御力"]=800,
我每次运行这个指令都会跳出
我想加大对攻击力和防御力的最大值限制

求教如何修改?

点评

战斗开始之前和战斗结束之后,都有人物数据验证的判断。所以不是修改不了的问题  发表于 2011-10-26 16:29
似乎这是修改或者创建全局变量时的通病,阅读了苍半的源码后发现在各种常数初始化函数运行完毕后似乎禁止了对全局变量的操作。有可能就是这个引起的跳出。  发表于 2011-10-26 15:41
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
头像被屏蔽
发表于 2011-12-3 19:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-4 13:38 | 显示全部楼层
回复 cc303788763 的帖子

主角免封穴可用以下代碼


function drawname(x,y,name,size)
    x=x-math.floor(size/2)
    local namelen=string.len(name)/2
    local zi={}

----------------------------------------------------------
WAR.FXDS[0]=nil

----------------------------------------------------------
      for j=1,namelen do
      zi[j]=string.sub(name,j*2-1,j*2)
      DrawString(x,y,zi[j],C_WHITE,size)
      y=y+size
      end
end
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-8 13:34 | 显示全部楼层
请问蓝大没有修改天罡内力性质的方法吗?
JY.Person[pid]["内力性质"] = 0;  --内力性质,0阴性,1阳性,2调和

点评

明白了 多谢蓝大  发表于 2011-12-8 13:43
没有这个性质,把角色设置为天罡系,就默认为天罡的内力了  发表于 2011-12-8 13:41
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-4-16 21:25 | 显示全部楼层
怎么修改出来特殊人物的天赋和称号?

点评

这需要修改源代码,不是直接修改数据所能解决  发表于 2012-4-17 09:03
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-5-10 09:50 | 显示全部楼层
回复 蓝烟清 的帖子

主角天赋称号修改啊,等待蓝大讲解,菜鸟求助!
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2013-10-31 20:58 | 显示全部楼层
蓝大我想把我的人物武功改变可是系统判断我已经学习了不能改变,怎么办呢? 我是照抄你的数据的,另外我的人物的确已经学了易筋经可是现在我把武功编号换成其他的,系统是怎么判断我已经学习了易筋经呢?

local pid = 23;  --主角的编号0
local wugong = 40;                --易筋经的武功编号
local flag = 1;  --标志是否没有学会
for i=1, 10 do
        if JY.Person[pid]["武功"..i] == wugong then                --先判断之前有没有学会
                DrawStrBoxWaitKey("你已经学会了易筋经",C_ORANGE,CC.DefaultFont);
                flag = 0;
                break;
        end
end

if flag == 1 then   --如果还没有学会,那么就开始学习吧
        local isfull = 1;  --标志武功是否已经学满
        for i=1, 10 do
                if JY.Person[pid]["武功"..i] == 0 then   --如果这个格子没有武功
                        JY.Person[pid]["武功"..i] = wugong;
                        JY.Person[pid]["武功等级"..i] = 0;  --学会直接为极
                        isfull = 0;  --能学,就说明没有满
                        break;
                end
        end
        
        if isfull == 1 then   --如果已经学满了十个武功
                JY.Person[pid]["武功6"] = wugong;                --直接洗掉最后一个武功,当然你也可以洗其它位置的,或者说直接提示满武功不给学都行
                JY.Person[pid]["武功等级6"] = 0;  --等级为极
        end
end

点评

单纯改武功直接用JY.Person[x]["武功"..y] = z就可以,不用那么麻烦,x为人物编号,y为武功第几格,z为武功代码  发表于 2013-11-1 05:35
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2014-4-26 12:11 | 显示全部楼层
重新学习啊
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
头像被屏蔽
发表于 2014-7-24 13:48 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2014-7-26 10:15 | 显示全部楼层
居然能看懂一点
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-5-19 03:51

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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