⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jiaoben.txt

📁 j2me手机游戏脚本
💻 TXT
字号:
第三章 脚本编辑
    脚本是游戏的核心,可以说我们玩的游戏就是在玩脚本,那些外在的图象都只起到美观的效果,只能算锦上添花,不能改变本质。其实也可以说我们之前所做的都是准备工作,游戏的制作才刚刚开始……

第一节 变量与事件
    通宵虫在BBASIC教程中的比喻非常好,变量就像一个盒子,里面装着数据〔在BBKRPG中不能装字符和字符串〕,而我们就是要对这些数据进行操作,来达到某种目的。
    广义地说,存储型事件和人物属性都是变量,脚本中也有对应的操作,不过最方便的还是狭义的变量。
    变量操作语句
一、set m n
这个语句的意思是给变量赋值,让 m变量的值为n 。BBKRPG的变量名只能是数字,0到199是全局变量,在整个游戏中都存在;200 以后是局部变量,只在当前脚本有效,更换脚本时清空。由于变量名是数字,所以我们一定要列表标记每个变量的意义,以免混淆,存储型事件也是如此。
二、add m n
这个语句的含义是给 m变量的值增加n 。需要注意的是,每个变量的值都有范围,是0到255,如果变量大于255 则从0 继续计算。例如 267就是11。
三、sub m n
这个语句的含义是给 m变量的值减n 。需要注意的还是变量值的范围。例如-2就是254 。
四、setto m1 m2
这个语句的含义是把m1的值赋给变量m2,也就是使m2的值等于m1的值。需要注意的是,两个数字都是变量名。
存储型事件操作语句
一、setevent m
这个语句的含义是使事件m 为真,也有说“为true”或“为1 ”的,意思一样。存储型事件是一种简化的变量,其值只有两个,0或1。这在游戏任务中广泛使用,而变量通常用于记录某些数据点数。
二、clrevent m
这个语句的含义是使事件m 的值为假,也有说“为false ”或“为0 ”的。
    人物属性变量
一、attribset actor type attrval
设置主角号为actor 的人物的type属性为attrval ,这里的actor type attrval都是数字。type属性各数字的含义:(0-级别,1-攻击力,2-防御力,3-身法,4-生命,5-真气当前值,6-当前经验值,7-灵力,8-幸运,9-攻击的异常回合数,10-对特殊状态的免疫,11-普通攻击可能产生异常状态,12-合体法术,13-每回合变化生命,14-每回合变化真气,15-生命上限,16-真气上限)
二、attribadd actor type attrval
使actor 的type属性增加attrval ,attrval 的值可以为负数。type属性各数字的含义:(0-级别,1-攻击力,2-防御力,3-身法,4-生命,5-真气当前值,6-当前经验值,7-灵力,8-幸运,9-攻击的异常回合数,10-生命上限,11-真气上限)
    金钱变量
一、setmoney m
将现金设置为m 。
二、gainmoney m
现金增加m ,当现金大于99999 时,自动修正为99999 。
三、usemoney m
现金花掉m ,当现金少于0时自动修正为0。

第二节 跳转语句
    跳转语句是任何有用的程序必需的,有几个程序是一条线走下来没有任何改变的?在RPG 游戏中更是如此, RPG提供了很多不同功能的跳转语句。

    跳转标记是一个脚本段的标志,也可以说是名字,它告诉程序怎样才能执行这个段落。例如:

三清宫:
loadmap x x x x
startchapter x x
callback

这样一个段落的标记是“三清宫”,后面一定要接一个半角的冒号,当其它段落要跳转到这里时,只要写对名字就可以了。
例如:
gutevent 41 三清宫

一、goto label
无条件强制跳转到label 处,label 就是段落名,只要运行到这一句就跳转到label 处。
如:
goto 三清宫

二、gutevent id label
如果触发事件id则跳转到label 处。
在createnpc id npc x y和createbox id boxindex x y 中的id是对应的,这里的id也称为操作号。在地图中设置的事件号,只能通过这个语句来跳转到对应的语句段落,别忘了要在地图的事件号上加40。。

三、if n label
如果事件n 为真则跳转到label 处执行。

四、ifcmp n m label
如果变量n 的值为m 则跳转到label 处。

