牧羊三国游戏网(策略单机游戏无毒无插件无广告免费下载)

 找回密码
 立即注册

微信扫码登录

使用验证码登录

查看: 2573|回复: 2

[硬盘版] 引擎下载

[复制链接]
发表于 2015-4-9 12:33 | 显示全部楼层 |阅读模式
发布6.0正式版

2014.09.09更新

修正了用形象指定器修改内场景地形后导致游戏卡死的bug。


2014.4.19更新

1、修正上一版的已知bug

2、实现了meff和Mcall的真彩,见本帖表格中的说明,

3、5.9版里有一个让特定武将学会特定策略的功能,但需要先在exe手工设置,容易出错,另外也无法在游戏过程中改变,所以这次增加了通过剧本指令来实现的方法
   
    剧本写法见图
   

图片附件: Snap62.jpg (2014-4-19 12:05, 11.24 K)


    注意
    数字信息必须填4,
    第一行为策略编号,从0开始计算,如灼热就是0
    第二行为习得时的人物等级()
    第三行为人物data号
    最后一行为注释,可有可无
    另外通过设置第二行的数字,也可以让人物忘记已习得的策略,比如开始让某个武将学会了一个策略,后来由于某种原因,又想让他忘记这个策略那就再写一个一样的指令,
把第二行数字设为一个不可能达到的等级,如254,不过不要设为255

4、指针变量存档化,这个是来自WHITESHIP的修改,
   这个我考虑了很久,还是加上了,不过新手慎用
   
   指针变量以前有2048(0-2047)个,现在大幅度缩减为406(0-405)个,0-299用法照旧,也不进行特殊记录,一般情况下使用0-299编号的指针变量基本就能满足需求。300-
405则进行存档化,特殊场合下使用

  此项修改发现bug,具体表现为如果在指针变量运算前存一个档,指针变量运算后再读取这个档,会发现  通过指针变量运算来改变的数据已经改变了。很拗口吧,反正自己理解了
所以300-405的指针变量暂时别用了


   
   另外顺带完成了指针变量全部运算符的byte和word运算,以前只有+、-、=可支持byte和word运算,现在*、\、%也可支持byte和word运算

5、半透明的对话背景和不同颜色的对话文字,这个是来自Godtype的,
     

图片附件: Snap64.jpg (2014-4-19 12:05, 10.25 K)


     运行效果
     

图片附件: Snap63.jpg (2014-4-19 12:05, 15.5 K)



6、强化了神魔护体这个效果
     A:以前神魔护体是影响兵种成长,现在直接影响人物成长
          比如效果为4时,人物能力还必须达到90,才有4点成长,现在不论人物能力有多少,成长均为4点

     B:以前还有可能使得某项能力下降,现在不会了
   


-----------------------------------------------------------------------------------------
1 修正测试版中的已知BUG

2 采取新的开始界面。
  
   模拟按钮的图片是jiansan提供的,自己再拼凑了一下,不满意也可以自行继续加工。图片放在U_select.e5中。请下载附件中的相关文件,再替换原来的即可

3 加入了来自godtype的关于6b指令的一些修改和扩充

   主要有以下几个用法
   

图片附件: 1.JPG (2014-1-9 16:14, 17.11 K)



   第一个6b指令同原版,第二个6b指令本来要用2次,现在一次即可
   

   第一个72指令的写法
   

图片附件: 2.jpg (2014-1-9 16:14, 11.54 K)


   

   数字信息必须填1
   文字框第一行表示让指定武将的血量改变,可以填写正负数或0
   正数表示增加HP,不会超过HP上限(正数前不要有“+”号)
   负数则减少,可以降到0并撤退
   0则不改变
   
   第二行表示使用哪一个策略动画。这里要注意2点
   1 只能使用meff中的策略动画,不能使用mcall里的大动画
   2 如果使用了一个攻击性策略动画,那么第一行的数值就不要填写正数,这样虽然不影响程序运行,但会比较怪异

   第三行取值为0或1,表示是否切换视点

   第四行是一些人物的data号,表示对这些人物使用策略,data号之间用“|”号分隔

   第五行是注释,自己看的,可有可无   
   
   第二个72指令的写法
   

图片附件: 3.JPG (2014-1-9 16:14, 11.49 K)



   数字信息必须填2
   
   第四行是一些地点的坐标,表示对这些地点使用策略,横坐标和纵坐标之间用",”分隔,坐标之间用“|”号分隔
   其余几行意义同上
   如果某个坐标正好有部队在,那么这支部队的HP会根据第一行设置的数字而改变
  

   第三个72指令的写法
   

图片附件: 4.JPG (2014-1-9 16:14, 10.84 K)



   数字信息必须填3

   第四行只要2个坐标,表示一个区域的左上角和右下角,横坐标和纵坐标之间用",”分隔,坐标之间用“|”号分隔
   其余几行意义同上
   如果某个坐标正好有部队在,那么这只部队的HP会根据第一行设置的数字而改变
  
   在以上三个72指令中,除了注释外的所有数字和符号都要用半角符号;除最后的注释可有可无外,其余每一行都不能少


4  应求增加了3个空白对话框,再加上以前的开始对话框,就有4个

    本次发布的三个附件都要重新下载




关于图片使用的一些补充说明

6.0引擎已经发布一段时间了,综合各方面的信息反馈,对图片使用中的一些问题进行一些说明


1、对于部分仍然使用256色的图片,处理方法还是按原来的方法处理好调色板就没有任何问题,这方面已有很多教程,不多做解释

2、游戏中的背景图(内场景、外场景、logo、单挑背景、战场地图、城门)
     这些图片只有战场地图是强制要求使用jpg格式,其余的既可以使用24位bmp图,也可使用jpg格式的图片,但是出于减少文件体积考虑,建议使用jpg格式

3、头像  这个分为2种情况
     
     A:采用镂空头像,这种情况下,发现如果转jpg会有一些粉色的杂点出现,这是因为jpg属于有损压缩,原本是f700ff色转了jpg之后会有一些改变,虽然肉眼分辨不出,但电脑却最擅长这个,所以不会对这些近似f700ff的颜色进行透明处理,因而保留下了这些杂点,由于目前无论是图片处理还是程序设计都没有可靠的方法,所以如果要使用镂空头像还是直接使用24位bmp图更好

     B:不采用镂空头像,这种情况下不必做透明处理,可以使用jpg格式

4、R、S形象
     这些可兼容256形象,如果仍然使用256的形象,不解释

     如果是使用真彩形象那么就与使用镂空头像的情况是一样的,所以也是使用24位bmp图更好
     
     希望有擅长美工的朋友研究一下如何在转了jpg之后仍然可以有效的保留下f700ff色,毕竟bmp格式体积要大很多。
     已经有方法了



5、城门
    目前出现的6.0游戏中城门是花的,这种情况一般出现在从低版本升级过来的mod中,如果是新设计的城门,一般不会出现这个问题。
    这其实是作图的问题,说说我的方法
   

    对于任何一个城门,首先要搞清楚它对应的战场地图,然后先用叶落的地形编辑器先把这个战场地图导出,再用rpgviewer导出城门,接着用ps打开这2个图,先导出战场地图的颜色表(图像-模式-颜色表-储存),在把这个颜色表导入到城门里(图像-模式-颜色表-载入),这个时候城门就不会花了,此时再转为rpg位图,保存后导入即可




