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

How to Set Power Auras Multiple Conditions in WoW

Power Auras插件是WoW中非常实用的插件,用自定义的图像自定义的方式,根据不同的触发条件在屏幕上显示提示信息,以醒目的方式提醒玩家做相应的操作。

先看一篇简单的POWA插件使用指南

在中文版的任何文章中,都没有提到如何设定复合条件,比如对于术士来说,如果想设定“敌方目标存在献祭效果,并且自己的焚烧可用”情况下,提示使用焚烧技能。这一需求是因为焚烧雕文的出现,焚烧并不会吞蚀献祭的效果,而献祭的时长又长于焚烧的CD时间,因此在长期的战斗过程中,往往一次献祭之后可以多次焚烧,那么必须要有一个醒目的提示来让玩家及时使用焚烧。

1. 首先设置献祭的提示,设置敌方目标身上存在献祭的情况下,触发该特效。然后将此特效置为禁用(Shift+鼠标左键点击图标)。在鼠标提示上可以看到[7]的字样,这是该特效的ID,记住。
POWA Multiple Conditions 1

2. 再设置焚烧的提示,设置自己焚烧技能CD的时候,触发该特效。然后,就是最重要的部分,在“精确匹配名称”后面的输入框内,输入献祭特效的ID,在本例中就是7。这部分表示只有在特效7和自身条件同时满足的情况下,特效才会触发。这里可以写多个特效ID,也就是允许无限多的复合条件。
POWA Multiple Conditions 2

3. 如果再设置一个献祭在敌方目标身上不存在则触发的特效,就可以在战斗中实现下面的效果。

当献祭在对方目标身上不存在的时候,特效提示补献祭。
POWA Multiple Conditions 3

当献祭在对方目标身上存在,并且自己焚烧CD的时候,特效提示补焚烧。
POWA Multiple Conditions 4

不需要再紧盯着面板和技能条,享受POWA带来的战斗新感觉吧。

外面的世界

魔兽世界中副本集合石的出现,让很多新手玩家打了无数次某个副本,却完全不知道这个副本在哪张地图上。

在新的3.3版本中,跨服随机组队系统的出现,应该会让更多的新手玩家在打了N次副本以后甚至都不知道副本外面的世界是什么样子吧。

Q:你可以和朋友一起使用随机英雄副本选项吗?(比如我和4个其他人一起排队?)

A:可以。你只需要在你的服务器中创建一个5人队伍,打开地下城工具,选择随机选项。一旦所有的队员选择进入副本(与进入战场类似),他们就会被传送到副本内。

虽然越来越方便,但是却越来越功利,所有的方便性都是为了如何快速地体验副本,似乎那些骑着马在大陆上跑来跑去的岁月一去不复返了,虽然我们曾经多少次咒骂暴雪,游戏里30%的时间我们在飞我们在跑,但是真当它渐渐远离的时候,却不由不怀念。

不知道有几个人注意到70级的入门副本奥核之心中,背景中有这样一条冰冻的龙。

奥核之心

《Alt+Z》 ,重温60年代的单纯。

那些在魔兽世界的日子

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

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

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

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

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

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

精神鸦片“害”人吗

从cnbeta上看到的:挪威小男孩使用《魔兽世界》技能拯救妹妹

新闻来源:多玩游戏-魔兽世界
这是发生在挪威的一件不可思议的事情,一位12岁的男孩用他在《魔兽世界》中学到的技能救了他10岁的妹妹!
这位12岁的小英雄名叫汉斯,事情发生在他带着10岁的妹妹在森林中游玩的时候。也许是妹妹的衣服颜色过于鲜艳,一头激怒的驼鹿低下头,把鹿角对准了可怜的小女孩,准备进行攻击。英雄是不会让妹妹被一只愚蠢的动物伤害的!

汉斯是名《魔兽世界》玩家,他想起了那个魔兽世界中天天看到的技能——嘲讽。汉斯开始发出怪叫,并用棍子不停地像驼鹿挥舞。这让他的妹妹得以逃脱危险,还好可怜的小女孩没有被吓到呆在当场。当驼鹿的注意力完全转移到新敌人的身上时,小英雄立刻倒在地上一动不动。驼鹿靠近汉斯并嗅了嗅,当确认目标已经死亡,对自己没有威胁后,驼鹿转头离开。这时汉斯终于松了一口气,“假死”是他在《魔兽世界》中学到的技能,他从没想过有一天会用来逃离危险。

1. 不确认这是一则真实的新闻,驯鹿也通过嗅觉来判断死亡的生物对自己有无威胁吗?
2. cnbeta上该post的回复率已经有超过120,远远大于其它post的回复数。“无敌”+“炉石”是回复中提到较多的,看来此不要脸招数还真是深入人心。

2.3版魔兽世界 – 盗贼的春天

台服魔兽世界今天维护之后更新到2.3,347M的补丁需要下载一段时间,对于长篇的补丁说明稍微点评一下。

祖阿曼:
无非是增加了一个副本,多了个拿装备的地方,对于我这样长久都还没有升级到70的人来说,没什么吸引力。

