Kitserver 11 说明

历史版本信息: history.txt

2011.6.10 - Kitserver 11.0.2 - "Hydrodynamica" 版发布

与以往一样,关于这个说明文档的最新更新和各种语言版本,请参见这里:https://kitserver.mapote.com. 当然 Kitservers 5-8 Kitserver2010 的说明文档也能在那儿找到。

1. 简介

Kitserver 11 是一个针对 Pro Evolution Soccer 2011 的外挂程序 (也可用于 Pro Evolution Soccer 2011 DEMO)。它可以用于装载和管理各种模块,这些模块通常被封装为独立的 DLL 文件,包含增强游戏某方面性能的特定的逻辑代码。Kitserver的开发始于 Pro Evolution Soccer 3,当时只有外挂球衣的功能。经过多年来的发展,Kitserver 添加了很多功能。

下面是可用功能的快速摘要。点击左侧一列中的链接来获取有关特定模块详情。

如果你是第一次使用 Kitserver,请确保你已经阅读了安装说明

AFS2FS 11.0.0 afs2fs.dll 使 AFS (.img) 游戏内容可以使用文件和文件夹:更简单更快速地安装或者卸载补丁,而不需要更改 *.img 文件。
Kserv 11.1.0 kserv.dll 将球衣整理到 GDB,指定每个球队有自己的球衣。
Faceserver 11.1.0 fserv.dll 为任意球员从GDB文件夹中指派脸型/发型文件。
LOD Mixer 11.1.0 lodmixer.dll 视觉杂项调整,微调球员和裁判的 LOD 配置。
Speeder module 11.1.0 speeder.dll 加快或降低游戏的速度。
Sides module 11.1.0 sides.dll 比赛期间可以自由选边。

返回页首

2. 安装/卸载

2.1.安装

XPVista相比,现在的 Windows7 对于文件的使用权和所有权,以及不同用户的权限有了更多的重视,并推动“基本用户”账户的使用。因此,Kitserver 的安装过程已经改变了。如果你是一个“资深”的 Kitserver 用户,请仔细阅读这一部分,它会为你节省下许多不必要的麻烦。

通常情况下,您所需要做的就是按照安装程序中所概述的3个步骤进行操作。如果你这样做了,就可以继续享受游戏,并体验 Kitserver 给游戏添加的新特性了。 :)

译注:图中的中文译文

用 Kitserver 运行游戏需要以下3个简单的步骤:

1.选择 Kitserver 解压到的目录,并点击 Extract 按钮。

2.到该目录下运行 config.exe,选择你的设置(也可以使用默认设置),并按 Save 按钮保存,生成 config.txt 文件。

3.启动 krun.exe 来运行游戏。

你可以使用默认的安装路径,也可以自己选择其他路径。重要的是你将文件安装到一个你有完全控制权限的地方 (例如你的私人目录。选择“我的文档”文件夹或桌面也可以) 。这在 Vista 下特别重要,因为这样做我们就可以避开 Vista 的文件虚拟化带来的恼人的意外问题。而且,这确保了你将不需要管理员权限 来用 Kitserver 启动游戏。

当安装程序把文件全部解压到你选择的文件夹后,定位到该路径。你会看到一个叫做 Kitserver11 的文件夹。打开文件夹,你会看到如下情景:

下一步就是确认你有一个叫做 config.txt 的文件。
如果你是第一次安装 Kitserver 11 ,你就很可能不会有一个现成的 config.txt 文件。这种情况下,只要运行名为 config.exe 设置工具 ,并点击 [Save] 按钮,它会为你生成一个 config.txt 文件。

如果你是在 Kitserver 的旧版本的基础上升级,你可能会希望继续使用你现有的 config.txt 文件。 (例如,它包含着你精心配置的LOD设置,你绝对不希望失去它 )。如果是这种情况,你需要将config-sample.txt与你现有的config.txt作比较,(如果需要的话)在config.txt中做一些必要的修改。

2.2. 卸载

卸载非常简单:当你不需要的时候,只要删除 Kitserver11 文件夹就好了。Kitserver 没有向系统文件夹中写入文件,所以卸载很简单。

3. 运行游戏

3.1. 用 Kitserver 启动游戏: KRUN工具方式

现在,你有了 config.txt 文件,我们已经准备好在Kitserver的“指导”下启动游戏。 这有多种实现方法,在说明文档中将依次介绍它们。

首先,让我们尝试一个最简单的方法。在Kitserver 11.0.0中,引入了一个新的工具: krun.exe - Kitserver 游戏启动器。 我们将使用这个工具,运行一个在 Kitserver 控制下的游戏:只需要双击krun.exe,然后游戏会在几秒钟后启动。

默认情况下, krun 将参考你的 Windows 注册表,来找到你安装游戏的位置,并尝试去运行该目录下名为 PES2011.exe 的游戏执行文件。在最典型的情况下,这正是你想要的:)

使用 Kitserver 有一些年头的人会注意到 Kitserver 现在的工作方式和以前不同: Kitserver 不再直接修改游戏执行文件本身,而是在“temp”文件夹创建一个修改过的副本,这个修改过的模块作为 krun 程序的一个子进程来运行。 这种新的方式可能有些陌生,但它实际上解决了许多使用旧的方式所带来的与安全有关的问题。