------------------------------------------------------------------------
本次exe更新后,主要是需要对一些图形文件进行重新处理,剧本只需要重设大地图头像的座标即可,下表是各图形文件的处理说明
序号
文件名
用途
图片处理说明
相关文件
1
Unit_spc
s形象
原则上要求全部转为真彩,但由于目前没有,所以可兼容256色形象
2
Unit_mov
s形象
原则上要求全部转为真彩,但由于目前没有,所以可兼容256色形象
3
Unit_atk
s形象
原则上要求全部转为真彩,但由于目前没有,所以可兼容256色形象
4
Logo
1.开局 5.开战前 7.结束 8.战败 13.第三波
1: 第2,3,4(三只铜雀) 9,10,11,12(底纹) 以上7张图照旧使用256色位图,其余必须转为真彩图片.
调色板文件Logo_p.e5可以删除
单挑背景
2: 所有的单挑背景尺寸改为604*364(原来的是624*384),logo图尺寸不变,仍然是640*400
5
Mmap
1-40 外场景 115 中国地图 其余为内场景
全部转为真彩图片,图片尺寸不变.(640*400)
调色板文件Pmpalet.e5可以删除
6
U_select
出战选人 练武场 对话背景
全部转为真彩图片,图片尺寸不变.本次新增2张图片,做为对话背景,目前是白框,可自行替换.(会提供)
7
Pmapobj
r形象
原则上要求全部转为真彩,但由于目前没有,所以可兼容256色形象
8
Face
头像
重新启用face.e5,废除tou.dll.头像尺寸为120*120,全部要转为真彩图
9
Gate
城门
全部要转为真彩图
10
HM??.e5
战场地图
全部要转为真彩图.现在直接使用jpg文件作为战场地图,图片放入要放入map文件夹,图片的命名规则为m000.jpg,m001.jpg,依次类推                     
调色板文件spalet.e5可以删除  战场小地图Smlmap.e5 可删除
战场小地图可自动生成     
11
Meff.e5
策略图 小
原则上要求全部转为真彩,可兼容256色图片
12
Mcall??.e5
策略图 大
原则上要求全部转为真彩,可兼容256色图片
所谓的真彩图可以使用24位的rgb图,但这种文件体积很大,并不推荐使用,所以新增加了对jpg文件的支持,建议先制作好真彩图,转为jpg后再导入使用.转jpg一般用ps或acdsee均可,效果都不差,只是转出的jpg文件体积稍有不同. 转换时请采用最低压缩率,以保持效果, 作图时注意f700ff是透明色。

尤其是头像要注意,如果是使用tou.dll里的镂空头像,从tou.dll导出后,一定要把黑色背景换成f700ff,再导入到face.e5




这是我的转换时的设置

PS v7.0.1


图片附件: ps.jpg (2013-10-20 23:46, 15.99 K)



ACDsee v5.0


图片附件: ACD.jpg (2013-10-20 23:46, 20.98 K)


小结  ccz的图片大体上有18个(dll不算,mcall有9个,只算一个),支持真彩的现有12种,小地图可以删除,只剩下了5个仍然使用256色位图
effarea
穿透范围图
Hitarea
攻击范围图
Item.e5
物品图标
Mark.e5
各种图标 火 船  59和60交换一下
Weather
天气图


使用中如发现图片花掉,请确认相应图片是否按上述表格说明进行过处理




本次发布的相关文件只有一个U_select.e5,其余相关文件和配套的落叶修改器请先到5.8发布贴下载相关文件,再用这个替换



==================================================================

经过数月的努力,庞大的工作终于接近尾声.

曾经不止一次有过放弃的念头,总算是坚持下来了,不为别的,只是因为对这个游戏的喜爱!

由于目前尚有20%左右的代码需要修改,此外还要进行测试,所以只能先发几个效果图上来



图片附件: logo.jpg (2013-9-21 14:43, 825.05 K)





图片附件: 中国地图.jpg (2013-9-21 14:43, 825.05 K)





图片附件: 内场景.jpg (2013-9-21 14:43, 825.05 K)



注意 RS形象也已经实现了真彩,不过由于目前还没有真彩的形象,我只能把现有的形象转为rgb图用于显示,所以看起来效果还是256色,但实际已能够支持真彩形象了.


附件: [exe和支持jpg的动态链接库文件] Ekd5.rar (2014-4-19 12:05, 315.37 K)
该附件被下载次数 118627


附件: [形象指定器和图片导入器] Rs6.rar (2014-9-9 17:19, 191.48 K)
该附件被下载次数 21766


附件: [相关文件] XG.rar (2014-1-9 16:14, 607.08 K)
该附件被下载次数 158717

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x




上一篇:剧本制作心得
下一篇:魏晋风仪(至第八幕)
 楼主| 发表于 2015-4-9 12:36 | 显示全部楼层
5.8修正版 重要更新

5.8是在5.7的基础上进行了以下修改

5.8修正版内容
1 和功勋系统有关的修正
   在人物特性对话框(点击头像弹出)里增加了功勋的显示,需要在开启了功勋模式的情况下才会显示
   修正了几个获得功勋的错误
   战场幸存者每人获得10功勋,改为根据S战场节省的回合数来得到功勋 每节省1回合获得3功勋

2 和围攻系统有关的修正
   围攻可额外获得5%的伤害和命中加成
   参与围攻获得双倍的武器经验 被围攻获得双倍的护具经验

3 修正了敌方回合无故退出的恶性bug

4 练武场的bug也进行了修正,但仍未完全解决,最好的办法就是不要一次打太多.

5 修正了兵种自动转职的bug,
   一般来说一个武将在data应该设为低级兵种,但是有些mod出于特殊需要,往往不是这样设置的,这就有可能使得这个武将出场时成为
  下一个兵种

6 整形变量4057控制大地图是否采用大头像,默认0采用 设置为1 使用原来的小头像

7 增加了s战场的倒戈功能
  3b指令本来只能用于R,现在可用于S来实现战场倒戈
data加入,目标武将倒戈为我方
内存加入,目标武将倒戈为友方
离开,      目标武将倒戈为敌方  

注意 相应的阵营最好留有出场位置,否则倒戈的武将直接撤退
       如果是倒戈为友方或敌方,则该武将的AI统一转为主动出击

8 修正了自动提升这个效果不能叠加的问题
   data效果值的设置方法和原来有所不同,可以参考形象指定器里的兵种效果里的设置的数据


9 如果使用了修正版exe,必须重新开始游戏



正式版说明

本次发布主要以修正bug为主,重要的新增内容只有3处

1 全面采用真彩头像
   效果图 http://www.xycq.net/forum/thread-242208-1-1.html
   不足之处  大地图头像出现和消失的淡出和淡入效果没有了
                 由于图片尺寸变大,现有剧本中大地图显示的头像坐标要调整,否则头像会重叠
   

2 远程兵种可以发起围攻
   以前的版本中 远程兵种要适当走位才能发起围攻(其实是个bug),现在修正后可以直接发起围攻了

3 突破攻击本来是不能双击的,现在可以了,但是要求对方后退以后要在攻击方的攻击范围以内才行

一、新增4种装备类型
3种为武器 其中2种加攻击 1种加攻击和精神
1种为护具 加防御,是为了把武将的文官的衣服区别开

由于增加了4种装备类型,相应的就增加了这些装备的三个级别的商店货,因此又增加了4×3=12件物品。
关于新增加物品需要注意的地方
A 至5.8为止,共扩充过3次物品,第一次是增加攻击性物品和地雷 共26件、第二次是增加12件可装备品、本次又增加12件可装备品,这样总计增加了50件物品,加上原来104件
  物品总数达到154件。这里就产生一个问题,现有的物品总数超过了imsg里的149件物品说明的数量上限,因此不得不对imsg进行调整,所以如果要使用5.8版,data和imsg都
  要用5.8相关文件里所提供的。
  
  由于调整了imsg,部分数据位置发生了改变,因此编辑这个imsg必须要用本次发布的叶落修改器修正版才行。
  而新增加的物品全部放在Star.e5中,叶落修改器不能读取,因此这些物品的说明只能用UE来编辑

B 新增物品的图标
  这个其实不算新问题,主要是新增加的图标可能会掉色,解决方法早已提供,这里不在赘述

C 在我提供的data里,已经扩充好了兵种的可装备类型,也重新排列了物品顺序,建议普通装备的位置不要变动,否则会导致AI的默认装备异常
  
