作者star123 (我不糟糕)
看板Little-Games
标题Re: [分享] 荒岛求生2 基本Scripts介绍
时间Sun Oct 18 11:19:25 2009
文字版,懒得下载的可以使用XD
说说几个基本的和Script的样子好了..
on:start{
$time=0;
ai_stay "self",1;
}
on:use{
msg "Hello, It's $time time you talk to me.",2;
diary "Man","tutorial/00.txt";
$time++;
}
on:hit{
msgbox "Fark!","tutorial/01.txt";
}
要注意到的是,Script每行 (除了{後面) 都必须加上 ; 号才行。
on:xxx{ scripts } 是在某个时候执行scripts,一定要有;
xxx可以填入许多东西,稍会会提到。
$time=0; 是定义
time这个数,我没试过不定义,欢迎自己试试看。
注意:变数名称前面一定要有一个 $ 号。
ai_stay "self",1; 是让这个Object/Units/Items..不动,
self是自己,或者你填物件的id也可以,
1..其实我也不太了解,应该是跟0和1有关
(这样的话这边也可以塞变数)
msg "Hello ... $time time ... me.",2;
这是在萤幕上显示一个讯息,要注意的是,如果後面让日记或者msgbox出现,
那它就会被跳出来的视窗挡住。 $time 放在msg里面,就是要显示出time的数字。
所以,假如time是4,那就会显示
"Hello, It's 4 time you talk to me."
2是颜色,0是黄,1是半透明黄,2是红,接下来请自己测试。
颜色可以不填,可以直接写 msg "... me."; 即可。
diary "Man","tutorial/00.txt";
这是新写入日记,但如果不设定判定 (稍後会讲) ,每交谈一次就会新写入日记,
也就是说,可能会有两个以上标题为 "Man" 的日记出现。
另外,"tutorial/00.txt"则是读出游戏教学地图的第1个日记当作Man的内容。
一般来说,假如有需要写位置让程式读档,则直接从Stranded II 里面开始。
也就是说,你现在看到的是tutorial/00.txt,
但是程式读的则是 "C:/stranded2_en/mods/Stranded II/mods/tutorial/00.txt"
$time++; 这是让time这个数上升1,
不可以直接写$time=$time+1,而是++。
msgbox "Fark!","tutorial/01.txt";
这是一个跳出式讯息视窗,名称为 Fark! ,而内容则是tutorial/01.txt。
如果想做多选项,必须使用其他script,这点我就不多说。
至於判定部分,请见范例:
on:use{
if ($time==0){
msg "Who are you?";
$time++;
}else{
msg "Hello! I know you! I talk to you $time time!";
$time++;
}
}
这是在对某object/unit/item..等等按下 use 键时会发生的。
亮色的部分,是当time这个数为0时,会执行的。 (
msg "Who are you?";)
而暗色的部分,则是当time这个数
不为0时,会执行的。
(
msg "Hello! I know you! I talk to you $time time!";)
最重要的部分,是在於 if else 这两个东西 (当然也有elseif,用法参照if即可)
各位都可以看到, if ($time==0) 後面有 { scripts } ,
这是区分在if内的scripts, 和在if外的scripts.
而 else接在if的
}後面,则是另外一个部分,
当然也是要有 else { scripts } 。
这样的话,就可以免除同一样事件一再地发生,diary就不会重复出现了。
各位如果想查scripts的用法,可以到 Stranded II 的官方网站去查,
那里有一个Data Base,可以让你搜寻scripts的名称,找到其用法。
另外,也可以去拆拆看别人的地图,
有时候会有很多好收获的。
加油!期待台湾有越来越多的Stranded II自制地图出现。
--
s2s档可以用笔记本拆来看。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.167.59.47
1F:推 newclicker:专业推~ 10/18 18:49
2F:推 nekaki:推 这游戏我还没去写到script过 10/18 19:09