3.2. 用Kitserver启动游戏: MANAGER方式

在krun工具被引入之前,这曾经是Kitserver的“标准”运行方式。在某些情况下,用这种旧的方式会更方便:例如补丁制作者们发布一个包括它们自己修改过的游戏执行文件的时候,对于一个有着预先设置好的config.txt文件、img文件夹、GDB文件夹等等的kitserver,预先挂载kitserver到游戏执行文件上,并让玩家用“常规方式”——双击已经挂载外挂的游戏执行文件运行游戏,会非常方便。

如果你是Kitserver的长期用户(也许甚至始于 PES3的光辉年代),你可能更习惯于使用manager.exe,而不是用krun. 很好,如果采用一些步骤来避免一些常见错误的产生,两种方式都可以成功运行。

要使用manager,你需要把整个 kitserver11 文件夹放到你想要挂载kitserver的游戏执行文件所在的目录。有两种方式可以做到:

  1. 复制游戏执行文件到 kitserver11根目录所在的路径
  2. 如果你把游戏安装到一个你有完全控制权限的文件夹——例如 D:\Games\PES2011, then you can just copy the kitserver11 folder into D:\Games\PES2011. 如果你的游戏安装在 C:\Program Files ,请不要这样做。它是系统文件夹,如果你不以管理员方式运行,一切操作都不会起作用。

现在,定位到 kitserver11 文件夹,并运行 manager.exe. 如果你将文件放在了正确的位置,你会看到 manager 将可用的游戏执行文件列出,你可以执行挂载/卸载操作。点击[Attach]按钮,并等待manager已确认挂载成功。现在,可以定位到上一级目录并双击游戏执行文件(你刚刚挂载kitserver的那个执行文件),游戏将正常启动。

3.3. krun.exe的高级使用方法

我们刚刚介绍了使用krun工具的最简单的方式。然而,还有可能出现的情况是你有一个更加详细的设置。也许你已经安装了多个游戏执行文件,这些文件可能来自一些制作小组制作的补丁。 所以,你会希望用这个执行文件来启动游戏:C:\myPesPatch\PES2011_patched.exe,而不是游戏目录里的PES2011.exe.

这用krun工具可以实现:你只需要为它创建一个配置文件,配置文件中要包含这个执行文件的完整路径。我们创建一个名为krun-config.txt的文本文件,这个文件的格式现在与 config.txt 类似(译注:这是11.0.2以后版本的变化) 。你需要在这个文件中加入一个 [krun]字段,指定EXE执行文件路径的选项叫做 exe。下面是这个配置文件的例子:

[krun]
exe = "c:\myPesPatch\PES2011_patched.exe"
重要提醒:如果你的EXE执行文件的路径或文件名含有非ANSI字符,你必须将krun-config.txt保存为UTF-8编码格式。(译注:记事本的“另存为”对话框中有该选项)否则它将不会被正确读取。

就是这样。现在当你双击 krun.exe 的时候,它会启动krun-config.txt中指定的EXE执行文件,而不是从注册表中读取游戏目录。

重命名/复制 krun.exe

这可以说是一个高级技巧,并且会对补丁制作者比较实用:你可以重命名krun.exe文件。如果你正确的重命名它,它仍然能够找到它的配置文件。

例如,你将krun.exe重命名为 MyPatchRun.exe。你需要将相应的配置文件重命名为 MyPatchRun-config.txt.

游戏没有反应,我应该怎么办?

当你双击krun.exe以后,没有任何反应- 游戏没有启动。最常见的原因是krun-config.txt中的EXE执行文件路径不正确,不过也有可能是其他原因。

首先,等待几秒钟:有些时候Kitserver启动游戏可能需要几秒钟。

如果5-10秒钟后,游戏仍然没有启动,请检查 krun.log 文件。从这个日志文件中能找到哪里出了问题。 (如果你将 krun.exe 重命名为 MyPatchRun.exe,相应的日志文件名将变为: MyPatchRun.log)

3.4. 运行不挂载 Kitserver 的游戏

你可以在不挂载 Kitserver 的情况下运行游戏。.

如果你是用krun的方式,这非常简单: 只需要用常规的方式启动它——通过开始菜单或者通过桌面快捷方式。这种方式下,Kitserver 将不会被载入内存,游戏会恢复为未被修改之前的状态运行。

如果你是用manager的方式,你需要移除游戏执行文件上挂载的kitserver.(稍后你可以重新挂载它)。运行manager.exe ,选择正确的执行文件,点击 [Detach] 按钮。等待 manager 以确认kitserver被成功移除。现在运行游戏,Kitserver将不会被加载。

例如,这在检查游戏跳出原因的时候非常方便。如果你不知道哪里出了问题,你首先想到的是使用排除法来排查问题。你会希望知道 Kitserver是否是导致跳出的原因,或者其他地方有错误。 运行一个不挂载 Kitserver 的游戏是个很好的开始,更容易发现是什么导致了问题。

