Mod技巧,巧用快捷方式,复制多份TA目录的同时节约安装空间

这个是保存成BAT文件运行的, 和cmd中运行的主要区别是变量要用两个百分号%%访问,cmd中是一个%
1.mod创建绝对路径资源.bat


REM 需管理员权限运行!

REM 下面的是命令把TA目录中的TA资源文件和3.92补丁的资源建立一个快捷方式到Mod目录
REM 建议使用相对路径的版本. 复制和移动目录后仍能正常运行.
set TAlocation="E:\Total_Annihilation"
set Modlocation="E:\Total_Annihilation"
for /f %%f in ('dir /b %TAlocation%\*.ccx') do mklink "%Modlocation%\%%f" "%TAlocation%\%%f"

for /f %%f in ('dir /b %TAlocation%\*.gp3') do mklink "%Modlocation%\%%f" "%TAlocation%\%%f"

for /f %%f in ('dir /b %TAlocation%\*.hpi') do mklink "%Modlocation%\%%f" "%TAlocation%\%%f"


for /f %%f in ('dir /b %TAlocation%\*.dll') do mklink "%Modlocation%\%%f" "%TAlocation%\%%f"

for /f %%f in ('dir /b %TAlocation%\*.ini') do copy /Y "%TAlocation%\%%f" "%Modlocation%\%%f"

mklink /D "%Modlocation%\music" "%TAlocation%\music"
mklink /D "%Modlocation%\Data" "%TAlocation%\Data"
mklink /D "%Modlocation%\Shaders" "%TAlocation%\Shaders"
mkdir "%Modlocation%\Icon"
copy /Y "%TAlocation%\Icon" "%Modlocation%\Icon"
  1. 2.mod创建相对路径资源, 在命令行窗口内运行d

REM 首先保证Mod所在目录是在TA主目录的里面.
REM 打开管理员命令行窗口Cmd.
REM 切换到Mod所在目录, 复制下面的命令到命令行窗口, 回车运行.
for /f %f in ('dir /b ..\*.ccx') do mklink ".\%f" "..\%f"

for /f %f in ('dir /b ..\*.gp3') do mklink ".\%f" "..\%f"

for /f %f in ('dir /b ..\*.hpi') do mklink ".\%f" "..\%f"

for /f %f in ('dir /b ..\*.dll') do mklink ".\%f" "..\%f"

for /f %f in ('dir /b ..\*.ini') do copy /Y "..\%f" ".\%f"
REM 建立UFO类文件的快捷方式前, 必须把里面含的是单位的ufo除外.会搞乱MOD的单位ID
for /f %f in ('dir /b ..\*.ufo') do mklink ".\%f" "..\%f"

mklink /D .\music ..\music
mklink /D .\Data ..\Data
mklink /D .\Shaders ..\Shaders
mkdir Icon
copy /Y ..\Icon .\Icon

2023压缩包里的mod都是通过这样的方式制作的. 有如下几个特点,新mod也建议用这样的方式来做压缩包安装,可以独立不互相影响.

  • 压缩包里压的只有要用到的原版TA的资源的快捷方式, 和mod自己的资源
  • mod独立的资源包括, 主程序, 2023补丁的配置文件,mod游戏资源

制作流程如下

  1. 首先确定你的主程序的依赖的DLL程序的名字是什么, 要注意是下面3个2023补丁修改过的DLL
  • DDraw.dll
  • Dplay.dll
  • winmm.dll

任意下载一款PE编辑器,我习惯使用 CFF Explorer, 打开主程序, 看导入表(Import Directory)

原版的DLL名称是

2023补丁改的TA主程序的DLL名称是

  1. 接下来要给Mod依赖的原版TA资源建立快捷方式.
    建议使用 [2.mod创建相对路径资源, 在命令行窗口内运行] 方式.
1. 把Mod目录放到TA主目录下,跟2023压缩包中的其他mod位置相同
2. 根据MOD需要依赖的文件的后缀和文件夹,改一下脚本内容.
3. 启动管理员cmd
4. CD切换当前目录到Mod所在目录
5. 执行脚本 
  1. 根据主程序依赖的3DLL名称,修改3个快捷方式的名称到主程序依赖的名称
    tdraw.dll
    tplayx.dll
    tmusi.dll
    到这一步,点击MOD主程序可以正常执行,就制作完成了.

  2. 要打包快捷方式到压缩包里面, 需要注意压缩时的设置,否则会把整个TA目录重复压缩多编. 正确压缩后,解压到TA主目录就应该是可以正常运行的

  • winrar, 压缩时选择高级选项, 在NTFS 部分, 打勾 [保存软连接],[保存硬连接]
  • 其他的压缩工具未测试,应该也有保存软连接的功能.

能不能共享地图?主要还是地图占空间大

只需要把地图放到主目录里面, 再创建快捷方式,MOD就可以载入地图了. 2023压缩包里整合了常用的大部分地图,原版TA和每个mod都可以玩到这些地图

试了下,地图直接建快捷方式还不行,得用你那个批处理创建建.symlink。。不过总算能用了,节约很多空间,谢谢!还是小男鸡这个包牛逼

再请问下这个脚本,文件名中有空格的时候就不能正常创建链接了,这个能解决吗??

在脚本里面加了引号,现在应该可以处理空格

原来这么简单,哈哈,谢谢,不用愁地图占空间了:heart_eyes: