30 12
发新话题
打印

[MOD技巧] 游泳的鱼修改器0。7版求指令贴

本主题由 weyl 于 2008-7-4 03:41 分类

如何制作武器店药店?

但是置顶帖的店铺程序有漏洞,能无限买白虹剑,这不现实啊。能否在改进一下,有的物品可以无限买,有的只能买一个。
与君共游武侠世界

TOP

6楼:有物品数量的商店系统。—— 作者:KG——制作曰期:2006年10月6日


置顶6楼
你们为什么要欺负我的朋友朱公子

TOP

如何制作武器店药店?

置顶6楼在显示价格方面还有漏洞,似乎所有物品的显示的价格都一样,能否使每个物品对应其实际价格?
与君共游武侠世界

TOP

如何制作武器店药店?

我自己也尝试作了一个商店系统,但是我的这个程序有一个缺憾,就是连续对话五次才能把所有物品显示全,请楼主帮忙修改。
;Kdefnum=1025
  1 2984 116 1                   ;  1(1):[???]说: 本店商品齐全,客官请随便*挑选。
  50 3 0 2 1001 1000 100 0       ;  50(32):四则运算 [X1001]=[X1000]*100
  50 3 0 0 1001 1001 2000 0      ;  50(32):四则运算 [X1001]=[X1001]+2000
  50 1 3 0 1100 1000 1001 0      ;  50(32):数组变量赋值 数组1100([X1000])=[X1001](Int)
  50 3 0 0 1000 1000 1 0         ;  50(32):四则运算 [X1000]=[X1000]+1
  50 34 0 95 5 180 100 0         ;  50(32):处理背景 位置(95,5) Width=180 Height=100
  50 8 0 2983 2000 0 0 0         ;  50(32):读对话到字符串  Str[X2000]=talk(2983);对话2983

、2982、2988、2989、2990显示的是物品的名称及价格,
  50 8 0 2982 2100 0 0 0         ;  50(32):读对话到字符串  Str[X2100]=talk(2982)
  50 8 0 2988 2200 0 0 0         ;  50(32):读对话到字符串  Str[X2200]=talk(2988)
  50 8 0 2989 2300 0 0 0         ;  50(32):读对话到字符串  Str[X2300]=talk(2989)
  50 8 0 2990 2400 0 0 0         ;  50(32):读对话到字符串  Str[X2400]=talk(2990)
  50 39 0 5 1100 10 100 10       ;  50(32):菜单选择 菜单个数5[X1100]()返回=[X10]显示位置

(100,10)
  50 4 0 4 10 1 0 0              ;  50(32):变量判断 If[X10]>=1 then JMP=0 else JMP=1
  36 256 0 221                   ;  36(24):跳转变量JMP是否为0否则跳转到:Label0
  50 4 0 2 10 1 0 0              ;  50(32):变量判断 If[X10]=1  then JMP=0 else JMP=1
  36 256 0 32                    ;  36(24):跳转变量JMP是否为0否则跳转到:Label1
  43 108 0 6                     ;  43(2B):是否有物品淑女剑否则跳转到:Label2
  1 2987 116 1                   ;  1(1):[???]说: 对不起,该商品本店已售完*。
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label2
  31 3 6 0                       ;  31(1F):判断银子是否够3是则跳转到:Label3
  1 0 116 1                      ;  1(1):[???]说: 对不起,您的钱没带够。
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label3
  32 174 -3                      ;  32(20):物品[银两]+[-3]
  2 108 1                        ;  2(2):得到物品[淑女剑][1]
  1 2991 116 1                   ;  1(1):[???]说: 欢迎您下次再来!
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label1
  50 4 0 2 10 2 0 0              ;  50(32):变量判断 If[X10]=2  then JMP=0 else JMP=1
  36 256 0 32                    ;  36(24):跳转变量JMP是否为0否则跳转到:Label4
  43 102 0 6                     ;  43(2B):是否有物品毒蒺黎否则跳转到:Label5
  1 2987 116 1                   ;  1(1):[???]说: 对不起,该商品本店已售完*。
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label5
  31 7 6 0                       ;  31(1F):判断银子是否够7是则跳转到:Label6
  1 0 116 1                      ;  1(1):[???]说: 对不起,您的钱没带够。
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label6
  32 174 -7                      ;  32(20):物品[银两]+[-7]
  2 102 1                        ;  2(2):得到物品[毒蒺黎][1]
  1 2991 116 1                   ;  1(1):[???]说: 欢迎您下次再来!
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label4
  50 4 0 2 10 3 0 0              ;  50(32):变量判断 If[X10]=3  then JMP=0 else JMP=1
  36 256 0 32                    ;  36(24):跳转变量JMP是否为0否则跳转到:Label7
  43 146 0 6                     ;  43(2B):是否有物品连城诀否则跳转到:Label8
  1 2987 116 1                   ;  1(1):[???]说: 对不起,该商品本店已售完*。
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label8
  31 5 6 0                       ;  31(1F):判断银子是否够5是则跳转到:Label9
  1 0 116 1                      ;  1(1):[???]说: 对不起,您的钱没带够。
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label9
  32 174 -5                      ;  32(20):物品[银两]+[-5]
  2 146 1                        ;  2(2):得到物品[连城诀][1]
  1 2991 116 1                   ;  1(1):[???]说: 欢迎您下次再来!
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label7
  50 4 0 2 10 4 0 0              ;  50(32):变量判断 If[X10]=4  then JMP=0 else JMP=1
  36 256 0 32                    ;  36(24):跳转变量JMP是否为0否则跳转到:Label10
  43 191 0 6                     ;  43(2B):是否有物品一颗头颅否则跳转到:Label11
  1 2987 116 1                   ;  1(1):[???]说: 对不起,该商品本店已售完*。
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label11
  31 6 6 0                       ;  31(1F):判断银子是否够6是则跳转到:Label12
  1 0 116 1                      ;  1(1):[???]说: 对不起,您的钱没带够。
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label12
  32 174 -6                      ;  32(20):物品[银两]+[-6]
  2 191 1                        ;  2(2):得到物品[一颗头颅][1]
  1 2991 116 1                   ;  1(1):[???]说: 欢迎您下次再来!
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label10
  50 4 0 2 10 5 0 0              ;  50(32):变量判断 If[X10]=5  then JMP=0 else JMP=1
  36 256 0 32                    ;  36(24):跳转变量JMP是否为0否则跳转到:Label13
  43 58 0 6                      ;  43(2B):是否有物品太极拳经否则跳转到:Label14
  1 2987 116 1                   ;  1(1):[???]说: 对不起,该商品本店已售完*。
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label14
  31 10 6 0                      ;  31(1F):判断银子是否够10是则跳转到:Label15
  1 0 116 1                      ;  1(1):[???]说: 对不起,您的钱没带够。
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label15
  32 174 -10                     ;  32(20):物品[银两]+[-10]
  2 58 1                         ;  2(2):得到物品[太极拳经][1]
  1 2991 116 1                   ;  1(1):[???]说: 欢迎您下次再来!
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label13
  7                              ;  7(7):无条件返回
