注册 | 登录

游侠NETSHOW论坛





查看: 64922|回复: 119
打印 上一主题 下一主题

[原创] 汉之云脚本研究(附带MOD制作工具) [复制链接]

帖子
1270
精华
39
积分
13841
金钱
40858
荣誉
517
人气
2355
评议
0
跳转到指定楼层
楼主
发表于 2007-12-26 20:01:30 |只看该作者 |倒序浏览
汉之云使用了Lua做为脚本语言,版本是5.0。脚本存放在Text目录下的两个.C01文件中。
将其中的内容解压后就可以得到lua编译生成的二进制文件。可以使用lua附带的luac.exe -l还原为伪代码

这同时也意味着,这代轩辕剑的剧情将史无前例的能被玩家所定制!只要我们修改lua脚本就可以增删剧情 :-)

经过6天的努力,终于完全重建了汉之云的脚本源代码
附件里提供了MOD制作工具,以后有时间会详细介绍汉之云的脚本系统

2008.3.5日更新
提供对应繁体1.01版的脚本源代码

2009.3.10日更新
提供对应简体1.02版的脚本源代码
(此版的compile_main_102.bat文件有bug:1.02编译后无法使用说明: 1.02的BAT由于在编写时候出现问题,未使用C01文件进行压缩,只做了移动,所以可暂时使用附件中的main_102_fix.bat在使用Van大的文件进行编译完成后再次运行即可.(请观察文件大小从4MB+变为1MB+,仅涉及Main文件,Fight文件不影响)
--By 风行水.)

2009.4.7日更新
修正bat文件未压缩脚本的问题,感谢风版

免责声明
附件中提供的脚本源代码利用逆向工程重建,代码的版权属游戏公司所有。这里仅供玩家个人学习研究和制作MOD之用。任何对代码的非法使用均与本人无关


使用方法:
1、下载Bin.rar和Source.rar,解压到同一目录下
2、修改Source目录下的lua脚本
3、使用compile_main或者compile_fight重新生成C01文件(生成的C01文件在当前目录下)
4、替换游戏Text目录下的C01文件(注意备份原始文件)
5、进入游戏查看效果

附录:
汉之云怪物、物品和奇术全资料http://game.ali213.net/viewthread.php?tid=1881266
汉之云脚本编写简明教程http://game.ali213.net/viewthread.php?tid=1884574

