铁血丹心

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

[通用] 50指令扩充功能

[复制链接]
发表于 2008-5-3 04:13 | 显示全部楼层 |阅读模式
在本人实际制作MOD的过程中,发现原来的50指令是有一些不足的
于是本人在scarscc的扩展战斗的Z.dat的基础上制作了这个Z.dat
主要扩充的功能暂时有3个
1、3号指令(四则运算)增加无符号除法,
     用法:参数3为5

2、9号指令(sprintf)增加将数转换为无符号字符串,
     用法:参数6为1

3、41号指令(显示图片)增加显示全屏图片文件(文件格式与title.big一致,此类文件无透明色),
     用法:先将要显示的图片文件名写到字符串X,然后调用(50,41)指令,参数3为2,参数6为X(字符串编号)。
     例如:要显示title.big的图片,将“title.big”写到X1000,然后调用50 41 0 2 0 0 1000 0


要使用以上功能请手动修改fishedit指令,用fishedit的指令指导会出错

其他新增的功能属于个人化功能,在此暂不赘述

修改过的Z.dat在附件中

[ 本帖最后由 KG 于 2008-7-7 15:21 编辑 ]

本帖子中包含更多资源

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

x

评分

参与人数 1 +20 收起 理由
lift_viper + 20 好贴奖励

查看全部评分

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2008-5-4 09:46 | 显示全部楼层
嗯,看来KG这一阵子的潜心研究进展良好啊!
越来越多的新技术,让我对新的MOD很是期待啊,不过这样还不能直观地看出新效果,如果能配图就更好了!

[发帖际遇]: chenxurui07在福州找到唐诗三百首一本,当成辟邪剑谱送给左冷蝉,得到打赏银两19
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2008-5-4 15:37 | 显示全部楼层
新MOD 开发的 怎么样了?
很期待呢~~~~~

[发帖际遇]: jhg10000替小昭千里送信给张无忌,赶到光明顶得到奖励银两39
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2008-5-16 17:38 | 显示全部楼层
不错不错~~~~~~顶~
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2008-5-16 20:35 | 显示全部楼层
不好意思
能請問一下嗎
什麼叫作無符號除法?
又什麼叫無符號字符串?

[发帖际遇]: billygief冒充青木堂主向反清份子征收活动经费,结果:非法融资被收监,交纳保释银两50.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2008-5-16 22:25 | 显示全部楼层
原帖由 billygief 于 2008-5-16 20:35 发表
不好意思
能請問一下嗎
什麼叫作無符號除法?
又什麼叫無符號字符串?

[发帖际遇]: billygief冒充青木堂主向反清份子征收活动经费,结果:非法融资被收监,交纳保释银两50.


例如同样的FFFEH,如视为有符号数则为-2,如视为无符号数则为65534。用有符号字串输出结果是-2,用无符号输出结果是65534。
同样的除法,如果都除以2,有符号结果是FFFFH,无符号结果是7FFFH,是完全不同的。
在游戏里大多数数字是有符号,只有经验是无符号格式。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2008-5-17 12:05 | 显示全部楼层
謝謝回答
所以~原來版本在計算經驗值的時候~
65534除以2會變成65535
這個指令就是讓人在經驗值超過三萬多時~計算仍然能夠正常~是這樣嗎

scarscc大說到遊戲裡只有經驗是無符號格式~
那麼~這個指令目前只能用在經驗值的計算上嗎?@@
沒有其他的地方可以用嗎

一般我們在寫事件時用的變量似乎也是有符號
因為一超過三萬多就變成負數
請問有沒有辦法把它也變成無符號?

[发帖际遇]: billygief带小龙女去蒙地卡罗吃西餐喝红酒,被赵志敬撞见,破财消灾,花费银两14.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2008-5-18 19:59 | 显示全部楼层
计算经验值的时候没有必要使用除法。

原版里面显示状态时经验值是当作无符号的双字节整型,其余都是是有符号的。
KG大概是想把“状态”这个选单改成调用某个事件,同时编写一个显示人物状态的事件子程,而原有的指令sprintf里面只有带符号整型的处理,即经验超出32767(7FFFH)的时候会显示为负数。

因为50指令中全部变量都是双字节整数,而sprintf指令在一开始使用了符号扩展(movsx),所以无论何时,一个8(Hex)以上数字开头的双字节整数符号扩展后得到的结果必定是FFFF XXXXH的形式,而实际需要的形式是0000 XXXXH。所以这时需要一个判断语句进行转向,或者改为[movzx],或者使用[and 0000FFFFH]屏蔽掉前面的8位。

一般的情况不超过32767的整数大概是够用的,如果全改成无符号数就要分析原有的反汇编结果,将50指令中的基本运算全部改为0扩展(movzx),但是必须考虑这样修改之后是否值得和与之前的指令是否兼容,因为这样很多原有的逻辑会发生变化。

实际上在游戏里面还有一个内存位置保存的是当前的时间,这个是必须用无符号整数才能正确表达的。

[发帖际遇]: scarscc参与红花会陈家洛的计划:叛变勾结清廷,得到赏赐银两19.


[ 本帖最后由 scarscc 于 2008-5-18 20:04 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2008-6-13 19:18 | 显示全部楼层
所谓的个人化功能就是把本来的系统功能改为事件实现
比如本人的签名图
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2008-6-13 19:54 | 显示全部楼层
第一次觉得之上不够用.....

点评

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

评分

参与人数 1 -4 收起 理由
weyl -4 灌水+刷版

查看全部评分

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

本版积分规则

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

GMT+8, 2024-11-16 12:04

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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