加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 绝汪 于 2018-8-24 18:10 编辑
编写者:绝汪
参考了一些来自国外的资料,
加了很多中文、用法的注释,应该很容易看懂
请活用、善用这些方便的事件脚本吧。
这次更新追加了一些新东西,新说明,顺便修改了一些错误……
例如在MV里获取角色的名字需要用_name而不是name。
8.24更新,修复玩家坐标的一处错误,
$gamePlayer和$gameParty长得有点像……打错了
$gameTemp.reserveCommonEvent(id);
$gameTemp.reserveCommonEvent(id);
执行公共事件
参数id是公共事件在数据库里的编号
【这个很有用哦】
$gameMessage.setFaceImage('Actor1',0) $gameMessage.setBackground(1) $gameMessage.setPositionType(1) $gameMessage.add("这里是测试文本")
$gameMessage.setFaceImage('Actor1',0)
$gameMessage.setBackground(1)
$gameMessage.setPositionType(1)
$gameMessage.add("这里是测试文本")
显示文本。
参数分别是头像文件名,排列的第几号。
背景显示方式——0,1,2
显示的位置——0,1,2
文本,注意要写到引号内
choices = []; params = []; $gameMessage.setChoices(choices, 0) choices.push("选项1");choices.push("选项2"); choices.push("选项3");choices.push("选项4"); choices.push("选项5");choices.push("选项6"); params.push()
choices = []; params = [];
$gameMessage.setChoices(choices, 0)
choices.push("选项1");choices.push("选项2");
choices.push("选项3");choices.push("选项4");
choices.push("选项5");choices.push("选项6");
params.push()
生成选项
如果需要更少的选项,只需要删除中间的push就可以了
choices = []; params = [];
$gameMessage.setChoices(choices, 0)
choices.push("选项1");choices.push("选项2");
choices.push("选项3");
params.push()
$gameMessage.setScroll(10,true); $gameMessage.add("Text");
$gameMessage.setScroll(10,true);
$gameMessage.add("Text");
设置滚动的文字,
第一行的参数分别是速度和是否允许快进
$gameScreen.showPicture("1","图片",0,0,0,100,100,255,0)
$gameScreen.showPicture("1","图片",0,0,0,100,100,255,0)
图片显示
$gameScreen.showPicture("编号",文件名,原点,x,y,x放大率,y放大率,透明度,合成方式)
编号:图片的编号,数字越大越优先显示
原点:为0或1,分别对应左上,中心
合成方式:0是普通显示,1是加法显示,2是正片叠底,3是滤色
透明度:0~255
x\y放大率:x轴和y轴的放大倍率
$gameScreen.movePicture(图片编号,原点, x, y,x放大率,y放大率,透明度, 合成方式,执行的帧数)
$gameScreen.movePicture(图片编号,原点, x, y,x放大率,y放大率,透明度, 合成方式,执行的帧数)
移动图片
$gameScreen.erasePicture(id);
$gameScreen.erasePicture(id);
图片消除
id是图片的编号
for (var i=j;i<=k;i++){ $gameScreen.erasePicture(i);}
for (var i=j;i<=k;i++){
$gameScreen.erasePicture(i);}
j~k范围内的图片消除
for (var i=1;i<=20;i++){
$gameScreen.erasePicture(i);}
就是1~20范围内的图片消除
$dataSystem.optSideView = b
$dataSystem.optSideView = b
b为true或者false
效果是开启或关闭横版战斗
$gameSystem.onBeforeSave(); DataManager.saveGame(n)
$gameSystem.onBeforeSave();
DataManager.saveGame(n)
自动存档游戏,n是存档的位置。
例如写1,那么就会存档到第一个位置
进入某个场景,Scene参数需要自己写
Scene如果是Scene_Options,那么就进入设置场景,
如果是Scene_Title,则进入标题场景,
为Scene_Menu打开菜单
为Scene_Map返回地图场景
Scene_Item打开物品场景
Scene_Skill打开技能场景
Scene_Equip打开装备场景
Scene_Status打开状态场景
Scene_Save打开存档场景
Scene_Load打开读档场景
Scene_GameEnd进入游戏结束场景
弹出窗口
n是弹出的内容
alert("弹出")
就会弹出一个写着“弹出”的窗口
获取开关,n是开关的id,
$gameSwitches.setValue(n,Boolean);
$gameSwitches.setValue(n,Boolean);
改变开关,n是开关的id,
Boolean是true或者false
for (var i=j;i<=k;i++){ $gameSwitches.setValue(i,Boolean);}
for (var i=j;i<=k;i++){
$gameSwitches.setValue(i,Boolean);}
改变j~k之间所有的开关
for (var i=1;i<=20;i++){
$gameSwitches.setValue(i,true);}
就是打开1~20的所有开关
获取变量,n是变量的id
$gameVariables.setValue(n,v);
$gameVariables.setValue(n,v);
改变变量,n是变量的id
v是变量的值
for (var i=j;i<=k;i++){ $gameVariables.setValue(i,v);}
for (var i=j;i<=k;i++){
$gameVariables.setValue(i,v);}
循环赋值,给变量j~k赋值为v
for (var i=1;i<=5;i++){
$gameVariables.setValue(i,20);}
就是给1~5的变量都赋值20
$gameVariables.setValue(n,$gameVariables.value(n)+v); $gameVariables.setValue(n,$gameVariables.value(n)-v); $gameVariables.setValue(n,$gameVariables.value(n)*v); $gameVariables.setValue(n,$gameVariables.value(n)/v); $gameVariables.setValue(n,$gameVariables.value(n)%v);
$gameVariables.setValue(n,$gameVariables.value(n)+v);
$gameVariables.setValue(n,$gameVariables.value(n)-v);
$gameVariables.setValue(n,$gameVariables.value(n)*v);
$gameVariables.setValue(n,$gameVariables.value(n)/v);
$gameVariables.setValue(n,$gameVariables.value(n)%v);
对变量进行加减乘除等计算,
$gameSelfSwitches.setValue("",b);
$gameSelfSwitches.setValue("",b);
独立开关的操作,引号里写上变量名,b为true或false
$gameSelfSwitches.setValue("A",true);
就是打开A号独立开关
AudioManager.playBgm({"name":"","volume":90,"pitch":100,"pan":0}) AudioManager.playBgs({"name":"","volume":90,"pitch":100,"pan":0}) AudioManager.playMe({"name":"","volume":90,"pitch":100,"pan":0}) AudioManager.playSe({"name":"","volume":90,"pitch":100,"pan":0})
AudioManager.playBgm({"name":"","volume":90,"pitch":100,"pan":0})
AudioManager.playBgs({"name":"","volume":90,"pitch":100,"pan":0})
AudioManager.playMe({"name":"","volume":90,"pitch":100,"pan":0})
AudioManager.playSe({"name":"","volume":90,"pitch":100,"pan":0})
分别是,播放bgm,播放bgs,播放me,播放se
在name后面的引号内输入文件名
在volume后面的引号内输入音量
在pitch后面的引号内输入音调
在pan后面的引号内输入声道
AudioManager.stopBgm AudioManager.stopBgs AudioManager.stopMe AudioManager.stopSe
AudioManager.stopBgm
AudioManager.stopBgs
AudioManager.stopMe
AudioManager.stopSe
停止播放
AudioManager.fadeOutBgm(n); $gameSystem.saveBgm(); $gameSystem.replayBgm();
AudioManager.fadeOutBgm(n);
$gameSystem.saveBgm();
$gameSystem.replayBgm();
淡出BGM
储存BGM
继续播放BGM
$gameActors.actor(1)._name//名字 $gameActors.actor(1).level//等级 $gameActors.actor(1).hp//生命 $gameActors.actor(1).mhp//最大生命 $gameActors.actor(1).mp//蓝 $gameActors.actor(1).mmp $gameActors.actor(1).atk//攻击力 $gameActors.actor(1).mat//魔攻 $gameActors.actor(1).agi//敏捷 $gameActors.actor(1).def//防御 $gameActors.actor(1).mdf//魔防 $gameActors.actor(1).luk//幸运
$gameActors.actor(1)._name//名字
$gameActors.actor(1).level//等级
$gameActors.actor(1).hp//生命
$gameActors.actor(1).mhp//最大生命
$gameActors.actor(1).mp//蓝
$gameActors.actor(1).mmp
$gameActors.actor(1).atk//攻击力
$gameActors.actor(1).mat//魔攻
$gameActors.actor(1).agi//敏捷
$gameActors.actor(1).def//防御
$gameActors.actor(1).mdf//魔防
$gameActors.actor(1).luk//幸运
获取1号角色属性
$gameActors.actor(id).gainExp(n);
$gameActors.actor(id).gainExp(n);
编号为id的角色获得n点经验值
$gameActors.actor(1).changeLevel($gameActors.actor(1).level+1,true);
$gameActors.actor(1).changeLevel($gameActors.actor(1).level+1,true);
1号角色等级提升1,显示升级信息
第一个参数为角色的编号,第二个为是否显示升级信息,
true或者false
$gameActors.actor(id).learnSkill(n); $gameActors.actor(id).forgetSkill(n);
$gameActors.actor(id).learnSkill(n);
$gameActors.actor(id).forgetSkill(n);
学习、遗忘技能,id为角色编号,n为技能编号
$gameActors.actor(id).addParam(n,v);
$gameActors.actor(id).addParam(n,v);
增减能力值
$gameActors.actor(1).addParam(0,100);
1号角色最大hp增加100
$gameActors.actor(1).addParam(1,100);
1号角色最大mp增加100
$gameActors.actor(1).addParam(2,100);
1号角色攻击力增加100
$gameActors.actor(1).addParam(3,100);
1号角色防御力增加100
$gameActors.actor(1).addParam(4,100);
1号角色魔攻增加100
$gameActors.actor(1).addParam(5,100);
1号角色魔防增加100
$gameActors.actor(1).addParam(6,100);
1号角色敏捷增加100
$gameActors.actor(1).addParam(7,100);
1号角色幸运增加100
$gameActors.actor(id).gainHp(n); $gameActors.actor(id).gainMp(n); $gameActors.actor(id).gainTp(n) $gameActors.actor(id).addState(n); $gameActors.actor(id).removeState(n);
$gameActors.actor(id).gainHp(n);
$gameActors.actor(id).gainMp(n);
$gameActors.actor(id).gainTp(n)
$gameActors.actor(id).addState(n);
$gameActors.actor(id).removeState(n);
增减HP
增减MP
增减TP
增加状态
去除状态
$gameActors.actor(id).recoverAll();
$gameActors.actor(id).recoverAll();
编号为id的角色全恢复
for (var i=1;i<=5;i++){ $gameActors.actor(i).recoverAll();}
for (var i=1;i<=5;i++){
$gameActors.actor(i).recoverAll();}
1~5号角色全恢复
$gameTroop.members()[i].hp//生命 $gameTroop.members()[i].mp//MP $gameTroop.members()[i].tp//TP $gameTroop.members()[i].atk//攻击力 $gameTroop.members()[i].def//防御力 $gameTroop.members()[i].gainHp(n);//增减生命 $gameTroop.members()[i].gainMp(n);//增减MP $gameTroop.members()[i].gainTp(n);//增减TP $gameTroop.members()[i].addState(n);//增加状态 $gameTroop.members()[i].removeState(n);//去除状态 $gameTroop.members()[i].recoverAll();//完全恢复 $gameTroop.members()[i].transform(n);//更换敌人
$gameTroop.members()[i].hp//生命
$gameTroop.members()[i].mp//MP
$gameTroop.members()[i].tp//TP
$gameTroop.members()[i].atk//攻击力
$gameTroop.members()[i].def//防御力
$gameTroop.members()[i].gainHp(n);//增减生命
$gameTroop.members()[i].gainMp(n);//增减MP
$gameTroop.members()[i].gainTp(n);//增减TP
$gameTroop.members()[i].addState(n);//增加状态
$gameTroop.members()[i].removeState(n);//去除状态
$gameTroop.members()[i].recoverAll();//完全恢复
$gameTroop.members()[i].transform(n);//更换敌人
$gameTroop.members()[i].agi//敏捷 $gameTroop.members()[i].mdf//魔防 $gameTroop.members()[i].mat//魔攻 $gameTroop.members()[i].luk//幸运
$gameTroop.members()[i].agi//敏捷
$gameTroop.members()[i].mdf//魔防
$gameTroop.members()[i].mat//魔攻
$gameTroop.members()[i].luk//幸运
战斗中敌人的各项能力、功能,
参数i写上敌人在战斗中的编号,
从0开始
n是写上增减的具体数值,如果是负数就是减少。
$gameTroop.members()[0].gainhp(-100);
就是第一号敌人减少100HP
$gameActors.actor(id).changeEquip(n,item);
$gameActors.actor(id).changeEquip(n,item);
变更装备
id对应角色编号
n变量可以为0,1,2,3,4,分别对应武器、盾牌等等——
item对应数据库的装备编号
$gameActors.actor(1).changeEquip(0,1);
一号角色的武器变为一号武器
$gameParty.hasItem($dataItems[n]); $gameActors.actor(id).hasWeapon($dataWeapons[n]); $gameActors.actor(id).hasArmor($dataArmors[n]);
$gameParty.hasItem($dataItems[n]);
$gameActors.actor(id).hasWeapon($dataWeapons[n]);
$gameActors.actor(id).hasArmor($dataArmors[n]);
获取布尔值,是否有这个物品、武器、防具。
id上写需要判断角色的编号,n写数据库中物品的编号
$gameParty.numItems($dataItems[5])
$gameParty.numItems($dataItems[5])
获取5号物品的数量
如果要获取5号武器的数量那就是这么写
$gameParty.numItems($dataWeapons[5])
$gameParty.numItems($dataWeapons[5])
获取5号物品的名称
如果要获取武器、防具等
只需要把上面的Items改成Weapons或Armors
$dataWeapons[5].name
获取5号武器的攻击力
$gameMessage.setNumberInput(v,b);
$gameMessage.setNumberInput(v,b);
输入数字
参数v是接收输入的变量
b是输入几位数
$gameMessage.setItemChoice(v,b);
$gameMessage.setItemChoice(v,b);
物品选择
参数v是接收输入的变量
b是物品的类型——0,1,2,3
$gameParty.gainGold(100); $gameParty.loseGold(100);
$gameParty.gainGold(100);
$gameParty.loseGold(100);
增加100金钱
减少100金钱
$gameActors.actor(id).setName(""); $gameActors.actor(id).setNickname(""); $gameActors.actor(id).setProfile("");
$gameActors.actor(id).setName("");
$gameActors.actor(id).setNickname("");
$gameActors.actor(id).setProfile("");
改变名称
改变称号
改变简介
$gameActors.actor(id).changeClass(n,true)
$gameActors.actor(id).changeClass(n,true)
改变职业
id为角色的编号
n为职业的编号
b为true或false,是否保留等级
$gamePlayer.reserveTransfer(mapId, x, y,direction,fade);
$gamePlayer.reserveTransfer(mapId, x, y,direction,fade);
转移场景
(地图编号,x坐标,y坐标,朝向(为2,4,6,8),淡出淡入(为0,1,2))
$gameMap.event(id).setPosition(x,y)
$gameMap.event(id).setPosition(x,y)
移动事件位置(事件左上角编号,x,y)
若只是要指定本事件,
则在id处写上this.eventId()
$gameMap.event(id).x $gameMap.event(id).y $gameMap.event(id).direction
$gameMap.event(id).x
$gameMap.event(id).y
$gameMap.event(id).direction
获取事件的x,y,朝向(2,4,6,8)
若只是要指定本事件,
则在id处写上this.eventId()
消除事件
若只是要指定本事件,
则在id处写上this.eventId()
$gameMap.event(id,page).start();
$gameMap.event(id,page).start();
执行指定事件的指定事件页
$gamePlayer.x $gamePlayer.y $gamePlayer.direction
$gamePlayer.x
$gamePlayer.y
$gamePlayer.direction
获取玩家的x,y,朝向(2,4,6,8)
$gameParty.addActor(id); $gameParty.removeActor(id);
$gameParty.addActor(id);
$gameParty.removeActor(id);
增减队伍角色
id代表的是角色编号
$gameActors.actor(id).setCharacterImage(name,index); $gameActors.actor(id).setFaceImage(name,index); $gameActors.actor(id).setBattlerImage(name);
$gameActors.actor(id).setCharacterImage(name,index);
$gameActors.actor(id).setFaceImage(name,index);
$gameActors.actor(id).setBattlerImage(name);
更改角色的行走图
更改角色的头像
更改角色的战斗图
id是角色的编号,name是文件名,index是图片中的排序
$gameActors.actor(1).setCharacterImage("jk",1);
就是把1号的行走图变为jk图片的第一行第一列
$gameMap.vehicle(id).setLocation(mapid,x,y);
$gameMap.vehicle(id).setLocation(mapid,x,y);
在地图的某处生成一个交通工具
id是交通工具的id,0是小船,1是大船,2是飞艇
mapid是指地图的id
x,y是指位置
$gamePlayer.getOnOffVehicle();
$gamePlayer.getOnOffVehicle();
载具乘降
BattleManager.setup(id,b,b2); $gamePlayer.makeEncounterCount(); SceneManager.push(Scene_Battle);
BattleManager.setup(id,b,b2);
$gamePlayer.makeEncounterCount();
SceneManager.push(Scene_Battle);
战斗执行
第一行中输入三个参数
id为敌人的队伍
b为是否允许逃跑
b2为是否允许失败
$gameMap.terrainTag(x,y);
$gameMap.terrainTag(x,y);
获取坐标为xy位置上的地形标志
获取坐标为xy位置上的事件ID
【这样的话就可以更简便的判断事件目前所在的位置了】
获取坐标为xy位置第z层(0,1,2)上的图块ID
获取你在这个位置的图块,除了xy以外还需要判定
所在的图层z
$gameMap.isPassable(x,y,d)
$gameMap.isPassable(x,y,d)
获取在xy坐标上的图块通过d方向是否可以通过
d为2,4,6,8,对应上下左右
返回的是true或者false
//在移动路线中使用脚本 this.requestBalloon(1);
//在移动路线中使用脚本
this.requestBalloon(1);
显示1号表情气泡,序号是根据素材的排列而定
var name = "文件名" var ext = this.videoFileExt(); Graphics.playVideo('movies/' + name + ext); this.setWaitMode('video');
var name = "文件名"
var ext = this.videoFileExt();
Graphics.playVideo('movies/' + name + ext);
this.setWaitMode('video');
播放影片
第一行的引号内写入文件名
等待
time是等待的时间
TouchInput.x
TouchInput.y
获取鼠标点击时的X
获取鼠标点击时的Y
【如果是安卓那就是触屏】
TouchInput._onMove(0,0); TouchInput.update;
TouchInput._onMove(0,0);
TouchInput.update;
强制改变点击的值,然后刷新。
点击一次后可以执行这个代码让他的值归零,
//可使用if()语句 //或是写在事件条件分歧-脚本里 TouchInput.isTriggered()
//可使用if()语句
//或是写在事件条件分歧-脚本里
TouchInput.isTriggered()
判断是是否点击。
TouchInput.isPressed()//是否为按下状态 Input.isPressed("a")//按下键盘上的a Input.isPressed("s")//按下键盘上的s Input.isPressed("pageup")//上一页键 Input.isPressed("pagedown")//下一页键
TouchInput.isPressed()//是否为按下状态 Input.isPressed("a")//按下键盘上的a
Input.isPressed("s")//按下键盘上的s
Input.isPressed("pageup")//上一页键
Input.isPressed("pagedown")//下一页键
$gameTemp.setDestination(8,10);
$gameTemp.setDestination(8,10);
让主角移动到某个位置。
$dataWeapons[$gameActors.actor(1).weapons()[0].id].wtypeId
$dataWeapons[$gameActors.actor(1).weapons()[0].id].wtypeId
获取1号角色所使用的武器类型
$gameActors.actor(1).weapons()[0].id
$gameActors.actor(1).weapons()[0].id
获取1号角色所使用的武器ID
$gameActors.actor(1).isStateAffected(1)
$gameActors.actor(1).isStateAffected(1)
1号角色是否处于1号状态,可配合if语句
if ($gameActors.actor(1).isStateAffected(1)) { alert("你现在处于这个状态"); } else { alert("你现在并没有处于这个状态"); }
if ($gameActors.actor(1).isStateAffected(1))
{
alert("你现在处于这个状态");
}
else {
alert("你现在并没有处于这个状态");
}
|