铁血丹心

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

[通用] 各MOD中的50指令事件解说

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

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

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

x
自南宫梦的MOD《再战江湖》起,《再破菠萝》、《笑梦游记》各个DOS的MOD里,都大量运用了50指令。
    所谓50指令,就是原版指令中的第50号指令,原的指令是用在原版在林厨子那里判断是否有指定的5种物品,后来游泳的鱼将此指令改写。作为MOD的扩充指令,50指令能完成很多原版没有的功能。Weyl再次改写后,增加了专门用于战斗的几条指令后,更令战斗有更多玩法。虽然现在在weyl复刻版中,很多功能都可以用代码代替,但50指令仍然有很大的用处。

    本帖就在现有MOD中,取部分50指令事件作解说,供学习的朋友参考,高手莫笑。欢迎回帖讨论,有错误或需改善之处请指出。

    在此之前,2楼有一些做50事件中惯用的手法,看了之后应该会有助于理解MOD中的事件



#3    笑梦北宋的西夏看榜文事件                                 难度:★                         作者:lift_viper
#4    笑梦北宋燕子坞随机去藏书阁取天山折梅手        难度:★                         作者:lift_viper
#5    笑梦南宋古墓机关八卦图片提示                          难度:★                         作者:游客
#9    笑梦清朝判断香香是否够15级事件                      难度:★                         作者:KG
#10   再战江湖马贼洞挖矿事件                                   难度:★★                      作者:南宫梦
#11   金庸水浒传白绣整理背包事件                             难度:★★★★★          作者:KG


[发帖际遇]: 柳无色抢先体验《金庸水浒传》并打破论坛通关记录,论坛管理员决定给予奖励银两30。