代码如下
  00482427      00            DB 00                             ;  武器1 加攻击
  00482428      03            DB 03                             ;  武器2 加攻击
  00482429      06            DB 06                             ;  武器3 加攻击
  0048242A      09            DB 09                             ;  武器4 加攻击
  0048242B      0C            DB 0C                             ;  武器5 加攻击
  0048242C      0F            DB 0F                             ;  武器6 加攻击
  0048242D      12            DB 12                             ;  武器7 加攻击
  0048242E      15            DB 15                             ;  武器1 加精神
  0048242F      18            DB 18                             ;  武器2 加精神
  00482430      1B            DB 1B                             ;  武器3 加攻击和精神
  00482431      39            DB 39                             ;  护具1 铠甲
  00482432      3C            DB 3C                             ;  护具2 武将衣服
  00482433      3F            DB 3F                             ;  护具3 文官衣服
如果一定要调整位置,就必须修改上面的代码,这些数据就是该类型装备的最低级装备的编号

D 卖装备的果子
  代码如下
    0040D597      67            DB 67                             ;  67 经验果 剑
    0040D598      62            DB 62                             ;  武力果 枪
    0040D599      66            DB 66                             ;  好运果 弓
    0040D59A      66            DB 66                             ;  好运果 棍
    0040D59B      62            DB 62                             ;  武力果 炮车
    0040D59C      64            DB 64                             ;  精壮果 锤
    0040D59D      65            DB 65                             ;  敏捷果 斧
    0040D59E      63            DB 63                             ;  智力果 扇
    0040D59F      63            DB 63                             ;  智力果 拂尘
    0040D5A0      67            DB 67                             ;  经验果 宝剑
    0040D5A1      64            DB 64                             ;  精壮果 铠甲
    0040D5A2      65            DB 65                             ;  敏捷果 武将衣服
    0040D5A3      63            DB 63                             ;  智力果 文官衣服

E 剧本指令
  
  和装备相关的一些指令,常用的就是3E和48指令,要使物品正常显示,需要修改剧本编辑器的CaoCaoSceEditor.ini文件,调整下面4个数据
ItemWeaponID=0 ;道具-武器起始序号,取值范围 0~255
ItemDefenseID=57 ;道具-防具起始序号,取值范围 0~255
ItemAssistID=84 ;道具-辅助起始序号,取值范围 0~255
ItemOtherID=111 ;道具-消耗起始序号,取值范围 0~255
调整后剧本编辑器的下拉列表的武器和护具可以正常显示,但辅助只会三件物品和消耗品以及一些空白项目,其实这里从第一件消耗品开始对应新增的24物品,空白项目也同样有意义

如果自己调整了装备顺序,要重新设置这些数据,除了修正以上4项数据 还要修改exe

代码如下

00407E03  |.  83C1 00       ADD ECX,0                         ;  0 武器开始编号
00407E06  |.  EB 18         JMP SHORT Ekd5.00407E20
00407E08  |>  3C 01         CMP AL,1
00407E0A  |.  75 05         JNZ SHORT Ekd5.00407E11
00407E0C  |.  83C1 39       ADD ECX,39                        ;  57 护具开始编号
00407E0F  |.  EB 0F         JMP SHORT Ekd5.00407E20
00407E11  |>  3C 02         CMP AL,2
00407E13  |.  75 20         JNZ SHORT Ekd5.00407E35
00407E15  |.  83C1 54       ADD ECX,54                        ;  84 辅助开始编号




注意 3D得到物品和59战利品指令仍然是通过设置整形变量来得到新物品


二、必杀指令的修改
    文官必杀技的调整
    AI照旧,只是削弱了我方的文官必杀,只有个别的影响范围仍然为全屏,其余调整为没羽箭范围

    必杀所需Sp以前在形象指定器的全局设置里修改,现在用整形变量4061来设置,这样可以根据游戏的进度动态调整,避免初期难以出现必杀

    禁止必杀 设置整形变量4059   0 开启(默认) 1 关闭
    禁止必杀后,部队不会集气,同时战场上的SP槽也消失,但武将情报的Sp槽要用ResHacker拖放的看不见的地方去

三、AI行动顺序调整

由整形变量4063来设置
4063 默认为0 照旧
4063 为1   兵种的攻击或防御为S的优先于远程行动
4063 为2   自行设计行动顺序
           从44DCCC开始共40字节对应40个兵种,取值范围0-5,数值小的先行动

但是无论那种方案,都是 可释放必杀>濒死>处于可恢复地形>...............>全体回归必杀


四、历史情报对话框的功能强化

    5.7版的历史情报功能比较简单,只能起到显示的作用,这一版进行了一些改进,可以进行一些排序和筛选
        
    历史记录的设置和上一版有所不同,要求输入的的内容前面增加一个数字,从1开始,每一条记录的数字不能相同,这样可以对记录进行修改或删除
   
设置历史记录的指令

   77:变量运算 整型变量 4071 = 常数 1
  16:信息 1历史情报
   77:变量运算 整型变量 4071 = 常数 2
16:信息 2历史情报
  77:变量运算 整型变量 4071 = 常数 3
  16:信息 3历史情报
  77:变量运算 整型变量 4071 = 常数 4
  16:信息 4历史情报

这样就用4种不同颜色设置了4条记录,注意,每一条记录前要加一个数字作为该记录的编号

    修改其中某一条记录的指令
  77:变量运算 整型变量 4071 = 常数 255
  16:信息 3历史情报历史情报

  注意 整型变量 4071 设置为255,记录前面的编号要相同 ,这样就修改了第三条记录

  删除记录的指令
  77:变量运算 整型变量 4071 = 常数 255
16:信息 4

   整型变量 4071 设置为255,16指令只需要编号即可,这样就删除了第4条记录

   
五、其他

    学会策略
    以前这个效果的设置比较死板,只有2种选择,现在调整了一下,把策略粗分为8类,在通过设置不同的data效果值来学会某类策略或几类策略的组合
   

众志成城
   以前的加成数为data效果值,现在修改为 周围部队数*data特效值,装备者本身依然无效,但计算人数时会计算在内


    开启AI利用优势地形
        整型变量4065控制   默认为0,不开启,为1开启  
        原版里的AI并不会刻意走到优势地形发动攻击,除非是可恢复地形或者碰巧,AI总是很懒,多走一步也不肯。开启后难度会有增加

    开启攻击方向判断
        整型变量4066控制   默认为0,不开启,为1开启  
        开启后会判断攻防双方的相对攻防方向,正面攻击无加成,侧面加成5%,后面加成10%,同时也会影响格挡率。开启后难度会有增加

    得到的物品如果是消耗品,则物品等级就是得到的道具数量,参考godtype的引擎
    自我能力复制就是重新计算能力,参考godtype的引擎
   
    由于现在兵种比较多,可能有些兵种用不到,一般来说,只要不设置这样的兵种就行了,但是仍然会有2个地方会有所显示,   
    一个是可装备对话框,这里要用ResHacker把相应的标签拖放到看不见的地方即可
    另一个是地形情报,通过设置464211开始的40个字节来决定是否显示,0不显示 1 显示
   
    修正5.7版的几个bug




附件: [5.8exe] Ekd5.rar (2012-2-25 11:29, 245.86 K)
该附件被下载次数 85622



附件: [必须下载] 相关文件.rar (2011-7-30 16:44, 906.22 K)
该附件被下载次数 109489



附件: [形象指定器58] 形象指定器.rar (2012-2-12 18:48, 168.83 K)
该附件被下载次数 318987



附件: [叶落修改器修正版] 曹操传修改器专用版.rar (2011-11-7 01:24, 60.35 K)
该附件被下载次数 14245




-----------------分割线---------------------------------------------分割线--------------------------------------------------------分割线-------------------------------
5.7版说明
一、扩充兵种数量

    三转兵种和一转兵种数均扩充到20个,职业数达到40个,兵种数达到80个

二、扩展R形象和S形象,原来是单字节,最多256个,现在扩充为双字节,达到256*256个

    R形象:从data中迁移到exe中,所以要重新指定人物R形象,如果取档,全是0号R形象   
    S形象:由于扩充了兵种,因此所有S形象顺序要重新排序,现提供一个表格,标识了兵种和形象编号的对应关系



附件: 形象对应表.rar (2010-9-22 11:30, 6.05 K)
该附件被下载次数 31107


三、增加了两个对话框。

    一个是在查看武将情报时,点击武将头像弹出,用来显示武将的人物特性,兵种特性以及必杀技