返回页首

4. 设置

4.1.主设置文件:config.txt

Kitserver 使用一个叫做 config.txt 的文件作为主要配置文件。很多事情在那里指定,包括加载哪些模块,什么设置应该使用这些模块等。

下面的是一个关于 config.txt 有些什么东西的例子:

[afs2fs]
img.dir = "c:\mypesfiles\root1"

[kload]
dll = fserv.dll
dll = kserv.dll
dll = afs2fs.dll
dll = speeder.dll
dll = sides.dll
dll = lodmixer.dll

每个模块都可以有自己的设置,开头是 [module-name](模块的名称),在它后面通常有一个或多个设置行。通常情况下,你不需要修改 config.txt文件,除非你想要修改某个特定的模块(DLL),或者想要启用或禁用某个 DLL。

要禁用某个模块,只要在 [kload] 里相应的设置行前加一个 '#' 就可以。(或者你可以直接将这行删除。)

这些 DLL文件 的顺序很重要。特别是:kserv.dllfserv.dll 必须位于 afs2fs.dll 之前。 只有在极少数情况下,你需要尝试重新安排这些 DLL文件的顺序。


4.2. 设置工具 - config.exe

与它的前身 lodcfg.exe 类似(它曾经只是 LOD mixer 的图形界面工具,但是现在它已经涵盖其他设置选项),这个简单的图形界面程序允许修改一些 config.txt 里的设置。这只是一个辅助工具,所有它能做到的功能,你都可以使用你喜欢的文本编辑器通过编辑 config.txt 手动实现。 事实上,一些事情你 能手动操作——比如增加或减少模块(DLLs)。但是对于一些简单的操作——如改变游戏的速度,或者调整LOD设置等级, 启动 config.exe 会更方便快捷,快速调整选项,然后点击 [Save] 按钮,就完成了。


返回页首

5.AFS2FS 模块 (afs2fs.dll)

这个模块允许你将 BIN 文件放在硬盘的文件夹里,而不需要将它们导入 AFS(*.img) 文件,导入有时候是件让人头疼的事,而且有时候还要求扩容。

在过去的几年里有好些人提出类似的解决办法,但是最后是 Str@teG 一直主张把 BIN 文件放在文件夹的想法,最终我决定那就这样做吧。所以现在,这些通过模块 afs2fs.dll 实现。从个人经验来说,我知道人们有时不愿意安装大补丁需要重建 AFS,不是因为它难或者别的什么,而是因为这个太浪费时间和占用硬盘空间。有了 afs2fs , 这将变得非常简单:你只要将 BIN 文件放到正确的文件夹就可以了。当然,再也没有空间限制的问题了 - bin文件可以要多大有多大了!

当你想要尝试一个补丁,但又不想冒着破坏原文件的风险时,该模块显得非常方便。把新补丁放入分开的 AFS 根目录,然后修改 config.txt ,这就是你需要做的全部事情了。删除补丁也变得很简单:把对应的 "img.dir" 这行从 config.txt 删除,然后删除 AFS 根目录文件夹。多个补丁管理不再是一个噩梦了 :)。(关于 AFS 根目录更多信息请参见下面的章节)

5.1. 如何建立文件夹

首先选择一个你要放文件的位置。打个比方,我们使用 c:\mypesfiles\root1。这个就是所谓的 AFS 根目录。在这个文件夹里,新建一个名为 img 的文件夹。(这个 "img" 文件夹非常重要,因为游戏只认这个名字)。然后,在 img 里面新建需要的文件夹,命名为 dt00.imgdt01.imgdt0b.img 等等。 这些就是你将要放 BIN 文件的地方。

正确命名文件夹非常重要:每个文件夹必须有一个对应 AFS 文件的名字。例如,如果你将文件夹命名为 dt00 ,而不是 dt00.img ,将不会起什么效果。

这是我的 img 文件夹:

5.2. 如何命名文件

一般情况下,你可以用任何你想要的方式命名文件,但必须遵循一个规则:那就是有一个 BIN 编号在名字里,而且在它之前必须有一个下划线 ('_')。另外,文件名不能超过63个字母。

正确的文件名示例:

unknown_317.bin
goalnet_41.bin
ball_9.bin
unknow_9 (.bin 扩展名是可选的)
music_11.adx (文件可以有一个不同的扩展名: .adx 通常被用作音乐和声音文件)

错误的文件名示例:

unnamed10.bin - 在 BIN 编号前没有下划线。
face.bin - 没有 BIN 编号。

5.3. AFS 根目录

默认状况下,AFS2FS 模块不会搜索任何 "特殊的" 默认路径。相反你必须明确指定你的 AFS 根目录:在 config.txt 里的 [afs2fs] 字段,你可以指定你的根目录的路径,可以是你硬盘上的任意位置。你还可以有不同的根目录,这在你有多个补丁,并且不想弄乱来自不同补丁的 BIN 文件时将非常有用(那样你可以方便地通过删除根目录文件夹来卸载补丁)。

下面是一个有3个不同根目录设置的例子:

