铁血丹心

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

[通用] 顺坤版得到物品[X0]=[X1]

[复制链接]
发表于 2007-8-23 08:40 | 显示全部楼层 |阅读模式

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

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

x
顺坤版得到物品[X0]=[X1]
调用方法:callsub事件编号(物品代号,数量,0,0)
数量可为正负
输出字符串:"得到%S%D个"或"减少%S%D个"
3161=%d
3184=个
3185=得到
3186=减少
-----------------------------------------

;Kdefnum=1072
  50 3 0 0 1 28928 0 0           ;  50(32):四则运算 [X1]=[X28928]+0
  50 3 0 0 2 28929 0 0           ;  50(32):四则运算 [X2]=[X28929]+0
  50 3 0 0 3 28930 0 0           ;  50(32):四则运算 [X3]=[X28930]+0
  50 0 4 0 0 0 0 0               ;  50(32):变量赋值 [X4]=0
  50 3 0 1 5 2 1 0               ;  50(32):四则运算 [X5]=[X2]-1
  50 0 20 0 0 0 0 0              ;  50(32):变量赋值 [X20]=0
  50 8 0 3161 100 0 0 0          ;  50(32):读对话到字符串  Str[X100]=talk(3161)
  50 9 1 300 100 2 0 0           ;  50(32):Sprintf  Str[X300]=CStr([X2]) FORMAT=Str[X100]
  50 8 0 3184 200 0 0 0          ;  50(32):读对话到字符串  Str[X200]=talk(3184)
  50 11 300 300 200 0 0 0        ;  50(32):字符串合并 Str[X300]=Str[X300]+Str[X200]
  50 27 1 1 1 400 0 0            ;  50(32):取属性名称 Str400=物品[X1]
  50 8 0 3185 500 0 0 0          ;  50(32):读对话到字符串  Str[X500]=talk(3185)
  50 11 500 500 400 0 0 0        ;  50(32):字符串合并 Str[X500]=Str[X500]+Str[X400]
  50 11 500 500 300 0 0 0        ;  50(32):字符串合并 Str[X500]=Str[X500]+Str[X300]
  50 4 0 0 2 0 0 0               ;  50(32):变量判断 If[X2]<0 then JMP=0 else JMP=1
  36 256 64 0                    ;  36(24):跳转变量JMP是否为0是则跳转到:Label0
  50 32 0 1 1 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数1=[X1]
  2 0 1                          ;  2(2):得到物品[可口可乐][1]
  50 36 0 500 100 40 1797 0      ;  50(32):显示字符串并等待击键 显示字符串500 (100,40)Color1797
  50 4 0 2 5 0 0 0               ;  50(32):变量判断 If[X5]=0  then JMP=0 else JMP=1
  36 256 0 1                     ;  36(24):跳转变量JMP是否为0否则跳转到:Label1
  -1                             ;  -1(FFFF):事件结束
;:Label1
;:Label2
  50 32 0 1 1 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数1=[X1]
  32 1 1                         ;  32(20):物品[机票]+[1]
  50 3 0 0 4 4 1 0               ;  50(32):四则运算 [X4]=[X4]+1
  50 4 1 5 5 4 0 0               ;  50(32):变量判断 If[X5]>[X4] then JMP=0 else JMP=1
  36 256 -31 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label2
  -1                             ;  -1(FFFF):事件结束
;:Label0
  50 20 1 1 6 0 0 0              ;  50(32):主角200个物品数量 [X6]=物品编号[X1]数量
  50 3 1 1 8 20 6 0              ;  50(32):四则运算 [X8]=[X20]-[X6]
  50 3 1 1 7 20 2 0              ;  50(32):四则运算 [X7]=[X20]-[X2]
  50 8 0 3161 600 0 0 0          ;  50(32):读对话到字符串  Str[X600]=talk(3161)
  50 9 1 800 600 7 0 0           ;  50(32):Sprintf  Str[X800]=CStr([X7]) FORMAT=Str[X600]
  50 8 0 3184 700 0 0 0          ;  50(32):读对话到字符串  Str[X700]=talk(3184)
  50 11 800 800 700 0 0 0        ;  50(32):字符串合并 Str[X800]=Str[X800]+Str[X700]
  50 27 1 1 1 900 0 0            ;  50(32):取属性名称 Str900=物品[X1]
  50 8 0 3186 1000 0 0 0         ;  50(32):读对话到字符串  Str[X1000]=talk(3186)
  50 11 1000 1000 900 0 0 0      ;  50(32):字符串合并 Str[X1000]=Str[X1000]+Str[X900]
  50 11 1000 1000 800 0 0 0      ;  50(32):字符串合并 Str[X1000]=Str[X1000]+Str[X800]
  50 4 1 0 6 7 0 0               ;  50(32):变量判断 If[X6]<[X7] then JMP=0 else JMP=1
  36 256 40 0                    ;  36(24):跳转变量JMP是否为0是则跳转到:Label3
