How to use Python to automatically modify WoW toc file version

魔兽世界(World of Warcraft)每次版本升级以后,在没有新版插件出来的时候,通常都需要手工修改插件目录中的toc文件,将其中的版本号修改为当前版本,否则在插件界面会显示“版本错误”而无法正常加载。如果有数十个插件,而又要一个一个手工修改的话,是很大的体力活。之前在Windows下的时候,会有人专门写一些程序,只为自动修改这些插件的版本号。

那么在Mac OS X下,如何修改呢?今天将台服的魔兽世界客户端从之前的4.2升级到4.3,于是顺手写了一段Python脚本,并没有什么灵活的设置,只是将插件目录下的所有toc文件遍历一遍,将其中的“Interface: 40200”字样替换成“Interface: 40300”,仅此而已。

1. 新建update_toc.py文件,用任意文本编辑器打开

2. 将以下内容复制到该文件中,保存
[code language=”python”]import tempfile
import shutil
import os
import fnmatch

#rootdir表示AddOns目录的绝对路径,可以根据不同的安装位置自行修改
rootdir=’/Applications/World of Warcraft/Interface/AddOns’
for root, dirs, files in os.walk(rootdir):
for file in files:
if fnmatch.fnmatch(file, ‘*.toc’):
fullpath = os.path.join(root, file)
#创建临时文件
fh, abs_path = tempfile.mkstemp()
new_file = open(abs_path,’w’)
old_file = open(fullpath)
for line in old_file:
#将所有40200版本号修改为40300,以后如果再升级为5.0,修改此处即可
new_file.write(line.replace(‘Interface: 40200′,’Interface: 40300’))
#关闭临时文件
new_file.close()
os.close(fh)
old_file.close()
#删除原toc文件
os.remove(fullpath)
#将临时文件改名为原toc文件名
shutil.move(abs_path, fullpath)
[/code]

3. 由于是Mac OS X,如果没有什么意外,应该是已经内置Python的,可以通过以下命令确认当前Python的版本。

$ python --version
Python 2.7.1

4. 运行上面创建的python脚本

$ python update_toc.py

那些在魔兽世界的日子

第九城市今天宣布:在中国大陆地区由第九城市所运营的《魔兽世界》,将于2009年6月7日凌晨0时起终止服务.感谢大家对第九城市四年来努力专心运营 《魔兽世界》的支持和宽容!

从2005年4月份某天开始,进入了这个叫作《魔兽世界》的游戏,经历过赞叹、疯狂、沉迷、疲劳、厌倦、回归、游荡、休闲各种不一而足的状态,断断续续地走到今天,回首算来,居然已经过了4年多。

曾经如此着迷于在这个世界中团队合作的氛围,沉浸于每次齐心协力闯过难关时无以言表的快乐与兴奋,可是随着朋友们的慢慢离去,它几乎已经蜕变为我的机器中一个单机游戏。只是每次用小号奔跑在贫瘠之地的月夜原野中,耳边那悠扬而又忧伤的音乐像流水一样潺潺而过,心中那份柔情总是会被不经意地触碰到。

我仍然怀念在魔兽世界中最初的那段日子,清晰地记得40个人历经艰难推到熔火之心第一个BOSS时的激动,我还保留着那些珍贵的截图,可惜,只能用物是人非来形容了。

在这张图上的朋友们现在还有几个仍然游荡在魔兽世界中?(很可惜,我只拖出了4个小组的名单,加上我自己这个小组才25人)

今天是九城魔兽世界的最后一天,谨以此文送给那些跟我一起在这个世界里挥霍了青春的朋友们。新的世界在等待吗?

Wrath of the Lich King

在这届的BlizzCon上,暴雪如期公布了魔兽世界的第二个资料片 - 巫妖王之怒

请大家一定要点前面这个链接看一下主题站点的设计,我想这应该是艺术吧。

冰雪覆盖的诺森德大陆,阿尔萨斯手持霜之哀伤,双眼在盔甲之下寒光闪烁,白发卷动,裙袍飞扬。

在这个新的资料片中,暴雪将实现下面这些新的改变,当然这些仅仅是很小的一部分。

·死亡骑士(Death Knight)职业首次加入魔兽世界游戏
·诺森德(Nothrend)——巫妖王统治的冰封世界开放,新增诺森德的探索地区、任务、物品、怪物等
·人物角色可以提升到80级,可以使用新的技能和天赋
·全新战场,可以使用攻城车围攻,并可以摧毁建筑
·更多的角色自定义外观、发型,可以调整现有的发型

在国服还没有迎来第一个资料片的时候,暴雪已经开始公开发布第二个资料片,很好,很强大。送给新闻出版署各位老爷的礼物不知道他们收到没有。