[ 本帖最后由 vbvan 于 2009-4-7 20:08 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
已有 3 人评分金钱 人气 收起 理由
mzp2009 + 1 good
海滨小猪 + 170 感谢更新!
风行水 + 50 + 5 感谢更新~!

总评分: 金钱 + 220  + 5  人气 + 1   查看全部评分

使用道具 举报

游侠元老版主
『中文/角色扮演游戏区』
★★★★★★★★★★

元老版主勋章版主勋章资深版主勋章活跃勋章

帖子
15637
精华
2
积分
8873
金钱
46286
荣誉
65
人气
34
评议
0

沙发
发表于 2007-12-26 20:03:26 |只看该作者
Van大出马...支持下~

使用道具 举报

沙之弓手
轩辕剑 清风剑客

帖子
701
精华
0
积分
411
金钱
2260
荣誉
6
人气
0
评议
0
板凳
发表于 2007-12-26 20:04:10 |只看该作者
有可行性吗
做出的会是什么呢
也需要一定的技术吧
能不能做个例子看看哪
不用签名就要为百度打广告

使用道具 举报

帖子
1624
精华
0
积分
812
金钱
1793
荣誉
0
人气
0
评议
0
地板
发表于 2007-12-26 20:06:46 |只看该作者
完全不懂技术的说,脚本是指仅仅对话呢还是包括人物的行动?

题外话,仙四很多人都可以自己重新给人物编新的剧情和动作,那个是怎么做的。。。

使用道具 举报

帖子
1024
精华
1
积分
892
金钱
1203
荣誉
18
人气
0
评议
0
5#
发表于 2007-12-26 20:13:13 |只看该作者
大概就是可以自定义游戏剧情,脚本的话包括对话和人物动作,坐标等等

使用道具 举报

We Stand Alone Together
游侠元老版主
『中文/角色扮演游戏区』
軒轅劍 乾坤劍雄
Call of Duty4☆SASの消逝之MP5
★★★★★★★★★

元老版主勋章版主勋章资深版主勋章勤劳之证日游工作组贡献勋章

帖子
9758
精华
1
积分
5402
金钱
40624
荣誉
32
人气
15
评议
6

6#
发表于 2007-12-26 20:18:27 |只看该作者
这就是说以后有mod喽~~~~~~~~~~~~~~~~~~~~~~

使用道具 举报

帖子
251
精华
1
积分
436
金钱
982
荣誉
11
人气
0
评议
0
7#
发表于 2007-12-26 20:30:25 |只看该作者
又见V................66RPGshangjianguo
高考狂想曲正式版
点我下载
热血+魂+気迫+努力+ド根性+幸运+加速+鐵壁+不屈+覺醒+捨て身=大奇蹟

使用道具 举报

帖子
361
精华
0
积分
181
金钱
410
荣誉
0
人气
0
评议
0
8#
发表于 2007-12-26 20:33:25 |只看该作者
OYE,我来许愿,我要横艾的完美结局MOD,后宫也可以可以可以!

使用道具 举报

帖子
1270
精华
39
积分
13841
金钱
40858
荣誉
517
人气
2355
评议
0
9#
发表于 2007-12-26 20:42:34 |只看该作者
show一下战斗脚本,看上去应该能实现比较多的东西出来

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

使用道具 举报

帖子
1624
精华
0
积分
812
金钱
1793
荣誉
0
人气
0
评议
0
10#
发表于 2007-12-26 20:45:54 |只看该作者
看起来好像还是蛮清楚的样子,估计以后会出一大堆汉之云的野史了

使用道具 举报

帖子
2535
精华
0
积分
1378
金钱
6578
荣誉
11
人气
0
评议
0
11#
发表于 2007-12-26 21:07:28 |只看该作者
以后哪位大大把内容改一下,加入一些新元素......期待呀

使用道具 举报

帖子
84
精华
0
积分
42
金钱
341
荣誉
0
人气
0
评议
0
12#
发表于 2007-12-26 21:08:06 |只看该作者
对mod制作大有裨益阿

使用道具 举报

帖子
361
精华
0
积分
181
金钱
410
荣誉
0
人气
0
评议
0
13#
发表于 2007-12-26 21:09:16 |只看该作者
哪位大老早点做出横艾的完美结局MOD,膜拜,膜拜,膜拜

使用道具 举报

帖子
83
精华
0
积分
42
金钱
139
荣誉
0
人气
0
评议
0
14#
发表于 2007-12-26 21:11:05 |只看该作者
原帖由 vbvan 于 2007-12-26 20:42 发表
show一下战斗脚本,看上去应该能实现比较多的东西出来

fightfield102 = function()
   local playerteampos = 0
   local playerside = 1
   local enemyteampos1 = 1
   local enemyteampos2 = 2
   local enemyside ...


看起来并不难

计算机科班出身的一看就一目了然。
哇哇,MODMOD,嘿嘿

使用道具 举报

帖子
1068
精华
0
积分
534
金钱
1217
荣誉
0
人气
1
评议
0
15#
发表于 2007-12-26 21:49:44 |只看该作者
请楼主看看有没有分辨率的选项

急需1280×800的分辨率~!!!!!!!!!!!!!!!!!!!

支持1440×900  竟然不支持1280×800。。。。。无语啊

使用道具 举报

帖子
1049
精华
0
积分
536
金钱
4153
荣誉
1
人气
6
评议
0
16#
发表于 2007-12-26 21:56:57 |只看该作者
难道是说从此轩辕剑就做得和魔兽一样可以DIY了???
前几天还和同学YY要是双剑能这样就好了
难道这么快就成真了?
若是这样
那汉之云就是划时代之大作了……

使用道具 举报

帖子
2598
精华
0
积分
1380
金钱
1826
荣誉
8
人气
5
评议
0

17#
发表于 2007-12-26 22:20:58 |只看该作者
去玩玩 服务端把 应会知道点 脚本的大概意思

简单的比如传奇啊传奇世界  石器时代等等

或者AO  以为其他的一些游戏之类

[ 本帖最后由 永恒de爱 于 2007-12-26 22:23 编辑 ]

使用道具 举报

帖子
2433
精华
0
积分
1227
金钱
3690
荣誉
1
人气
0
评议
0
18#
发表于 2007-12-26 22:21:00 |只看该作者
这是什么语言??没学过……

MS有好多函数………………

8过还是看8懂……

使用道具 举报

帖子
195
精华
0
积分
98
金钱
309
荣誉
0
人气
0
评议
0
19#
发表于 2007-12-26 22:23:21 |只看该作者
期待能人出来啊
MOD
我要横艾结局或多结局

使用道具 举报

帖子
364
精华
0
积分
192
金钱
844
荣誉
1
人气
0
评议
0
20#
发表于 2007-12-26 23:11:31 |只看该作者
不太明白,增删剧情的话也没有新地图啊

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2024-4-26 16:06 , Processed in 0.357315 second(s), 12 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到