;:Label4
  50 32 0 1 1 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数1=[X1]
  32 1 -1                        ;  32(20):物品[机票]+[-1]
  50 3 0 0 4 4 -1 0              ;  50(32):四则运算 [X4]=[X4]+-1
  50 4 1 0 2 4 0 0               ;  50(32):变量判断 If[X2]<[X4] then JMP=0 else JMP=1
  36 256 -31 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label4
  50 36 0 1000 100 40 1797 0     ;  50(32):显示字符串并等待击键 显示字符串1000 (100,40)Color1797
  -1                             ;  -1(FFFF):事件结束
;:Label3
;:Label5
  50 32 0 1 1 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数1=[X1]
  32 1 -1                        ;  32(20):物品[机票]+[-1]
  50 3 0 0 4 4 -1 0              ;  50(32):四则运算 [X4]=[X4]+-1
  50 4 1 5 4 8 0 0               ;  50(32):变量判断 If[X4]>[X8] then JMP=0 else JMP=1
  36 256 -31 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label5
  50 36 0 1000 100 40 1797 0     ;  50(32):显示字符串并等待击键 显示字符串1000 (100,40)Color1797
  -1                             ;  -1(FFFF):事件结束
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-8-23 09:23 | 显示全部楼层
这个的用途是?
用原版的"得到物品"和50指令的"修改下一条指令参数"好像一样效果.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2007-8-23 09:39 | 显示全部楼层
可以使用变量了,两个
比如说清空物品栏
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-8-23 13:57 | 显示全部楼层
楼主那图片是你吗?很漂亮的说
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-8-23 14:02 | 显示全部楼层
樓主是不是要出自己的mod呢?
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-8-23 14:19 | 显示全部楼层
楼主厉害哦 呵呵  值得学习
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-8-23 16:08 | 显示全部楼层
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-8-23 16:47 | 显示全部楼层
值得学习哈
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-8-23 21:29 | 显示全部楼层
另外清空物品拦有更方便的办法
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2007-8-23 23:07 | 显示全部楼层
LS的请指教,我到目前为止遍出的只有:
---------------------------------------------------
清空指令:
;Kdefnum=1049
  50 0 96 0 0 0 0 0              ;  50(32):变量赋值 [X96]=0
  50 0 99 -999 0 0 0 0           ;  50(32):变量赋值 [X99]=-999
;:Label0
  50 43 30 1072 96 99 0 0        ;  50(32):调用其它事件 Call Sub1072([X96],[X99],[X0],[X0])
  50 3 0 0 96 96 1 0             ;  50(32):四则运算 [X96]=[X96]+1
  50 4 0 0 96 201 0 0            ;  50(32):变量判断 If[X96]<201 then JMP=0 else JMP=1
  36 256 -28 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label0
  -1                             ;  -1(FFFF):事件结束


寻应用我的"得到物品"指令(1072)
-------------------------------------------------------------------------------------
瞬间得到所有物品
CALL SUB KNUM(每一个物品数量,0,0,0)

---------------
;Kdefnum=1071
  0                              ;  0(0)::空语句(清屏)
  50 8 0 3163 1000 0 0 0         ;  50(32):读对话到字符串  Str[X1000]=talk(3163)
  50 0 3 -468 0 0 0 0            ;  50(32):变量赋值 [X3]=-468
  50 0 4 0 0 0 0 0               ;  50(32):变量赋值 [X4]=0
  50 0 5 10 0 0 0 0              ;  50(32):变量赋值 [X5]=10
  50 0 6 120 0 0 0 0             ;  50(32):变量赋值 [X6]=120
  50 0 9 10 0 0 0 0              ;  50(32):变量赋值 [X9]=10
;:Label0
  50 32 0 3 4 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数4=[X3]
  50 26 0 0 -468 24 1 0          ;  50(32):读取给定地址数据 [X1]=[18-FE2C+0](Int)
  50 3 0 0 3 3 4 0               ;  50(32):四则运算 [X3]=[X3]+4
  50 32 0 5 4 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数4=[X5]
  50 3 0 0 10 1 0 0              ;  50(32):四则运算 [X10]=[X1]+0
  50 3 0 0 5 5 1 0               ;  50(32):四则运算 [X5]=[X5]+1
  50 4 0 0 3 0 0 0               ;  50(32):变量判断 If[X3]<0 then JMP=0 else JMP=1
  36 256 -60 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label0
;:Label1
  50 32 0 4 4 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数4=[X4]
  50 26 0 0 0 25 7 0             ;  50(32):读取给定地址数据 [X7]=[19-0+0](Int)
  50 3 0 0 4 4 2 0               ;  50(32):四则运算 [X4]=[X4]+2
  50 32 0 6 4 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数4=[X6]
  50 3 0 0 6 7 0 0               ;  50(32):四则运算 [X6]=[X7]+0
  50 3 0 0 6 6 1 0               ;  50(32):四则运算 [X6]=[X6]+1
  50 4 0 0 4 332 0 0             ;  50(32):变量判断 If[X4]<332 then JMP=0 else JMP=1
  36 256 -60 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label1