[afs2fs]
img.dir = "c:\mypesfiles\root1"
img.dir = "patch-RPL"
img.dir = "afs-root3"

根目录的顺序非常重要,它涉及到解决 "冲突"。也就是说,如果你有一个 dt0b.img/ball_9.bin 在第二个根目录(patch-RPL),还有一个 dt0b.img/superball_9.bin 在第三个根目录(afs-root3)。虽然这两个文件有不同的名字,但是它们都指向 dt0b.img 里编号为9的 BIN 文件,这里就产生了 "冲突"。规则很简单:在列表里位置低的根目录将被调用。这意味着在刚才的例子里,dt0b.img/superball_9.bin 文件将被使用,因为它的根目录在 [afs2fs] 字段里位于最后。

重要提醒:根目录是指 包含 "img" 的文件夹,而不是 "img" 文件夹本身。换句话说,如果完整路径是 c:\mypesfiles\root1\img",在 config.txt 里你应该输入:img.dir = "c:\mypesfiles\root1"

5.4. 球和音乐的命名

当使用 AFS2FS 替换音乐时,可以使用一个 songs.txt 文件来更改音乐的标题和艺术家的名字,放入 afs 根目录文件夹

下面是一个关于 songs.txt 文件的例子:

# Song names map
# Format: <binId>, "<title>", "<artist>" 
# Note that double quotes are required.

44, "I'm mad about you", "Sting"
45, "Вне зоны доступа", "Город 312"

注意:与任何别的 map 文件和设置文件一样,Kitserver 使用的文件编码必须是 Utf-8Unicode,特别是使用非拉丁字符——像上面例子中那样。(ANSI 编码也可以,如果你只使用 Latin-1 字符的话。)

足球文件类似,如果你要替换足球的 BIN 文件,你也只需要修改它们的名字。一个简单的方法是使用一个名为 balls.txt 的 map 文件,然后放入 afs 根目录文件夹:

# Ball names map
# Format: <ball-number>, "<name>"
# Note that double quotes are required.
# (Ball numbers go from 1 to 16)

8, "Nike-ball Blue"
9, "Мячик плохонький"

这并不意味着每个 afs 文件夹可以有自己的 songs.txt 和 balls.txt。因为每个 afs 根目录也许都包含音乐文件和球文件,使用特别的名字来配合。如果你有不同的 afs 根目录(比如当你有不同的补丁,而每个补丁都使用自己的 afs 根目录),那么 "冲突" 会用像 BIN文件冲突一样的规则来解决(参见上面的内容)。简单的说,如果一个 afs 根目录有一个文件名表示 song 11,而另一个 afs 根目录里也有一个文件名表示 song 11,那么哪个 afs 根目录在列表(指 config.txt)里的位置比较低就会被使用。

下面这张图片表明 songs.txt balls.txt 文件应该放在什么位置。在这个例子中 "root1" 是我的 afs 根目录:


返回页首

6. Kserv 模块 (kserv.dll)

Kserv 模块用于支持在游戏中调用 GDB("Game content DataBase")中的球衣文件。最主要的功能就是你不需要再为 dt0c.img 里的球衣文件数量限制烦恼,而且你可以为任何队指定一套球衣。

Kserv 是 Kitserver 历史上最早开发的模块,开始于 PES3 .这也是 Kitserver 名字的由来。后来,更多的功能通过新的模块实现,为了避免混乱,我们将提供球衣支持的模块重命名为 kserv,但是 Kitserver 这个名字现在代指整个程序。

6.1 GDB 构架

GDB 包含一个叫做 uni 的文件夹,这里用来放置球队球衣。在 uni 有一个很重要的文件叫做 map.txt。这个文件告诉 Kitserver 哪里可以找到指定的球衣。就像你们知道的,每个球队有一个特有的 ID —— 一个从 0 到 370 的整数。 在 GDB 里的每个球队,你必须在 map.txt 指定球衣的位置。下面是一个例子:

# This config maps team number into folder name
# Format: <team-num>,"<folder name>"
# Example: 23,"Russia"

23,"National\Russia"
7, "National\England"
88, "EPL\Arsenal"

重要提醒:双引号并不是必须的,但是建议使用——这样就不会有关于文件夹名含糊不清的可能。球队的 ID 将取决于你是否安装过一些补丁,但是对于原始存档,你可以在这儿看到这些 ID - uni.txt 文件。

请注意提供的 GDB 样板只是组织文件的一种方式。它使用 "EPL" 文件夹来组织所有的英超球队,"National" 文件夹来组织所有的国家队,其他类似。你也许觉得你喜欢统一的文件夹列表模式——不需要这样的具体组织。在这种情况下,只要修改 map.txt 文件,然后新建你喜欢的文件夹结构。这是使用 map.txt 的主要优势 —— 具有球衣组织构架的随意性。

