独家揭秘[汉之云]可实现剧情定制
- 作者:不死鸟
- 编辑:ChunTian
据知名游戏论坛游侠论坛的特邀嘉宾vbvan称,他发现《轩辕剑外传:汉之云》此次在剧情控制脚本上有一个史无前例的革新,玩家将能够自己亲手定制剧情!如果这项技术在无数的轩辕剑粉丝中流传开来,《汉之云》将得到一份无限精彩的超长生命力,我们国人将能够像DIY《魔兽争霸3》一样,DIY《汉之云》。
本代作品《汉之云》使用了Lua做为脚本语言,版本是5.0。游戏的脚本存放在Text目录下的两个.C01文件中。
玩家只要将其中的内容解压后就可以得到lua编译生成的二进制文件。也可以使用lua附带的luac.exe -l将自己修改后的文件还原为伪代码。
这同时就意味着,这代轩辕剑的剧情将史无前例的能被玩家所定制!只要我们修改lua脚本就可以增删剧情!
网友们对vbvan的这一发现表示热烈欢迎,众多轩辕剑的粉丝虽然仍然没有玩上《汉之云》,但是他们甚至已经开始期待《轩辕剑外传:汉之云》经高手修改过的MOD版本。因为大宇公司的历来的RPG游戏无论结局怎样,总会有玩家不满意,现在玩家们终于有了自己掌握游戏人物命运的权力。在玩家们看来,实现自己心目中的完美结局已不再是梦想,当年仙剑悲情结局的遗憾在《汉之云》中将不再出现。
vbvan放出了一段战斗场景的脚本代码,可以看出代码是比较简单的,有一定编程基础的玩家都能够自行修改定制,而不懂技术的玩家也不用着急,高手们肯定会做出各种MOD供玩家们享用,甚至不排除制作出简易剧情编辑器的可能。
(21CN游戏频道原创,转载请注明)
附战斗脚本代码,有兴趣的玩家请翻看下一页
fightfield102 = function()
local playerteampos = 0
local playerside = 1
local enemyteampos1 = 1
local enemyteampos2 = 2
local enemyside = 2
local camset = 2
local happenratio = 100
local happenrange = 100
local playermotion1 = 133
local playereffect1 = 22422
local playermotion2_1 = 121
local playereffect2_1 = 22422
local playermotion2_2 = 121
local playereffect2_2 = 22422
local playermotion3 = 133
local playereffect3 = 22422
local enemymotion1 = 133
local enemyeffect1 = 22422
local enemymotion2_1 = 133
local enemyeffect2_1 = 22422
local enemymotion2_2 = 133
local enemyeffect2_2 = 22422
local enemymotion3 = 133
local enemyeffect3 = 22422
if macro_checkevent(1, happenratio, happenrange) > -1 then
local roleenemyid1, roleenemyname1 = f_isroleinpos(enemyside, enemyteampos1)
local roleenemyid2, roleenemyname2 = f_isroleinpos(enemyside, enemyteampos2)
local roleplayerid = -1
local roleplayername = nil
local count = 0
while roleplayerid < 0 and count < 4 do
roleplayerid, roleplayername = f_isroleinpos(playerside, count)
count = count + 1
end
if roleenemyid1 > 0 and roleenemyid2 > 0 then
f_setfocuscamera(enemyside, enemyteampos1, camset, -10, 0)
f_settalkframepos(0.5, 0.7)
f_showtalkframe(roleenemyname1, "哼哼,再逃啊!就不信你還能逃去哪!")
f_waitanykey()
f_showtalkframe(roleenemyname1, "等等就把你煉成丹藥吃了!")
f_waitanykey()
f_setfocuscamera(enemyside, enemyteampos2, camset, -10, 1)
f_showtalkframe(roleenemyname2, "。。嗚嗚嗚。。。")
f_waitanykey()
f_hidetalkframe()
f_setselectframepos(0.1, 0.5)
f_showselectframe(2, "1。住手,放了牠!", "2。離開")
local ans = getresolution()
f_hideselectframe()
if ans == 1 then
f_setfocuscamera(playerside, playerteampos, camset, 10, 0)
f_showtalkframe(roleplayername, "這未免太……")
f_waitanykey()
f_setfocuscamera(enemyside, enemyteampos1, camset, -10, 0)
f_showtalkframe(roleenemyname1, "我跟我的戰利品說話,與你何干!")
f_waitanykey()
f_showtalkframe(roleenemyname1, "聽說人血也是煉丹聖品,就拿你們的血來試試好了!")
f_waitanykey()
f_singlerunaway(enemyside, enemyteampos2)
elseif ans == 2 then
f_grouprunaway(playerside)
end
f_turnonswitch(1)
f_hidetalkframe()
end
end
f_eventend()
end
玩家点评 (0人参与,0条评论)
热门评论
全部评论