图片附件: 01.jpg (2010-9-22 11:32, 87.73 K)


    另一个从英杰4移植而来,用来显示历史情报,可以把游戏中的一些重要事件记录下来。


图片附件: 02.jpg (2010-9-22 11:32, 70.55 K)


    使用方法:通过整形变量4071配合16指令来实现,4071取值范围0-4。在默认情况下,4071值为0,16指令用法不变,取值1-4,则把相应文字在对话框中显示出来,4种取值的不同之处在于文字的颜色



图片附件: 03.jpg (2010-9-22 11:32, 95.87 K)



四、增加一个宝物效果:怀恨攻击。 记录在对方回合时受到的物理攻击次数,到己方回合时可以有攻击加成,需要设置data效果值,最终的加成为  效果值×受到的攻击次数



5.7繁体版
http://www.xycq.net/forum/thread-220593-1-7.html

[ 本帖最后由 star175 于 2012-3-2 23:33 编辑 ]

附件: [5.7版exe] Ekd5.rar (2010-11-26 22:50, 242.6 K)
该附件被下载次数 40355


附件: [必须下载。含data和imsg] 相关文件.rar (2010-9-22 11:30, 906.38 K)
该附件被下载次数 5322


附件: [修正后可修改imsg] 叶落修改器修正版.rar (2010-9-22 11:30, 156.8 K)
该附件被下载次数 193291


附件: [R、S形象都用这个指定] 形象指定器.rar (2010-11-26 22:50, 165.76 K)
该附件被下载次数 87398



常见问题

Q:52指令无法读取新的兵种?

A:修改剧本编辑器的配置文件 CaoCaoSceEditor.ini
    TroopNum=80 ;兵种数量,取值范围 53~256


Q:为什么敌军出场等级比我军高出很多?

A:请先设置剧本编辑器的人物等级为99,再修改s剧本的45指令

     注意  99是exe的我军默认最高等级,这个数值是可以用形象指定器来修改的,所以如果你修改了这项,要相应重新设置剧本编辑
             器的人物等级,并修改s剧本的45指令


Q:宝物效果应该如何拆分 合并?

A:拆分 合并都可以用形象指定器来做,但是宝物说明并不会自行增加,仍然要用UE来写入。
     
     注意  在exe修改初期,宝物号没有进行过扩充,所以把多个效果合并到一起去了,但是宝物说明文字只有一个,姑且称之为主要效
             果。在拆分时注意的原则就是主要效果号不要变动,把次要效果设置为闲置的效果号(目前64到6B均为闲置效果号),拆分后
             用UE打开exe,查找 ”空效果“(第一个的位置在D1C4F,对应64效果的宝物说明,最多4个汉字)。并修改这些文字

Q:为兵种指定了策略后data就不能打开了?

A:经测试,只有倒数12-15共4个兵种会出现这种情况。由于没有data修改器的源码,只能通过反汇编来进行修正,所以这个问题暂时无解
     事实上这对游戏并无影响,策略也可以正常使用,只是修改不方便,所以我建议这4个兵种还是不要给任何策略。
     
     当然,如果不嫌麻烦可以用Ue改。先找到策略名称  从名称开始前17字节不要动,18字节共80字节对应80个兵种

    PS:如果data已经打不开了,只要用UE把这80字节全设为0就可以重新用data修改器打开了

Q:如何禁止特定武将的物品交换功能?
A:修改了一个废弃指令来实现这个功能

    38:武将能力设定 2:张飞 头像 + 1  ;禁止某个武将的交换功能

    38:武将能力设定 2:张飞 头像 + 0  ;恢复某个武将的交换功能

    注意 38指令的其他属性设置效果不变。

Q:为什么使用35指令改变R形象无效
A:由于R形象已扩充为双字节,原来的35指令废除
     现在改变R形象使用78指令
     如
     77: 变量运算 整形变量 0=常数 0              //先给0号整形变量设置一个值 0
     78 :整形变量赋值 0==>0:刘备 R 形象    //把0号整形变量的值设置给刘备的R形象  即把刘备的R形象设为0号


  

更多问题请看
http://www.xycq.net/forum/thread-155401-1-1.html 二楼

bug修正

设置为辅助百分数时精神力和防御力数据颠倒

0045284E   .^\E9 E628FBFF      JMP Ekd57.00405139
00452853      90               NOP


00405139   > /0FB645 08        MOVZX EAX,BYTE PTR SS:[EBP+8]
0040513D   . |837D F4 00       CMP DWORD PTR SS:[EBP-C],0
00405141   . |0F84 16D70400    JE Ekd57.0045285D
00405147   . |E9 08D70400      JMP Ekd57.00452854

5.6和5.7通用


随机状态攻击使得精神力和移动力不降反升的bug

0045AB40  |> \8A45 10       MOV AL,BYTE PTR SS:[EBP+10]
0045AB4B  |.  8841 1A       MOV BYTE PTR DS:[ECX+1A],AL


0045ABA0  |> \8A45 10       MOV AL,BYTE PTR SS:[EBP+10]
0045ABAB  |.  8841 1D       MOV BYTE PTR DS:[ECX+1D],AL

仅用于5.8修正版
 楼主| 发表于 2015-4-9 12:38 | 显示全部楼层
5.9 正式版特别更新 修正头像变化的bug

2013-4-3 特别更新

1  修正头像变化的bug
      这个bug一直伴随新引擎而存在了好几年,带来了无数的困扰,但以前一直不知道它的触发机制,无法进行修正,这次由于WHITESHIP发现了原因,终于可以解决了
      改法很简单,就两句代码

      00483EF8  |.  68 00100100   PUSH 11000                              

      00483FC7  |.  81C2 00100100 |ADD EDX,11000

      5.6-5.8通用

2   增加了辅助物品的可装备兵种的修改

3   增加了为特定武将指定特定策略

以上两个我曾经发过帖子http://www.xycq.net/forum/thread-278060-1-1.html介绍


注意第三点,此次发布的exe中的函数代码如下

00450931  /$  55            PUSH EBP                        ;  武将习得策略
00450932  |.  8BEC          MOV EBP,ESP
00450934  |.  51            PUSH ECX                        ;  82
00450935  |.  52            PUSH EDX
00450936  |.  E8 42B5FBFF   CALL Ekd5.0040BE7D
0045093B  |.  50            PUSH EAX
0045093C  |.  BA A45B4600   MOV EDX,Ekd5.00465BA4
00450941  |.  EB 01         JMP SHORT Ekd5.00450944
00450943  |>  42            /INC EDX
00450944  |>  803A FF        CMP BYTE PTR DS:[EDX],0FF
00450947  |.^ 75 FA         |JNZ SHORT Ekd5.00450943
00450949  |.  42            |INC EDX
0045094A  |.  803A FF       |CMP BYTE PTR DS:[EDX],0FF
0045094D  |.  74 29         |JE SHORT Ekd5.00450978
0045094F  |.  8B4D FC       |MOV ECX,DWORD PTR SS:[EBP-4]
00450952  |.  3A0A          |CMP CL,BYTE PTR DS:[EDX]
00450954  |.^ 75 ED         \JNZ SHORT Ekd5.00450943
00450956  |>  42            /INC EDX
00450957  |.  8B45 F4       |MOV EAX,DWORD PTR SS:[EBP-C]
0045095A  |.  66:3B02       |CMP AX,WORD PTR DS:[EDX]
0045095D  |.  74 0A         |JE SHORT Ekd5.00450969
0045095F  |.  803A FF       |CMP BYTE PTR DS:[EDX],0FF
00450962  |.  74 14         |JE SHORT Ekd5.00450978
00450964  |.  83C2 02       |ADD EDX,2
00450967  |.^ EB ED         \JMP SHORT Ekd5.00450956
00450969  |>  8B4D F8       MOV ECX,DWORD PTR SS:[EBP-8]
0045096C  |.  E8 5F5CFBFF   CALL Ekd5.004065D0
00450971  |.  8A4A 02       MOV CL,BYTE PTR DS:[EDX+2]
00450974  |.  3AC1          CMP AL,CL                       
00450976  |.  73 04         JNB SHORT Ekd5.0045097C
00450978  |>  33C0          XOR EAX,EAX
0045097A  |.  EB 06         JMP SHORT Ekd5.00450982
0045097C  |>  33C0          XOR EAX,EAX
0045097E  |.  40            INC EAX
0045097F  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
00450982  |>  8BE5          MOV ESP,EBP
00450984  |.  5D            POP EBP
00450985  \.  C3            RETN


