铁血丹心

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

关于50指令的新问题

[复制链接]
发表于 2009-10-9 21:07 | 显示全部楼层 |阅读模式

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

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

x
请看10楼,谢谢~
[发帖际遇]: ystiang跟踪成昆进入明教密道,结果:奋勇救小昭脱险,得到小昭感谢银两15.


[ 本帖最后由 ystiang 于 2009-10-14 23:15 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-10 10:00 | 显示全部楼层
大锅,你就不能用复刻版么。。。。。。。。。。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-10 10:26 | 显示全部楼层
凶神恶煞编写的“胡说八道”,略为修改就是减体力
  1. ;Kdefnum=1404
  2.   50 26 0 0 22234 5 1001 0       ;  50(32):读取给定地址数据 [X1001]=[5-56DA+0](Int)
  3.   50 26 0 0 22236 5 1002 0       ;  50(32):读取给定地址数据 [X1002]=[5-56DC+0](Int)
  4.   50 3 0 2 1001 1001 2 0         ;  50(32):四则运算 [X1001]=[X1001]*2
  5.   50 3 0 2 1002 1002 128 0       ;  50(32):四则运算 [X1002]=[X1002]*128
  6.   50 3 1 0 1003 1001 1002 0      ;  50(32):四则运算 [X1003]=[X1001]+[X1002]
  7.   50 26 1 0 18948 30 1004 1003   ;  50(32):读取给定地址数据 [X1004]=[1E-4A04+[X1003]](Int)
  8.   50 30 1 1004 0 1005 0 0        ;  50(32):读取人物战斗属性 战斗序号[X1004]偏移0=[X1005]
  9.   50 4 0 0 1005 0 0 0            ;  50(32):变量判断 If[X1005]<0 then JMP=0 else JMP=1
  10.   36 256 200 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label0
  11.   50 30 1 1004 2 1040 0 0        ;  50(32):读取人物战斗属性 战斗序号[X1004]偏移2=[X1040]
  12.   50 4 0 2 1040 0 0 0            ;  50(32):变量判断 If[X1040]=0  then JMP=0 else JMP=1
  13.   36 256 204 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label1
  14.   50 30 1 28005 0 1000 0 0       ;  50(32):读取人物战斗属性 战斗序号[X28005]偏移0=[X1000]
  15.   50 17 1 0 1005 30 1040 0       ;  50(32):读取属性 [X1040]=人物[X1005]属性偏移30
  16.   50 4 0 5 1040 20 0 0           ;  50(32):变量判断 If[X1040]>20 then JMP=0 else JMP=1
  17.   36 256 120 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label2
  18.   50 26 0 0 28374 30 1021 0      ;  50(32):读取给定地址数据 [X1021]=[1E-6ED6+0](Int)
  19.   50 3 0 2 1022 1021 2 0         ;  50(32):四则运算 [X1022]=[X1021]*2
  20.   50 3 0 0 1022 1022 146 0       ;  50(32):四则运算 [X1022]=[X1022]+146
  21.   50 17 3 0 1000 1022 1023 0     ;  50(32):读取属性 [X1023]=人物[X1000]属性偏移[X1022]
  22.   50 3 0 3 1024 1023 100 0       ;  50(32):四则运算 [X1024]=[X1023]/100
  23.   50 38 0 11 1025 0 0 0          ;  50(32):随机数 [X1025]=Random(11)
  24.   50 4 1 0 1024 1025 0 0         ;  50(32):变量判断 If[X1024]<[X1025] then JMP=0 else JMP=1
  25.   36 256 60 0                    ;  36(24):跳转变量JMP是否为0是则跳转到:Label3
  26.   50 17 1 0 1005 34 1007 0       ;  50(32):读取属性 [X1007]=人物[X1005]属性偏移34
  27.   50 16 1 0 1005 34 0 0          ;  50(32):保存属性 人物[X1005]属性偏移34=0
  28.   50 3 0 2 1008 28005 28 0       ;  50(32):四则运算 [X1008]=[X28005]*28
  29.   50 26 1 0 -14522 29 1009 1008   ;  50(32):读取给定地址数据 [X1009]=[1D-C746+[X1008]](Int)
  30.   50 3 1 0 1009 1009 1007 0      ;  50(32):四则运算 [X1009]=[X1009]+[X1007]
  31.   50 25 3 0 -14522 29 1009 1008   ;  50(32):保存给定地址数据 [1D-C746+[X1008]]=[X1009](Int)
  32.   50 4 1 6 1024 1025 0 0         ;  50(32):变量判断  JMP=0
  33.   36 256 8 0                     ;  36(24):跳转变量JMP是否为0是则跳转到:Label4
  34. ;:Label3
  35. ;:Label2
  36.   50 0 1007 0 0 0 0 0            ;  50(32):变量赋值 [X1007]=0
  37. ;:Label4
  38.   50 3 0 2 1006 1004 28 0        ;  50(32):四则运算 [X1006]=[X1004]*28
  39.   50 25 3 0 -14530 29 1007 1006   ;  50(32):保存给定地址数据 [1D-C73E+[X1006]]=[X1007](Int)
  40.   50 25 2 0 -5628 29 1 1003      ;  50(32):保存给定地址数据 [1D-EA04+[X1003]]=1(Int)
  41. ;:Label0
  42.   50 44 1 28005 1 1 0 0          ;  50(32):播放效果 序号[X28005]动作类型1效果编号1
  43.   50 45 0 1 1 1 0 0              ;  50(32):显示数字 数字颜色1不闪烁 闪烁颜色1
  44.   50 47 1 28005 0 0 0 0          ;  50(32):重置战场贴图 战斗序号=[X28005]
  45. ;:Label1
  46.   -1                             ;  -1(FFFF):事件结束
复制代码
实际上猪3用的是脚本:
  1. function f13()
  2.   -- 一阳指(减体力)
  3.   l = {5, 10, 15, 20, 25, 30, 35, 40, 45, 50};
  4.   bnum1 = getbattlenumber();
  5.   rnum1 = getbattlepro(bnum1, 0);
  6.   -- 自身
  7.   bnum2 = selectoneaim(0, 0, 1);
  8.   if bnum2 >= 0 then
  9.     rnum2 = getbattlepro(bnum2, 0);    -- 对方
  10.     v = l[getmagiclevel(rnum1, 160)];  -- 这里的1是武功代码,需修改
  11.     curpp = getrolepro(rnum2, 21);
  12.     curpp = curpp - v;
  13.     if curpp < 0 then
  14.       curpp = 0;
  15.     end
  16.    
  17.     putrolepro(curpp, rnum2, 21);
  18.     -- 计算值并改变
  19.    
  20.     putbattlepro(math.abs(v), bnum2, 9);
  21.   end
  22.   x, y = getaimposition();
  23.   setaminationlayer(0, 0, 64, 64, 0);
  24.   setaminationlayer(x, y, 1, 1, 1);
  25.   playaction(bnum1, 1, 19);  -- 这里修改效果号
  26.   playhurtvalue(4);

  27.   
  28. end
复制代码
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-10 10:31 | 显示全部楼层
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2009-10-10 10:39 | 显示全部楼层
回复 二当家 的帖子
复刻版显得更复杂...

回复 三当家 的帖子
谢谢weyl大,拿回去慢慢参考。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-10 11:14 | 显示全部楼层
原帖由 weyl 于 2009-10-10 10:26 发表
凶神恶煞编写的“胡说八道”,略为修改就是减体力;Kdefnum=1404
  50 26 0 0 22234 5 1001 0       ;  50(32):读取给定地址数据 [X1001]=[5-56DA+0](Int)
  50 26 0 0 22236 5 1002 0       ;  50(32):读取给定地址 ...

请问哪里能看到猪三的脚本, 想瞻仰一下

[发帖际遇]: 假修改器溜进皇宫偷东西碰到建宁公主,被毒打一顿,损失医药费银两17两。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-10 12:00 | 显示全部楼层
原帖由 假修改器 于 2009-10-10 11:14 发表

请问哪里能看到猪三的脚本, 想瞻仰一下

[发帖际遇]: 假修改器溜进皇宫偷东西碰到建宁公主,被毒打一顿,损失医药费银两17两。

猪3的游戏目录下,被加密的
等以后有解密了再说

[发帖际遇]: 黄顺坤跟踪成昆进入明教密道,结果:奋勇救小昭脱险,得到小昭感谢银两26.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-10 13:38 | 显示全部楼层

回复 五当家 的帖子

大锅,用高级语言写和用低级语言写哪个复杂???

[发帖际遇]: 孤魂野鬼跟踪成昆进入明教密道,结果:被秃驴发现打伤,损失医药费银两8。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-13 20:33 | 显示全部楼层
应楼主和KG大大的要求注释一下,懒得区分字的颜色了,要复制此事件进修改器请用3楼那个:
;Kdefnum=1404
  50 26 0 0 22234 5 1001 0       ;  50(32):读取给定地址数据 [X1001]=[5-56DA+0](Int)
  50 26 0 0 22236 5 1002 0       ;  50(32):读取给定地址数据 [X1002]=[5-56DC+0](Int)
;以上是所选择位置的纵横坐标
  50 3 0 2 1001 1001 2 0         ;  50(32):四则运算 [X1001]=[X1001]*2
  50 3 0 2 1002 1002 128 0       ;  50(32):四则运算 [X1002]=[X1002]*128
  50 3 1 0 1003 1001 1002 0      ;  50(32):四则运算 [X1003]=[X1001]+[X1002]
;以上是坐标的处理方法,1E4A04+X*2+Y*128相当于整个地图平面,如果有人物则该位置是人物战斗序号,没有人物的地点是-1或-2
  50 26 1 0 18948 30 1004 1003   ;  50(32):读取给定地址数据 [X1004]=[1E-4A04+[X1003]](Int)
;读取所选择位置的人物战斗序号至变量X1004
  50 30 1 1004 0 1005 0 0        ;  50(32):读取人物战斗属性 战斗序号[X1004]偏移0=[X1005]
;获得战斗序号X1004对应的人物R编号,保存在X1005
  50 4 0 0 1005 0 0 0            ;  50(32):变量判断 If[X1005]<0 then JMP=0 else JMP=1
  36 256 200 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label0
;判断X1005是否小于0(对应所选位置无人情况),小于0则跳至:Label0空挥后结束
  50 30 1 1004 2 1040 0 0        ;  50(32):读取人物战斗属性 战斗序号[X1004]偏移2=[X1040]
;获得战斗序号X1004对应的人物阵营,保存在X1040(0为我方,1为敌方)
  50 4 0 2 1040 0 0 0            ;  50(32):变量判断 If[X1040]=0  then JMP=0 else JMP=1
  36 256 204 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label1
;判断X1020是否为0(对应所选位置为队友或自身),为0则跳至:Label1不做任何动作结束
  50 30 1 28005 0 1000 0 0       ;  50(32):读取人物战斗属性 战斗序号[X28005]偏移0=[X1000]
;将出招者自身对应人物R编号保存至变量X1000
  50 17 1 0 1005 30 1040 0       ;  50(32):读取属性 [X1040]=人物[X1005]属性偏移30
;读对手等级至变量X1040
  50 4 0 5 1040 20 0 0           ;  50(32):变量判断 If[X1040]>20 then JMP=0 else JMP=1
  36 256 120 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label2
;判断X1040是否大于20(对应对手等级是否大于20级),大于20则跳至:Label2,伤害值为0,动作后结束
  50 26 0 0 28374 30 1021 0      ;  50(32):读取给定地址数据 [X1021]=[1E-6ED6+0](Int)
;将出招人当前使用武功的序号保存至变量X1021(对应数值0~9)
  50 3 0 2 1022 1021 2 0         ;  50(32):四则运算 [X1022]=[X1021]*2
  50 3 0 0 1022 1022 146 0       ;  50(32):四则运算 [X1022]=[X1022]+146
;根据当前使用武功的序号计算出武功经验值在R中的偏移,存入变量X1022
  50 17 3 0 1000 1022 1023 0     ;  50(32):读取属性 [X1023]=人物[X1000]属性偏移[X1022]
;读取当前使用武功的经验值,保存至变量X1023
  50 3 0 3 1024 1023 100 0       ;  50(32):四则运算 [X1024]=[X1023]/100
;根据经验值计算出X1024(相当于武功等级-1),对应数值为0~9
  50 38 0 11 1025 0 0 0          ;  50(32):随机数 [X1025]=Random(11)
;产生随机数X1025,范围为0~10
  50 4 1 0 1024 1025 0 0         ;  50(32):变量判断 If[X1024]<[X1025] then JMP=0 else JMP=1
  36 256 60 0                    ;  36(24):跳转变量JMP是否为0是则跳转到:Label3
;如果X1024<X1025(武功1级时几率10/11,武功2级时几率9/11,武功10级时几率10/11)则跳至:Label3,伤害值为0,动作后结束
  50 17 1 0 1005 34 1007 0       ;  50(32):读取属性 [X1007]=人物[X1005]属性偏移34
;读对手生命(同时对应本招一击必杀的伤害值),存于X1007
  50 16 1 0 1005 34 0 0          ;  50(32):保存属性 人物[X1005]属性偏移34=0
;对手生命归零
  50 3 0 2 1008 28005 28 0       ;  50(32):四则运算 [X1008]=[X28005]*28
  50 26 1 0 -14522 29 1009 1008   ;  50(32):读取给定地址数据 [X1009]=[1D-C746+[X1008]](Int)
;读取出招人的经验值,.1DC746+战斗序号*28保存人物所获得总经验值
  50 3 1 0 1009 1009 1007 0      ;  50(32):四则运算 [X1009]=[X1009]+[X1007]
;出招人的经验增加,增加的值等于攻击伤害,其实按原版公式应该只加伤害值的1/5,囧rz…….
  50 25 3 0 -14522 29 1009 1008   ;  50(32):保存给定地址数据 [1D-C746+[X1008]]=[X1009](Int)
;保存经验
  50 4 1 6 1024 1025 0 0         ;  50(32):变量判断  JMP=0
  36 256 8 0                     ;  36(24):跳转变量JMP是否为0是则跳转到:Label4
;直接跳至:Label4
;:Label3
;:Label2
  50 0 1007 0 0 0 0 0            ;  50(32):变量赋值 [X1007]=0
;将X1007设为0
;:Label4
  50 3 0 2 1006 1004 28 0        ;  50(32):四则运算 [X1006]=[X1004]*28
  50 25 3 0 -14530 29 1007 1006   ;  50(32):保存给定地址数据 [1D-C73E+[X1006]]=[X1007](Int)
;设定对方头上显示的数字为X1007,对应0或实际伤害值,其实此处可以用50 31指令代替(修改偏移18)。
  50 25 2 0 -5628 29 1 1003      ;  50(32):保存给定地址数据 [1D-EA04+[X1003]]=1(Int)
;设定动画效果层,1DEA04+X*2+Y*128也是整个地图平面,如果某点值为0则没有效果,如果值为1该点会在播放时有效果,此时只设定了对手所在点有效果,其实此处可以用50 46指令代替。
;:Label0
  50 44 1 28005 1 1 0 0          ;  50(32):播放效果 序号[X28005]动作类型1效果编号1
;出招人做动作,动作类型为1对应拳法,武功效果为1。
  50 45 0 1 1 1 0 0              ;  50(32):显示数字 数字颜色1不闪烁 闪烁颜色1
;对方头上显示数字,颜色1对应红色
  50 47 1 28005 0 0 0 0          ;  50(32):重置战场贴图 战斗序号=[X28005]
;这个是收招,出招者恢复为WMP设定的四向贴图
;:Label1
  -1                             ;  -1(FFFF):事件结束

[发帖际遇]: 凶神恶煞乘船去王盘山旅游,被不明噪音弄晕,花费银两14。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2009-10-13 21:25 | 显示全部楼层
原帖由 凶神恶煞 于 2009-10-13 20:33 发表
应楼主和KG大大的要求注释一下,懒得区分字的颜色了,要复制此事件进修改器请用3楼那个:
;Kdefnum=1404
  50 26 0 0 22234 5 1001 0       ;  50(32):读取给定地址数据 [X1001]=[5-56DA+0](Int)
  50 26 0 0 222 ...


其实我最不明白的地方是

假若胡说八道的编号是17,那么这事件代码如何对应17号(即胡说八道的武功编号)?

[ 本帖最后由 ystiang 于 2009-10-13 21:33 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-14 03:52 | 显示全部楼层
不知道对不对
我记得可以在武功里的无用里填上事件编号~~
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-14 10:42 | 显示全部楼层
看看weyl随扩展战斗系统提供的帮助文件BattleKDef_0.20.doc:


4.武功调用事件

只在点和面类武功上添加了事件,另外两种没有添加。当点面类武功的第5个未知属性大于0时,会在选择完攻击地点之后执行该数字指定事件,事件执行之后会转至增加武功使用时获得武功经验部分。

[发帖际遇]: 凶神恶煞挺身而出,阻止萧峰打“段正淳”,成功挽救阿朱,得到奖励银两46.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2009-10-14 23:16 | 显示全部楼层
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-23 12:35 | 显示全部楼层
请把如何直接把代码应用到时间编辑那里啊?

[发帖际遇]: 靖蓉挑衅裘千丈,谁知到竟然是裘千仞,结果被裘千仞打了一掌,治伤花费银两46。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-12-23 10:39

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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