;:Label2
  50 32 0 9 4 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数4=[X9]
  50 17 1 1 6 0 8 0              ;  50(32):读取属性 [X8]=物品[X6]属性偏移0
  50 3 0 0 9 9 1 0               ;  50(32):四则运算 [X9]=[X9]+1
  50 3 0 2 8 8 4 0               ;  50(32):四则运算 [X8]=[X8]*4
  50 3 0 1 8 8 468 0             ;  50(32):四则运算 [X8]=[X8]-468
  50 32 0 8 4 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数4=[X8]
  50 25 1 0 -468 24 9 0          ;  50(32):保存给定地址数据 [18-FE2C+0]=[X9](Int)
  50 4 0 0 9 120 0 0             ;  50(32):变量判断 If[X9]<120 then JMP=0 else JMP=1
  36 256 -68 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label2
  50 36 0 1000 100 100 8737 0    ;  50(32):显示字符串并等待击键 显示字符串1000 (100,100)Color8737
  -1                             ;  -1(FFFF):事件结束



就只有想到这么一点......智商有限
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-8-23 23:16 | 显示全部楼层
直接写内存
18fe2c是200个物品及数量的起始地址,排列为
物品1 物品1数量 物品2 物品2数量。。。。。。。。。。。。。。。。。。。每项均为2字节
然后用-1,0,-1,0…………把400个字节全填充掉就可以了
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2007-8-23 23:19 | 显示全部楼层
就是我刚刚写出来的指令吗??(瞬间获得所有物品,逆运)
  1. ;Kdefnum=1071
  2.   0                              ;  0(0)::空语句(清屏)
  3.   50 8 0 3163 1000 0 0 0         ;  50(32):读对话到字符串  Str[X1000]=talk(3163)
  4.   50 0 3 -468 0 0 0 0            ;  50(32):变量赋值 [X3]=-468
  5.   50 0 4 0 0 0 0 0               ;  50(32):变量赋值 [X4]=0
  6.   50 0 5 10 0 0 0 0              ;  50(32):变量赋值 [X5]=10
  7.   50 0 6 120 0 0 0 0             ;  50(32):变量赋值 [X6]=120
  8.   50 0 9 10 0 0 0 0              ;  50(32):变量赋值 [X9]=10
  9. ;:Label0
  10.   50 32 0 3 4 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数4=[X3]
  11.   50 26 0 0 -468 24 1 0          ;  50(32):读取给定地址数据 [X1]=[18-FE2C+0](Int)
  12.   50 3 0 0 3 3 4 0               ;  50(32):四则运算 [X3]=[X3]+4
  13.   50 32 0 5 4 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数4=[X5]
  14.   50 3 0 0 10 1 0 0              ;  50(32):四则运算 [X10]=[X1]+0
  15.   50 3 0 0 5 5 1 0               ;  50(32):四则运算 [X5]=[X5]+1
  16.   50 4 0 0 3 0 0 0               ;  50(32):变量判断 If[X3]<0 then JMP=0 else JMP=1
  17.   36 256 -60 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label0
  18. ;:Label1
  19.   50 32 0 4 4 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数4=[X4]
  20.   50 26 0 0 0 25 7 0             ;  50(32):读取给定地址数据 [X7]=[19-0+0](Int)
  21.   50 3 0 0 4 4 2 0               ;  50(32):四则运算 [X4]=[X4]+2
  22.   50 32 0 6 4 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数4=[X6]
  23.   50 3 0 0 6 7 0 0               ;  50(32):四则运算 [X6]=[X7]+0
  24.   50 3 0 0 6 6 1 0               ;  50(32):四则运算 [X6]=[X6]+1
  25.   50 4 0 0 4 332 0 0             ;  50(32):变量判断 If[X4]<332 then JMP=0 else JMP=1
  26.   36 256 -60 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label1
  27. ;:Label2
  28.   50 32 0 9 4 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数4=[X9]
  29.   50 17 1 1 6 0 8 0              ;  50(32):读取属性 [X8]=物品[X6]属性偏移0
  30.   50 3 0 0 9 9 1 0               ;  50(32):四则运算 [X9]=[X9]+1
  31.   50 3 0 2 8 8 4 0               ;  50(32):四则运算 [X8]=[X8]*4
  32.   50 3 0 1 8 8 468 0             ;  50(32):四则运算 [X8]=[X8]-468
  33.   50 32 0 8 4 0 0 0              ;  50(32):修改下一条指令参数 下一条指令参数4=[X8]
  34.   50 25 1 0 -468 24 9 0          ;  50(32):保存给定地址数据 [18-FE2C+0]=[X9](Int)
  35.   50 4 0 0 9 120 0 0             ;  50(32):变量判断 If[X9]<120 then JMP=0 else JMP=1
  36.   36 256 -68 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label2
  37.   50 36 0 1000 100 100 8737 0    ;  50(32):显示字符串并等待击键 显示字符串1000 (100,100)Color8737
  38.   -1                             ;  -1(FFFF):事件结束
复制代码

[ 本帖最后由 黄顺坤 于 2007-8-23 23:20 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-8-24 18:53 | 显示全部楼层
for(id=0;id<200;id++)
{物品[id]-1直到数量为0}
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
头像被屏蔽
发表于 2007-8-24 18:55 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-5-19 09:15

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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