和帖子里的位置不一样,数据地址在465BA4,目前用两个FF填充了,表示没有给任何武将特别指定策略


4  直接使用BMP文件作为战场地图,并自动生成小地图
    这个改动是参考了砖家叫兽的改法,并对代码进行了优化

    以往的战场地图要先制作好bmp索引文件,然后用战场地形编辑器转化为引擎可识别的战场地图,同时还要生成小地图和调色板,并要以文件的形式保存

    如果采用这个功能,只需要用战场地形编辑器编辑好战场地形即可,战场地图转换和战场小地图都由引擎即时生成,这样就可废除spalet.e5(战场地图调色板) 和Smlmap.e5 (s战场小地图)这两个文件了。

    使用整形变量4045来控制  
    该变量默认为0 照旧  
    设置为1时,直接使用bmp文件作为战场地图,文件名要改为HM??.Bmp的样式
     
5  修正了case 指令不能嵌套使用的bug

6  关于在战斗中改变HPcur和MPcur
    这个貌似有三条指令可以实现,不过测试后发现都有缺陷

    38指令 虽然有这个选项,但根本没用
    4d指令 只能减少,不能增加或直接指定
    78指令 不能防止数据溢出
   
   
    本次修正了38和4d指令,修正后
    38指令可正常使用
    4d指令通过预先设置整形变量4044来使用(在需要改变HPcur和MPcur时才需要设置4044的值)
        4044=0  减少  (最多减少到1)   
        4044=1  增加  (可防止溢出)
        4044=2  等于  (可防止溢出)

------------------------------------------------------------

5.9正式版说明

1  修复了大地图中真彩头像的淡入淡出以及单挑阵亡者头像的变黑白效果
2  新增了功勋的自由分配功能
    在开启功勋的情况下, 功勋可以自由分配,有2种模式
    通过整形变量4047(默认为0) 来设置
   
    4047为0时  每个武将的功勋只能自由分配给自己
      
    4047为1时  武将之间可以相互分配功勋   在这种情况下,还能通过设置整形变量4048的值作为全队的奖励功勋
   


3  剧本放入RS文件夹
4  修正测试版的一些bug


5.9测试版说明
本次主要是综合了论坛里许多网友的一些研究成果

1.        自定义武将
这个在论坛里已经发布很久了,5.6至5.8均有相应的修改版本,因此这次给加上了,功能基本上都差不多,只是区分了姓 名 字,以方便使用

   在exe里的一些可自行修改的代码  (红色字体部分)

   0045A649  |.  3C 01         |CMP AL,1                    ;  可选择的兵种数 最多8 个,目前设置为01 表示可选兵种只有1个,
                                                                           ;  注意01的地址是45A64A

   0045A64D  |.  0FB680 6AEF4C>|MOVZX EAX,BYTE PTR DS:[EAX+4CEF6A];  可选择的兵种类型在4CEF6A开始的8个字节,可直接
                                                                                                            ;  改exe ,也可在剧本中利用指针变量来设置。 建议用
                                                                                                            ;   指针变量,利用剧本指令随时调节

例如要自定义0号武将,使用下面的剧本指令

剧本示例
   18:事件名称设定 原创武将登场
                        14:对话 &吕布\n对了,本游戏还有个特色,就是自创人物。\n现在就请您输入自创人物名称和能力吧!
                        1:子事件设定
                        2:内部信息  ;  指针变量的运算是用来定制可选兵种
                                         ;  使用71指令来调用自定义武将对话框,参数为0或1。  
                                         ;  整形变量4054作为 71指令的前置参数,代表需要自定义或重命名的武将data号。

                                3b:武将加入 0:刘备 Data加入 +2级              ;自定武将必须先加入,再自定义,否则能力仍然是从data里获取

                                77:变量运算 指针变量(p) 0 = 常数 4564554  ;先给指针变量0赋值,4564554的16进制就是45A64A
                                77:变量运算 整型变量 4076 = 常数 1           ;准备做Byte运算 要预先设置4076为1
                                77:变量运算 指针变量(*p) 0 = 常数 8          ;做Byte运算  设置45A64A的值为8(8为最大值),这样可选兵种

                                                                                                 达到8个
                                                                                             ;以上设置完成后,可选兵种达到8个,可根据具体需要设置,如果不

                                                                                             ;设置,则只有一个兵种可选

――――――――――下面是设置可选的兵种类型――――――――――――――――
                                77:变量运算 指针变量(p) 0 = 常数 5042026     ;给指针变量0赋值,5042026的16进制就是4CEF6A
                                77:变量运算 整型变量 4076 = 常数 0              ;准备做Dword运算 预先设置4076为0
                                77:变量运算 指针变量(*p) 0 = 常数 50462976  ;给指针变量0赋值,50462976的16进制就是03020100,设置

                                                                                                 ; 后可以选择00-03号兵种可根据具体需要设置。

                               77:变量运算 指针变量(p) 0 += 常数 4                ;给指针变量0的地址 +4,指向4CEF6E
                                77:变量运算 指针变量(*p) 0 = 常数 117835012 ;给指针变量0赋值,117835012的16进制就是07060504,设置            

                                                                                                   ;后可以选择04-07号兵种可根据具体需要设置。以上指令执行
                                                                                                   ; 后,可选兵种数为8个,可选类型为00-07号兵种
                                                          ;注意 上面蓝色的指令如果没有,就是按exe原始的设置,只能选择一个0号兵种

                                77:变量运算 整型变量 4076 = 常数 0              ;准备做Dword运算 预先设置4076为0
                                77:变量运算 整型变量 4054 = 常数 0     ;整形变量4054放在71指令之前,表示要自定义的武将data号
                                71:特效请求 0                                    ;71指令的特效号可以使用0 或1 。
                                                                                       ;如果用0那么“姓名字”都必须输入;用1则可不用输入“字”,但剧本中也
                                                                                      ;不能使用表示“字”的格式化文字
                                                         
                                 
   执行71指令后的截图


图片附件: a1.jpg (2013-1-18 23:29, 13.19 K)



14:对话 &*.0\n你好!我姓*+0名*,0字*-0。\n*+0是*.0的*+0,\n*,0是*.0的*,0,\n他们一般叫我*+0*-0  
        ;这里是一些格式化后的文字
        ;*.0表示人物姓名  *+0表示人物的姓  *,0表示人物的名 *-0表示人物的字;其中0表示人物data号
        ;可以根据需要搭配使用。    诸如  *+0将军(表示姓+将军)  *+0*-0(表示姓+字)这类的用法
      


图片附件: a2.jpg (2013-1-18 23:29, 24.01 K)




14:对话 &吕布\n您的自创人物名称是“*.0”。
0:事件结束

注意   1 自定义武将后,剧本中所有涉及到他的姓名的指令都要使用这样的格式化文字来代替
         2 最多可自定义9名武将
         3 如果作者提供给玩家的可选兵种太多,就需要准备多套s形象,并且在上面的指令后还要判断玩家选择的兵种,然后再指定s形象
           所以我建议可选兵种数量不要太多,按默认值一个最好,只需要设置一下可选兵种类型就行

―――――――――――――――以上是自定义武将的使用方法―――――――――――――――――――――――


此外,又根据自定义武将的功能扩展了一个重命名武将的功能
这个功能我主要是考虑用在2个方面,更多功能靠大家自己去发掘。

1   战场上的敌军和友军  一般战场上的总是杂兵占多数,这样就要在data里设置大量杂兵,而且大部分兵种都要有杂兵,由于5.7版开始就
    扩充了兵种数,如果每个兵种都设置杂兵,要占用很多data里的人物位置,如果利用重命名功能并配合兵种改变功能,就可以减少data
    里的杂兵数量。一般给常用的常规兵种设多一些杂兵,比较冷门的兵种可以不设杂兵,利用 重命名功能+整形变量4081+兵种改变来实现