五、discmp n m lowaddr highaddr
如果变量n 的值大于m 则跳转到highaddr处,如果变量n 的值小于m 则跳转到lowaddr 处,相等则不跳转,继续执行。

以上三条语句多用于任务进程,而后两条更多用于特殊点数判断。

六、testmoney money lessadr
检测身上的现金数,如果钱数少于money 则跳转到lessadr 处。
例:
testmoney 500 少于500 

七、attribtest actor type attrval lowaddr highaddr
检测主角actor 的type属性,如果低于attrval 则跳转到lowaddr ,如果高于attrval 则跳转到highaddr。type属性(0-级别,1-攻击力,2-防御力,3-身法,4-生命,5-真气当前值,6-当前经验值,7-灵力,8-幸运,9-攻击的异常回合数,10-对特殊状态的免疫,11-普通攻击可能产生异常状态,12-合体法术,13-每回合变化生命,14-每回合变化真气,15-头戴,16-身穿,17-肩披,18-护腕,19-手持,20-脚蹬,21-佩戴1,22-佩戴2,23-生命上限,24-真气上限)

八、testgoodsnum type index num adrequ adrmore
检测类型为type,序号为index 的物品的数量,如果数量大于num 则跳转到adrmore 处,如果数量等于num 则跳转到adrequ处,如果小于则不跳转。如:
testgoodsnum 7 11 1 有 有
没有:

九、startchapter m n
跳转到脚本m-n ,开始新的脚本,一般切换场景时在loadmap m n x y之后使用。

十、callback
退出语句段落,返回到脚本基层,也就是只对gutevent id label 作出回应。作出回应后才能进入语句段落。

十一、callchapter m n
暂时跳转到脚本m-n 执行,当遇到return时,返回原脚本的callchapter m n 的下一句继续执行。

十二、return
与callchapter m n 对应,详见上一条。

十三、gameover
游戏结束,跳转到程序最初的菜单选择界面。这并不是所有数据初始化,如果脚本1-1 里面没有对数据进行初始化,那么就可能重新开始时保留退出时的数据。在游戏菜单中选择退出游戏也是这样。

十四、choice "..." "..." address
二选一菜单,必须选择一个,如果选择第一个则继续执行,如果选择第二个则跳转到address 处。

十五、menu choice "a1 a2 a3"
多选一菜单。严格地说,这是变量赋值语句。""中的内容是选择项,用空格做分隔。最好不要超过10项,而且每项不要少于2 个字符,否则可能会显示出错。choice是变量名,选择了第几项就把这个变量赋值为几,如果按跳出则赋值为零。一般形式:
menu 200 "a1 a2 a3"
ifcmp 200 1 to1
ifcmp 200 2 to2
ifcmp 200 3 to3
ifcmp 200 0 to0
callback

十六、randrade rade trueade
随机跳转。产生千分之rade的机率,如果命中就跳转到trueade 处。
例:
randrade 300 十分之三
十分之七:


第三节 道具操作

    关于金钱的语句前面都说过了,这里不再赘述。
一、gaingoods type index
获得类型为type序号为index 的道具。

二、usegoods type index erradr
用掉(删除)一个道具,如果没有这个道具则跳转到erradr处。

三、deletegoods type index erradr
删除所有类型为type序号为index 的道具,如果一个也没有则跳转到erradr处。

四、usegoodsnum type index num erradr
用掉(删除)num 个类型为type序号为index 的道具,如果数量不够则跳转到erradr处。

如果需要同时用掉多个类型的道具(如合成),则一般与testgoodsnum搭配使用,例如:

testgoodsnum 7 1 1 a1 a1
none:
message "材料不够!"
callback
a1:
testgoodsnum 8 3 10 a2 a2
goto none
a2:
usegoodsnum 9 5 2 none
usegoodsnum 8 3 10 none
usegoods 7 1
gaingoods 7 2
callback
@ 此段使用 1个7 1 、10个8 3 、 2个9 5 合成一个7 2 。

五、buy "t0 t1 t2"
购买道具,每个道具之间用空格分开,每个道具的格式是:后三位代表序号,不满三位用 0补;前面是类型,1~14。例:
buy "1001 6002 7003 9031 14022 13001 8005"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -