找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12686|回复: 31

[攻略心得] (原创个人猜想)内存数值解密

[复制链接]
发表于 2006-8-15 21:21:18 | 显示全部楼层 |阅读模式
内存修改器中,在球员属性的数值栏里会发现两种类型的属性。一种取值从-100到100(有说-127到127的,个人没看见过,因为修改器规定是那样,所以自己也没有改动过),另一种取值从0-100(有超过100的时候,不是改的,球员自己长的)。
第一种最小为-100,最大为100,且对于在游戏表现出来的数值呈现不平均的分配。第二种最小为0,最大为100,基本是平均分配(5点变化1)。

对于第一种属性,球员游戏中的数值不仅和内存里的单项数值有关,而且还和现有能力以及潜力都有密切关系。内存中单项数值决定此属性的绝对大小,而潜力和现有能力则决定球员数值的相对大小。即单项内存数值相同的球员如果潜力和现有能力不一样的话,在游戏中表现出的数值也不同。潜力相当于一个限制,即使内存数值再高,如果被低潜力所限制,游戏中的数值也不会高。而高潜力的球员,其实内存中的数值并不是很高,但是由于打开了潜力的限制,因此数值普遍不低。其实内存中的数值大部分在0左右,超过0就可以被视为很高了,2、30已经是比较罕见了。当你发现某个球员潜力并不很高,但游戏中的数值都不低的时候,那么他的内存数值一定都很高(基本都在0以上,很多2、30的,随机成分较大)。如果把潜力改高,那他一定是个超超超级巨星。

第二种属性和潜力没有关系,而且是平均分配,而且有些数值也很难有变化(比如决心、影响等等)

这两种数值除了有以上的一些关系外,还和年龄,训练水平,参加比赛等有关系,但是具体关系还不是很确定,还需要进一步研究。并希望更新成真正的内存数值解密。

由于这只是我的初步认识,并没有得到其他人或者帖子的证实(抱怨一下:这个论坛有关这方面的帖子太少了,而且好帖子也不多,竟是问哪个球员好,哪个阵型佳的帖子。。。),因此我只把定义为猜想。希望和有研究过的高手一起讨论。
本人最想弄清楚的是,那些内存数值在衰退期到来前是否可以无限增长。比如一直用BT训练,而且经常参加高水平比赛。是否可以突破游戏自带修改器所规定的数值。

[ 本帖最后由 liusong427 于 2006-8-15 11:41 PM 编辑 ]
发表于 2006-8-15 22:45:04 | 显示全部楼层
顶一下~~~~!
回复 支持 反对

使用道具 举报

发表于 2006-8-15 22:50:35 | 显示全部楼层
终于看到一个有意义的贴

100不是上限,上限可以到127,不过没有用,游戏中体现还是20,但是不容易掉

比如,赛季结束后的假期,球员数值都会大幅度下滑,但是某些球员的某些可变动能力却不会从20下滑,就是因为他的该能力不止100

目前还没尝试突破127,怕严重错误。。。
回复 支持 反对

使用道具 举报

发表于 2006-8-15 23:05:31 | 显示全部楼层
对,最大仍然显示为20,这就是为什么有些球受伤之后铲球等数值依然是20。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-15 23:45:05 | 显示全部楼层
原帖由 大牛比较懒 于 2006-8-15 10:50 PM 发表
终于看到一个有意义的贴

100不是上限,上限可以到127,不过没有用,游戏中体现还是20,但是不容易掉

比如,赛季结束后的假期,球员数值都会大幅度下滑,但是某些球员的某些可变动能力却不会从20下滑,就是因 ...

你说的可能是第二种属性,这个我见过,但是第一种属性绝对不会出现那种情况。上50的都少之又少了。
回复 支持 反对

使用道具 举报

发表于 2006-8-15 23:48:22 | 显示全部楼层
LZ想研究这个啊,呵呵,很繁琐的,给你几篇文章看看

=======================================
令狐一刀 2004-11-9 02:50 PM

我如何理解球员的真正能力(转贴)

球员的真正能力不是看FA(表面数值)的,而要看RA(真实能力值)和CA(现在总能力值,和潜力相对,CA不能超过潜力)

     以前锋和射手为例,前锋关键属性中的射门、盘带、技术、头球、位置感、无球跑、判断都是有隐藏数值的(就是RA),我们看到的只是FA,而绝大多数球员这些数值的RA都是负数(-127到0之间),这些就是普通人,而少数球员的这些数值的RA是正数(0到127之间),这些就是天才(多项关键数值都是正数而且非关键数值的FA都很低的就是妖人)。RA负数的的普通人最高只能练到0,永远也练不成RA正数的天才。从这个角度看,现实世界中的大多数成名球员(亨利、大罗、维埃拉之流),他们的关键数值的RA基本是负数(顶多有一项是正数就不得了了,如带球狂人Giggs的盘带。如果有两项正数就已经算妖了),但是他们的CA非常高(毕竟成名了),所以经过一番计算,他们的FA也非常高,但再高也是普通人。负数的射门和正数的射门的效果是不能相提并论的,你对比一下射门20(RA负数)的Raul和同样射门20(RA正数)的Cerci的射门几率和成功率就知道了。

    一个天才儿童,比如射门RA是90(这即使在妖人里面也是一个惊人的高数值!),但如果他的CA只有个位数(乳臭未干的小毛孩),那么他的FA(我们在球员资料里看到的)是多少呢?很可能也只有个位数。这样的话,我们在看到这个球员时,看到一个射手射门不到10,大部分人都会说,唉,可惜啊,不成大器。殊不知,要是你就这样拿上场比赛,他的进球效率一定会让你大跌眼镜!!这个射门RA90的天才儿童如果他的潜力超过140的,在你的精心培养下,等他的CA上升到一定程度的时候,他的射门RA即使不变,但FA也很快会升到20的。因为带隐藏数值(RA)的属性是会随着CA的增加而增加的(RA和CA之间有一个复杂的函数关系,计算结果为FA),而不带RA的属性就不会这样,比如勇敢、才华、定位球和所有的身体数值,这种属性只能靠时间,慢慢地增长(真的很慢),是不会随着球员CA的提高而提高的,所以这些数值低的小孩,在相应位置上可能永远也成不了身价10M以上的巨星。无RA属性和带RA属性一样重要。

     我的观点是:判断球员的价值和潜力,不应该仅仅根据FA、CA、潜力来判断,而应该是在该位置的有隐藏数值的关键属性(包括:技术属性里除了界外球和定位球的所有属性、精神属性中的位置感、决断、无球跑、判断、创造力)上以RA为首,FA为次(意思是说某属性虽然RA是负数,但FA却不错也可以),在无RA的关键数值(比如勇敢、才华、侵略性、决心、定位球和全部身体属性等,简单说就是除了带RA的)上以FA为首,如果比较理想就看潜力,仍然理想的话,我敢说这个人绝对是未来10年内的世界巨星。2-4项正数RA的关键属性 + 负数RA但是FA比较高的关键属性 + 比较理想的无RA关键属性 + -1甚至-2的潜力(-1潜力指潜力在120-160的,-2潜力指160以上的) = 超级天才儿童,这种人是无价之宝,只能靠系统随机产生。

     搜寻超级天才的工具我觉得CM SCOUT的看RA版是最好的,还给出各个位置的评分(和普通的CM SCOUT不同,这个分是根据RA评的,比如维埃拉在CM SCOUT中可能有70-80分,但在RA版的CM SCOUT中就是负的100多分!)RA版的CM SCOUT评分低说明什么呢?说明这个人的正数RA关键属性的多少,我们应该首先注意那些RA评分高的人(当然不排除评分低的也有好的,因为虽然RA正数的关键属性不多,但可能就一个就够了,比如前锋的射门)。

     我还发现一些有趣的情况,一次我看到一个评分29%(GK)的门将,马上点开了看(因为在这里能评上29的人不多哦),一看傻了,最低的评分就是GK分了,他的后卫分有34%,最高是前锋分58%!!!马上看他的技术属性RA,我靠,射门65,盘带33,头球41,位置感9,无球跑16,决断-34(FA=9),技术-17(FA=12),判断-30(FA=8),传球-21(FA=11)!!!再一看无RA属性,决心12,才华9,团队协作10,工作投入13,弹跳16(门将出身嘛),爆发力16,速度15,多用性16(哈哈哈哈哈,天助我也!),再看潜力(不会是-2吧?),呵呵,123,属于-1。这个人不是天生的天才前锋吗?怎么跑去做门将了??如果没有我,他这辈子都没指望了。马上用10K买过来,改练SC,经常创造机会让他到U20里面打SC(很搞笑,我队伍里一前一后两个GK),练了一个赛季,终于变成了SC(GK没有了,GK和其他位置不能并存),这时他的关键属性的FA大概是这样,射门19(这可是RA正65的射门19啊!小禁区内只要一拿球,进球率绝对在80%以上),盘带15,头球17,位置感15,无球跑15,技术15,传球12,判断11。无RA属性中决心14,才华10,协作12,投入14,弹跳17,耐力平衡灵活强壮也升了1-2点。这种人,就叫高分低能(高度实用,但CA和身价都不高),身价区区200万,但是却以三位数的进球登上了意大利U20联赛的射手榜头位,能传能射,能顶能踢,高空和地面优势均集一身,再历练上一、两个赛季,把他提到一线队(买来时17岁,现在18),打上一个赛季,那时他的身体属性一上去(主要是强壮不够,可能和年龄有点关系),那时就是真正的禁区之王了。
     如果不看RA的话,这个人就被浪费了。
     谢谢各位的捧场,本人才疏学浅,不当之处,请各位老大指正。


