[GTAF进口]任务编写基础理解指引
原帖地址 http://www.gtaforums.com/index.php?showtopic=378203任务编写基础理解指引原帖作者/ spaceeinstein @GTAF 翻译/ kwanz @虚拟世界
未经许可 谢绝转载
Opcode
SB包含最新编译的opcode列表,位于程序的Opcode Search Tool内。这些opcode包含了海量的功能,如果你能把整个列表扫一眼,对有什么东西好用有个概念,那就最好了。你知道得越多,编程时能用的就越多。想要理解每个opcode是如何工作的,你可以翻看网上流传的文档,也可以自己测试,从试验和失败中理解。这是最好的学习方法了。你也可以研究游戏的原始脚本(main.scm)来看看开发者是如何在程序中应用opcode的。
创建一个线程
此节内容请参阅作者在GTAModding上发布的同主题页面。
EN - Create a thread
CH - 线程的创建,中止和结构
创建一个任务
写一个任务是很困难的。总体思路和创建一个线程没有差别,所以建议你首先从创建简单线程开始练习,而不是一开始就尝试写一个任务。写任务有很多方法,为了简化方便初学者起见,下文会讲解写一个任务的基本结构。以下的讲解是SB格式的,对3/VC和SA适用。
定义你的任务
首先定义你的任务。找到
DEFINE MISSIONS
把任务数目加1。拉下来直到最后一个任务的定义句,在下面定义你的任务
DEFINE MISSION ### AT @MissionStart
插入任务触发点
接着创建触发任务开始的线程。找到
create_thread
在前面写上
004F: create_thread @MissionTrigger
找到
//-------------Mission 0---------------
这是脚本的MAIN分节结束,第一个任务开始的地方。把触发线程插入到其间。
:MissionTrigger
0001: wait 0 ms
00D6: if
0256: player $PLAYER_CHAR defined
004D: jump_if_false @MissionTriggerEnd
00D6: if
0038: $ONMISSION == 0
004D: jump_if_false @MissionTriggerEnd
00D6: if
// 在此写上任务的触发条件
004D: jump_if_false @MissionTriggerEnd
0417: start_mission ###
0004: $ONMISSION = 1
:MissionTriggerEnd
jump @MissionTrigger
插入你的任务
最后,插入任务。如果你写的是3/VC,拉到最下面插入你的任务。如果你写的是SA,找到
//-------------External script 0 (PLAYER_PARACHUTE)---------------
这是最后一个任务结束,第一段外部程序开始的地方。把你的任务插入它们之间。
:MissionStart
03A4: name_thread 'NAME'
0050: gosub @MissionBegin
00D6: if
0112: wasted_or_busted
004D: jump_if_false @MissionEnd
0050: gosub @MissionFailed
:MissionEnd
0050: gosub @MissionCleanup
004E: end_thread
::MissionBegin
// 这里写上任务的内容
0051: return
:MissionFailed
// 这里写上进医院或被捕后发生的动作
0051: return
:MissionCleanup
// 这里写上结束任务之前的变量和数据清理代码
0004: $ONMISSION = 0
00D8: mission_cleanup
0051: return
注
用这种方式修改需要你开新存档才能正常玩游戏。 我肿么没找到短篇的 你邪恶赚大发了 哈哈
一个短篇一个短篇 每一篇都赚宝石
手动眼斜 【游骑兵】天涯 发表于 2012-4-24 22:19 static/image/common/back.gif
你邪恶赚大发了 哈哈
一个短篇一个短篇 每一篇都赚宝石
手动眼斜
你那篇长的给你N宝石~ 那夜你真美 发表于 2012-4-24 22:20 static/image/common/back.gif
你那篇长的给你N宝石~
恩(肉流满面)
这几周比较忙 都没怎么翻译……
表示五一假期前后可以完工
爪机上已经翻译了将近一半
放假花一天再去翻译…… 回点评
不清楚=。=在一个论坛看到的,长的很像我前女友{:soso__14993238364229783703_3:} 那夜你真美 发表于 2012-4-24 22:27 static/image/common/back.gif
回点评
不清楚=。=在一个论坛看到的,长的很像我前女友
http://static.tieba.baidu.com/tb/editor/images/jd/j_0004.gif
http://image2.sina.com.cn/ent/y/d/2005-10-27/U1344P28T3D877114F329DT20051027003810.jpg
作为模型党表示有压力,CLEO简单修改会,但碰到这种复杂的就晕了 peace 发表于 2012-4-25 00:52
作为模型党表示有压力,CLEO简单修改会,但碰到这种复杂的就晕了
恩哈,其实我只会修改和拼接...
页:
[1]