2  不会上战场的npc   比如说要做一个大量自由R的mod,会需要大量的npc来做为点击场景标示,有可能出现npc不够用的情况,有了武将
    重命名功能就能很好的解决这个问题,只要少数npc重命名后就可以反复使用

注意  重命名武将最多可以有48个,第一次改名时可以任意选择一名武将,但会占用掉一个改名位置,再次改名时可以继续选择这名武将,不会再占用新的位置,也就是说同一名武将可以通过改名和改兵种来扮演不同的角色


剧本示例

用于R剧本的改名指令

3b:武将加入 1:关羽 Data加入 默认等级;    ;给我军改名必须先加入
                        1:子事件设定
                        2:内部信息 ;整形变量4054:   作为  72 指令前置参数,代表需要自定义或重命名的武将data号  72指令参数为0  文字信
                                       ;息表示修改后的名字  如果是data加入,必须加入后改名  
                                       ;如果不会加入我军或内存加入 则无任何限制,可以随时改名\n\n永远不会
                                       ;上s战场的npc也可以随时改名,而会上战场的则要在46 47指令后改名

                          77:变量运算 整型变量 4054 = 常数 1 ;4054   72 指令前置参数,代表需要自定义或重命名的武将data号
                          72:信息传送 0 关二                         ;72指令参数为0  文字信息表示修改后的名字,和自定义武将的区别是不必输“字”
                         77:变量运算 整型变量 4054 = 常数 2
                         72:信息传送 0 张三


                        77:变量运算 整型变量 4054 = 常数 117   ;如果这是一个不会上s的npc,可以随时改名
                       72:信息传送 0 焉刘
                                0:事件结束

说明  上面的指令里有三次使用了72指令来改名,其实给我军改名意义不大,主要是第三次是给npc的改名,这名npc可以通过改名和改R形
象出现在不同的R场景下
――――――――――――――――
剧本示例

用于S剧本的改名指令


Scene
        Section
                2:内部信息 战前过渡
                0:事件结束
                        44:战斗初始化
                        45:战场全局变量 未知0 未知0 3 默认等级 Para50-0 无 Para50-1 0:刘备 晴好 晴/晴/阴/晴/阴
                        46:友军出场设定
                        47:敌军出场设定
           ………省略………
               
         27:背景显示 战场地图 无 无 无 HM00
                        1c:绘图
                        24:CD音轨 Track32
                        1:子事件设定
                        2:内部信息 友军敌军改名要放在46 和47指令后  注意 不能重名 否则改名会失败

                                77:变量运算 整型变量 4076 = 常数 0      ;准备做Dword运算
                                77:变量运算 整型变量 4054 = 常数 315   ;
                                72:信息传送 0 茂邓                              ;改变了315号武将的名字,315号武将要在前面的46  47指令里设置出场

                                77:变量运算 整型变量 4054 = 常数 309   ;同上
                                72:信息传送 0 小学生
――――――――――――――――――以上只是简单的改名―――――――――――――――――――――

                                77:变量运算 整型变量 4054 = 常数 426   ;准备改变426号武将的名字
                                72:信息传送 0 猛将1                   ;改变了426号武将的名字
                                77:变量运算 整型变量 4081 = 常数 1     ;设置整形变量4081为1  表示改变兵种后还要重新计算能力
                                52:兵种改变 426:弩兵1 群雄             ;改变兵种并重新计算能力
                                                    ;以上四条指令就是一个完整的指令写法
                                                    ;把data里的426号武将的名字由 弩兵1改为了 猛将1,兵种改成了群雄

――――――――――――――――――以上既改了名又改了兵种――――――――――――――――――

                                
77:变量运算 整型变量 4054 = 常数 484
                                72:信息传送 0 山贼改
                                77:变量运算 整型变量 4054 = 常数 586
                                72:信息传送 0 猛将2
                                77:变量运算 整型变量 4054 = 常数 788
                                72:信息传送 0 大将                     ;这里改变了多名武将的姓名,到另一个s里还可以继续改名
              ………省略………
              77:变量运算 整型变量 4053 = 常数 1     ; 这里设置本关援军是否会攻击敌军 默认0 否 设置1 是
                                                    ;  关卡结束后要记的改回0


                        5a:战场操作开始
                        8:菜单处理 false
                        0:事件结束


2  可对攻的敌方
    敌方阵营可以设置为援军,不过原版在正常情况下,援军和敌军是不会相互攻击的,现在可通过设置整形变量4053来让其相互攻击,

    需要先在47指令中,把一部分敌军设置为援军,在设置一下整形变量4053的值为1即可。用法参考前面的s剧本示例最后的蓝色文字部分

3  存档扩充为20个,其中最后一个存档为自动存档位置,不能手动存档,只能读取

4  整合AutoDll.dll的功能
     AutoDll.dll具有两个效果  是否自动存档和是否自动点鼠标,  现在把这两个效果整合到exe里了,这样AutoDll.dll可以不要了
     而Autodll.ini虽然保留,但只有一个作用,即设置是否允许自动存档,而存档位置是在exe里被强制指定为第20号存档,
     并不在是通过Autodll.ini来设置;另一个自动点鼠标功能则是自动被允许的,需要通过ctrl键来回切换,

5. 战场座标和地形即时显示,把战场座标和地形显示在战役框里

6  战前准备的修改 为了减少战前装备花费的时间,增加了2个按钮,一个默认装备设置按钮,一个自动装备按钮,
      
    默认装备设置按钮      把队伍中所有武将正在装备的道具设为他们的默认装备,换句话说也就是为装备指定了主人
    自动装备按钮             不论装备当前在谁的身上或是仓库里,都会被强制装备到主人身上,不过如果主人在本关强制不出战,则装备会
                                  扔回仓库,让别人使用
                          
    这个只是个辅助功能,并不影响手动换装备,自动装备上的物品仍然可以手动换掉
    这个功能只认物品编号,不考虑装备等级和经验
    比如A武将本来装备1级武器,B武将装备2级武器,此时设置默认装备,再用自动装备,2个武将的武器可能会互换

7.  修正了辅助策略命中不能突破命中上限的问题
     强化了爆击的杀伤力,最大可达到到200%的伤害  
     限制了僵尸打法,在装备了龙鳞铠的情况下,MP有可能会被一下打光,具体情况视伤害而定

8.  增加2个效果
       鬼神之勇 其实就是早已有的逆境攻击的全属性强化版,只是算法不同
       这里是把损血的比率的一半强化到五项能力上.
       这个效果需要设置一个data效果值, 为强化比率的上限

      从理论上来说HP损失率最大可达到99%,一半就是48%,这个比率还是非常高,再就是为了避免一些极度冒险的打法,因此做了一点限制,
      必须要设置一个data值,为强化比率的上限。
  
   MP攻击
           一般武将的MP大多没什么用处,这个效果就可让装备者的MP直接加到攻击力上.但是每次受到攻击会损失一些MP
           这个效果必须设置一个data效果值,当MPcur减少到这个比率,就不再减少

           比如某个武将的MPmax为100,而这个装备的data效果值设为了50,
           那么在装备以后,该武将每次受到攻击除了损失HP外,还会损失一定的MP(目前设置为1),
           直到MPcur剩下100*50%=50时,就不会再减少了


9   把存档文件和wav文件放到子文件夹里去了
     存档文件的文件夹为SV ,wav文件的文件夹为WAV。
     注意  必须在游戏目录里新建一个SV文件夹才能存档,另外相关文件里有一些wav文件,记得也要放到WAV文件夹里去

10    对58指令进行了修改,可以批量增加战场障碍物,该项功能只能用于58指令的前4个物体,城门照旧
       对于58指令的前4个物体,原版每次只能设置一个格子的障碍物,现在可以一次设置一个矩形区域。
       这里需要使用整形变量4050配合58指令来完成

       4050必须在58指令前设置,用来表示矩形区域的左上角坐标,58指令里的座标表示矩形区域右下角

   剧本示例
   
     如果要把(13,12) 至 (17,15) 这个区域全部设置火,就用下面的指令

      77:变量运算 整型变量 4076 = 常数 2       ‘要作word运算,先设置4076=2
      77:变量运算 整型变量 4050 = 常数 3340    ‘(13,12)这个坐标转16进制是(0D,0C),0D0C转10进制是3340  左上角坐标
      58:战场障碍设定 火 显示 平原 (17,15) 未知0 未知0  ‘设置障碍  (17,15)是区域的右下角坐标
      只需3条指令即可      
      
      如果上面2条77指令省略,或2个座标相同,则效果和原版一样只设置一个坐标的障碍
      通过对2个座标的设置,可以实现点 线 面的战场障碍添加
      

       要取消这些障碍也是同样用这些指令

      77:变量运算 整型变量 4076 = 常数 2       ‘要作word运算,先设置4076=2
      77:变量运算 整型变量 4050 = 常数 3340    ‘(13,12)这个坐标转16进制是(0D,0C),0D0C转10进制是3340
      58:战场障碍设定 火 不显示 平原 (17,15) 未知0 未知0  ‘取消障碍
      
      
       另外58指令还可以选择“未知”这个障碍物,效果是显示一个白框,这里可用整形变量4049来控制 默认0显示,设为1不显示,这样就
       可以用来隐密的改变战场地形。

          剧本里还有一个21指令,不过这个指令只能添加火,因此这个指令其实完全可以用58指令替代
          如果仍然要使用21指令,写法如下

          77:变量运算 整型变量 4076 = 常数 2       ‘要作word运算,先设置4076=2
          77:变量运算 整型变量 4050 = 常数 3340    ‘(13,12)这个坐标转16进制是(0D,0C),0D0C转10进制是3340
          21:战场物体添加 (17,15) 放火 未知0 未知0  ‘添加火  (17,15)是区域的右下角坐标

          还有一点需要说明 由于exe本身的限制,最多只能添加250个障碍物,再多的话就不会有任何效果

11    77 、79指令的一些补充说明

          经常有人反映这两条指令有时得不到正确结果,检查后发现原因如下

         在5.6版就可以通过设置整形变量4076来进行byte、word 或dword运算或比较(具体说明见5.6发布贴)

          这个功能在5.8版本略有扩展,不过发布贴忘记说明了,所以有时运算时得不到正确结果
          现在的功能如下
          77指令
          左边的变量类型可以选择*P或整形变量  运算符可以是+=、-=、=  ,右边的变量类型可以选择常数或*P  (5.8已有)
          79指令
          左边的变量类型只能选择*P     运算符三种都可以   右边的变量类型可以选择常数或*P

         其余的变量类型或运算符均为dword运算
        此外本次还修了了77指令的 %= 的运算,原来是模运算,好像没啥用处,所以按剧本表示的改为了百分比运算,这个功能扩展后,上
        面提及到的变量运算均受到4076的影响,由于4076并不会自动恢复,而写剧本时也很难记住上一次把4076设置成了何值,因此可能
        导致运算错误,建议每次在运算前都根据需要设置一下

12     指令 5e 武将不同测试 的修改
         这个是一个无意义的指令,现在改为武将攻击(被攻击)测试
         左边设置攻击方 右边设置被攻击方
         可以测试普通攻击 策略攻击 围攻和必杀

         引导攻击和奋战攻击只能测试出最后一个被攻击的武将
         必须在一次完整的攻击结束后才能触发,如果有反击要在反击结束后触发

13     人物特效对话框
        这个原来只是在看武将情报时点击头像弹出,现在出兵 装备 买进都能点击头像弹出


14     修正了练武场自动退出的恶性bug
      

使用这个exe必须重新开始游戏


一些有特殊意义的整形变量
4044          配合4d指令使用,表示HPcur和MPcur的运算方式

4045          战场地图是否直接使用bmp文件

4047          功勋分配模式

4048          为分配的功勋

4049          用于58指令  默认0 显示  为1时不显示未知的白框

4050          批量修改地形或添加障碍的左上角座标 配合58指令或21指令使用

4052          可以和友军交换装备  默认0 否 设置4 是

4053          援军和敌军是否对攻 默认0 否 设置1 是

4054          71 72 指令前置参数 代表需要自定义或重命名的武将data号

4055          练武场下能否获得功勋 默认0 可以获得

4057          地图头像大小

4058          兵种特性向下继承

4059          禁止必杀

4060          历史情报排序是否显示ID

4061          必杀所需SP

4062          升级显示能力增加对话框 默认0 不显示 1 显示

4063          AI行动顺序

4064          历史情报排序

4065          开启AI地形利用

4066          开启攻击方向伤害加成

4067          保留 测试丢弃物品

4068          丢弃物品 记录物品持有者的Data  使用6F指令后自动赋值

4069          记录被丢弃物品的等级           使用6F指令后自动赋值

4070          记录被丢弃物品的经验           使用6F指令后自动赋值

4071          历史情报 配合16指令使用

4072          键盘

4073          开启破百的能力加成   由于吃果上限为100,所以想要获得破百加成的前提是使用功勋模式(能力上限为110),否则只能是
                 靠修改了。

4074          启用我方功勋系统

4075          功勋系统 开启AI方成长和新加武将成长

4076          辅助77 79 指令 1 byte  2 word  0 dword

4077          使用伪随机    默认2 不使用   

4078          用来设置第6个新策略的效果
                   默认状态为0     敌方中招后成为可控制友军
                   设置为1         敌方中招后成为不可控制友军
                   设置为2         敌方中招后暂停行动

4079          精进状态下是否获得人物exp
                   默认为0 只能获得双倍的装备经验,设置为1 还能获得双倍的人物经验

4080          得到新的物品

4081          改变兵种后是否重新计算能力
  
4082          单挑失败方是否阵亡               默认为 0  不阵亡        1  阵亡
4083          指令单挑模式(S战场形式)        默认为 0  自动单挑     1 舌战模式     2 单挑模式
4084          返回比武结果
4085          敌方HP
4086          敌方四能力
4087          练武场单挑模式(对话框形式)           默认为0  自动单挑   1 升级模式     2 单挑模式
4088          4088来设置,默认为0,即开启自动商店,设置1关闭,但需要在Data中设置商店物品
                 有时为了游戏需要,会把普通装备设为特殊装备或者没有使用这个类型的装备,但此时如果开启自动商店,这些装备仍然会出现在商店里,要解决这个问题,可以修改482427处的数据
                  
                 原值如下

                 00482427      00            DB 00                               ;  武器1 加攻击
                 00482428      03            DB 03                               ;  武器2 加攻击
                 00482429      06            DB 06                               ;  武器3 加攻击
                 0048242A      09            DB 09                               ;  武器4 加攻击
                 0048242B      0C            DB 0C                               ;  武器5 加攻击
                 0048242C      0F            DB 0F                               ;  武器6 加攻击
                 0048242D      12            DB 12                               ;  武器7 加攻击
                 0048242E      15            DB 15                               ;  武器1 加精神
                 0048242F      18            DB 18                               ;  武器2 加精神
                 00482430      1B            DB 1B                               ;  武器3 加攻击和精神
                 00482431      39            DB 39                               ;  护具1 铠甲
                 00482432      3C            DB 3C                               ;  护具2 武将衣服
                 00482433      3F            DB 3F                               ;  护具3 文官衣服

                 如第一个数据是00,表示编号为0、1、2的三件装备(剑类)会根据平均等级依次出现在商店。可是如果把这三件装备设为了特殊装备或没有使用,不想让它们出现在商店时,只要把00改为FF即可
                  
                 5.8、5.9、6.0通用


4089          4089的值来获得2种使用地雷的工具的出售, 0 默认 没有 1有铲子   2  有遥控器
4090          4090的值来获得6种地雷的出售,默认为0,就是没有,6就是全部都有出售
4091          4091的值来获得3类地雷的出售,取值0-2  0默认 有触发雷  1 引发雷  2  遥控雷
4092          4092的值来获得5种攻击性道具的出售,默认为0,就是没有,5就是全部都有
4093          4093  这个变量默认值为0,就是以前的古代战争,为1就是现代战争
4094          4094变量默认为0,如果改为1可以让部队在升级时重新计算能力
4095          4095变量默认为0,如果改为1可以让复活的部队保留之前的SP



