标题: 有難度的MOD顯示當前難度
性别:男-离线 墨叶

★★★★
节度留后虎豹骑

Rank: 21Rank: 21Rank: 21
组别 虎豹骑
级别 大将军
功绩 359
帖子 23258
编号 97330
注册 2006-12-26
家族 轩辕少林寺


发表于 2014-8-2 14:09 资料 个人空间 短消息 只看该作者
有難度的MOD顯示當前難度

好多MOD都有難度選擇。
但是玩家在玩的過程中想知道當前難度很不方便。能否在遊戲中設定方便查找難度


顶部
性别:男-离线 szwd1997
(神州无敌)

Rank: 13Rank: 13Rank: 13Rank: 13
组别 羽林都尉
级别 卫将军
好贴 3
功绩 117
帖子 7000
编号 44486
注册 2005-7-28
来自 湖北武汉
家族 聚贤山庄


发表于 2014-8-2 14:43 资料 个人空间 短消息 只看该作者 QQ
强力人物往前冲,被围殴致死,这是噩梦难度。
一般人物往前冲,被围殴致死,这是困难难度。
一般人物往前冲,被围殴喘气,这是一般难度。
一般人物往前冲,横刀立马,秒杀一切,这是简单难度。


顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2014-8-2 15:01 资料 个人空间 短消息 只看该作者
可以考虑将SL界面里面的LV值改成难度说明
顶部
性别:男-离线 冰麒麟
(罪恶美)


Rank: 12Rank: 12Rank: 12
组别 节度使
级别 牙门将军
功绩 16
帖子 552
编号 292192
注册 2008-9-25
来自 广州市


发表于 2014-8-2 15:46 资料 文集 短消息 只看该作者
回复 #3 godtype 的帖子
我曾经试过,但失败了。不知要怎么改,最后只好将LV改成战役两个字

[ 本帖最后由 冰麒麟 于 2014-8-2 15:47 编辑 ]
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2014-8-2 16:30 资料 个人空间 短消息 只看该作者
回复 #4 冰麒麟 的帖子

0041ABD0  |> 8B55 08        |MOV EDX,DWORD PTR SS:[EBP+8]
0041ABD3  |. 8B42 08        |MOV EAX,DWORD PTR DS:[EDX+8]
0041ABD6  |. 8B8D F8FEFFFF  |MOV ECX,DWORD PTR SS:[EBP-108]
0041ABDC  |. 837C81 50 00   |CMP DWORD PTR DS:[ECX+EAX*4+50],0
0041ABE1  |. 7E 28          |JLE SHORT 0041AC0B
0041ABE3  |. 8B55 08        |MOV EDX,DWORD PTR SS:[EBP+8]
0041ABE6  |. 8B42 08        |MOV EAX,DWORD PTR DS:[EDX+8]
0041ABE9  |. 8B8D F8FEFFFF  |MOV ECX,DWORD PTR SS:[EBP-108]
0041ABEF  |. 8B5481 50      |MOV EDX,DWORD PTR DS:[ECX+EAX*4+50]
0041ABF3  |. 52             |PUSH EDX                                        ; /<%2d>
0041ABF4  |. 68 80B54800    |PUSH 0048B580                             ; |Format = "Lv.%2d"
0041ABF9  |. 8D85 2CFFFFFF  |LEA EAX,DWORD PTR SS:[EBP-D4]                   ; |
0041ABFF  |. 50             |PUSH EAX                                        ; |s
0041AC00  |. FF15 C0624800  |CALL DWORD PTR DS:[<&USER32.wsprintfA>]         ; \wsprintfA
0041AC06  |. 83C4 0C        |ADD ESP,0C
0041AC09  |. EB 15          |JMP SHORT 0041AC20
0041AC0B  |> 68 88B54800    |PUSH 0048B588                             ; /Format = "--"
0041AC10  |. 8D8D 2CFFFFFF  |LEA ECX,DWORD PTR SS:[EBP-D4]                   ; |
0041AC16  |. 51             |PUSH ECX                                        ; |s
0041AC17  |. FF15 C0624800  |CALL DWORD PTR DS:[<&USER32.wsprintfA>]         ; \wsprintfA
0041AC1D  |. 83C4 08        |ADD ESP,8
0041AC20  |> EB 29          |JMP SHORT 0041AC4B
这段是显示的,+50的地方就是存放等级值

0041B248  |. 8B0D 606F4900  MOV ECX,DWORD PTR DS:[496F60]
0041B24E  |. 8841 01        MOV BYTE PTR DS:[ECX+1],AL
这里AL是存档时显示的平均/0号等级,不过引擎可能不同
顶部
性别:男-离线 冰麒麟
(罪恶美)