你可以看到上面的 map.txt,为了找到 #88 球队的球衣,Kitserver 需要进入GDB\uni\EPL\Arsenal 文件夹。这个文件夹需要包含 #88 球队的所有可用球衣。在这个文件夹里,你必须给每件球衣新建一个单独的文件夹,就像这样: 对于球员,第一套球衣必须有个 pa 文件夹,第二套为 pb文件夹。其他球衣可以使用任意 "p" 开头的文件夹名。我发现所有其他球衣使用 px- 这样的前缀会非常有好处。比如,px-redwhite。对于门将,第一套球衣必须使用 ga 文件夹,第二套为 gb文件夹。其他球衣可以使用任意 "g" 开头的文件夹名。

重要提示:文件夹名就像 ID 之于 Kitserver 一样,对于这些名字有严格的限制:它们不能包含空格,最好短一点,使用英语、法语或者其他使用拉丁字母的语言(iso8859-1)。通常,如果你想确保 Kitserver 可以准确地找到/读取该文件夹,只要使用拉丁字符、数字、下划线和短划线(减号)。

现在让我们进入其中的一个球衣文件夹。以 pa 为例。请参阅下表为每个文件的说明:

图片必须是 PNG 格式:8位色调色板或者4位色调色板。所以文件名必须有个 ".png" 后缀。

文件名 含义 格式
kit.png球衣图片 1024x512 8位色调色板的 PNG 格式图片。
font.png字体图片:用于球衣背面的球员名。 256x64 8位色或者4位色调色板的 PNG 格式图片。
numbers.png数字图片:用于球衣正面和背面以及球裤上的号码。 512x256 8位色或者4位色调色板的 PNG 格式图片。
config.txt球衣属性配置文件(更多详情参见下节) 文本文件 ( UTF-8 编码)

给球衣制作者的重要提醒:
BMP 格式的球衣将不再被支持,请使用 PNG 格式代替。

6.2. config.txt

这是属性设置文件。和以前一样,它只是一个纯文本文件——你可以使用记事本或者其他任何文本编辑器来打开或者修改它。每个文件夹里都需要一个 config.txt 文件。这是一个 pa 文件夹里的 config.txt:

# Attribute configuration file auto-generated by GDB Manager

collar = 1
front.number.show = 0
main.color = BA001D
second.color = D7D7D7
socks.color = D7D7D7
icon.type = 4
model = 10
name.shape = type3
name.show = 1
name.size = 28
name.y = 20
number.size = 20
number.y = 7
shorts.color = D7D7D7
shorts.number.location = left
shorts.number.size = 20
shorts.number.x = 12
shorts.number.y = 8
sleeve.patch.left.pos.long = 12
sleeve.patch.left.pos.short = 12
sleeve.patch.right.pos.long = 7
sleeve.patch.right.pos.short = 7


所有支持的属性汇总表:

属性名称 含义 格式 例子
collar 领型(注意,不同的模板将有不同的值) 1/2/3/4 collar = 1
description 关于球衣的说明注释。此文字将显示在球衣选择画面。当有几件看起来几乎相同的球衣,并想知道哪一件为当前选定球衣时,这将非常有用。 双引号加任意文本 description = "Home red"
front.number.show 当号码需要在球衣的前面显示:1-显示,0-不显示。(这仅适用于国家队。) 0|1 front.number.show = 1
front.number.size 前面的球衣号码需要多大。 十进制数,范围:1-30 front.number.size = 8
front.number.x 前面的球衣号码的水平位置。 十进制数,范围:0(左)-30(右) front.number.x = 26
front.number.y 前面的球衣号码的垂直位置。 十进制数,范围:0(低)-30(高) front.number.y = 18
main.color
(雷达颜色)
此属性指定球衣的主色。它也可以用来作为在雷达屏幕上显示的颜色。它还影响默认选中的球衣。(旧名“radar.color”也支持) 颜色,以十六进制格式写入 RRGGBB (红,绿,蓝) main.color = A70623
radar.color = A70623
second.color 此属性指定了球衣的"第二"颜色。在阵型设置(比赛策略里),它将和雷达颜色一起被用来给球员图标着色。 颜色,以十六进制格式写入 RRGGBB (红,绿,蓝) second.color = D7D7D7
socks.color 此属性指定球袜的颜色。 颜色,以十六进制格式写入 RRGGBB (红,绿,蓝) socks.color = D7D7D7
icon.type 阵型设置(比赛策略里)中球员图标的类型。这会影响图标的形式:单色、条纹状,或是两种颜色组成的其他图案。 十进制整数,范围: 0-16 icon.type = 1
model 球衣 3D模型的识别。 十进制整数 model = 45
name.show 指定球员名是否需要在球衣上显示:1-显示,0-不显示。 0|1 name.show = 1
name.shape 指定名字形状是弯曲或直线。该值含义和编辑模式相同:type1 - 直,type2 - 轻微弯曲, type3 - 较大弯曲,type4 - 更大弯曲。 type1|type2|type3|type4 name.shape = type1
name.size 球员名在球衣上的大小。 十进制数,范围:1-35 name.size = 28
name.y 指定球员名的位置。 十进制数,范围:0(低)-30(高) name.y = 24
number.size 球衣后背上号码的大小。 十进制数,范围:1-35 number.size = 22
number.y 指定球衣后背号码的位置。 十进制数,范围:0(低)-30(高) number.y = 11
shorts.color 此属性指定球员/门将球裤的颜色。球裤的颜色在游戏中用来确定这些球员底裤的颜色是否正确,并将它们设置为与球裤一样的颜色。 颜色,以十六进制数写入 RRGGBB (红,绿,蓝) shorts.color = A70623
shorts.number.location 球裤上号码的位置。("off" 表示号码将不显示。) left|right|off shorts.number.location = left
shorts.number.size 球裤号码的大小。 十进制数,范围:1-35 shorts.number.size = 14
shorts.number.x 球裤号码的水平位置。 十进制数,范围:0(左)-30(右) shorts.number.x = 14
shorts.number.y 球裤号码的垂直位置。 十进制数,范围:0(低)-30(高) shorts.number.y = 6
sleeve.patch.left.pos.long 袖标在左侧长袖上的位置。 十进制数,范围:0-13 sleeve.patch.left.pos.long = 12
sleeve.patch.left.pos.short 袖标在左侧短袖上的位置。 十进制数,范围:0-13 sleeve.patch.left.pos.short = 12
sleeve.patch.right.pos.long 袖标在右侧长袖上的位置。 十进制数,范围:0-13 sleeve.patch.right.pos.long = 7
sleeve.patch.right.pos.short 袖标在右侧短袖上的位置。 十进制数,范围:0-13 sleeve.patch.right.pos.short = 7