[ 本帖最后由 柳无色 于 2009-10-7 14:57 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2009-10-2 15:03 | 显示全部楼层

做事件中惯用的手法等

笑梦游记的对话
    看笑梦游记的事件,会找不到1号对话指令,里面所有的对话都用KG的新对话指令代替。相关链接:点击
    在事件中使用的方法是调用该事件再填上相关参数,新对话事件在笑梦的事件编号是201,所以,凡是看到调用201事件字样的指令,基本上就是对话。


[发帖际遇]: 柳无色陪同萧峰外出打猎,猎杀野猪一头,拉回市场后卖出,获得收入银两9。


[ 本帖最后由 柳无色 于 2009-10-2 15:12 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2009-10-2 15:03 | 显示全部楼层
笑梦北宋的西夏榜文事件

原事件如下:
;Kdefnum=2501
  0                              ;  0(0)::空语句(清屏)
  50 43 0 541 4001 0 0 0         ;  50(32):调用其它事件 Call Sub541(4001,0,0,0)
;这里显示榜文的那指令用调用了,调用的参数一是4001
  0                              ;  0(0)::空语句(清屏)
  3 -2 1 -2 -2 2502 -1 -1 -2 -2 -2 -2 -2 -2   ;  3(3):修改事件定义:当前场景:场景事件编号 [1]
;触发监牢守门人剧情
  3 -2 0 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2   ;  3(3):修改事件定义:当前场景:场景事件编号 [0]
;这条的作用是取消当前事件
  -1                             ;  -1(FFFF):事件结束



那么下面看所调用的事件:

;Kdefnum=541
  50 0 10006 320 0 0 0 0         ;  50(32):变量赋值 [X10006]=320
  50 26 0 0 -19142 5 0 0         ;  50(32):读取给定地址数据 [X0]=[5-B53A+0](Int)
  50 4 0 2 0 1 0 0               ;  50(32):变量判断 If[X0]=1  then JMP=0 else JMP=1
;上面是判断分辨率,因为涉及到显示榜文位置。
  36 256 0 8                     ;  36(24):跳转变量JMP是否为0否则跳转到:Label0
  50 0 10006 640 0 0 0 0         ;  50(32):变量赋值 [X10006]=640
;:Label0
  50 4 0 2 28929 1 0 0           ;  50(32):变量判断 If[X28929]=1  then JMP=0 else JMP=1
  36 256 8 0                     ;  36(24):跳转变量JMP是否为0是则跳转到:Label1
  50 8 1 28928 12000 0 0 0       ;  50(32):读对话到字符串  Str[X12000]=talk([X28928])
;把榜文的对话读到字符串,事件2501调用本事件的参数1是4001,对话4001便是榜文的文字,注意每12个字要加*
;:Label1
  50 10 12000 10008 0 0 0 0      ;  50(32):取字符串长度 [X10008]=Len(Str[X12000] )
  50 3 0 2 10008 10008 9 0       ;  50(32):四则运算 [X10008]=[X10008]*9
  50 3 1 1 10007 10006 10008 0   ;  50(32):四则运算 [X10007]=[X10006]-[X10008]
  50 3 0 3 10007 10007 2 0       ;  50(32):四则运算 [X10007]=[X10007]/2
;上面是计算要显示的榜文的字符串的位置,暂不作解说
  50 36 1 12000 10007 50 1797 0   ;  50(32):显示字符串并等待击键 显示字符串12000 ([X10007],50)Color1797
;这一条指令是关键,作用就是在指定位置显示字符串,字符串12000就是那句榜文,X10007是横坐标X,上面计算用到,分辨率不同的话显示位置不同,color1797就是黄色
  -1                             ;  -1(FFFF):事件结束


此事件关键的两条指令为:读对话到字符串显示字符串并等待击键
实际上上面的事件是用来实现多个显示文字的功能,如果要单纯显示这句榜文,只需要这样做(不考虑分辨率位置,定为100,50)

读对话到字符串  Str[X12000]=talk(4001)
显示字符串并等待击键 显示字符串12000 (100,50)Color1797

这样便OK




[发帖际遇]: 柳无色在老顽童处骗取《养蜂秘法》,翻印成《如何饲养文化型蜜蜂》出版后获利银两10.


[ 本帖最后由 柳无色 于 2009-10-2 15:43 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2009-10-2 15:03 | 显示全部楼层
笑梦北宋燕子坞随机取天山折梅手事件

;Kdefnum=2593
  0                              ;  0(0)::空语句(清屏)
  50 8 0 4141 1001 0 0 0         ;  50(32):读对话到字符串  Str[X1001]=talk(4141)
;对话4141是“是否要坐船?(Y/N)”
  50 36 0 1001 40 30 1797 0      ;  50(32):显示字符串并等待击键 显示字符串1001 (40,30)Color1797
;显示是否坐船,并等待玩家选择
  36 256 0 54                    ;  36(24):跳转变量JMP是否为0否则跳转到:Label0
;如果按了Y,那么JMP就是0,按其他键就是1
  0                              ;  0(0)::空语句(清屏)
  16 261 15 0                    ;  16(10):队伍是否有[阿朱]是则跳转到:Label1
  16 204 11 0                    ;  16(10):队伍是否有[木婉清]是则跳转到:Label2
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 0 4142 -2 1        ;  50(32):调用其它事件 Call Sub201(0,4142,-2,1)
;对话4142是“不行啊,没人认识路。”
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label2
;:Label1
;如果有上面两个队友之一,就跳转到这里,执行下面的指令
  14                             ;  14(E):场景变黑
  50 38 0 40 1101 0 0 0          ;  50(32):随机数 [X1101]=Random(40)
;随机产生一个0~39之间的数,变量X1001就代表这个数,比如我的数是18,那么X1101这个变量的值就是18
  50 4 0 0 1101 2 0 0            ;  50(32):变量判断 If[X1101]<2 then JMP=0 else JMP=1
;如果刚才产生的数小于2,那么JMP就等于0。其实这里就是相当于一个随机的效果,大家都知道这样的话有1/20的几率产生的数X1001少于2,这就表明,能去到藏书的地方的几率是1/20,所以要不断刷……
  36 256 7 0                     ;  36(24):跳转变量JMP是否为0是则跳转到:Label3
;JMP为0,就去到藏书的地方,如果不是的话,就去到客厅那条路。
  0                              ;  0(0)::空语句(清屏)
  19 19 32                       ;  19(13):主角移动至13-20
  0                              ;  0(0)::空语句(清屏)
  13                             ;  13(D):重新显示场景
  7                              ;  7(7):无条件返回
;:Label3
  19 31 48                       ;  19(13):主角移动至1F-30
;这个坐标就是藏书那里
  0                              ;  0(0)::空语句(清屏)
  13                             ;  13(D):重新显示场景
  7                              ;  7(7):无条件返回
;:Label0
;一开始没按Y就跳到这里,结束事件
  -1                             ;  -1(FFFF):事件结束



这事件的关键是随机数与相应判断以及跳转,随机数这条指令很多用来做几率。

[ 本帖最后由 柳无色 于 2009-10-2 16:04 编辑 ]

评分

参与人数 1声望 +10 收起 理由
黄顺坤 + 10 甚好,扫雷呢?

查看全部评分

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2009-10-2 15:04 | 显示全部楼层
笑梦游记南宋古墓机关图片提示

那个事件是这样的,按那个碑,主角说了一句:天火山风雷,雷泽水天地。断龙石为坤位。然后就显示了那个图片。

事件如下:
对话6328为“天火山风雷,雷泽水天地。断龙石为坤位。”

;Kdefnum=4513
  50 43 0 201 0 6328 0 1         ;  50(32):调用其它事件 Call Sub201(0,6328,0,1)
  0                              ;  0(0)::空语句(清屏)
  50 41 0 0 100 90 10062 0       ;  50(32):显示图片 场景图片10062 位置(100,90)
;图片10062就是那个八卦图,显示于坐标100,90中,这里有个地方要注意一下,那个坐标是图片左下角的坐标!
  50 35 50 0 0 0 0 0             ;  50(32):读取键盘 [X50]=键值
;这条指令单在这事件里没作用,可以看成清屏指令
  -1                             ;  -1(FFFF):事件结束

[ 本帖最后由 柳无色 于 2009-10-2 16:16 编辑 ]

评分

参与人数 1声望 +10 收起 理由
黄顺坤 + 10 甚好,扫雷呢?

查看全部评分

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-2 15:19 | 显示全部楼层
虽然那些我都学会了,但还是占个沙发,等看精华贴

[发帖际遇]: 参与红花会陈家洛的计划:winson7891向清廷告密,遭到红花会追杀损失银两15.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-3 07:51 | 显示全部楼层
50指令是一向被我辈奉为天书的
不过这些我居然也看懂了一点点!

[发帖际遇]: killer_zingy相助张召重对抗陈家洛,不料落入红花会埋伏,被打得落荒而逃,损失银两30
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-4 17:46 | 显示全部楼层
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2009-10-5 19:29 | 显示全部楼层
笑梦清朝判断香香是否够15级事件

;Kdefnum=572
  16 42 2 0                      ;  16(10):队伍是否有[香香]是则跳转到:Label0
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label0
  50 43 0 201 0 747 -2 0         ;  50(32):调用其它事件 Call Sub201(0,747,-2,0)
;对话为:“香香,你想好了么?当真要入宫?”
  0                              ;  0(0)::空语句(清屏)
  50 17 0 0 42 30 0 0            ;  50(32):读取属性 [X0]=人物42属性偏移30
;这条指令在本事件中很关键,读取香香的等级,人物42就是香香的R编号,偏移30指的就是等级的偏移,读取后X0的值就是香香等级的值。
  50 4 0 0 0 15 0 0              ;  50(32):变量判断 If[X0]&lt;15 then JMP=0 else JMP=1
;这条是判断,判断读取出来的等级的值是否小于15。是的话JMP为0。
  36 256 282 0                   ;  36(24):跳转变量JMP是否为0是则跳转到:Label1
  50 43 0 201 42 1010 -2 0       ;  50(32):调用其它事件 Call Sub201(42,1010,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 0 1011 -2 0        ;  50(32):调用其它事件 Call Sub201(0,1011,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 42 1012 -2 0       ;  50(32):调用其它事件 Call Sub201(42,1012,-2,0)
;对话为:哥哥,香香谢谢你一路来的照顾。香香想好了,香香跟着&amp;&amp;哥哥,江湖行,华山论剑,塞外牧,桃源归隐,哥哥去哪,香香便去哪。
这里表示香香不入宫
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 0 1013 -2 0        ;  50(32):调用其它事件 Call Sub201(0,1013,-2,0)
  0                              ;  0(0)::空语句(清屏)
  14                             ;  14(E):场景变黑
  3 -2 17 0 -2 -1 -1 -1 6116 6116 6116 0 -2 -2   ;  3(3):修改事件定义:当前场景:场景事件编号 [17]
  0                              ;  0(0)::空语句(清屏)
  13                             ;  13(D):重新显示场景
  50 43 0 201 40 1014 -2 0       ;  50(32):调用其它事件 Call Sub201(40,1014,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 0 1015 -2 0        ;  50(32):调用其它事件 Call Sub201(0,1015,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 40 1016 -2 0       ;  50(32):调用其它事件 Call Sub201(40,1016,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 0 1017 -2 0        ;  50(32):调用其它事件 Call Sub201(0,1017,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 40 1018 -2 0       ;  50(32):调用其它事件 Call Sub201(40,1018,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 42 1019 -2 0       ;  50(32):调用其它事件 Call Sub201(42,1019,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 0 1020 -2 0        ;  50(32):调用其它事件 Call Sub201(0,1020,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 530 0 0 0 0            ;  50(32):调用其它事件 Call Sub530(0,0,0,0)
;这个是战斗前处理的事件,很复杂,以后再说。
  6 28 4 0 0                     ;  6(6):战斗[28]是则跳转到:Label2
  0                              ;  0(0)::空语句(清屏)
  15 0                           ;  15(F):战斗失败,死亡
  -1                             ;  -1(FFFF):事件结束
;:Label2
  50 43 0 531 0 0 0 0            ;  50(32):调用其它事件 Call Sub531(0,0,0,0)
;同上。
  3 -2 17 0 -2 -1 -1 -1 0 0 0 0 -2 -2   ;  3(3):修改事件定义:当前场景:场景事件编号 [17]
  0                              ;  0(0)::空语句(清屏)
  13                             ;  13(D):重新显示场景
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 0 1021 -2 0        ;  50(32):调用其它事件 Call Sub201(0,1021,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 42 1022 -2 0       ;  50(32):调用其它事件 Call Sub201(42,1022,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 0 1023 -2 0        ;  50(32):调用其它事件 Call Sub201(0,1023,-2,0)
  0                              ;  0(0)::空语句(清屏)
  2 78 1                         ;  2(2):得到物品[默罕默德的天方夜谭][1]
  0                              ;  0(0)::空语句(清屏)
  0                              ;  0(0)::空语句(清屏)
  0                              ;  0(0)::空语句(清屏)
  0                              ;  0(0)::空语句(清屏)
  14                             ;  14(E):场景变黑
  32 73 -1                       ;  32(20):物品[回部短剑]+[-1]
  0                              ;  0(0)::空语句(清屏)
  13                             ;  13(D):重新显示场景
  50 43 0 201 0 1024 -2 0        ;  50(32):调用其它事件 Call Sub201(0,1024,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 42 1025 -2 0       ;  50(32):调用其它事件 Call Sub201(42,1025,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 42 1026 -2 0       ;  50(32):调用其它事件 Call Sub201(42,1026,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 0 1027 -2 0        ;  50(32):调用其它事件 Call Sub201(0,1027,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 42 1028 -2 0       ;  50(32):调用其它事件 Call Sub201(42,1028,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 202 55 1 0 0           ;  50(32):调用其它事件 Call Sub202(55,1,0,0)
  39 8                           ;  39(27):打开场景高昌迷宫
  3 -2 -2 0 -2 -1 -1 -1 0 0 0 0 -2 -2   ;  3(3):修改事件定义:当前场景:当前场景事件编号
  3 17 0 1 -2 744 -1 -1 -2 -2 -2 0 -2 -2   ;  3(3):修改事件定义:场景[回族部落]:场景事件编号 [0]
  -1                             ;  -1(FFFF):事件结束
;:Label1
;如果等级有15级就跳到这里了。
  50 43 0 201 42 1295 -2 0       ;  50(32):调用其它事件 Call Sub201(42,1295,-2,0)
;对话为:“即便不想,为了民族,又能如何……”,下面的都是香香准备入宫的对话。
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 0 1296 -2 0        ;  50(32):调用其它事件 Call Sub201(0,1296,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 42 1297 -2 0       ;  50(32):调用其它事件 Call Sub201(42,1297,-2,0)
  0                              ;  0(0)::空语句(清屏)
  50 43 0 201 0 1298 -2 0        ;  50(32):调用其它事件 Call Sub201(0,1298,-2,0)
  0                              ;  0(0)::空语句(清屏)
  14                             ;  14(E):场景变黑
  3 -2 17 0 -2 -1 -1 -1 6116 6116 6116 0 -2 -2   ;  3(3):修改事件定义:当前场景:场景事件编号 [17]
  3 -2 -2 0 -2 -1 -1 -1 0 0 0 0 -2 -2   ;  3(3):修改事件定义:当前场景:当前场景事件编号
  0                              ;  0(0)::空语句(清屏)
  13                             ;  13(D):重新显示场景
  50 43 0 201 40 1030 -2 0       ;  50(32):调用其它事件 Call Sub201(40,1030,-2,0)
  0                              ;  0(0)::空语句(清屏)
  14                             ;  14(E):场景变黑
  3 -2 17 0 -2 -1 -1 -1 0 0 0 0 -2 -2   ;  3(3):修改事件定义:当前场景:场景事件编号 [17]
  3 1 20 0 -2 -1 -1 743 0 0 0 0 -2 -2   ;  3(3):修改事件定义:场景[皇宫]:场景事件编号 [20]
  0                              ;  0(0)::空语句(清屏)
  13                             ;  13(D):重新显示场景
  -1                             ;  -1(FFFF):事件结束


这个事件的关键部分就是读取数据再判断,以及跳转,难度不大,有兴趣可以自己试下。

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2009-10-6 20:03 | 显示全部楼层
再战江湖马贼洞挖矿事件

;Kdefnum=1162
  4 171 1 0                      ;  4(4):是否使用物品[铁镐]?是则跳转到:Label0
  7                              ;  7(7):无条件返回
;:Label0
  0                              ;  0(0)::空语句(清屏)
  50 17 0 0 0 42 100 0           ;  50(32):读取属性 [X100]=人物0属性偏移42
;读取主角的体力
  50 4 0 0 100 10 0 0            ;  50(32):变量判断 If[X100]<10 then JMP=0 else JMP=1
  36 256 0 19                    ;  36(24):跳转变量JMP是否为0否则跳转到:Label1
;如果够10则转去:Label1,不够则往下。
  0                              ;  0(0)::空语句(清屏)
  50 8 0 7854 400 0 0 0          ;  50(32):读对话到字符串  Str[X400]=talk(7854)
;对话为:体力不足
  50 36 0 400 100 80 26211 0     ;  50(32):显示字符串并等待击键 显示字符串400 (100,80)Color26211
;在坐标100,80显示体力不足,Color26211是指显示颜色为白色,如果黄色则是1797
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;:Label1
  0                              ;  0(0)::空语句(清屏)
  50 3 0 1 100 100 5 0           ;  50(32):四则运算 [X100]=[X100]-5
;将主角当前的体力值减5
  50 16 100 0 0 42 100 0         ;  50(32):保存属性 人物0属性偏移42=[X100]
;将减5后的体力保存。
  0                              ;  0(0)::空语句(清屏)
  0                              ;  0(0)::空语句(清屏)
  50 0 100 0 0 0 0 0             ;  50(32):变量赋值 [X100]=0
  50 0 200 0 0 0 0 0             ;  50(32):变量赋值 [X200]=0
  0                              ;  0(0)::空语句(清屏)
  1 7811 0 1                     ;  1(1):[张]说: 挖啊,挖啊...
  0                              ;  0(0)::空语句(清屏)
  27 -1 7050 7058                ;  27(1B):显示动画
  27 -1 7050 7058                ;  27(1B):显示动画
  14                             ;  14(E):场景变黑
  27 -1 5974 5974                ;  27(1B):显示动画
  0                              ;  0(0)::空语句(清屏)
  13                             ;  13(D):重新显示场景
  0                              ;  0(0)::空语句(清屏)
  50 38 0 100 1 0 0 0            ;  50(32):随机数 [X1]=Random(100)
;生成0~99的随机数。
  50 4 0 0 1 10 0 0              ;  50(32):变量判断 If[X1]<10 then JMP=0 else JMP=1
  36 256 0 7                     ;  36(24):跳转变量JMP是否为0否则跳转到:Label2
  0                              ;  0(0)::空语句(清屏)
  1 7812 0 1                     ;  1(1):[张]说: 什么都没挖到.
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;如果生成的数小于10,则什么都没挖到,这表示,10%的几率什么都挖不到。
;:Label2
  0                              ;  0(0)::空语句(清屏)
  50 38 0 100 2 0 0 0            ;  50(32):随机数 [X2]=Random(100)
;如果刚才生成的数大于等于10,则生成另外一个0~99的数。
  50 4 0 0 2 60 0 0              ;  50(32):变量判断 If[X2]<60 then JMP=0 else JMP=1
  36 256 0 6                     ;  36(24):跳转变量JMP是否为0否则跳转到:Label3
  0                              ;  0(0)::空语句(清屏)
  2 202 1                        ;  2(2):得到物品[铜][1]
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;如果第2次生成的随机数小于60,则挖到铜。这表示得到铜的概率是54%
;:Label3
  50 38 0 100 3 0 0 0            ;  50(32):随机数 [X3]=Random(100)
;如果第2次生成的数大于等于60,则第三次生成0~99的数
  50 4 0 0 3 70 0 0              ;  50(32):变量判断 If[X3]<70 then JMP=0 else JMP=1
  36 256 0 6                     ;  36(24):跳转变量JMP是否为0否则跳转到:Label4
  0                              ;  0(0)::空语句(清屏)
  2 201 1                        ;  2(2):得到物品[锡][1]
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;如果第3次生成的数小于70则得到锡,那么,锡的概率是37.8%
;:Label4
  50 38 0 90 4 0 0 0             ;  50(32):随机数 [X4]=Random(90)
;如果第3次还没得到锡,那么进行第四次生成随机数,0~89
  50 4 0 0 4 80 0 0              ;  50(32):变量判断 If[X4]<80 then JMP=0 else JMP=1
  36 256 0 6                     ;  36(24):跳转变量JMP是否为0否则跳转到:Label5
  0                              ;  0(0)::空语句(清屏)
  2 200 1                        ;  2(2):得到物品[铅][1]
  0                              ;  0(0)::空语句(清屏)
  7                              ;  7(7):无条件返回
;如果第4次的随机数小于80,那么就得到铅。概率自己算
;:Label5
  0                              ;  0(0)::空语句(清屏)
  2 174 400                      ;  2(2):得到物品[银两][400]
;如果第4次生成的数大于等于80,那么就得400两,可见得到钱的概率比得到其他矿石的概率要小。
  0                              ;  0(0)::空语句(清屏)
  -1                             ;  -1(FFFF):事件结束

这个事件实际上是笑梦北宋燕子坞随机取天山折梅手事件的复杂化,进行了6次跳转,此外加上了读取属性,然后计算,最后再保存,就是下面的几条指令。
  50 17 0 0 0 42 100 0           ;  50(32):读取属性 [X100]=人物0属性偏移42
  50 3 0 1 100 100 5 0           ;  50(32):四则运算 [X100]=[X100]-5
  50 16 100 0 0 42 100 0         ;  50(32):保存属性 人物0属性偏移42=[X100]

偏移42指的是体力,可以改成任何人物的任意属性,自己尝试几次就会明白。

[发帖际遇]: 柳无色参加60周年华诞国庆大阅兵观礼活动,无意中捡到一枚老旧的勋章,经鉴定为开国元勋所佩戴的勋章,被举报私藏文物,损失银两14。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-6 20:17 | 显示全部楼层
来自:金庸水浒传
编号:219
用途:整理背包


使用的原理是冒泡排序,如果懂冒泡排序的高手就不用看了。。。
;Kdefnum=219
  50 0 1 0 0 0 0 0               ;  50(32):变量赋值 [X1]=0
  50 0 100 199 0 0 0 0           ;  50(32):变量赋值 [X100]=199
;设置一个0-199的范围(背包的范围最多200物品)
;:Label3
  50 0 2 0 0 0 0 0               ;  50(32):变量赋值 [X2]=0
  50 3 0 1 10 100 1 0            ;  50(32):四则运算 [X10]=[X100]-1
;双循环
;:Label2
  50 3 0 2 3 2 4 0               ;  50(32):四则运算 [X3]=[X2]*4
  50 3 0 0 4 3 4 0               ;  50(32):四则运算 [X4]=[X3]+4
;两个相邻物品
  50 26 1 0 -468 24 12 3         ;  50(32):读取给定地址数据 [X12]=[18-FE2C+[X3]](Int)
  50 26 1 0 -468 24 13 4         ;  50(32):读取给定地址数据 [X13]=[18-FE2C+[X4]](Int)
;读取物品编号
  50 4 0 2 13 -1 0 0             ;  50(32):变量判断 If[X13]=-1  then JMP=0 else JMP=1
  36 256 96 0                    ;  36(24):跳转变量JMP是否为0是则跳转到:Label0
  50 4 1 0 13 12 0 0             ;  50(32):变量判断 If[X13]<[X12] then JMP=0 else JMP=1
;这个是整理背包的核心语句,判断两个物品的序号谁大谁小,如果前者比后者大的话就排到前面去,其实就是冒泡排序
  36 256 0 64                    ;  36(24):跳转变量JMP是否为0否则跳转到:Label1
  50 3 0 0 5 3 2 0               ;  50(32):四则运算 [X5]=[X3]+2
  50 3 0 0 6 4 2 0               ;  50(32):四则运算 [X6]=[X4]+2
;18-FE2C+[X5]的意思是读取物品编号[x5],由于是读取内存,这里不做解释
  50 26 1 0 -468 24 14 5         ;  50(32):读取给定地址数据 [X14]=[18-FE2C+[X5]](Int)
  50 26 1 0 -468 24 15 6         ;  50(32):读取给定地址数据 [X15]=[18-FE2C+[X6]](Int)
  ;读取该物品的数量
  50 25 3 0 -468 24 12 4         ;  50(32):保存给定地址数据 [18-FE2C+[X4]]=[X12](Int)
  50 25 3 0 -468 24 13 3         ;  50(32):保存给定地址数据 [18-FE2C+[X3]]=[X13](Int)
  50 25 7 0 -468 24 14 6         ;  50(32):保存给定地址数据 [18-FE2C+[X6]]=[X14](Int)
  50 25 7 0 -468 24 15 5         ;  50(32):保存给定地址数据 [18-FE2C+[X5]]=[X15](Int)
;两者交换位置
;:Label1
  50 3 0 0 2 2 1 0               ;  50(32):四则运算 [X2]=[X2]+1
  50 4 1 0 2 10 0 0              ;  50(32):变量判断 If[X2]<[X10] then JMP=0 else JMP=1
;大于等于x10就退出循环
  36 256 -140 0                  ;  36(24):跳转变量JMP是否为0是则跳转到:Label2
;:Label0
  50 3 0 0 1 1 1 0               ;  50(32):四则运算 [X1]=[X1]+1
  50 4 0 0 1 199 0 0             ;  50(32):变量判断 If[X1]<199 then JMP=0 else JMP=1
;大于等于199就退出循环  
36 256 -176 0                  ;  36(24):跳转变量JMP是否为0是则跳转到:Label3
  -1                             ;  -1(FFFF):事件结束

[发帖际遇]: 黄顺坤卖下一个mod的制作人绝密采访稿,狂赚银两45.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-7 12:40 | 显示全部楼层
问一下, 都是看会编吗?   没有 源码吗?

[发帖际遇]: 群芳谱修改请陈园园签名,被吴三桂发现,损失银两25。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-10-9 15:17 | 显示全部楼层
有没有高手写个翻译软件。。。把高级语言指令翻译成50指令

[发帖际遇]: 孤魂野鬼找到一柄破剑,经专家鉴定为独孤求败早年使用的不知名利剑,价值银两5.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-1-10 17:39 | 显示全部楼层
原帖由 柳无色 于 2009-10-2 15:03 发表
笑梦游记的对话
    看笑梦游记的事件,会找不到1号对话指令,里面所有的对话都用KG的新对话指令代替。相关链接:点击
    在事件中使用的方法是调用该事件再填上相关参数,新对话事件在笑梦的事件编号是201,所以 ...

你是怎么看的笑梦事件。奥,我忘了,你的内部人员
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-1-16 07:18 | 显示全部楼层
原帖由 vwxy727 于 2010-1-16 03:39 发表
茶叶美容天然又健康,有洗发、护发的等显著功效。茶叶美容的花费相比化妆品非常低廉,只要几块钱就能达到好效果。福建省泳福茗茶总结了茶叶的相当药用。把茶叶用于化妆品中,使茶叶中的美容成分直接被皮肤吸收。茶叶 ...

广告? 版主,他是怎么进来的

[发帖际遇]: 反对混合型当选为年度“赏善罚恶”大使,路过荆州城,罚凌退思获得银两9。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2010-1-25 20:18 | 显示全部楼层

回复 十四当家 的帖子

笑梦游记发布的时间是2008年的春节
我未参与过任何关于笑梦游记制作的活动
我非笑梦游记此MOD的内部人员

请你知道,版主跟MOD内部人员没有直接的联系

事件是我问一个也是非内部人员的高手拿的。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-27 13:35 | 显示全部楼层

说我挖坟的话我认了!

虽然看懂了一点点,但是显示图片的那个,坐标那里不大懂啊,怎么设置啊,根据什么判断坐标啊
PS:复刻版的

[发帖际遇]: 风吹屁屁凉受康熙之命,护送建宁公主远嫁云南,一路之上收取贿赂共得银两19。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-28 02:31 | 显示全部楼层

回复 17# 的帖子

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-28 02:48 | 显示全部楼层

回复 17# 的帖子

按照图片的偏移来显示的。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-5-7 04:25

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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