============================================================================
无伤成就
本人最在意的还是这个无伤成就。因为貌似失败后,靠读档是行不通的。因此,我自己做了一个大胆的假设(不知道是否正确):假设被伤到后(铁柱观的铁球、雷云之海的雷、祖洲的火球等等),有一个记录无伤的值,就会被写到userdata.SAV里,因为成就都记录在这个文件里。所以,不管你怎么读档,userdata.SAV里都已经记录了你已经被伤到了。
铁柱观的成就,本人没拿到,后来再怎么读档,也都无法拿到。后来吸取了教训,在打雷云之海、祖洲的时候,我都会把SaveData整个文件夹备份一次,万一被砸到,就马上退出,然后重新替换回原来的SaveData。因此这里两个无伤成就我是都拿到了。唯一遗憾的是铁柱观的成就,当时没有备份SaveData,现在猜想,userdata.SAV里已经记录了我被伤过,所以拿不到了。。- -!
这里有一段脚本代码,可以再给大家看一下,也稍作解释:(其实LUA脚本我是一点不懂的,我也不是搞程序的,就是大学里学过VB,- -!)
代码:
function HitBall()
-- addMoney(121)
task()
.taskSetNpcOverlayAnimation("player","Z04")
.losePercentHP(0.2)
.SetMOHitStatus(1,true)
end
这个应该是铁柱观的无伤成就,可以看到HitBall字样,就是说被球砸。后面还有雷云之海的是HitThunder,被雷砸;祖洲的HitFire,被火砸……呵呵,代码的可读性还是比较好的~
当被球砸到时,losePercentHP(0.2)猜测就是丢失HP的百分比,0.2那就是说五分之一?不知道是不是,没去验证。SetMOHitStatus(1,true)这个是关键,设置我前面讲的某一个记录无伤的值为True,True就是被砸,False就是无伤。这里的1表示的是第一个无伤点,就是铁柱观;2是雷云之海、3是祖洲……
下面这一段就是判断成就是否达成,GetMOHitStatus(1)就是读取第一个无伤成就的值,如果为false,则执行addEffort(312,1),这个就是把第312成就设置为1,也就是完成!没完成的是设置为0。
代码:
if GetMOHitStatus(1)==false then
addEffort(312,1)
end
我目前刚玩到第四章,无伤成就就是铁柱观的没拿到。说了这么一大堆,这个铁柱观的成就怎么办呢?难道代表我永远也完成不了了?下面这段代码给了我一点希望。(还会看到跟二周目有关的东西)
代码:
function OnNewGame()
if getRoundFlag() == 0 then
task()
.gValueQuestInit() --任务,晴雪、Boss全局变量初始化
.InitTourCamera() --场景浏览镜头使用与否标识初始化
.InitBigMap() --大地图开启状态标识初始化
.InitQTE() --初始化QTE
.InitGuide() --新手教学初始化
.InitMOHitStatus() --无伤成就初始化
.taskDoPostScreen( 1 , 1.0 , 0) --黑屏
.stopMusic(1.5, false)
--.taskPlayBink("AurogonLogo.bik",true)
--.taskPlayBink("GBLOGO.bik",true)
.taskPlayBink("DOH001.bik",true)
.joinTeam(107,false)
.addSkill(107,1161)
.addSkill(107,1162)
.addSkill(107,2101)
.addObject(21001,1,0) --树枝
.equip(107, 21001) --树枝
.addObject(3001,1,0) --草扎
.setRoleLevel(107 , 1)
.fenjiShow(true)
.TusuShaqi(0)
.enableReview(0)
.SetMainStory( 10100 )
.changeScene("M01","M01P1","null","")
.startZalu() --成就项开启
else
task()
.startZalu2() --二周目成就开启
.gValueQuestInit() --任务,晴雪、Boss全局变量初始化
.InitTourCamera() --场景浏览镜头使用与否标识初始化
.InitBigMap() --大地图开启状态标识初始化
.InitQTE() --初始化QTE
.InitGuide() --新手教学初始化
.InitMOHitStatus() --无伤成就初始化
.taskDoPostScreen( 1 , 1.0 , 0) --黑屏
.stopMusic(1.5, false)
.taskPlayBink("DOH001.bik",true)
.joinTeam(107,false)
.addSkill(107,1161)
.addSkill(107,1162)
.addSkill(107,2101)
.addObject(21001,1,0) --树枝
.equip(107, 21001) --树枝
.addObject(3001,1,0) --草扎
.setRoleLevel(107 , 1)
.fenjiShow(true)
.TusuShaqi(0)
.enableReview(0)
.SetMainStory( 10100 )
.changeScene("M01","M01P1","null","")
--多周目的赠品
.msgBoxInTable(1000)
.msgBoxInTable(1001)
.msgBoxInTable(1002)
.wait(8)
.addObject(1221,20,0) --归星砂(二周目鼓励玩家研究不同玩法,特别多给一些)
.addObject(1222,20,0) --玉女元参
.addObject(1223,20,0) --归元仙露
.addObject(1224,20,0) --流霞仙酿
.addObject(2089,20,0) --金铸钱
.addObject(2124,10,0) --冰心
.addObject(22416,1,0) --凤凰金翎
.addObject(22315,1,0) --琥珀琉璃珠
.addObject(22450,1,0) --若木火实
.addObject(22451,1,0) --肃杀金令
.addObject(22452,1,0) --榣山水镜
.addObject(22453,1,0) --忘川虚沙
.addObject(4000,1,0) --外装打包
end
end
大家应该也看到这个了吧?
InitMOHitStatus() --无伤成就初始化
这个也就是说,开始新游戏的时候(OnNewGame),无伤成就是会初始化的!
代码:
function InitMOHitStatus()
--铁柱观 1
--雷云之海 2
--祖洲 3
--紫榕林 4
--中皇山 5
--蓬莱 6
if gValue.MOHit == nil then
gValue.MOHit = {}
end
for i = 1 , 6 do
gValue.MOHit[ i ] = false
end
end
这一段就是初始化代码,猜测就是把6个无伤点的值都设置为false。
============================================================================
所以现在我猜想,要达成铁柱观成就的办法就是:
一、重新开始一下游戏,然后保存一个进度。(当然前提是先备份了)按理说,这个时候记录无伤成就的那个值就被初始化过了。然后读取铁柱观的存档过一遍,看能否完成。这也只是假设,还未验证。
二、如果第一种行不通,那只能重新开始游戏,一直玩到铁柱观,然后备份好存档文件夹,然后一次不碰的冲到最后,碰到就不用读取存档了,直接退出,换回备份的存档文件夹。看看这样到底能否达成。
三、如果还是不行,没办法,清空存档文件夹,移走userdata.SAV,就当是0成就。然后重头开始玩到铁柱观,备份好存档文件夹,然后无伤过一遍铁柱观,看能否达成。如果这样都不行的话,只能说是BUG了。。。
暂时先说这么多吧,希望跟大家讨论交流。
end
相关新闻
- 《古剑奇谭》海选火爆 黄晓明刘亦菲最受期待 2010-08-06 16:11:49
- 小编推荐:CJ值得关注的八大新网游 2010-08-06 14:47:20
- 古剑奇谭攻略本上市在即 新活动开启 2010-08-06 11:18:24
- 《古剑奇谭》几乎全重要人物语录(2) 2010-08-06 10:24:09
- 《古剑奇谭》几乎全重要人物语录 2010-08-06 10:24:09