默认情况下,“description”属性的使用已启用,但如果愿意,你可以禁用它。为了做到这一点,编辑主配置文件,并添加下面的设置行到 [kserv]:

[kserv]
use.description = 0
6.3. "Techfit" 模型

在游戏资料包 DLC 更新中, KONAMI 加入了一些新的球衣模型,这些模型使用不一样的球衣贴图—— 一张贴图中共存着两个变种:一件紧身,一件正常。

只有某些特定的模型编号支持这种贴图,在DLC2.00中,它们是: 35,36,37,38,39,40 和 41。 Kserv 模块 11.0.0.0 支持这些模型,无需其他附加设置。然而,如果新的资料包放出,并且添加了更多像这样的模型,可以在 config.txt 文件中的[kserv]字段指定它们。你需要将所有 techfit 紧身模型按下面的方式列出 :

[kserv]
...
techfit.model = 35
techfit.model = 36
techfit.model = 37
techfit.model = 38
techfit.model = 39
techfit.model = 40
techfit.model = 41
...
6.4. "Tight" 模型

另一种特殊的模型是 Puma Tight-fit ,模型编号为24。它允许将任何正常的球衣变为紧身球衣。(一些非洲球队的球衣是很好的例子)

在DLC 2.00中,只有编号 24 是这种模型,并且 Kserv 模块11.0.0.0 支持它,无需任何附加设置。然而,如果新的资料包放出,并且添加了更多像这样的模型,你同样可以在 config.txt 文件中的 [kserv] 字段指定它们。你需要将所有 techfit 紧身模型按下面的方式列出 :

[kserv]
...
tight.model = 24
...

Top

7. 脸型模块 (fserv.dll)

脸型模块使从GDB文件夹加载大量的脸型和发型文件成为可能。如果你想要的话,你可以为任意一名球员指派脸型/发型,编辑模式自创球员也可以。Faceserver 利用独一无二的 id,这些id指派给了每一名球员。它创建了虚拟的脸型和发型空位,这些空位只在游戏实时运行时生效。

7.1. 怎样寻找球员 ID

如果你启用了faceserver (默认启用),只要运行游戏后, kitserver 文件夹内会产生一个叫做 playerlist.txt. 文本文件,这个文件将列出游戏中所有的球员ID,以英文字母顺序排列,包括编辑模式用户自创球员(这部分球员的ID从1048576开始)。

Playlist.txt 中唯一一个不可用的ID是BAL (一球成名) 中的球员。但是,这个ID看起来似乎永远是16777376.

7.2. 如何设置

Faceserver 使用一个map 文件 (GDB/faces/map.txt),与 Kserv的格式相似:你指定球员的ID,紧接着是他的脸型文件的文件名,最后紧跟着可选的发型文件。

{ID}, {脸型文件}, {发型文件}

文件名与 GDB/faces 文件夹相关,在文件夹中你可以按你想要的方式自由管理它们:一个文件夹,或者多层文件夹结构。唯一需要注意的是 你必须在map.txt中正确指定路径。文件名外的双引号可写可不写。

下面是map.txt中的一些例子::

# Example 1: face and hair BINs:
36556, chicharito_face.bin, chicharito_hair.bin

# Example 2: face only (fetched from a "Mexico" folder inside "faces"):
36556, "Mexico\chicharito_face.bin"

# Example 3: hair only (notice 2 commas!)
36556, , chicharito_hair.bin

7.3. 网络模式

尽管我没有做大量的测试,faceserver在网络模式中仍然可以正常使用。排名赛和友谊赛中faceserver可以正常工作。


Top

8. LOD 混合器 (lodmixer.dll)

LOD 混合器是一个允许微调 PES2011 里某些图形引擎的模块。
这些设置可以通过kitserver的主设置文件 (kitserver/config.txt)手动调整,但是你也可以使用 Kitserver 的 设置工具 (config.exe)。

