注册 | 登录

游侠NETSHOW论坛





查看: 31667|回复: 46
打印 上一主题 下一主题

[数据研究] 【San9修改总结】重建城市、攻防关系、ME修改Square、修改exe、具体实例 [复制链接]

帖子
203
精华
0
积分
222
金钱
983
荣誉
12
人气
1
评议
0
跳转到指定楼层
楼主
发表于 2011-7-21 05:21:24 |只看该作者 |倒序浏览
本帖最后由 vonleibniz 于 2011-7-22 14:34 编辑

前言

       距San9最初版发布已经八年了,全赖各位先行者的研究和修改,使得它至今还这么有生命力。这个夏天重拾san9,让我感觉又回到了大学时代整个夏天玩san9的青葱岁月!之所以又提起兴趣来玩san9改san9,还是因为五月份发现了优化兄的高难度优化补丁. 这是完全赋予了san9新的生命的东西,比以前的AI改善太多了。据说七月底会发布新版,期待!
      
关于基本的剧本制作,已经有很多成熟的帖子了。本帖主要讨论重建城市和据点、攻防关系、ME多功能修改器修改Square。 我的目标是写一个系统的易懂的教程。写这篇东西一方面是总结这两个月来制作san9剧本的经验,免的忘掉;另一方面也是对一些朋友的交代,下次再问相关问题,直接发这贴给他们看。这篇东西包含的内容完全是站在前人成果的基础上,前人肯定有懂的比我多、走的比我远的人,只是没有完整的系统的写出来。很多网上的东西东一篇西一篇,有的是回帖里的几个字,实在是很难一次搞明白。我会在本帖里尽可能浅显易懂的把前人经验和我的发现讲解给大家,希望后来人不用重头开始,少走弯路以期走的更远。希望更多的san9爱好者做出更好的剧本来。

(一)数学本质

        
San9大地图是一个平行四边形,回归到数据本源,就是一个200x200的点阵,每个点包含一系列属性,他们之间的相互关系决定了地形地貌、攻防关系、进军路线,等等。ME多功能修改器(by rangzh)的出现使得修改城市位置、进攻路线甚至大地图的地形地貌成为了可能。



       200x200个点的坐标如图-2所示,原点(0,0)在地图西北角,东西方向为x轴,南北方向为y轴。每个点都有其唯一的坐标(x,y)  x=0..199, y=0..199. 如果二维存储的话就是一个200x200的矩阵,但san9里是一维存储,转换公式如
图 square=x+200*y。经过转换就得到了每个点对应的square编号。ME里square可编辑的选项如图所示。各项所代表的含义如图.



square共有七项属性,三个基本属性比较好理解都有名字。四个未知属性分别是:
第一未知量:
控制否通行(512可通行,513可建筑,1022不可通行)。这个是最基本最常用的属性,下文提到可通行什么的就是指改这个量。
第四未知量:方向矢量,控制桥的方向、疆界线的方向等(对桥而言 1为东西方向,0为南北方向)。
第二第三项控制大地区上的地貌外观(同时与偏移值及周围地皮的属性也有关系,比较复杂,没能完全搞清)。


(二)建筑移动

       我说的建筑包括城市和据点,修改建筑物坐标后,需要检查该坐标对应的square是否属于该城市或据点。比如把北平移动到(100,100)位置,需要把对应的square(20100)属于北平,并设为可通行就可保证部队正常进出。
      另外需注意的是square的地形属性,建筑物不能建在水和岩上面,否则一出征就游戏跳出。解决跳出的办法是,把该square点的地形改为土或草就行了(游戏里大地图上不会变)。



      

(三)进军路线
       进军路线的修改说白了就是造桥和堵路,以减小或增加路程长短。目的无非是体现出名山大川和关卡在地图上的作用或让更多势力卷入某个地区的战斗。下面是几个例子。第一个例子堵路,把要修改的square点第一个量改为1022不可通行。如图4,亮黄线部分改成不可通行,羌只能从左右两边的关卡进攻天水。