;:Label0
  7                              ;  7(7):无条件返回
  -1                             ;  -1(FFFF):事件结束
与君共游武侠世界

TOP

引用:
原帖由 万剑归宗 于 2007-4-20 10:23 发表
我自己也尝试作了一个商店系统,但是我的这个程序有一个缺憾,就是连续对话五次才能把所有物品显示全,请楼主帮忙修改。
;Kdefnum=1025
  1 2984 116 1                   ;  1(1):说: 本店商品齐全,客官请 ...
卖东西的?

在第5行
50 3 0 0 1000 1000 1 0         ;  50(32):四则运算 [X1000]=[X1000]+1
后加两句
判断[X1000]<5,then JMP=0 else JMP=1
然后如果JMP=0则跳回一、二句之间

[ 本帖最后由 KG 于 2007-4-20 10:58 编辑 ]
你们为什么要欺负我的朋友朱公子

TOP

引用:
原帖由 万剑归宗 于 2007-4-20 10:16 发表
置顶6楼在显示价格方面还有漏洞,似乎所有物品的显示的价格都一样,能否使每个物品对应其实际价格?
价格要在R*修改中物品偏移84的地方定义
你们为什么要欺负我的朋友朱公子

TOP

多谢指点,这样就完美了.
与君共游武侠世界

TOP

新增项目改名指令
你们为什么要欺负我的朋友朱公子

TOP

新增数字输入系统
你们为什么要欺负我的朋友朱公子

TOP

新增判断某人有某级某武功
你们为什么要欺负我的朋友朱公子

TOP

那个...能不能作一个指令(最好可以调用),可以改变WAR.STA的数据??
因为以前一直以为MMAP.COL不能访问,不过现在竟然成功了(KG万岁!)
所以现在将这个几个月前还是天方夜谈的想法发出来,让大大想想办法

TOP

这个恐怕不能实现
因为调色板是游戏开始就读进内存的
而对话、事件、战斗设置等等是有需要才会读进内存
你们为什么要欺负我的朋友朱公子

TOP

战斗中使用道具

提升某些数值(攻OR防OR生命最大值)

战斗结束恢复原状

把药品或补品改成能帮队友使用

可以这样改吗

[发帖际遇]: iamnostril拜岳老三为师,得到见面礼银两21.

TOP

;Kdefnum=1018
  50 29 1 28005 5 10 0 0         ;  50(32):[战斗中]选择目标
  50 30 1 10 0 11 0 0            ;  50(32):[战斗中]读取人物战斗属性
  50 26 0 0 19316 5 10 0         ;  50(32):读取给定地址数据 [X10]=[5-4B74+0](Int)
  50 3 0 2 10 10 4 0             ;  50(32):四则运算 [X10]=[X10]*4
  50 26 1 0 -468 24 10 10        ;  50(32):读取给定地址数据 [X10]=[18-FE2C+[X10]](Int)
  50 3 0 0 12 11 0 0             ;  50(32):四则运算 [X12]=[X11]+0
  50 49 -19325 2 10 3 0 0        ;  50(32):调用任意子程
  50 32 0 10 1 0 0 0             ;  50(32):修改下一条指令参数 下一条指令参数1=[X10]
  32 0 -1                        ;  32(20):物品[康倍特]+[-1]
  50 35 0 0 0 0 0 0              ;  50(32):读取键盘 [X0]=键值
  -1                             ;  -1(FFFF):事件结束

把某个药品设成暗器,这样编写事件就能给其他人用了。

我写事件不行,这里面没加判断是否返回和是否为队友。


[发帖际遇]: scarscc参与红花会陈家洛的计划:成功绑架乾隆,得到奖励银两5.
向所有在灾难中遇难的同胞致哀
感时花溅泪 恨别鸟惊心 烽火连三月 家书抵万金
blog for KYS

TOP

TOP

 30 12
发新话题