8.1. 屏幕高宽比

许多 LCD 液晶显示器的比例既不是 4:3 又不是 16:9。很多时候,它是 16:10 的比例,或者甚至是 16:9.6. 这会导致画面失真:球员太胖或者太瘦,球不是圆的。在这代游戏中,科乐美再次使用黑边(PES2009和PES2010中也是)的方式来修补非标准分辨率下的画面(LB复选框). 然而,如果你不喜欢黑边的方式,运行settings.exe,并取消LB复选框,使用Kitserver中包含的屏幕高宽比修正特性:

使用 LOD 混合器,你可以设置你想要的屏幕高宽比。LOD混合器可以自动计算它——在实时状态,使用当前的屏幕高度和宽度上的所有像素——或者手动设置。自动的方式会很精确的运行,它假设像素是正方形。有些时候,你会希望手动设置。例如,我用宽屏显示器玩游戏,但因为我的显卡性能不够强劲,所以我使用800*600的分辨率。自动模式会输出4:3的画面比例,但因为我们的视野会延展到整个屏幕上,我们需要考虑这一点。设置屏幕高宽比为1.6 (这是我的笔记本的默认设置)即可。

8.2. 屏幕分辨率

如果你在窗口模式下运行,你可以设置任何你想要的分辨率。一些疯狂的设置例如 1234x487 会起作用,但在这种设置下你很可能会面临显示问题。隐藏的全屏分辨率率现在也被解锁了,但只有你的显卡支持的全屏分辨率才会起作用。如果你偶然选择了一个不支持的全屏分辨率,PES仍然会以窗口模式运行。

8.3.画面质量

尽管这是非常罕见的情况,但它仍然存在。游戏(和setting.exe)没有正确分析你的显卡的能力,因此“中画质”和“高画质”选项被禁用了。

如果你足够“幸运”,拥有一款这样的显卡,LOD混合器会帮助你以更好的画面质量进行游戏。选择的设置——低、中、高——会覆盖settings.exe中的设置。游戏的显卡能力测试也会被禁用。因此,请注意这个细节:如果你的显卡实际上不支持你所选择的画面质量,游戏很可能崩溃活不正常退出。

8.4. 球员和裁判的LOD 设置

LOD (Level-Of-Detail,译注:中文意为画面细节等级) 算法被用于图形引擎,当渲染物体相对于玩家处于不同距离时,可以提升图像质量和渲染速度。其基本原理是,当一个物体接近摄像机时,使用一个模式(非常详细)。当它远离的时候,使用一个较少细节的模式来替代。这将大大加快对低面数模型物体的渲染,而当使用小尺寸显示时,它通常更好看,因为这时锯齿会更少。至少在理论上,它就是这样工作的。

PES 2011 有4种不同的方式来渲染球员。在任何一个特定的时刻,渲染方式的选择由以下几个情况决定:球员距离镜头多远,是否是活动中的球员(正由玩家所控制),是在比赛中还是在回放中等等。下图是这4种 LODs 在视觉上的差异:

注意图中位于4种渲染方式效果图之间的S1, S2, S3标号。你可以将它们看做从一种渲染方式到另一种渲染方式的切换开关。(例如,S1控制着游戏引擎在渲染一个球员的全部细节,和渲染一个球员略少一些的细节两种方式之间的切换。) 这就是设置工具界面中你所看到的S1,S2,S3的含义。

不幸的是,PES 系列的LOD设置一直过于保守, 对低面数模型的转换非常快,而这对各种有形物体都有影响。在 PES4-PES6 里,例子是秃顶的球员和缺失细节的球衣。在 PES2008-PES2011 里,一旦球员和裁判从镜头前很快地闪过,他们的面孔就变得差不多一个样了。

所以,如果你有一台好的电脑和一块强劲的显卡,你也许希望可以微调 LOD 使得游戏引擎即便在球员稍微有点远离摄像机镜头时依然可以显示更多的细节。(动画质量似乎也受其影响)。如果你希望这样,把调节滑块向右移

当然,如果相反,你的机器对于平稳帧数的游戏运行都有点吃力,你可以试着把 LOD 滑块移向相反的方向——从而使引擎转换低面数模型比正常情况更快。虽然这是以牺牲画面质量为代价的,但是却可能提高帧数。要实现这个效果,把调节滑块向左移

8.5. 选择 LOD 设置选项

要设置好 LOD 需要花时间而且最好通过试错法来完成。(如果很简单,这玩意老早就应该做好了!)我想提几个误区来帮助你完成 LOD 设置。

误区 #1:如果我将所有滑块都移到最右边,我将拥有最好的画质。
这其实并不正确。你将获得最精细也是最繁重的渲染,是的,但是这并不一定是看起来最好的。更多细节的物体,在远距离时看起来时,效果比那些相对更少细节的物体要差,原因就是失真效应。