Rank: 12Rank: 12Rank: 12
组别 节度使
级别 牙门将军
功绩 16
帖子 552
编号 292192
注册 2008-9-25
来自 广州市


发表于 2014-8-2 18:16 资料 文集 短消息 只看该作者
回复 #5 godtype 的帖子

比如我用一个整型变量来判断难度。然后在0041ABF4这里跳出去测试,再push不同的名称,比如困难2%d、休闲2%d等等。

但是这样改,所有存档都会显示同一个难度名。而不是在哪个难度下存的档显示哪一个难度名。
虽然极少人会同时打几个难度,但毕竟不完美。应该要怎么改呢。

另一个bug。我把平均/0号等级值改成了剧本数加1来表示战役数如下
0041B236   .  A1 606F4900   MOV EAX,DWORD PTR DS:[496F60]
0041B23B   .  C600 05       MOV BYTE PTR DS:[EAX],5
0041B23E   .  0FB60D 77074B>MOVZX ECX,BYTE PTR DS:[4B0777]
0041B245   .  D1E9          SHR ECX,1
0041B247   .  41            INC ECX
0041B248   .  90            NOP
0041B249   .  8848 01       MOV BYTE PTR DS:[EAX+1],CL
0041B24C   .  B9 3CC64A00   MOV ECX,Ekd5.004AC63C
0041B251   .  E8 5A06FFFF   CALL Ekd5.0040B8B0



战斗结束存档的话,会读取的下一关的剧本数。比如在打完第1关的时候,存档名称就会变成第2关战斗结束,这样。

[ 本帖最后由 冰麒麟 于 2014-8-2 18:18 编辑 ]
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2014-8-2 21:48 资料 个人空间 短消息 只看该作者
回复 #6 冰麒麟 的帖子

存档那里改用你自定的整形变量,战斗结束时存档的确是下一关的。

显示部分不能再用整形,因为这个时候的整形只是一个固定的数值,不会因应你的存档内容来变化。
只能从+50里面读出数据,这个数据你只要在存档时设置好就可以了,所以修改这个功能前的旧档都肯定显示有误,要重新存一次才显示正常。
顶部
性别:男-离线 冰麒麟
(罪恶美)


Rank: 12Rank: 12Rank: 12
组别 节度使
级别 牙门将军
功绩 16
帖子 552
编号 292192
注册 2008-9-25
来自 广州市


发表于 2014-8-3 09:57 资料 文集 短消息 只看该作者
回复 #7 godtype 的帖子

请问如何将难度+整型变型存到+50呢?

另外0041A65D   .  68 1FB54800   PUSH Ekd5.0048B51F      原LV.99
这个地方要改吗?
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2014-8-3 10:41 资料 个人空间 短消息 只看该作者
回复 #8 冰麒麟 的帖子

+50就是存档时的496F60+1。

48B51F你还要改说明啊。
顶部
性别:男-离线 冰麒麟
(罪恶美)


Rank: 12Rank: 12Rank: 12
组别 节度使
级别 牙门将军
功绩 16
帖子 552
编号 292192
注册 2008-9-25
来自 广州市


发表于 2014-8-3 10:55 资料 文集 短消息 只看该作者
回复 #9 godtype 的帖子

496F60+1不是只能容1个字节吗?怎样把(难度+变型值)都挤进去。。。

然后把41ABF4、48B51F这两个说明去掉?
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2014-8-3 11:09 资料 个人空间 短消息 只看该作者
你只能选其中一样

48B51F里面的字符改成你自己的说明文字
顶部
性别:男-离线 冰麒麟
(罪恶美)


Rank: 12Rank: 12Rank: 12
组别 节度使
级别 牙门将军
功绩 16
帖子 552
编号 292192
注册 2008-9-25
来自 广州市


发表于 2014-8-3 12:00 资料 文集 短消息 只看该作者
回复 #11 godtype 的帖子

唉,悟性还是太差了。战役数能通过整型控制了。但是战役这两个字如何根据在打的难度,变成困难/普通/休闲。就不知怎么搞了,又不可以用整型来做判断


图片附件: 分难度显示存档.png (2014-8-3 12:00, 34.35 K)

顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2014-8-3 12:07 资料 个人空间 短消息 只看该作者
只能放弃一样。

既然天气可以加在战役名称后面,同样也可以将难度或者战役编号的其中一个加在事件的前或后。
顶部
性别:男-离线 冰麒麟
(罪恶美)


Rank: 12Rank: 12Rank: 12
组别 节度使
级别 牙门将军
功绩 16
帖子 552
编号 292192
注册 2008-9-25
来自 广州市


发表于 2014-8-3 13:59 资料 文集 短消息 只看该作者
回复 #13 godtype 的帖子