语音系统正式推出:
语音系统的好处是,大概会不断地听到,“我靠,你丫原来是人妖!”,哈哈。

公会银行:
不错的功能,使公会管理趋于简单化,相信今后暴雪一定会在某个补丁中推出公会领地,一个可以利用公会资金创建公会特有建筑物的领地,在这个领地内修缮装备或者防御或者攻击敌人都将有额外的奖励加成。

等级提升的改善措施:
1-60级升级速度加快,对于喜欢练小号的人来说是个绝好的消息。

即使你的角色已经在施放另一个法术了,用户端施法请求仍会传送到服务器:
/stopcasting不需要再加入到宏里面去了,由于客户端网络延迟带来的DPS下降会大大减少,当然,一个有效的施法时间检测UI仍然是必须的。

坐下的时候如果要施法将自动站立,可以通过/console autoStand 0来关闭这个功能:
这是对于在坐骑上如果要施法自动下马之后的又一个贴心改动。

战场上旗帜掉落以后,将产生3秒内无法再被拾取的效果:
又是一个针对网络延迟的修改,再也不用旗子一掉就疯狂点自己身体的左上角了。3秒,可不短啊。

在战场开始前,在战场中死亡并被灵魂医者后的数秒内,施放任何法术将不消耗法力值:
战场越来越像竞技场了。不知道术士的发糖机是不是还要消耗3块碎片呢?

奥山战场修改:
攻防更加激烈,战术更加诡异了,因为只要还占有一片墓地,玩家就不会被传送到战争刚开始的那个通道里。

猎人:
猎人加强了。瞄准射击将使治疗效果降低50%,并持续10秒,这是多么强大的buff,而且秘法射击(奥术射击)会额外驱散目标的一个魔法效果!再加上陷阱和钉刺的伤害会随着远程攻击强度的提升而提升,想来猎人在竞技场的地位将得到很大提升。

法师:
侦测魔法消除,所有玩家都可以随时看到目标身上的增益效果:
RAID简单化的一个改动。
在战场中无法再施放传送回各主城的传送门法术:
这个。。。以后刷子们又放心了一点儿,不会挂机一个小时后再回来看发现自己不知道被哪个具有正义感的法师开门送回主城了。

牧师:
矮人和德莱尼牧师在20级的时候可以学习新法术-谴责,对目标造成神圣伤害并瘫痪目标2秒:
难道还要加强矮牧的PVP本领吗?
所有种族的牧师在20级都可以学习防恐结界:
矮牧的独特本领终于普及给大家了,似乎这是Ming屡次提到的建议。

盗贼,或者说是潜行者ORZ:
毒药时长上升为1小时,致盲不再需要致盲粉并且改为物理攻击(意味着深冰法的水元素不再那么有效了),死亡谎言Buff,移动速度Buff,出血Buff,暗影闪现(暗影步)Buff,投掷武器Buff,OMG,2.3确实是盗贼的春天,就像那个辉煌的1.12时代一样,盗贼们,重新回到王者的位置上来吧!

术士:
无论从哪个方面说,都被NERF了。不能不说是一个遗憾。

現在只需要聲望達到尊敬便可以取得英雄模式的钥匙:
哈哈,那些为了英雄副本钥匙辛辛苦苦刷到崇敬的人们啊,为你们默哀。。。

當你觀察其他玩家時,你現在可以看到裝備連同他們的天賦選擇。
看来以后更多人会点着其它玩家看个不停了。

Wrath of the Lich King

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

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

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

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

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

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

奇诡壮丽的TBC

据说大陆的TBC又要延迟发布了,据说NGA里面再次骂反了天。我索性找了一个私服去体验了一下TBC。

私服的好处在于你不需要辛辛苦苦从0练到60,然后再从诅咒之地穿过黑暗之门进入外域,刚一出生你就拥有了飞行坐骑,同时外域自动免费传送系统也足够让你体验一下在外域飞行的超爽感觉了。

俯冲进问号级的敌人群中再在“进入战斗”提示的一瞬间扭头拉离地面,眼前是深邃奇幻的外域天空,身后是跟随而来的各色怪物,简直是叱诧江湖啊。

飞行在外域的亮丽天空下。

鲜血之环上死去的龙族尸体。

停留在刀锋山。

术士超赞 & 超邪恶的T6套,在私服里面花1G就可以直接购买,不分等级就可以穿上,背后血红的翅膀是不定时会张开的,可惜我始终没有截到翅膀张到最大时的震撼。

BTW:本文只是阐述一下初见外域时的兴奋,并不是鼓励大家去玩私服,当然,其实登录这个私服倒是很简单的,要知道其实现在大陆的魔兽客户端早就已经是完整的TBC版本了,没有开放的仅仅是服务器端而已。所以登录这个私服,只需要下载一个几百K的登录器就可以,用户也是免费注册的,同样游戏也是免费的,只有你需要购买橙色武器的时候才需要缴纳一些费用,但是对于仅仅是为了飞行在外域中体验一下的我来说,it’s free。