第二个例子搭桥,濮阳桥缩短了兖州和徐州豫州的距离。造桥时的注意事项:
1)桥中心在(x,y)的话,square修改时应把(x-1,y-1)修改为桥。
2)河畔边上的地皮一般默认是不可通行的,也要一起改成可通行。
3)桥的方向由第四个量控制,1为东西方向,0为南北方向。




第三个例子是水域联通,在
我改的剧本(纵横天下修改)里,所有水域是打通的(皆为水一,512)。具体作用在后面城市及据点攻防关系中会详细讲。


      



附件: 你需要登录才可以下载或查看附件。没有帐号?注册
已有 2 人评分金钱 荣誉 收起 理由
快剑夏候恩 + 200 + 5 感谢分享~
大z+ + 50 + 3 很好的教程~谢谢分享~~

总评分: 金钱 + 250  荣誉 + 5  + 3   查看全部评分

使用道具 举报

帖子
203
精华
0
积分
222
金钱
983
荣誉
12
人气
1
评议
0
沙发
发表于 2011-7-21 05:22:11 |只看该作者
本帖最后由 vonleibniz 于 2011-7-24 00:25 编辑

(四)城市及据点攻防关系
       只要做过剧本的同学大概都知道,san9各城市之间的敌对关系是固定的,没有敌对关系就不会进攻。比如襄平会远航来打北海,却不会打距离差不多的平原。这种固定了的攻防关系给剧本制作造成了很大的困难,随便移动城市位置很大可能会导致新城市不会进攻也不会遭遇进攻。这里我提出一个概念,san9里2个建筑(城市或据点)之间只要满足条件就会相互进攻。
       接下来我会分析到底满足什么条件2个建筑才会进攻,这些分析都是基于san9源程序的攻击判断。A,B表示城市, A1,A2,B1,B2表示属于各自城市的据点。An表示A,A1,A2,...中的任何一个建筑,Bn表示B,B1,B2,...中的任何一个建筑。

条件1:
敌对条件。只有A与B敌对,An 与 Bn 之间的战斗才有可能打响。
条件2:联通条件,是指在进军路线上的地域必须属于敌对城市。(如果路上有敌对的第三方C的地皮,也算是联通的)
条件3:相邻条件,两个地域之间有相邻的、且相互可通行的地皮(即分属两个地域的两个512可通行的点相邻,上下左右方向,斜线方向不行)。

这三个条件的组合就构成san9里所有的攻击关系。这里我用两个图例来说明。







case1:攻击方为城市。城市发起攻击的条件是:敌对+联通。
图7中A与B敌对,城市A会攻击所有建筑A1,A2,A3,A4,B,B1,B2,B3. 反之B也会攻击所有建筑。
图8中,由于中立地区C的阻隔,联通条件不成立。故A不会攻击Bn,仍然会攻击
A1,A2,A3,A4。 而B仍然会攻击所有建筑,因为对B而言C也是敌对区域,联通条件成立。

case2: 攻击方为据点。据点发起攻击的条件是:敌对+相邻。
图7中A1 会攻击A,A4,B1, 但不会攻击其他不相邻的建筑,如A3。
图8中由于C的阻隔,A1 不再攻击B1。

case3: 攻击方为蛮族。攻击发起只需要敌对
条件


(五)修改square增加攻防关系
继续上面的三个case
case1:图8,在C地域中开辟一个横向通道(修改各点square属于A或B)再次联通A和B,那么A就会如图7中一样攻击B了
case2:  因为不相邻,A1不会攻击A3。修改A1下面某个可通行的地皮属于A3,且旁边的地皮也为512可通行,那么程序会判断A1与A3相邻,攻击条件达成。
case3:故意把蛮族与其敌对城市之间放上非敌对城市,路过时也会打。

(六)修改实例之一
南皮改到巨鹿位置,新坐标为(112,26),根据公式 square=x+200*y=5312.
把5312及其上下左右共五个点(5311,5312,5313,5112,5512图中亮黄色点)修改为属于“南皮”,第一属性为512可通行.
同时把周围的蓝色点改为属于周边的建筑,以达成“相邻”条件,让新南皮遭受更多的攻击,如图所示。
注意为了和壶关达成攻击关系,需要把壶关改属邺。因为南皮和上党是中立的,而南皮和邺是敌对关系。
壶关改为邺属地之后对邺和上党的攻击关系没变,却增加了对新南皮的攻击关系!这就是对前面所讲的三种攻击条件的具体应用。




更多的例子见
我改的剧本http://game.ali213.net/forum-vie ... -extra--page-1.html






附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

帖子
203
精华
0
积分
222
金钱
983
荣誉
12
人气
1
评议
0
板凳
发表于 2011-7-21 05:22:31 |只看该作者
本帖最后由 vonleibniz 于 2011-7-22 14:39 编辑

(七)san9pk.exe文件的修改
对exe文件的修改能做到很多修改器、剧本编辑器做不到的效果。而且这个修改是对所有剧本起作用的,不需要一个剧本一个剧本的去修改。
修改exe文件需要的软件是ultraedit文本编辑器。至于反编译什么的,我暂时搞不定。去壳版的exe文件在我改的剧本里有下载。




我用的是17.0版其他版本应该一样的。
目前我只会修改文字部分,大概位置如图左列为位置,0021a开头的。游戏里菜单显示的文字这里基本都能改。
昨天见到一个兄弟建议说exe里把士气改为军粮,激励改为运粮,如果下个版本或下下版本高难度优化能把san9出征和军粮联系起来就好了。粮乃军之胆也。



附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

帖子
203
精华
0
积分
222
金钱
983
荣誉
12
人气
1
评议
0
地板
发表于 2011-7-21 05:22:49 |只看该作者
本帖最后由 vonleibniz 于 2011-7-22 14:39 编辑

占楼以待后用。


使用道具 举报

帖子
203
精华
0
积分
222
金钱
983
荣誉
12
人气
1
评议
0
5#
发表于 2011-7-21 05:24:17 |只看该作者
深夜占楼,赶紧 的赶紧的

使用道具 举报

帖子
203
精华
0
积分
222
金钱
983
荣誉
12
人气
1
评议
0
6#
发表于 2011-7-21 05:25:32 |只看该作者
深夜占楼,赶紧 的赶紧的

使用道具 举报

帖子
203
精华
0
积分
222
金钱
983
荣誉
12
人气
1
评议
0
7#
发表于 2011-7-21 05:28:29 |只看该作者
再占一个以备用。。。。版主不会砍人把

使用道具 举报

超级皮波 因扎吉 不灭神话
聖鬥士·天秤座·雅典娜之驚歎

白金会员勋章活跃勋章荣誉勋章特色头衔勋章人气勋章·初级综合区荣誉会员勋章

帖子
62839
精华
0
积分
34600
金钱
4796
荣誉
284
人气
3403
评议
0

8#
发表于 2011-7-21 06:42:12 |只看该作者
教学贴要顶。

使用道具 举报

超级皮波 因扎吉 不灭神话
聖鬥士·天秤座·雅典娜之驚歎

白金会员勋章活跃勋章荣誉勋章特色头衔勋章人气勋章·初级综合区荣誉会员勋章

帖子
62839
精华
0
积分
34600
金钱
4796
荣誉
284
人气
3403
评议
0

9#
发表于 2011-7-21 06:42:52 |只看该作者
楼主这个帖子总结的很好,对做剧本的人是很大的帮助。

使用道具 举报

帖子
510
精华
0
积分
397
金钱
3911
荣誉
14
人气
20
评议
0
10#
发表于 2011-7-21 08:17:09 |只看该作者
本帖最后由 游戏童年 于 2011-7-21 08:53 编辑