注意 :相关文件和配套的落叶修改器请到5.8发布贴下载

[ 本帖最后由 star175 于 2014-6-14 12:17 编辑 ]

附件: [5.9exe] Ekd5.rar (2013-4-3 10:44, 250.63 K)
该附件被下载次数 82411


附件: [RS形象指定器] rs.rar (2013-4-3 10:44, 174.87 K)
该附件被下载次数 125601


剧本指令的用法差异

exe经过多次修改,和原版相比,一些指令增加了新功能,在使用上也有些差异,虽然在一些回帖中也多有解释,但都比较零散,这次整理出来,方便使用
(没有提及的用法不变)

06我军出场限制      必须三条连用,强制出场或不出场均可设置15人(如果使用相关文件里的16人出战指令片段,可出16人)

0a初始化局部变量    除了清除局部变量外,还可清除上一关所有武将积累的SP

10许子将指导        这个指令其实没有修改过,但是有些制作者使用后会导致游戏跳出。原因就是必须让学生(0号武将)、陪练(32号武
                           将)、老师(157号武将)三者的相对位置要和原版一样,比如老师一开始要在陪练的上面6格处。三者的具体位置看
                          下原版就知道了。

15对话2               可在R剧本使用

16 信息               可配合整形变量4071进行历史情报的设置,详细介绍见5.8发布贴
                         另外在制作时可以设置整形变量4060=1,这样可以显示出每条记录的ID号

21战场物体添加     可配合整形变量4050对一个矩形区域放火  这个是本次新增的功能

35武将R形象改变   这条指令被废除,现在请使用77,78指令共同完成
                          示例
                           77:变量运算 整形变量0=常数 20    ;这个20就是在形象指定器里看到的R形象编号
                           78:整形变量赋值 0==> 0:刘备 R形象

38武将能力设定     新增功能 可以临时禁止某个武将的交换功能
                           38:武将能力设定 2:张飞 头像 + 1  ;禁止某个武将的交换功能
                           38:武将能力设定 2:张飞 头像 + 0  ;恢复某个武将的交换功能
                           注意 38指令的其他属性设置效果不变。

3b武将加入         用于R时的新用法
                        3b 武将加入 27:糜竺 离开  默认等级          '这样离开会留下物品(这个是最普遍的用法)
                        3b 武将加入 27:糜竺 离开  +1级              '这样离开会带走全身物品,不留痕迹

                        3b 武将加入 27:糜竺 内存加入  -1级          '这样重新加入后和离队时数据完全一样(能力,装备),需要先设置剧本编辑器
                            的人物等级和exe中的我方最高等级(原值为99级)要一致

                        3b 武将加入 27:糜竺 内存加入  默认等级    '这样重新加入后会调整到平均等级,并自动转职,而且会再给一套装备
                        Data加入无变化

                        新增用法用于S,实现武将的战场倒戈
                        data加入,目标武将倒戈为我方
                        内存加入,目标武将倒戈为友方
                        离开,      目标武将倒戈为敌方  

                        注意  武将是带着装备倒戈的。并且相应的阵营最好留有出场位置,否则倒戈的武将直接撤退,同时在这种情况下如果是倒
                        戈为我方,即使当时撤退了,该武将仍然会加入我方队伍中。
                        如果是倒戈为友方或敌方,则该武将的AI统一转为主动出击

3d获得物品                配合整形变量4080=1 来得到新增加的物品,这些物品都是放在Star.e5中,这个指令下拉列表的第27件物品对应
                               第一件新增物品

3e加入装备设定          由于扩充了物品,必须修改剧本编辑器的CaoCaoSceEditor.ini文件,这个指令才能正常显示物品列表,具体说明见
                               5.8发布贴

45战场全局变量          这条指令用法其实一样,只要注意必须设置剧本编辑器右方列表中的人物等级和exe中的我方最高等级(原值为99
                               级)要一致才行,否则会出现敌方等级异常的现象。如果修改了exe中的我方等级上限,也要同时修正剧本编辑器的
                              人物等级和这条指令的等级加成

47敌军出场设定          如果设置了敌军为援军,可通过设置整型变量4053 (默认0 否、1 是 )来让敌军和援军互相攻击

48敌方装备设定          和3e加入装备设定 一样必须修改剧本编辑器的CaoCaoSceEditor.ini文件

4a我军出场强制设定    和06指令一样 必须连用3条

52兵种改变                配合整形变量4080=1 ,在改变兵种后重新计算能力
                               同时还要修改剧本编辑器的配置文件 CaoCaoSceEditor.ini
                               TroopNum=80 ; 才能读取到所有兵种

58战场障碍设定          和 21战场物体添加 一样

59战利品                   配合整形变量4080 来得到新增加的物品,4080取值1-3,具体用法见5.6发布贴,物品的对应关系和3d获得物品一 样

5e武将不同测试          改为武将攻击测试    是本次新增的功能

68单挑开始                这个主要是新增手动单挑和舌战,具体用法见5.6发布贴和相关文件里的剧本示例

以下为原版没有的新指令                    
6C武将能力复制          把左边武将的能力 装备 及功勋复制给右边的武将,如果两个武将为同一人,则是重新计算该武将的能力

6F丢弃物品                还是用整形变量4080 来丢弃新增加的物品,物品的对应关系和3d获得物品一样

71特效请求                配合整型变量4054来自定义武将     是本次新增的功能

72信息传送                配合整型变量4054来重命名武将     是本次新增的功能

77变量运算                可以通过设置整形变量4076来进行byte、word 或dword运算

79数字/指针变量测试   可以通过设置整形变量4076来进行byte、word 或dword 比较



特别说明

  对于手动单挑如何设置敌方能力很多人搞不懂,这里再讲解一下
                    
基本知识
4086号整形变量用来设置敌方的4个能力值,通过这项设置可以对单挑难度进行一些调节(如果是通过菜单来使用练武场,则敌方该项能力默认为0)
                    由于每一个整形变量是由4个Byte型变量组成,为了较好的进行说明,我把这4个byte型变量用ABCD表示
                    对应关系
                    A 调节我方突击对敌方回避的成功率
                    算法:我方的该项能力-A值
                    B 调节敌方突击对我方回避的成功率
                    算法:64H+B值-我方的该项能力
                    C 调节敌方攻击对我方防御的成功率
                    算法:64H+C值-我方的该项能力
                    D 调节我方攻击对敌方防御的成功率
                    算法:我方的该项能力-D值
                    在5.6帖子里举的例子是01020304,看来是误导了不少人,以至不少人都看不懂
                    这里另举一例

                    如果想降低我方突击对敌方回避的成功率,就要通过增加A值来实现,原来的例子是1,现在改为5
                        想增加敌方突击对我方回避的成功率,就要通过增加B值来实现,原来的例子是2,现在改为10
                        想增加敌方攻击对我方防御的成功率,就要通过增加C值来实现,原来的例子是3,现在改为6
                        想降低我方攻击对敌方防御的成功率,就要通过增加D值来实现,原来的例子是4,现在改为12
                        首先要把这4个数据转为16进制数据,就是 05  0A  06  0C
                        直接拼在一起就是50A060C,再把这个16进制数转为10进制数就是84542988
                        剧本写出来就是

                        77 变量运算 整形变量 4076=0               ;要做dword运算 4076设置为0
                        77 变量运算 整形变量 4086=84542988   ; 设置敌方能力
                        77 变量运算 整形变量 4085=7               ; 设置敌方HP 随便给
                        77 变量运算 整形变量 4083=2               ; 68指令的前置参数  准备调用手动单挑
                        然后才是使用68 单挑指令
                        要是这样还是看不懂那我也没办法了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

牧羊头条上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|牧羊三国游戏网

GMT+8, 2024-12-22 20:13 , Processed in 0.632070 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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