1.在计算中,真正起作用的,是FA而非RA.

2.RA的作用仅在于当CA一定时,通过RA的不同影响FA,从而体现球员特点.

3.FA的真正上限不仅仅是20,当超过20时,显示为20,计算时,却没有按20计算,而是按实际的数值计算.很多妖人的单项能力如射门,显示为20,实际上可以超过20,再加上妖人高的往往是关键的几项指数,这就使妖人可以在比赛中有很好的表现.

4.由此可知,CA对球员能力起主导作用,RA则为具体的单项能力提供修正.对球员的训练,CA和PA接近的一线队员,应以提高RA的各种单项训练和体能的保持为主,低CA高PA的预备队员,应以快速提高CA的集体训练为主.预备队的训练,推荐五人小组对抗,半场攻防等项目,加上一定的力量冲剌和头球训练,一线队的这些集体项目可以减少,以点球,技术,传中,抢圈,低运动量训练,战术训练,紧逼等为主,加上一定的力量冲刺头球.

5.球探工具,没有必要以RA为查看对象,低CA而单项FA高者,RA必定奇高.只查看FA就可以了,为了正确体现妖人,应在查看FA时,去掉20的FA上限,看真实的值.

CA200,RA127的球员,单项FA可高达50.376333333333.......这个数值绝对可以做到一个人击败一支球队了......

如果仅看RA,我想大多数人对牛人会变得不屑一顾,RA实在太低了,远不能和妖人比,但在实际使用中,真正有用的,还是牛人们(尤其是联机比赛时,妖人基本无用),这是唯RA论不能解释的,只有把CA考虑进来,以FA为标准,牛人才是真正的牛人.
而高龄牛人的能力变弱,正是由于CA的逐渐降低,基本不关RA的事.

由此给出牛人和妖人的定义:
牛人:CA太高,以至于RA基本上无正向修正必要,反而需要在很多能力上进行RA的负向修正的球员.
妖人:CA很低,但依靠高RA修正值,获得了不合情理的极高FA值的球员.



Temp1=(((RA * 2) + CA) * 0.05) + 10
FA=((((Temp1 * Temp1) * 0.1) + Temp1) * (1/3)) + 0.5

大家再看看这个公式,关键点,就在RA*2+CA上.这个和等于200时,球员将获得20的FA,当这个和大于200时,球员的FA将超过20,从而在单项上有他人难以比拟的突出表现.这个和越大,球员也就越妖.由此我们寻找妖人的标准,就是2RA+CA>=200.

而真正决定一切的,恰恰是FA

牛人的RA之所以低,正是由于CA过高,如果RA不低一点的话,FA可以轻松突破20大关,达到30-50之间,这显然太可怕了.要知道,CM中,15的FA,这项能力就算不错了,17可算一流,20就是顶级了,30是什么概念?
RA仅是在CA一定时对FA进行修正,或加强,或减弱某些单项FA,以体现球员能力特点.CA和RA的关系,就是宏观调节和微观调节的关系.
回复 支持 反对

使用道具 举报

发表于 2006-8-15 23:49:00 | 显示全部楼层
『南方体育』关于CM的源代码研究(转载)


作者:阿色 提交日期:2004-3-11 19:22:56

  有点无聊,有点意思。喜欢CM的朋友随便瞧瞧……
  ------------------------------------------------
  天才与妖人的由来
  作者:stupid_yi
  
  球员属性与能力值之间的关系
  潜了那么久的水,突然想上来冒个泡。在我的印象里,现在的CMER太懒了,整天只知道泡在论坛里灌水,几天下来也看不见一篇有建设性的帖子。不过让我略感欣慰的是,前几天看了madtoad的《关于球员能力、潜力的计算问题。》一文,发现至少还是有那么一些勤于思考的CMER的。仅以此文献给这些还在绞尽脑汁为推动CM游戏水平进步的可爱CMER。
  
  不知道大家还记不记得CM3的时候有一款Graeme Kelly开发的CM3 Series SaveGame Editor存盘编辑器,其实用过它就大概知道球员的属性和能力值大概是个什么关系 了,下面就以我最喜欢的Giggs为例给大家讲解一下。
  
  
  此主题相关图片如下:
  
  
  先做一下名词解释,如图所示:
  RA:球员各项属性的实际能力;范围:1-255
  FA:球员各项属性的最终体现值,也就是我们所看见的球员属性,范围:1-20
  CA:球员的当前能力,范围:1-200
  PA:球员的潜力,范围1-200
  
  球员的属性分类两类:一类是Acceleration、Aggression等FA和RA相等的属性,这类属性不受CA影响,主要集中在球员的身体属性、部分精神属性和隐藏属性;另一类是Anticipation、Crossing等FA和RA不相等的属性,这类属性要受到CA的影响,主要集中在球员的技术属性和部分精神属性。
  
  我们可以用表示FA=f(RA,CA)表示这三者之间的函数关系。经过测试发现,f是一个在(1,127)(128,255)两个区间分别递增的函数,但当CA一定的时候,FA和RA是非线性的关系,当RA一定的时候,FA和CA也是非线性的关系。我不是数学系出身,想要仅以几个采样值来求出这个二元函数几乎是不可能的,于是剩下唯一的办法就是去源程序里找了。我也不是学编程的,更没有faster那种把Diablo反编译的精神与体力,幸好CMScout的作者Nygreen给我们提供了他的源文件,让我们找到这个二元函数。大家有兴趣的可以到http://prdownloads.sourceforge.n ... t-v3.10-source.zip?去下载这个源文件。
  
  程序中有如下一段:
  
  procedure TCM4PlayingData.ConvertRelativeAbilities(Ability: SmallInt);
  begin
   if Goalkeeper < POSITION_THRESHOLD then
   begin
   FCrossing:=HighConvert(Ability, Crossing);
   FDribbling:=HighConvert(Ability, Dribbling);
   FFinishing:=HighConvert(Ability, Finishing);
   FHeading:=HighConvert(Ability, Heading);
   FLongShots:=HighConvert(Ability, LongShots);
   FMarking:=HighConvert(Ability, Marking);
   FOffTheBall:=HighConvert(Ability, OffTheBall);
   FPassing:=HighConvert(Ability, Passing);
   FPenalties:=HighConvert(Ability, Penalties);
   FTackling:=HighConvert(Ability, Tackling);
   FCreativity:=HighConvert(Ability, Creativity);
  
   FHandling:=LowConvert(Ability, Handling);
   FAerialAbility:=LowConvert(Ability, AerialAbility);
   FCommandOfArea:=LowConvert(Ability, CommandOfArea);
   FCommunication:=LowConvert(Ability, Communication);
   FKicking:=LowConvert(Ability, Kicking);
   FThrowing:=LowConvert(Ability, Throwing);
   end
   else
   begin
   FCrossing:=LowConvert(Ability, Crossing);
   FDribbling:=LowConvert(Ability, Dribbling);
   FFinishing:=LowConvert(Ability, Finishing);
   FHeading:=LowConvert(Ability, Heading);
   FLongShots:=LowConvert(Ability, LongShots);
   FMarking:=LowConvert(Ability, Marking);
   FOffTheBall:=LowConvert(Ability, OffTheBall);
   FPassing:=LowConvert(Ability, Passing);
   FPenalties:=LowConvert(Ability, Penalties);
   FTackling:=LowConvert(Ability, Tackling);
   FCreativity:=LowConvert(Ability, Creativity);
  
   FHandling:=HighConvert(Ability, Handling);
   FAerialAbility:=HighConvert(Ability, AerialAbility);
   FCommandOfArea:=HighConvert(Ability, CommandOfArea);
   FCommunication:=HighConvert(Ability, Communication);
   FKicking:=HighConvert(Ability, Kicking);
   FThrowing:=HighConvert(Ability, Throwing);
   end;
  
   FAnticipation:=HighConvert(Ability, Anticipation);
   FDecisions:=HighConvert(Ability, Decisions);
   FOneOnOnes:=HighConvert(Ability, OneOnOnes);
   FPositioning:=HighConvert(Ability, Positioning);
   FReflexes:=HighConvert(Ability, Reflexes);
   FThrowIns:=HighConvert(Ability, ThrowIns);
   FFirstTouch:=HighConvert(Ability, FirstTouch);
   FTechnique:=HighConvert(Ability, Technique);
  end;


作者:阿色 回复日期:2004-3-11 19:23:00

  我来解释一下,FCrossing等就是我所说的FA,Ability就是我所说的CA,而Crossing等就是我所说的RA。这里有两个函数:HighConvert和LowConvert。当球员不是守门员的时候,他的非守门属性和共有属性由HighConvert决定,而他的守门属性由LowConvert决定;而当一个球员是守门员的时候,他的守门属性和共有属性由HighConvert函数决定,而他的非守门属性由LowConvert决定。其中HighConvert起主导作用。
  
  HighConvert和LowConvert分别是如下定义的:
  其中:Ability=CA,value=RA,Result=FA
  
  function TCM4PlayingData.HighConvert(Ability: SmallInt;
   value: ShortInt): ShortInt;
  var
   Temp: Double;
  begin
   Temp:=(((value * 2) + Ability) * 0.05) + 10;
   Temp:=((((Temp * Temp) * 0.1) + Temp) * (1/3)) + 0.5;
  
   if Temp < 1 then
   Result:=1
   else if Temp > 20 then
   Result:=20
   else
   Result:=Trunc(Temp);
  end;
  
  function TCM4PlayingData.LowConvert(Ability: SmallInt;
   value: ShortInt): ShortInt;
  var
   Temp: Double;
  begin
   Temp:=(((Ability * 0.1) + (value * 2)) * 0.05) + 10;
   Temp:=((((Temp * Temp) * 0.1) + Temp) * (1/3)) + 0.5;
  
   if Temp < 1 then
   Result:=1
   else if Temp > 20 then
   Result:=20
   else
   Result:=Trunc(Temp);
  end;
  
  由此我们可以看出,f是一个二元二次函数。要注意的是Ability的类型是SmallInt,它的范围是(-127,127),这也就解释了f为什么分别在两个区间递增,因为我们看到的(128,255)其实代表的是(-127,-1)。
  
  综上所述,非守门员的Crossing,Dribbling,Finishing,Heading,LongShots,Marking,OffTheBall,Passing,Penalties,Tackling,Creativity和守门员的Handling,AerialAbility,CommandOfArea,Communication,Kicking,Throwing以及两者共有的Anticipation,Decisions,OneOnOnes,Positioning,Reflexes,ThrowIns,FirstTouch,Technique是由函数HighConvert决定的。
  
  通过上面的公式我们也可以部分解释妖人存在的原因了。我们可以看到绝大多数球员的RA都在(-127,-1)区间内,就连堂堂Giggs也只有Dribbling一项属性在(1,127)区间内。而妖人的属性如果在(1,127)内的话,那么即便他的CA很低,他的FA依然可以很高。例如当RA=127时,即便CA=1,依然可以得到FA=20。
  
  以上就是我对FA、RA、CA三者之间关系的解释,感谢各位耐心看完。不过看看就完了,不要深究,CM是一款足球经理游戏,不要过分看重这些数据了,不然到最后我们面前的就只是一堆数字而已,还有什么意思。和现实相结合,才是玩CM的最大乐趣。
回复 支持 反对

使用道具 举报

发表于 2006-8-15 23:49:25 | 显示全部楼层
作者:阿色 回复日期:2004-3-11 19:24:00

  2月18日更新
  
  上面的内容大家反映有点复杂,我再抛开程序部分,通俗的为大家解释一下:
  
  还是以上图为例,四类值分别是:
  RA:球员各项属性的实际能力,这个值也是游戏中实际存在的,无论是初始数据库还是存盘文件,球员的各项属性都是以这个值的形式保存的;显示范围:(1,255),但由于RA的数据类型是SmallInt,所以实际的范围是:(-127,127)
  FA:球员各项属性的最终体现值,也就是我们在游戏中所看见的球员属性,范围:(1,20)
  CA:球员的当前能力,范围:(1,200)
  PA:球员的潜力,范围(1,200)
  
  CA和PA的关系,我想大家都知道,就是CA总是在(1,PA)这个范围内浮动,这里我就不多说了。
  
  下面主要介绍一下RA、PA、CA三者之间的关系:
  
  球员的属性分为两类:
  
  一类是FA与RA相等,这类属性不受CA影响,主要属性有(CM0304中):
  
  精神属性 非守门员属性 守门员属性 共同属性
  Adaptability LeftFoot Eccentricity Acceleration
  Ambition RightFoot RushingOut SetPieces
  Loyalty Flair TendencyToPunch Strength
  Pressure Corners Stamina
  Professionalism Teamwork Pace
  Sportsmanship WorkRate Jumping
  Temperament LongThrows Influence
  Controversy Dirtiness
   Balance
   Bravery
   Consistency
   Aggression
   Agility
   ImportantMatches
   Injury Proneness
   Versatility
   Natural Fitness
   Determination
  
  这类属性不作重点讨论。
  
  另一类是FA和RA不相等,这类属性要受到CA的影响,主要的属性有(CM0304中):
  
  非守门员属性 守门员属性 共同属性
  Crossing Handling Anticipation
  Dribbling AerialAbility Decisions
  Finishing CommandOfArea OneOnOnes
  Heading Communication Positioning
  LongShots Kicking Reflexes
  Marking Throwing ThrowIns
  OffTheBall FirstTouch
  Passing Technique
  PenaltyTaking
  Tackling
  Creativity
  
  这类属性可以用函数FA=HighConvert(RA,CA)表示
  
  其中HighConvert可以表示为:
  
  Temp1=(((RA * 2) + CA) * 0.05) + 10
  FA=((((Temp1 * Temp1) * 0.1) + Temp1) * (1/3)) + 0.5
  
  如果FA<1,则FA=1
  如果FA>20,则FA=20
  如果1<FA<20,则FA为上面结果的整数部分
  
  因此,我们将RA和CA带入上述函数,就能得到相应的FA。
  
  这个函数在CA一定的时候,在(-127,127)范围内随RA递增,在RA一定的时候,在(1,200)范围内随CA递增。也就是CA越高,FA越高;RA越高,FA越高。
  
  知道这些对我们有什么用:
  
  一、可以部分解释妖人存在的原因。
  
  当CA=1的时候,由RA=97和RA=127都可以得到FA=20,而由RA=97时得到的FA=20会随着RA的衰减到96而迅速衰减到FA=19,可以说它处在一个不稳定状态,而由RA=127得到的FA=20,要一直RA衰减到96时才能得到FA=19,可以说它相对的处在一个稳定的状态。这就是为什么我们修改出来的属性全为20的球员会很快状态下降,而游戏里的妖人的一些状态可以稳定的保持在20。因为我们现在的修改器,都只能修改FA而不能修改RA。
  
  二、RA和CA那个重要
  
  由(RA * 2) + CA可以看出,在单项属性上RA的影响力要比CA大。(由(Temp1 * Temp1)可知,其影响力不只2倍)但是,由于CA一共影响了19项属性(非守门员),而且都是很重要的技术属性,因此个人认为,在RA和CA都有很大上升空间的情况下,CA显得更为重要。
  
  三、选拔年轻球员的原则
  
  由于第一类属性FA不受CA影响,因此这类属性只能靠训练提高,增加的比较缓慢。因此我喜欢挑选这些属性都比较高,潜力也比较高的年轻球员,即便他们的技术都非常烂。但随着CA的提高,他们的技术一般都会飞速提高。
  
  以上都是我的一些个人观点,还望大家海涵。另外还有什么好的提议,也请大家不吝赐教。