哦,原来如此。

得在剧本一个个加才行,考虑下要不要加先
顶部
性别:未知-离线 dennis2669



Rank: 7Rank: 7Rank: 7Rank: 7
组别 校尉
级别 左将军
功绩 43
帖子 1254
编号 363856
注册 2010-3-5
来自 香港


发表于 2014-8-3 13:59 资料 文集 短消息 只看该作者
回复 #12 冰麒麟 的帖子

好一個另類劇透......
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2014-8-3 14:59 资料 个人空间 短消息 只看该作者
回复 #14 冰麒麟 的帖子

不一定要在剧本里面改,改选一下指令18就可以了。

00413B2C  |. E8 1780FFFF    CALL Ekd5.0040BB48                       ; \Ekd5.0040BB48

0040BB48  /$ 55             PUSH EBP
0040BB49  |. 8BEC           MOV EBP,ESP
0040BB4B  |. 8B45 08        MOV EAX,DWORD PTR SS:[EBP+8]
0040BB4E  |. 50             PUSH EAX                                 ; /Arg2
0040BB4F  |. 68 28114A00    PUSH Ekd5.004A1128                       ; |Arg1 = 004A1128
0040BB54  |. E8 24410700    CALL Ekd5.0047FC7D                       ; \Ekd5.0047FC7D
0040BB59  |. 83C4 08        ADD ESP,8
0040BB5C  |. 8B4D 08        MOV ECX,DWORD PTR SS:[EBP+8]
0040BB5F  |. 51             PUSH ECX                                 ; /Arg1
0040BB60  |. E8 AAA90600    CALL Ekd5.0047650F                       ; \Ekd5.0047650F
0040BB65  |. 83C4 04        ADD ESP,4
0040BB68  |. 8B55 08        MOV EDX,DWORD PTR SS:[EBP+8]
0040BB6B  |. 52             PUSH EDX                                 ; /Arg2
0040BB6C  |. 6A 02          PUSH 2                                   ; |Arg1 = 00000002
0040BB6E  |. E8 263B0200    CALL Ekd5.0042F699                       ; \Ekd5.0042F699
0040BB73  |. 83C4 08        ADD ESP,8
0040BB76  |. 5D             POP EBP
0040BB77  \. C3             RETN

18原来是这样的,改写成:(假设是难度写在这里)
PUSH EBP
MOV EBP,ESP
SUB ESP,200  <---应该足够用,为了预防万一,可以再加大一点。
PUSH [EBP+8]
MOV EAX,*1  <---难度的变量地址。
IMUL EAX,EAX,*2  <---每个难度名称的长度,长度要统一并要有00做结尾,比如两个汉字就要写成05甚至更多。
ADD EAX,*3  <---在引擎其他空白位置写所有的难度名称,这里是第一个难度名称(变量取值00)的地址。写名称的时候要按*2的字节间隔来写下一个名称。
PUSH EAX
PUSH *4  <---再找其他空白地方写字符,然后PUSH该地址。必须含有两个"%s",例如“%s空格%s”(实际效果将是“难度 事件名”),或“[%s]%s”(实际效果将是“[难度]事件名”),或者可以选用现成的:PUSH 48B564  两个名称中间双空格,不过有点多。
LEA EAX,[EBP-200]
PUSH EAX
CALL DWORD PTR DS:[4862C0]
ADD ESP,10
LEA EAX,[EBP-200]
PUSH EAX
PUSH 004A1128      
CALL 0047FC7D
ADD ESP,8
LEA EAX,[EBP-200]
PUSH EAX
CALL 0047650F
ADD ESP,4
LEA EAX,[EBP-200]
PUSH EAX
PUSH 2
CALL 0042F699
ADD ESP,4
POP EBP
RETN

最后的CALL 0042F699是显示旁白,这里如果不想将难度也显示出来,可以换回原来的 MOV EAX,DWORD PTR SS:[EBP+8]。

另外如果想写成 “事件名--难度”这样的模式,可以将*1前的PUSH [EBP+8]移到*4前面。

如果是战役编号,可以将*4中对应的 %s 改成 %d 或者 %2d ,事件名在前就将后面的改,否则就改前面的。同时*2*3就不用了。
顶部
性别:男-离线 冰麒麟
(罪恶美)


Rank: 12Rank: 12Rank: 12
组别 节度使
级别 牙门将军
功绩 16
帖子 552
编号 292192
注册 2008-9-25
来自 广州市


发表于 2014-8-3 21:44 资料 文集 短消息 只看该作者
回复 #16 godtype 的帖子

嗯,得看看想要怎么改先。

话说这贴应该可以转制作区啦。
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2025-4-20 21:33
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.012764 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP