| 
本帖最后由 绝汪 于 2018-8-24 18:10 编辑
x
加入我们,或者,欢迎回来。您需要 登录 才可以下载或查看,没有帐号?注册会员  
 编写者:绝汪
 参考了一些来自国外的资料,
 加了很多中文、用法的注释,应该很容易看懂
 请活用、善用这些方便的事件脚本吧。
 
 这次更新追加了一些新东西,新说明,顺便修改了一些错误……
 例如在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.stopBgmAudioManager.stopBgsAudioManager.stopMeAudioManager.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")//按下键盘上的aInput.isPressed("s")//按下键盘上的sInput.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("你现在并没有处于这个状态"); 
} 
 
 |