回复 支持 反对

使用道具 举报

发表于 2006-8-15 23:49:45 | 显示全部楼层
【继续大解密】对球员指数的揭秘及修改
  本文主要参考了stupid_yi的文章“【完全解密】球员属性与能力值之间的关系”以及nygreen写的cm scout的源代码,严重感谢二位
  
  我看到很多人说看不懂stupid_yi这篇文章,所以我想首先解释一下他的文章,这样后面说起来也比较方便.
  一个球员的属性值主要分为三种:
  第一种是1~20的“明值”,这种值在内存中就直接表示为1~14(16进制),这个和我们在游戏中看到的值是一致的,比如speed;
  第二种是-127~+127的隐藏值,这种值在内存中表示为1~FF(16进制),这个值和我们在游戏中看到的指是不一样的,其关系是一个函数,在cm scout的源代码中这个函数表示为“Highconvert”,比如非守门员的finishing.不管这个隐藏数值为多少,经过“highconvert“的计算,在游戏中表现出来的数值都在5~20之间;
  第三种同上,只是函数关系不同,在cm scout的源代码中的函数关系表示为“lowconvert“,比如守门员的finishing.
  
  好,下面开始修改.用到的工具是fpe和mcm for 0304.
  
  1)进入游戏,选定想要修改的球员,假设该球员叫ABC
  2)打开mcm,找到这名球员,在“场上位置“栏目中修改他的goalkeeper属性为一个值x,然后返回cm
  3)打开fpe,切换回cm
  4)然后用热键(默认为小键盘的“*“键)进入ftp
  5)在“分析“这个标签页中,点击“新的“,输入这个分析项目的名称,假设我们叫它“position“,确认
  6)选择“Data Type“为“8 bits“,然后再“分析目标“栏目中填写“17“,点击“开始“进行查找
  7)分析结束之后点击“游戏“,回到游戏中
  从cm再切换到mcm,修改goalkeeper能力为y,不能等于x
  9)重复步骤4~8,直到在下方的地址列表中剩下唯一的确定地址
  10)选定这个地址,按“F10“进入内存编辑界面,刚才找到的地址就是图中的紫色位置,其值就是刚才我们在mcm中修改的值转成16进制.这个地址就是这次修改的起始地址
  
  此主题相关图片如下:
  
  
  从这个地址开始往后的前12个字节(红色框内)为场上位置的指数,依次分别是:
  goalkeeper
  sweeper
  defender
  defensive midfielder
  midfielder
  attacking midfielder
  attacker
  wing back
  free role
  right side
  left side
  central
  这些值为“明值“,最大改成7F,10进制就是127.再大就是负值了,会出问题.
  
  再往下11个字节(黄色框内)对非守门员来说是“highconvert“的隐藏能力值,对守门员来说是“lowconvert“,依次分别是:
  Crossing
  Dribbling
  Finishing
  Heading
  LongShots
  Marking
  OffTheBall
  Passing
  Penalties
  Tackling
  Creativity
  再往下6个字节(蓝色框内)对非守门员来说是“lowconvert“的隐藏能力值,对非守门员来说是“highconvert“,依次分别是:
  Handling
  AerialAbility
  CommandOfArea
  Communication
  Kicking
  Throwing
  再往下8个字节(绿色框内)对所有球员来说都是“highconvert“的数值,依次分别是:
  Anticipation
  Decisions
  OneOnOnes
  Positioning
  Reflexes
  ThrowIns
  FirstTouch
  Technique
  这些隐藏数值最低为“80“也就是10进制的-127,最高为“7F“也就是10进制的127.
  
  再往下28个字节则是非隐藏的属性了(“明值“),依次是:
  LeftFoot
  RightFoot
  Flair
  Corners
  Teamwork
  WorkRate
  LongThrows
  Eccentricity
  RushingOut
  TendencyToPunch
  Acceleration
  SetPieces
  Strength
  Stamina
  Pace
  Jumping
  Influence
  Dirtiness
  Balance
  Bravery
  Consistency
  Aggression
  Agility
  ImportantMatches
  InjuryProneness
  Versatility
  NaturalFitness
  Determination
  修改规则也是最大为7F
  
  另外还有一些值比如Adaptability都还没有修改.这些值的地址离上述值的地址有一段距离,并不在一起,因此需要重新查找,方法同上,不再一一赘述.值的排列依次是:
  Adaptability
  Ambition
  Loyality
  Pressure
  Professionalism
  Sportsmanship
  Temperament
  Controversy
  
  最后是球员的Current Ability 和 Potential Ability,这两个值又在第三个地方了,查找方法同上。注意的地方是,这两个值为16bit,因此查找时请把8bit换成16bit,可提高查找速度。
  这两个值最大可改为“FF 7F“,也就是10进制的“32767“.
  
  修改就告一段落了.有个地方我没改:教练的指数.其实这个也是可以改的.大家自己琢磨琢磨吧,我就不多说了.
回复 支持 反对

使用道具 举报

发表于 2006-8-15 23:50:18 | 显示全部楼层
说点其他的
  
  关于隐藏指数:当然是越高越好了,从10进制的角度来说,指数的好坏程度从-127~+127,越来越好.从16进制的角度来说,最低是80,往高里涨就81,82,一直到FF,再高就是00,再高一直到7F就到头了.隐藏指数的对球员能力的影响程度的概念是什么呢?stupid_yi也说过了,牛人Giggs也只有Dribbling是正值!!!我新造的球员,能力全20的牛人,没有一项指数是正的,最高值不过FE而已!!!
  
  关于天才球员的定义:隐藏指数是不会有质的飞跃的,也就是说,一个球员的隐藏指数如果最初是负值,那最高练到FF,永远成不了正值!其实这也就是cm中定义天才球员的方法了.天才之所以是天才,是有几项普通人无论如何也练不上去的值的.
  
  关于球员能力增长:通过我的试验,发现隐藏指数涨9~11点,其在游戏中显示出来的对应值才涨1点.也就是说,从游戏中发现一个球员的finishing涨了1点,实际上是把他的可增长点数投了10点左右放到了隐藏的finishing中.而一个球员可增长点数是多少呢?就是Potential Ability减去Current Ability.
  
  关于妖人:stupid_yi文章中说了妖人的之所以妖的原因,我再用土豆说明一下.土豆的隐藏指数里面只有三项是正的,分别是Dribbling, off the ball, finishing.这下大家明白他为什么这么能进球了吧,呵呵
  
  搞不懂的地方:corner kick和set pieces总是变成19,不解... ...
  
  修改的效果:我改的是前锋,最终数值如上面的图,1场比赛进了22个球
  
  搞笑的地方:人的速度比球快经常看到他带球带着带着球跑到他的身后去了,还要回去追... ...
  
  牛B的地方:怎么射门怎么有,进球率80%以上
  
  最后,祝大家玩得愉快!也祝cm能越做越好!
  
  再分析分析球员有隐藏值得能力值,这个地方问得比较多。
  下面以非守门员的finishing为例子简单分析一下。这个数值属于highconvert类型的值。这里我们假设球员的finishing的隐藏值为x,球员的current ability为y,显示在游戏里面的值为z。
  从nygreen的源代码中可以看出,z是x、y的一个二元二次函数,源代码我就不贴了,在stupid_yi文章中有。我只把我简化的数学公式写出来:
  
  此主题相关图片如下:
  
  
  (第二个二次项多写了一个平方,应该去掉)
  这个公式说明,球员的finishing的x为负值,但是只要y高,则z照样可以成为20;相反,x为正值,而y低的话,则z有可能不是20。但是这不表明这个球员的finishing就真的低了!在比赛中,电脑的运算是看x值的!这点我做的试验很好的说明了问题,游戏中存在的妖人也说明了这个问题。还是拿土豆来说吧,在我的档里面,他的Dribbling的z值为14,但是x值为正值,所以他的盘带功夫确实比一般人要强。
  如果一个球员的隐藏能力为0,则其current abiliy要到194,这个指数才能显示为20。
  
  从源代码中可以看到,如果表现出来的值大于或者等于20,则一律表现为20。
  所以,想要知道一个人的隐藏值到底为正还是负,除了新写一个查找工具,最简单的方法就是用mcm把他的Current Ability改为194,再回到游戏看他的指数,如果指数还是20,那该项的隐藏指数就是正的了。


