- UID
- 34711
- UCC
-
- 声望
-
- 好评
-
- 贡献
-
- 最后登录
- 1970-1-1
|
发表于 2011-6-10 18:16:34
|
显示全部楼层
本帖最后由 sjn1978 于 2011-6-10 18:24 编辑
cpu1224 发表于 2011-5-27 18:00
试了一下,有的结局有效果,但是却玩不了,在传送门那里,不传送。
我试着删了18以后的任务,目前来看效果 ...
如果你想改任务,可以看看Data\Game\CustomInit.xml
还有同目录的Quests.xml
我的改法,新建了100多个任务,每个星系一个任务。
然后这些任务又同时调用一个共通的lua脚本。通过修改Data\Scripts\system.lst,这里可以自己加入自己的共通lua脚本
离开星区时,用ClearQuests();结束当前星区任务,然后在用QuestStart("XXX任务名");开启目标星区对应任务。
这样就能实现,游戏进程始终在自己掌控下。这个修改方法研究了好几天,其他许多方法都不能实现全局控制。
读档比较特殊,如果想实现读档后的控制,比如每次读档后给玩家一个问候语,需要修改星区的functions.script脚本。
如果你对脚本感兴趣,可以看一下狼3载入脚本的顺序。
100多个任务脚本,我用java自动生成的,自己写要累死,里面都很简单,每个脚本都还不到10行。
贴一个出来
------------------------------------------------------------
-- 星际之狼3:内战 自由宇宙MOD --
-- 星域任务脚本 --
------------------------------------------------------------
-- 2011 4.23 created by sjn --
-- VER. 0.1 --
------------------------------------------------------------
function ACTION_INIT()
return FreeWorldActionInit();
end;
function ACTION_LEAVELOCATION()
return FreeWorldLeaveLocation();
end;
function ACTION_FINI()
return FreeWorldActionFini();
end;
不能传送问题很多。还可能遇到存档后不传送的问题,尤其是自定义的新星区。
必须修改星区脚本里functions.script这个脚本。
这个脚本里是绑定星区大门传送触发器的。
比如Data\Scripts\Locations\Corrino\functions.script
传送相关事件都在这里。包括播放传送动画效果mothership:PlayFX("Portal Out.shfx");
打开传送确认对话框:ShowMsgBox("#M_teleport_confirm", "#M_teleport_to_taira", OnPortalStart_PORTAL_U, OnPortalCancel);
这里的修改很细致,少改了一个传送就可能失效,而且方法很散乱,好几个方法跳来跳去的~~~
想研究的可以看看。 |
|