误区 #2: 我的显卡足够的好,它可以处理扔给它的任何事。
这也不正确。当前一代的游戏已经变得相当复杂和消耗资源。 显卡和芯片都在很吃力地完成渲染、物理计算和人工智能逻辑。 60 帧是典型的运行游戏需要的最低帧速率,不然没法完美流畅的进行游戏。这意味着整个场景渲染必须在留有执行其他任务的时间的前提下在 1/60 秒中完成。(从物理学角度来说,只有运行在相同速率下的渲染,才不至于使画质受到影响。)为了确保渲染时间不因为需要渲染更多的对象而急剧升高,LOD 是一种被经常采用的技术。通过将所有滑块移到右边,你实际上关闭了 LOD 算法然后告诉你的显卡:"渲染屏幕上所有对象最大可能的细节。如果你因此而烧掉了,我也不在乎!" Ok,虽然这也许不是一个有趣的例子,但是你应该知道了其中的要点。

现在,回到我们的游戏,正如我所说,在许多情况下,你只需要调整1到2个滑块就能得到想要的效果,并且仍然保持流畅的帧速率。

让我们来看一些例子:

  1. 问题:在正常游戏时,游戏引擎转换低画质球员模型太快,导致我们看到像被水洗到掉色的脸,本来没皱的衣服突然就卷起来,球员变得像机器人一样。解决方法: 滑动 "PLAYERS (Gameplay) S3" 滑块到右边 - 0.060 左右或者 0.050。这样基本上就可以了。你也许还想试着滑动 S2 滑块到 0.70 左右,但是在我的显卡上并没有什么明显的差别。
  2. 问题: 在任意球时,人墙球员的脸都跟被水洗了一样,即便在他们离镜头很近的时候还是这样。类似的,角球时也是。解决方法:移动 "PLAYERS (Cut-scenes, Highlights, etc.) S3" 滑块到右边。0.050 应该就足够了。
  3. 问题:裁判也是遇到和上面一样的问题——无论是在游戏还是重放时。解决方法:移动 "REFEREES" 滑块到右边。一样,你不需要移到最右边 - 0.060 - 0.050 左右最好。
  4. 问题:在任意球时,即使我已经将LOD滑块调整到最佳画质,主罚任意球的球员并没有渲染出全部的细节。解决方法:使用 "Active Player, FK" LOD设置, 将 "S1" 滑块移动到0.045左右。

这只是一些例子。你可能会注意到一些其他的状况,你要修复。最主要的是:试验你的 LOD 设置,不要盲目把所有的都设置为最高质量 ——因为你的显卡(还有处理器)接到太多指令去做,所以在大多数系统中,将导致卡屏和跳帧。在许多情况下,调整一个或两个滑块就可以在不破坏帧数的情况下就得到你想要的效果。


返回页首

9. 速度模块 (speeder.dll)

不是每个人都满意游戏的速度。应该说,正确模拟一场足球比赛不是一件容易的事情。许多因素在起作用,而且在很大程度上依赖于硬件。我个人认为,科乐美做的还可以,但许多人觉得游戏太快。

几种减缓游戏的技术已经存在,可是没有一个是完美的,但在一定程度上都有效。该调速模块基于减慢时钟的原理,以欺骗游戏的方式来降低运行速度。这不是一个理想的解决方案,但如果进行一个小的调整,它仍然可以看起来真实一点,玩起来更舒服一点,提供一个流畅的游戏感。不要认为这是一个万能的方法。它可能会很好地帮助你,但它也可能无法提供所有你所希望的效果:)(一个副作用,例如,如果您将比赛时间设置为10分钟,但是你将游戏速度设置为0.9 ,实际比赛时间将约有11.1分钟。)

它可以降低游戏速度,也可以提高。 数值1.0 是默认的速度。 小于 1.0 会降低速度,大于 1.0 则加快速度。小于 0.7 的值不允许使用,因为音乐/解说将被破坏。同样,大于 2.5 的值也不支持。超过 2.5 将会显得很搞笑!. .

使用设置工具来调整游戏速度:

此外,你可以在 config.txt 里手动设置游戏速度,使用 count.factor 设置行:

[speeder]
count.factor = 0.95


返回页首

10. 选边模块 (sides.dll)

该模块可以在友谊赛之外的其他模式进行的时候自由选边。当你和你的朋友们一起玩联赛,并且希望他们代替电脑成为你的对手之时,这会很实用。

在默认情况下,自由选边功能是关闭的。要启用它,在设置工具中点击 Free sides selection 复选框,然后点击 [Save] 保存。


或者,与以往一样,你也可以编辑 config.txt 文件, "sides" 字段,并设置 free.select 设置行的值为 1,如下面所示:

[sides]
free.select = 1

荣誉名单

程序:juce, RobbieStelios
测试:Evo-Web 和 PesWe.com 论坛的会员和访客。
GDB样板: 阿森纳球衣由 mstar 制作
哈维尔•埃尔南德斯脸型/发型由 illuminaty制作
Kitserver 11 图标: Ariel
特别感谢: w!ld@ - 制作了有史以来最好的PES2011编辑器。
说明文档编译:EPT_sening
感谢EPT_安全第一


Kitserver 的许可属于 BSD-方式许可,可以在这里找到:许可文件