作者:阿色 回复日期:2004-3-11 19:29:00

  再继续解密】天才与妖人的由来
  不好意思,前一段时间由于工作的原因,没有时间对CM再做进一步的研究,也没有对帖子里的问题做及时的解答。昨天看到了哦卖镐的的“【继续解密】用FPE对球员指数的揭秘及修改【已更新】”(有点别扭),感到我的文章还是有点作用的,万分感谢哦卖镐的(还是别扭)。再来要向苦瓜表示道歉,我只凭主观意识就否决了“最终体现球员好坏的是fa吗”的疑问。
  
  一、在游戏中似乎真的是RA在起作用。我用FPE修改了一下范尼的Fininshing,当CA=180是,RA=-1和RA=127都可以得到FA=20,但是两者的场上表现却有天壤之别,RA=-1时的范尼经常会射偏,或者狂闷守门员,但是RA=127时的范尼简直就是进球机器,几乎所有射门都能射在球门之内,偶尔会被守门员没收,有时即便守门员碰到皮球,也会连球带人一起被射进球门。(简直就是大空翼嘛)因此我们认为RA起主导作用是有事实依据的。
  
  二、0和-1似乎是划分一个球员是天才还是普通人的界限。我试着将20个人的Technique改为0,两外20个人的Technique改为-1,三个月下来,>=0的还是>=0,<0的还是<0。也就是说,如果球员某项属性是负数,那么它最高也就只能达到-1,而某项属性是非负数,那么它最低也会有0,而由-1达到0,似乎是做不到的,至少在我的实验里没有得到证实。因此我们就可以了解一些天才及妖人的由来。不过我想对天才和妖人的定义做一下修改,天才应该是某些属性RA>=0而FA=20的球员,因为至少我们可以看到他很强;而妖人应该是那些RA>=0而FA<20的球员,因为他们虽然很强,但是我们只凭肉眼是看不出来的。
  
  三、球员的哪些属性重要。我觉得对一个球队来说,有一个天才(或者妖人)射手是最重要的,我分别将球员的各项属性都改到127,只有Finishing有立杆见影的效果,可以立刻将球队的水平提高一个档次。此外LongShot也稍微有点作用,我将Scholes的LongShot改为127,“30公里外一脚远射”命中率极高。不过,由于游戏中不会有LongShot这么高的球员,所有并不推荐大家使用这类球员。其他的诸如Crossing、Dribbling等属性,因为并不是直接导致进球的属性,所有重要性应该不及Finishing。(这只是就某项属性的重要性而言,对于球队的表现当然是所有属性共同作用的结果。)
  
  四、CA究竟有什么用。如果游戏中是RA在起作用,那么球员的CA似乎就没有什么用了。应为CA的主要作用应该是结合RA求出FA,可以看看下面一组结果:
  
  RA=-10, CA=1 --> FA=6
  RA=-10, CA=180 --> FA=18
  
  如果FA没有作用,那么CA也应当没有作用了。
  
  五、我们急切期待一款可以查看RA的软件。现在的软件都只能查看FA,而真正起到作用的RA却不得而知。这样可能会对我们选择球员产生误导。
  
  BTW,从给我和哦卖镐的的回帖中可以看出,collrain似乎应该对CM的内部结构有相当的了解。既然如此,为什么不给我们大家一些好的建议。如果不方便说的话,至少可以提供给我们一些资料,让我们自己去研究一下,多谢。
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|FMFans ( 京ICP备07501235号 )

GMT+8, 2024-11-17 12:27 , Processed in 0.039122 second(s), 16 queries , Gzip On, APCu On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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