kwanz 发表于 2012-4-24 21:31:43

[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

用这种方式修改需要你开新存档才能正常玩游戏。

Ycccccc 发表于 2012-4-24 21:36:44

我肿么没找到短篇的

为主的祥助 发表于 2012-4-24 22:19:08

你邪恶赚大发了 哈哈
一个短篇一个短篇 每一篇都赚宝石
手动眼斜

Ycccccc 发表于 2012-4-24 22:20:04

【游骑兵】天涯 发表于 2012-4-24 22:19 static/image/common/back.gif
你邪恶赚大发了 哈哈
一个短篇一个短篇 每一篇都赚宝石
手动眼斜

你那篇长的给你N宝石~

为主的祥助 发表于 2012-4-24 22:24:38

那夜你真美 发表于 2012-4-24 22:20 static/image/common/back.gif
你那篇长的给你N宝石~

恩(肉流满面)
这几周比较忙 都没怎么翻译……
表示五一假期前后可以完工
爪机上已经翻译了将近一半
放假花一天再去翻译……

Ycccccc 发表于 2012-4-24 22:27:41

回点评

不清楚=。=在一个论坛看到的,长的很像我前女友{:soso__14993238364229783703_3:}

kwanz 发表于 2012-4-24 22:31:24

那夜你真美 发表于 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

[P.L.A]peace 发表于 2012-4-25 00:52:40

作为模型党表示有压力,CLEO简单修改会,但碰到这种复杂的就晕了

kwanz 发表于 2012-4-25 08:14:03

peace 发表于 2012-4-25 00:52
作为模型党表示有压力,CLEO简单修改会,但碰到这种复杂的就晕了

恩哈,其实我只会修改和拼接...
页: [1]
查看完整版本: [GTAF进口]任务编写基础理解指引