" />" /> UT那段要好好学学,乱码的问题已经困扰我很久了。

我的UT修改仍然乱码的厉害,和系统有没有关系吗?或是和UT版本有关吗?我的好像一直是15.20用了好久了。

使用道具 举报

帖子
915
精华
1
积分
798
金钱
4887
荣誉
13
人气
104
评议
0
11#
发表于 2011-7-21 08:32:08 |只看该作者
改square工作量太大了,最好有个地图编辑器

使用道具 举报

帖子
780
精华
0
积分
390
金钱
8432
荣誉
0
人气
1
评议
0
12#
发表于 2011-7-21 10:03:04 |只看该作者
前排支持

使用道具 举报

帖子
9447
精华
0
积分
4803
金钱
26443
荣誉
6
人气
191
评议
0
13#
发表于 2011-7-21 10:19:06 |只看该作者
好专业 我只会最基本的修改 改据点坐标 把桥去掉 加一些关卡

使用道具 举报

帖子
1084
精华
0
积分
542
金钱
3029
荣誉
0
人气
0
评议
0
14#
发表于 2011-7-21 10:42:32 |只看该作者
虽然看不懂楼主在说什么,但还是感觉楼主很厉害的样子

使用道具 举报

帖子
75
精华
0
积分
38
金钱
581
荣誉
0
人气
0
评议
0
15#
发表于 2011-7-21 12:18:46 |只看该作者
前排支持,好文啊

使用道具 举报

帖子
174
精华
0
积分
99
金钱
6022
荣誉
1
人气
11
评议
0
16#
发表于 2011-7-21 14:53:29 |只看该作者
支持,好文,学习

使用道具 举报

帖子
203
精华
0
积分
222
金钱
983
荣誉
12
人气
1
评议
0
17#
发表于 2011-7-21 19:31:35 |只看该作者
游戏童年 发表于 2011-7-21 08:17
" />" /> UT那段要好好学学,乱码的问题已经困扰我很久了。

我的UT修改仍然乱码的厉害 ...

看我三楼更新的图片,第二步里有两项都要设置一下。试试看。

使用道具 举报

帖子
203
精华
0
积分
222
金钱
983
荣誉
12
人气
1
评议
0
18#
发表于 2011-7-21 19:32:52 |只看该作者
45399735 发表于 2011-7-21 08:32
改square工作量太大了,最好有个地图编辑器

我也在梦想san9图形化的全地图修改器,直接在上面看修改效果。
其实有ME多功能修改器的源代码和对san9底层数据的理解的话,可以比较容易的继续开发成大地图的。因为基本的数据已经有了,现在剩下的问题就是图形化。
重起炉灶再弄个修改器就太麻烦了,没那精力和技术。要是有ME多功能修改器的源代码就好了

使用道具 举报

金书游戏工作组【评测】
骠骑将军 安风陵

游侠荣誉会员勋章白金会员勋章精华勋章荣誉勋章

帖子
5717
精华
16
积分
8085
金钱
7221
荣誉
196
人气
667
评议
0
19#
发表于 2011-7-21 20:10:49 |只看该作者
收藏一个
.....................

使用道具 举报

帖子
510
精华
0
积分
397
金钱
3911
荣誉
14
人气
20
评议
0
20#
发表于 2011-7-21 21:03:28 |只看该作者
本帖最后由 游戏童年 于 2011-7-22 00:15 编辑
vonleibniz 发表于 2011-7-21 19:31
看我三楼更新的图片,第二步里有两项都要设置一下。试试看。


这个方法我也试过,仍然是一团乱码。
曾经在网上也找过修改的方法,解决乱码问题,结果在文件里转换各种模式也没有效果
谢谢楼主的帮助,可以修改了。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2024-4-26 08:58 , Processed in 0.364227 second(s), 12 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到