赞 | 97 |
VIP | 0 |
好人卡 | 1 |
积分 | 76 |
经验 | 10334 |
最后登录 | 2024-6-22 |
在线时间 | 1227 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 7592
- 在线时间
- 1227 小时
- 注册时间
- 2008-12-14
- 帖子
- 555
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 if216 于 2020-6-15 01:12 编辑
繁体转简体,方便按ctrl+f 搜索。如果使用方面有什么问题欢迎讨论。非常好的脚本调用手册,要用脚本调用指令的,可以做为手册查一查。
转自:http://www.chimakier.com/【rm教學-】rmmv與對應腳本指令/
这边举简单的两个例子
1. 在NPC自主移动时,想要让他「显示气球图示」,但在设定移动路线中并没有气球图示这个选项时该怎么办?
这时候你可以在脚本输入下列指令,就可以在非剧本的事件中,让事件自动显示图片了
var e =$gameMap.event(this._eventId);e.requestBalloon(1);
2.当我只想执行某个事件中特定页面的功能该怎么办?(2k3 有此功能,但mv 内建无此功能)
这时候只要在脚本中输入下面的code , 就会执行特定事件的某一页事件内容(事件条件要符合才会执行)
$gameMap.event(EventID, EventPage).start();
3.还有哪里可以用得到?
我们打开f8 debug 视窗时,下列的指令都可以直接在f8视窗使用,也会立即生效。
RMMV事件对应指令
事件指令 对应脚本语法
显示文字 $gameMessage.setFaceImage(‘Actor1’,0)
$gameMessage.setBackground(1)
$gameMessage.setPositionType(1)
$gameMessage.add(“Show Text Script Call”)
显示选项 choices = []; params = [];
$gameMessage.setChoices(choices, 0)
choices.push(“I love you1”);choices.push(“I love you2”);
choices.push(“I love you3”);choices.push(“I love you4”);
choices.push(“I love you5”);choices.push(“I love you6”);
choices.push(“I love you7”);choices.push(“I love you8”);
params.push()
数字输入 $gameMessage.setNumberInput(var, digits);
选择项目-道具类型 $gameMessage.setItemChoice(var, n);
滚动文字讯息 $gameMessage.setScroll(scrolling_speed, no_fast_forward);
$gameMessage.add(“Text”);
变更金币 $gameParty.gainGold(n);
变更武器 $gameParty.gainItem($dataWeapons[weaponId], n, true/false *note);
变更装备 $gameParty.gainItem($dataArmorsweaponId], n, true/false *note);
变更队伍 $gameParty.addActor(n);
$gameParty.removeActor(n);
变更开关 $gameSwitches.setValue(num, true/false);
变更变量 $gameVariables.setValue(var, value);
变更自开关 $gameSelfSwitches.setValue(key, true/false);
变更计时器 $gameTimer.start(time); $gameTimer.stop();
条件分期 if (code) { stuff } else { stuff }
循环 while (;;) { stuff }
断开循环 break;
结束事件 $gameInterpreter._index = $gameInterpreter._list.length;
一般(公用)事件 $gameTemp.reserveCommonEvent(n);
变更HP $gameActors.actor(actorId).gainHp(n)
变更MP $gameActors.actor(actorId).gainMp(n)
变更TP $gameActors.actor(actorId).gainTp(n)
变更状态 $gameActors.actor(actorId).addState(n);
$gameActors.actor(actorId).removeState(n);
恢复全体 for (var j = 0; j < $gameActors.length; j++) { $gameActors.actor(j).recoverAll(); };
变更经验 $gameActors.actor(actorId).gainExp(n);
变更等级 $gameActors.actor(actorId).changeLevel(n, true/false);
变更数值 $gameActors.actor(actorId).addParam(paramId, n);
变更数值 $gameActors.actor(actorId).learnSkill(n);
$gameActors.actor(actorId).forgetSkill(n);
变更装备 $gameActors.actor(actorId).changeEquip(slotId, item);
变更名称 $gameActors.actor(actorId).setName(n)
变更职业 $gameActors.actor(actorId).changeClass(n, keepExp)
变更名称 $gameActors.actor(actorId).setNickname(n)
变更简介 $gameActors.actor(actorId).setProfile(n)
转移玩家场景 $gamePlayer.reserveTransfer(mapId, x, y, direction, fade type);
设定交通工具 $gameMap.vehicle(vehicleId).setLocation(mapId, x, y);
设定事件位置 $gameMap.event(eventID).setPosition(x, y)
滚动画面 $gameMap.startScroll(direction, distance, speed);
设定交通工具可否搭乘 $gamePlayer.getOnOffVehicle();
等待 $gameInterpreter.wait(frames);
变更透明度 $gamePlayer.setTransparent(flag)
跟随者显示 $gamePlayer.showFollowers();
$gamePlayer.hideFollowers();
集合跟随者 $gamePlayer.gatherFollowers();
this.setWaitMode(‘gather’);
显示气球图示 character.requestBalloon(id);
this.setWaitMode(‘balloon’);
消除事件 $gameMap.eraseEvent(this._eventId);
淡出/淡入画面 $gameScreen.startFadeOut(fade_speed);
$gameScreen.startFadeIn(fade_speed);
着色画面 $gameScreen.startTint([red,green,blue,grey], duration);
闪光画面 $gameScreen.startTint([red,green,blue,intensity], duration);
震动画面 $gameScreen.startShake(power, speed, duration);
天气效果 $gameScreen.changeWeather(“weather”, power, duration);
显示图片 $gameScreen.showPicture(pictureId, name, origin, x, y,scaleX, scaleY, opacity, blendMode)
移动图片 $gameScreen.movePicture(pictureId, origin, x, y, scaleX,scaleY, opacity, blendMode, duration)
混合模式 $gameScreen._pictures[id]._blendMode = #
旋转图片 $gameScreen.rotatePicture(pictureId, speed);
着色图片 $gameScreen.tintPicture(pictureId, tone, duration);
消除图片 $gameScreen.erasePicture(pictureId);
播放BGM AudioManager.playBgm( refer to sound object above );
#声音物件格式: { name: filename, volume: n, pitch: n, pan: n }
淡出BGM AudioManager.fadeOutBgm(n);
储存BGM $gameSystem.saveBgm();
继续播放BGM $gameSystem.replayBgm();
播放BGM AudioManager.playBgs( refer to sound object above );
淡出BGS AudioManager.fadeOutBgs(n);
播放ME AudioManager.playMe( refer to sound object above );
播放SE AudioManager.playSe( refer to sound object above );
暂停se AudioManager.stopSe();
播放动画 Graphics.playVideo(path/name.ext);
战斗处理 BattleManager.setup(troopId, true/false, true/false);
$gamePlayer.makeEncounterCount();
SceneManager.push(Scene_Battle);
商店处理 SceneManager.push(Scene_Shop);
名称输入处理 SceneManager.push(Scene_Name);
SceneManager.prepareNextScene(actorId, name length);
开启选单 SceneManager.push(Scene_Menu);
开以记录/读取录选单 SceneManager.push(Scene_Save);
SceneManager.push(Scene_Load);
游戏结束/回标题画面 SceneManager.goto(Scene_Gameover);
SceneManager.goto(Scene_Title);
执行地图特定事件页面 $gameMap.event(EventID, EventPage).start();
更换地图显示名称 $gameMap.enableNameDisplay();
$gameMap.disableNameDisplay();
更换图快设置 $gameMap.changeTileset(n);
更换战斗背景 $gameMap.changeBattleback(filename, filename);
更换远景 $gameMap.changeParallax(name, loopX, loopY, speed x, speed y);
获得位置信息 $gameMap.terrainTag(x, y);
$gameMap.eventIdXy(x, y);
$gameMap.tileId(x, y, layer);
获得地形区块ID $gameMap.regionId(x, y);
更换战斗音乐/胜利ME $gameSystem.setBattleBgm(name);
$gameSystem.setVictoryMe(name);
更换战败音效 $gameSystem.setDefeatMe(name);
更换交通工具BGM $gameMap.vehicle(vehicleId).setBgm(name);
修改存档功能访问 $gameSystem.disableSave();
$gameSystem.enableSave();
修改菜单功能访问 $gameSystem.disableMenu();
$gameSystem.enableMenu();
修改系统访问 $gameSystem.disableEncounter();
$gameSystem.enableEncounter();
修改阵型功能访问 $gameSystem.disableFormation();
$gameSystem.enableFormation();
修改视窗颜色 $gameSystem.setWindowTone(tone); (red, green, blue, gray);
修改角色图像 $gameActors.actor(actorId).setCharacterImage(name, index);
$gameActors.actor(actorId).setFaceImage(name, index):
$gameActors.actor(actorId).setBattlerImage(name);
修改交通工具图像 $gameMap.vehicle(vehicleId).setImage(name, index);
更改敌人HP/MP/TP $gameTroop.members()[enemyIndex].gainHp(n);
$gameTroop.members()[enemyIndex].gainMp(n);
$gameTroop.members()[enemyIndex].gainTp(n);
更改敌人状态 $gameTroop.members()[enemyIndex].addState(n);
$gameTroop.members()[enemyIndex].removeState(n);
敌人恢复 $gameTroop.members()[enemyIndex].recoverAll();
更改出现敌人 $gameTroop.members()[enemyIndex].appear();
敌人变形(更换敌人) $gameTroop.members()[enemyIndex].transform(n);
显示战斗动画 $gameTroop.members()[enemyIndex].startAnimation(animationId, true/false, delayN);
我方强制动作 $gameParty.members()[index].forceAction(skillId, targetIndex);
BattleManager.forceAction($gameParty.members()[index]);
敌人强制动作 $gameTroop.members()[index].forceAction(skillId, targetIndex);
BattleManager.forceAction($gameTroop.members()[index]);
中止战斗 BattleManager.abort();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
对应事件
| 指令
| 取得变量
n为变量编号
| $gameVariables.value(n);
| 变量设定
n为变量编号
| $gameVariables.setValue(n);
| 取得开关值
| $gameSwitches.value(n);
| 设定开关值
| $gameSwitches.setValue(n);
| 显示log
(测试模式中按F8)
| console.log(value);
| 消除执行中的动画(对象为事件时)
对象为该事件时, var eventId = this._eventId
| var eventId = 1;
SceneManager._scene._spriteset._characterSprites.forEach(function(sprite) {
if (sprite._character instanceof Game_Event && sprite._character.eventId() === eventId) {
sprite._animationSprites.forEach(function(animation) {
animation.remove();
});
}
});
| 消除执行中的对话(对象为玩家时)
| SceneManager._scene._spriteset._characterSprites.forEach(function(sprite) {
if (sprite._character instanceof Game_Player) {
sprite._animationSprites.forEach(function(animation) {
animation.remove();
});
}
})
| 播放游标移动音效
| SoundManager.playCursor();
| 播放决定音效
| SoundManager.playOk();
| 播放取消音效
| SoundManager.playCancel();
| 播放「八八」音效...
#不太知道怎说明XDD,听了就知道
| SoundManager.playBuzzer();
| 播放装备道具音效
| SoundManager.playEquip();
| 播放记录音效
| SoundManager.playSave();
| 播放读取音效
| SoundManager.playLoad();
| 播放战斗开始音乐音效
| SoundManager.playBattleStart();
| 播放逃走音效
| SoundManager.playEscape();
| 播放敌人攻击音效
| SoundManager.playEnemyAttack();
| 播放敌人受伤音效
| SoundManager.playEnemyDamage();
| 播放敌人死亡音效
| SoundManager.playEnemyCollapse();
| 播放BOSS1死亡音效
| SoundManager.playBossCollapse1();
| 播放BOSS2死亡音效
| SoundManager.playBossCollapse2();
| 播放我方受伤音效
| SoundManager.playActorDamage();
| 播放我方死亡音效
| SoundManager.playActorCollapse();
| 播放恢复音效
| SoundManager.playRecovery();
| 播放攻击miss音效
| SoundManager.playMiss();
| 播放回避音效
| SoundManager.playEvasion();
| 播放魔法回避音效
| SoundManager.playMagicEvasion();
| 播放魔法反射音效
| SoundManager.playReflection();
| 播放商店音效
| SoundManager.playShop();
| 播放使用道具音效
| SoundManager.playUseItem();
| 播放使用技能音效
| SoundManager.playUseSkill();
| 关闭目前的scene
| SceneManager.terminate();
| 关闭所有scene
| SceneManager.exit();
| 进入指定的Scene (不堆栈, 无法用pop呼叫上一个画面) scene 列表如下 Scene_Shop : 商店画面 Scene_Name : 名字输入画面 Scene_Menu : 主Menu画面 Scene_Save : save画面 Scene_Load : load画面 Scene_Options : 选项画面 Scene_Gameover : game over画面 Scene_Title : 开头画面
| SceneManager.goto(Scene_Gameover);
| 进入指定的Scene (堆栈, 可用pop呼叫上一个画面)EX: 从Scene_Map使用此指令到Menu画面后, 在使用 SceneManager.pop()可以回到Scene_Map
| SceneManager.push(Scene_Shop);
| 回到上一个画面
| SceneManager.pop();
| 设定角色TP
| $gameActors.actor(n).setTp(m);
| 增加角色TP
| $gameActors.actor(n).gainTp(m);
| 记忆目前的队伍成员
| $gameParty._lastActors = $gameParty._actors.clone();
| 恢复目前的队伍成员
| $gameParty._actors = $gameParty._lastActors;
$gamePlayer.refresh();
$gameMap.requestRefresh();
| 移除所有队伍成员
| $gameParty._actors = [];
$gamePlayer.refresh();
$gameMap.requestRefresh();
| 移除除了队长的队伍成员
| $gameParty._actors.splice(1);
$gamePlayer.refresh();
$gameMap.requestRefresh();
| 设定是否可以战败 (战斗开始后开始设定)
| BattleManager._canLose = true;
| 关闭战斗结束后回地图的BGM
| BattleManager._mapBgm = null;
| 关闭战斗结束后回地图的BGS
| BattleManager._mapBgs = null;
| 追加战斗讯息
| if(BattleManager._logWindow !== null){
BattleManager._logWindow.push('popBaseLine'); //移除战斗讯息。
BattleManager._logWindow.push('pushBaseLine'); // 显示已显示的讯息
BattleManager._logWindow.push('addText', 'aaa'); // 追加一行讯息
}
BattleManager._logWindow.addText('aaa'); // 单纯追加讯息也可使用此指令
| 移除战斗讯息
| if(BattleManager._logWindow !== null){
BattleManager._logWindow.clear();
}
| 判定第一个队员id 是否 = n
| $gameParty.members()[0].actorId() === n
| 判定现在的Scene是否为特定Scene
| SceneManager._scene.constructor === Scene_Menu
| 判定执行环境是否为手机 系统判定
| Utils.isMobileDevice()
| windows 系统判定
| Utils.isNwjs() && process.platform === 'win32'
| 判定PC的浏览器环境
| Utils.isNwjs()
| 判定是否为MAC环境
| Utils.isNwjs() && process.platform === 'darwin'
| 使用在个别事件上, 此事件将往地图特定ID事件移动
| this.moveTowardCharacter($gameMap.event(id));
| 使用在个别事件上, 此事件将远离地图特定ID事件
| this.moveAwayFromCharacter($gameMap.event(id));
| 使用在个别事件上, 此事件将面向地图特定ID事件
| this.turnTowardCharacter($gameMap.event(id));
| 使用在个别事件上, 此事件将背对地图特定ID事件
| this.turnAwayFromCharacter($gameMap.event(id));
| 使用在个别事件上, 此事件将往地图特定坐标移动 m => 设定的x坐标, n => 设定的y坐标
| this.moveTowardCharacter({x:m, y:n});
| 使用在个别事件上, 此事件将远离地图特定坐标
| this.moveAwayFromCharacter({x:m, y:n});
| 使用在个别事件上, 此事件将面向地图特定坐标
| this.turnTowardCharacter({x:m, y:n});
| 使用在个别事件上, 此事件将背对地图特定坐标
| this.turnAwayFromCharacter({x:m, y:n});
| 将特定编号的图片 替换成 其他图片
fileName =>新的图片名称, 不需副档名
| $gameScreen.picture(id)._name = 'fileName';
| 将特定编号的图片 替换成 其他图片
此方法可以避免换图时图片还没load完的闪烁
| var pictName = 'fileName';
var bitmap = ImageManager.loadPicture(pictName);
bitmap.addLoadListener(function() {
$gameScreen.picture(id)._name = pictName;
});
| 将玩家瞬移到相同地图的特定坐标
| $gamePlayer.reserveTransfer($gameMap.mapId(), X, Y);
$gamePlayer.performTransfer();
| 初始化所有自开关
| $gameSelfSwitches.clear();
| 初始化所有道具
| $gameParty.initAllItems();
| 取得队伍跟随者的X坐标, N为第几位成员
| $gamePlayer.followers().follower(n).x;
| 取得队伍跟随者的Y坐标, N为第几位成员
| $gamePlayer.followers().follower(n).y;
| 将队伍指定成员m 替换成 角色id = n 的角色
| if ($gameParty._actors.contains(n)) {
var oldIndex = $gameParty._actors.indexOf(n);
var oldActorId = $gameParty._actors[m];
$gameParty._actors[oldIndex] = oldActorId;
}
$gameParty._actors[m] = n;
$gamePlayer.refresh();
$gameMap.requestRefresh();
| 取得角色id = n 的目前武器ID , m为装备的index
| $gameActors.actor(n).weapons()[m].id;
| 取得角色id = n 的目前防具ID , m为装备的index
| $gameActors.actor(n).armors()[m].id;
| 让队伍中的N号成员显示泡泡图示id m
| $gamePlayer.followers().follower(n).requestBalloon(m);
| 角色ID n 习得所有职业的技能
| var actor = $gameActors.actor(n);
actor.currentClass().learnings.forEach(function(learning) {
if (learning.level <= actor._level) {
actor.learnSkill(learning.skillId);
}
});
| 角色ID N习得数据库中的敌人ID M的所有技能
| var actor = $gameActors.actor(n);
var enemy = $dataEnemies[m];
enemy.actions.forEach(function(action) {
actor.learnSkill(action.skillId);
});
| 取得此事件最初的X坐标
| this.character(n).event().x;
| 取得此事件最初的Y坐标
| this.character(n).event().y;
| 取得最后使用的道具ID
| $gameParty.lastItem().id;
| 判定特定状态ID M 对于角色N是否有效果
| $gameParty.members()[n].isStateAffected(m);
| undefined
| undefined
| [size=10.5000pt]
实用Function 篇[size=10.5000pt]
[size=10.5000pt]
物件篇对应事件
| 指令
| 角色战斗图片名称
| $gameActors.actor(n)._battlerName (n:角色id)
| 角色图片中的index
| $gameActors.actor(n)._characterIndex
| 角色图片名称
| $gameActors.actor(n)._characterName
| 职业ID
| $gameActors.actor(n)._classId
| N号角色的第N2装备格的类别 weapon:武器
armor :防具
| $gameActors.actor(n)._equips[n2-1]._dataClass
| N号角色的第N2装备格的道具ID
| $gameActors.actor(n)._equips[n2-1]._itemId
| N号角色在N2职业累计经验值
| $gameActors.actor(n)._exp[n2]
| 角色脸图名称
| $gameActors.actor(n)._faceName
| 角色名称
| $gameActors.actor(n)._name
| 角色暱称
| $gameActors.actor(n)._nickname
| 角色简介
| $gameActors.actor(n)._profile
| 角色敏捷
| $gameActors.actor(n).agi
| 角色atk
| $gameActors.actor(n).atk
| 角色会心一击闪躲率
| $gameActors.actor(n).cev
| 角色反击机率
| $gameActors.actor(n).cnt
| 角色会心攻击机率
| $gameActors.actor(n).cri
| 角色当前经验值
| $gameActors.actor(n).currentExp()
| 角色防御力
| $gameActors.actor(n).def
| 角色闪躲率
| $gameActors.actor(n).eva
| 角色经验获得倍率
| $gameActors.actor(n).exr
| 地板类伤害倍率
| $gameActors.actor(n).fdr
| 角色防御倍率
| $gameActors.actor(n).grd
| 角色命中率
| $gameActors.actor(n).hit
| 角色hp
| $gameActors.actor(n).hp
| 角色hp再生率
| $gameActors.actor(n).hrg
| 角色lv
| $gameActors.actor(n).level
| 角色幸运度
| $gameActors.actor(n).luk
| 角色魔法攻击莉
| $gameActors.actor(n).mat
| 角色MP消耗率
| $gameActors.actor(n).mcr
| 角色魔法防御力
| $gameActors.actor(n).mdf
| 角色魔法伤害率(减轻)
| $gameActors.actor(n).mdr
| 角色魔法回避率
| $gameActors.actor(n).mev
| 角色最大HP
| $gameActors.actor(n).mhp
| 角色最大MP
| $gameActors.actor(n).mmp
| 角色MP
| $gameActors.actor(n).mp
| 角色魔法反射率
| $gameActors.actor(n).mrf
| 角色MP再生率
| $gameActors.actor(n).mrg
| 角色至下个等级的累计经验值
| $gameActors.actor(n).nextLevelExp()
| 角色至下个等级的经验值
| $gameActors.actor(n).nextRequiredExp()
| 角色物理伤害率
| $gameActors.actor(n).pdr
| 薬の知识
| $gameActors.actor(n).pha
| 角色恢复效果率
| $gameActors.actor(n).rec
| 角色TP累积率
| $gameActors.actor(n).tcr
| 角色仇恨度(高的容易被怪物瞄准)
| $gameActors.actor(n).tgr
| 角色TP
| $gameActors.actor(n).tp
| 角色TP恢复率
| $gameActors.actor(n).trg
| 角色名字
| $gameActors.actor(n).name()
| 角色在数据库中的id
| $gameActors.actor(n).actorId()
| 画面天气类型
| $gameScreen._weatherType
| 画面天气强度
| $gameScreen._weatherPower
| 图片资料
| $gameScreen.picture(id) id : 图片编号
| 图片显示数量的最大值
| $gameScreen.maxPictures()
| 特定id的图片名称
| $gameScreen.picture(id)._name
| 图片的原点,
| $gameScreen.picture(id)._origin
| 图片坐标x,
| $gameScreen.picture(id)._x
| 图片坐标y
| $gameScreen.picture(id)._y
| 图片宽度倍率
| $gameScreen.picture(id)._scaleX
| 图片高度倍率
| $gameScreen.picture(id)._scaleY
| 图片不透明度
| $gameScreen.picture(id)._opacity
| 图片显示模式 (0 or 1 or2)
| $gameScreen.picture(id)._blendMode
| 图片角度
| $gameScreen.picture(id)._angle
| 目前地图id
| $gameMap._mapId
| 目前地图使用的图块
| $gameMap._tilesetId
| 目前左上角在地图中的X坐标
| $gameMap._displayX
| 目前左上角在地图中的Y坐标
| $gameMap._displayY
| 是否有事件正在执行中(不含并列处理事件)
| $gameMap.isEventRunning()
| 地图的宽度
| $gameMap.width()
| 地图的高度
| $gameMap.height()
| 地图的横向循环的判定
| $gameMap.isLoopHorizontal()
| 地图的纵向循环的判定
| $gameMap.isLoopVertical()
| 地图是否禁止冲刺
| $gameMap.isDashDisabled()
| 地图遇敌步数
| $gameMap.encounterStep()
| 区域地图判定(影响战斗背景)
| $gameMap.isOverworld()
| 地图每个画面所占格子格数(横)
| $gameMap.screenTileX()
| 地图每个画面所占格子格数(直)
| $gameMap.screenTileY()
| 回传用于地图循环的X距离
| $gameMap.deltaX(x1, x2)
| 回传用于地图循环的Y距离
| $gameMap.deltaY(y1, y2)
| 回传用于地图循环的XY距离
| $gameMap.distance(x1, y1, x2, y2)
| 画面X坐标切换成游戏地图X坐标
| $gameMap.canvasToMapX(x)
| 画面Y坐标切换成游戏地图Y坐标
| $gameMap.canvasToMapX(y)
| 取得地图xy 坐标的事件ID
| $gameMap.eventIdXy(x, y)
| 指定坐标是否在目前的画面中
| $gameMap.isValid(x, y)
| 指定方向d 在座标(x,y) 是否可以通行
d值
8:上
2:下
6:右
4:左
| $gameMap.isPassable(x, y, d)
| 小型船在指定坐标的是否可以通行
| $gameMap.isBoatPassable(x, y)
| 大型船在指定坐标的是否可以通行
| $gameMap.isShipPassable(x, y)
| 飞型船在指定坐标的是否可以通行
| $gameMap.isAirshipLandOk(x, y)
| 指定坐标是否为梯子
| $gameMap.isLadder(x, y)
| 指定坐标是否为草丛
| $gameMap.isBush(x, y)
| 指定坐标的计步器判定
| $gameMap.isCounter(x, y)
| 指定坐标是否为伤害型地板
| $gameMap.isDamageFloor(x, y)
| 取得指定坐标的tag
| $gameMap.terrainTag(x, y)
| 取得指定坐标的region ID
| $gameMap.regionId(x, y)
| スクロール中判定
| $gameMap.isScrolling()
| 指定ID事件目前面向方向
| $gameMap.events()[id]._direction
| 指定ID事件目前在地图上的X坐标
| $gameMap.events()[id]._X
| 指定ID事件目前在地图上的Y坐标
| $gameMap.events()[id]._Y
| 指定ID事件目前在画面上的X坐标
| $gameMap.events()[id].screenX()
| 指定ID事件目前在画面上的X坐标
| $gameMap.events()[id].screenY()
| 指定ID事件目前的移动速率
| $gameMap.events()[id]._moveSpeed
| 指定ID事件目前的移动频率
| $gameMap.events()[id]._moveFrequency
| 指定ID事件目前的不透明度
| $gameMap.events()[id]._opacity
| 指定ID事件目前的图片与画面的合成方式
| $gameMap.events()[id]._blendMode
| 指定ID事件目前的图片所在的 地图图块ID
| $gameMap.events()[id]._tileId
| 指定ID事件目前使用的图片名称
| $gameMap.events()[id]._characterName
| 指定ID事件目前使用的图片index
| $gameMap.events()[id]._characterIndex
| 指定ID事件的图片是否为 「!」开头的图片
| $gameMap.events()[id].isObjectCharacter()
| 指定ID事件的优先度 (高于玩家 / 低于玩家 / 与玩家同层)
| $gameMap.events()[id]._priorityType
| 指定ID事件是否有走路动画
| $gameMap.events()[id]._walkAnime
| 指定ID事件是否有踏步动画
| $gameMap.events()[id]._stepAnime
| 指定ID事件是否固定方向
| $gameMap.events()[id]._directionFix
| 指定ID事件是否可穿透
| $gameMap.events()[id]._through
| 指定ID事件目前是否为透明状态
| $gameMap.events()[id]._transparent
| 指定ID事件目前是否在特定坐标
| $gameMap.events()[id].pos(x, y)
| 指定ID事件目前是否在特定坐标(穿透状态会判定不存在)
| $gameMap.events()[id].posNt(x, y)
| 指定ID事件目前是否正在移动中
| $gameMap.events()[id].isMoving()
| 指定ID事件目前是否正在跳跃中
| $gameMap.events()[id].isJumping()
| 指定ID事件目前是否正在停止中(非移动中与非跳跃中)
| $gameMap.events()[id].isStopping()
| 指定ID事件目前是否正在冲刺
| $gameMap.events()[id].isDashing()
| 指定ID事件目前是否正在可以以方向d通行至坐标x , y
| $gameMap.events()[id].canPass(x, y, d)
| 指定ID事件是否接触到其他位于x,y 的事件(穿透角色不会进入判定)
| $gameMap.events()[id].isCollidedWithCharacters(x, y)
| 指定ID事件是否靠近画面(事件距离画面一定距离是不会运作的)
| $gameMap.events()[id].isNearTheScreen()
| 指定ID事件是否为梯子
| $gameMap.events()[id].isOnLadder()
| 指定ID事件是否为草丛
| $gameMap.events()[id].isOnBush()
| 指定ID事件的地形tag
| $gameMap.events()[id].terrainTag()
| 指定ID事件的regionID
| $gameMap.events()[id].regionId()
| 指定ID事件是否在执行指定移动路径
| $gameMap.events()[id]._moveRouteForcing
| 玩家的物件内容基本上跟 $gameMap.evets()[id] 一样, 所以上面一些参数与判断都可以使用
EX:$gamePlayer._direction 可以判断玩家目前面向的方向
| $gamePlayer
| 遇敌步数, 变为0时会碰到敌人
| $gamePlayer._encounterCount
| 玩家是否踩在伤害型地板上
| $gamePlayer.isOnDamageFloor()
| 玩家跟随者是否再集合中
| $gamePlayer.areFollowersGathering()
| 玩家跟随者是否再集合完毕
| $gamePlayer.areFollowersGathered()
| 玩家是否正在搭乘小型船
| $gamePlayer.isInBoat()
| 玩家是否正在搭乘大型船
| $gamePlayer.isInShip()
| 玩家是否正在搭乘飞型船
| $gamePlayer.isInAirship()
| 玩家是否正在搭乘任何一种交通工具
| $gamePlayer.isInVehicle()
| 取得交通工具的物件, 交通工具的基本判定也与事件相同
EX:$gameMap.vehicles()[id]._dicection 可以判断交通工具目前面向的方向
0 : 小型船
1 : 大型船
2 : 飞行船
| $gameMap.vehicles()[id]
| 玩家队伍是否在战斗中
| $gameParty.inBattle()
| 玩家队伍目前非死亡的人数
| $gameParty.aliveMembers().length
| 玩家队伍目前死亡的人数
| $gameParty.deadMembers().length
| 玩家队伍目前拥有的金币
| $gameParty._gold
| 玩家队伍在战斗中执行指令目前到哪个步骤
| $gameParty._steps
| 上一次被选为道具目标的角色id
| $gameParty._targetActorId
| menu中目前选择的角色id
| $gameParty._menuActorId
| 玩家队伍中第N号角色的名字
| $gameParty.members()[n-1].name()
| 取得玩家队伍中第N个角色物件
#同事件资料, 可以直接用来判断 EX : $gameParty.members()[n-1]._direction
| $gameParty.members()[n-1]
| 玩家队伍人数(如果是在战斗中则为战斗人数)
| $gameParty.size()
| 玩家队伍敏捷性(判断先制攻击)
| $gameParty.agility()
| 玩家队伍总人数
| $gameParty.allMembers().length
| 玩家队伍最大等级
| $gameParty.highestLevel()
| 玩家队伍最后一次使用的道具资料
| $gameParty.lastItem()
| 玩家队伍中是否有遇敌减半的属性判定
| $gameParty.hasEncounterHalf()
| 玩家队伍中是否有遇敌无效的属性判定
| $gameParty.hasEncounterNone()
| 玩家队伍中是否有被突袭(敌人先攻)无效的属性判定
| $gameParty.hasCancelSurprise()
| 玩家队伍中是否有先制攻击的属性判定
| $gameParty.hasRaisePreemptive()
| 玩家队伍中是否有战斗金币x2 的属性判定
| $gameParty.hasGoldDouble()
| 玩家队伍中是否有道具掉落率x2 的属性判定
| $gameParty.hasDropItemDouble()
| 玩家队伍中指定id角色 是否在战斗队伍中
| $gameParty.battleMembers().contains($gameActors.actor(n))
| 敌人部队生存数量
| $gameTroop.aliveMembers().length
| 敌人部队死亡数量
| $gameTroop.deadMembers().length
| 敌人部队敏捷性(判断是否先制攻击)
| $gameTroop.agility()
| 敌人部队群组ID
| $gameTroop._troopId
| 敌人部队中所有角色名称
| $gameTroop.enemyNames()
| 敌人部队回合计数
| $gameTroop._turnCount
| 目前敌人部队可以获得的经验值(所有已经死亡敌人的可获得经验总和)
| $gameTroop.expTotal()
| 目前敌人部队可以获得的金币(所有已经死亡敌人的可获得金币总和)
| $gameTroop.goldTotal()
| 目前敌人部队中指定index的敌人名称
| $gameTroop.members()[n].originalName()
| 目前敌人部队中指定index的敌人显示名称(有相同敌人时会自动变为敌人A , 敌人B...)
| $gameTroop.members()[n].name()
| 目前战斗次数
| $gameSystem._battleCount
| 目前遇敌是否有效
| $gameSystem._encounterEnabled
| 目前逃走次数总和
| $gameSystem._escapeCount
| 目前是否有开启队列模式
| $gameSystem._formationEnabled
| 目前是否可以开启主选单
| $gameSystem._menuEnabled
| 目前记录档案次数
| $gameSystem._saveCount
| 目前是否可以进行存挡功能
| $gameSystem._saveEnabled
| 目前version id
| $gameSystem._versionId
| 目前战斗胜利次数
| $gameSystem._winCount
| 目前系统语言是否为日文
| $gameSystem.isJapanese()
| 目前是否为横向战斗
| $gameSystem.isSideView()
| 目前游戏时间
| $gameSystem.playtimeText()
| 使用点击移动的目标坐标X
| $gameTemp.destinationX()
| 使用点击移动的目标坐标Y
| $gameTemp.destinationY()
| 是否为测试模式(使用RM编辑器跑游戏时为测试模式)
| $gameTemp.isPlaytest()
| 计时器的剩余时间 (1 frames = 1/ 60秒)
| $gameTimer._frames
| 计时器是否运作中
| $gameTimer._working
| N号变量目前的值
| $gameVariables.value(n)
| N号开关目前的值
| $gameSwitches.value(n)
| 设定事件自开关
| $gameSelfSwitches.value([ 地图ID, 事件ID, 自开关类型]) 例:$gameSelfSwitches.value([1, 3, 'A'])
| undefined
| undefined
| [size=10.5000pt]
事件编辑器篇[size=10.5000pt]
[size=10.5000pt]
[size=10.5000pt]
数据库篇EX:
数据库设定1号角色的名字为 哈洛德,
$dataActor[$gameParty_actors[1 - 1]].name
这样可以取得 哈洛德 这三个字
接着在游戏中玩家将1号角色改名为「粽子」
此时再次输入这个指令
$dataActor[$gameParty_actors[1 - 1]].name
依然只能取得 哈洛德 这三个字
因为 $data 开头的变量,多数为「数据库」中的设定,而不是游戏中最新的参数
[size=10.5000pt]
[size=10.5000pt]
取得资料内容
| 指令
| 取得角色名称
| $dataActor[$gameParty_actors[n - 1]].name # n = 角色在数据库中的编号
| 取得角色暱称
| $dataActor[$gameParty_actors[n - 1]].nickname;
| 取得角色战斗图名称
| $dataActor[n].battlerName;
| 取得角色职业id
| $dataActor[n].classId;
| 取得角色脸图index
| $dataActor[n].faceIndex;
("脸图名称的第N张")
| 取得角色脸图名称
| $dataActor[n].faceName;
| 取得角色初始等级
| $dataActor[n].initLevel;
| 取得角色最大等级
| $dataActor[n].maxLevel;
| 取得角色memo栏位中medat资料
| $dataActor[n].meta["x"];
# x 为memo中的key
| 取得角色注释栏位中的资料
| $dataActor[n].note;
| 取得角色名称
| $dataActor[n].name;
| 取得角色暱称
| $dataActor[n].nickname;<
| 取得角色简介
| $dataActor[n].profile;
| 取得防具type id
| $dataArmors[n].atypeId;
# n 为数据库中的id
| 取得防具说明
| $dataArmors[n].description;
| 取得防具在装备中的type id
| $dataArmors[n].etypeId;
| 取得防具icon 的index
| $dataArmors[n].iconIndex;
| 取得防具 memo 中的 meta 资料
| $dataArmors[n].meta["x"];
| 取得防具注释内容
| $dataArmors[n].note
| 取得防具名称
| $dataArmors[n].name
| 取得防具增加的最大hp
| $dataArmors[n].params[0]
| 取得防具增加的最大mp
| $dataArmors[n].params[1]
| 取得防具增加的at
| $dataArmors[n].params[2]
| 取得防具增加的df
| $dataArmors[n].params[3]
| 取得防具增加的matk
| $dataArmors[n].params[4]
| 取得防具增加的mdef
| $dataArmors[n].params[5]
| 取得防具增加的敏捷
| $dataArmors[n].params[6]
| 取得防具增加的价格
| $dataArmors[n].price
| 队伍中角色职业名称
| $dataClasses[$dataActors[$gameParty_actors[n - 1]].classId].name
| 角色预设职业名称
| $dataClasses[$dataActors[n].classId].name
| 职业升级所需经验基本值
| $dataClasses[n].expParams[0];
| 职业升级所需经验补正
| $dataClasses[n].expParams[1];
| 职业升级所需经验增加值A
| $dataClasses[n].expParams[2];
| 职业升级所需经验增加值B
| $dataClasses[n].expParams[3];
| 职业各个等级最大hp
| $dataClasses[n].params[0][n2];
# n 为职业id
# n2 为等级
| 职业各个等级最大mp
| $dataClasses[n].params[1][n2];
| 职业各个等级at
| $dataClasses[n].params[2][n2];
| 职业各个等级df
| $dataClasses[n].params[3][n2];
| 职业各个等级matk
| $dataClasses[n].params[4][n2];
| 职业各个等级mdef
| $dataClasses[n].params[5][n2];
| 职业各个等级敏捷
| $dataClasses[n].params[6][n2];
| 职业各个等级运
| $dataClasses[n].params[7][n2];
| 公用事件id
| $dataCommonEvents[n].id
| 公用事件名称
| $dataCommonEvents[n].name
| 公用事件的触发开关id
| $dataCommonEvents[n].switchId
| 公用事件的触发条件类型
| $dataCommonEvents[n].trigger;
0 : 无 ,1 : 自动执行 , 2 : 并列
| 敌人图像名称
| $dataEnemies[n].battleName
| 敌人掉落物品id
| $dataEnemies[n].dropItems[n2 -1 ].dataId
| 敌人掉落物品掉落率分母
| $dataEnemies[n].dropItems[n2 -1 ].denominator
| 敌人掉落物品种类
| $dataEnemies[n].dropItems[n2 -1 ].kind
0 : 无, 1 : 道具, 2 : 武器, 3 : 防具
| 击杀敌人可获得经验值
| $dataEnemies[n].exp
| 击杀敌人可获得金币
| $dataEnemies[n].gold
| 敌人memo中的meta值
| $dataEnemies[n].meta["x"];
| 敌人名称
| $dataEnemies[n].name;
| 敌人最大hp
| $dataEnemies[n].params[0];
| 敌人最大mp
| $dataEnemies[n].params[1];
| 敌人at
| $dataEnemies[n].params[2];
| 敌人df
| $dataEnemies[n].params[3];
| 敌人matk
| $dataEnemies[n].params[4];
| 敌人mdef
| $dataEnemies[n].params[5];
| 敌人敏捷
| $dataEnemies[n].params[6];
| 敌人运气
| $dataEnemies[n].params[7];
| 道具动画id
| $dataItems[n].animationId;
| 道具是否为消耗品
| $dataItems[n].consumeable
| 道具说明
| $dataItems[n].description
| 道具命中类型
| $dataItems[n].hitType
| 道具 icon 编号
| $dataItems[n].iconIndex
| 道具 的道具类型
| $dataItems[n].itypeId
| 道具名称
| $dataItems[n].name
| 道具价格
| $dataItems[n].price
| 道具连续次数
| $dataItems[n].repeats
| 道具效果范围
| $dataItems[n].scope
| 道具速度补正
| $dataItems[n].scope
| 道具成功率
| $dataItems[n].successRate
| 道具取得tp
| $dataItems[n].tpGain
| 目前地图的自动播放BGM
| $dataMap.autoplayBgm
# $dataMap 每次切换map时都会刷新
| 目前地图的自动播放BGS
| $dataMap.autoplayBgs
| 目前地图的bgm 名称
| $dataMap.bgm.name
| 目前地图的bgm pan值
| $dataMap.bgm.pan
| 目前地图的bgm pich值
| $dataMap.bgm.puch
| 目前地图的bgm 音量
| $dataMap.bgm.volume
| 地图的bgs 名称
| $dataMap.bgs.name
| 地图的bgs pan
| $dataMap.bgs.pan
| 地图的bgs pich
| $dataMap.bgs.pich
| 地图的bgs 音量
| $dataMap.bgs.volume
| 地图是否禁止冲刺
| $dataMap.disableDashing
| 地图显示名称
| $dataMap.displayName
| 地图遇敌部署
| $dataMap.encounterStep
| 地图事件注释中的的meta资料
| $dataMap.events[n].meta["x"];
| 地图事件名称
| $dataMap.events[n].name;
| 地图事件名称
| $dataMap.events[n].name;
| 地图事件备注
| $dataMap.events[n].note;
| 地图的备注资料
| $dataMap.meta["x"];
| 地图横向循环
| $dataMap.parallaxLoopX
| 地图垂直循环
| $dataMap.parallaxLoopY
| 地图远景图片名称
| $dataMap.parallaxName
| 地图远景图是否显示在编辑器
| $dataMap.parallaxShow
| 地图远景横向移动
| $dataMap.parallaxSx
| 地图远景循环类型
| $dataMap.scrollType
| 地图图块使用id
| $dataMap.tilesetId
| 地图宽度(格)
| $dataMap.width
| 地图高度(格)
| $dataMap.height
| 指定地图的名称
| $dataMapInfos.name
| 指定地图的上一层地图id(编辑器中)
| $dataMapInfos.parentId
| 技能爆击
| $dataSkills[n].damage.critical
| 技能动画id
| $dataSkills[n].animationId
| 技能伤害属性
| a $dataSkills[n].damage.elementId
| 技能计算公式
| a $dataSkills[n].damage.formula
| 技能伤害类型
| a $dataSkills[n].damage.type
| 技能说明
| $dataSkills[n].description
| 技能icon 编号
| $dataSkills[n].iconIndex
| 技能使用讯息1
| $dataSkills[n].message1
| 技能使用讯息2
| $dataSkills[n].message2
| 技能名称
| $dataSkills[n].name
| 技能消耗mp
| $dataSkills[n].mpCost
| 技能meta 资料
| $dataSkills[n].meta["x"]
| 技能连续次数
| $dataSkills[n].repeats
| 技能速度补正
| $dataSkills[n].speed
| 技能连续次数
| $dataSkills[n].repeats
| 技能使用的需求武器类型
| $dataSkills[n].requiredWtypeId1
| 技能使用的需求武器类型2
| $dataSkills[n].requiredWtypeId2
| 技能效果范围
| $dataSkills[n].scope
| 技能的技能类型id
| $dataSkills[n].stypeId
| [size=10.5000pt]
看到小优关于别名的一篇,讲得很好,也非常重要。是js的最大特色之一,引用一下:
https://rpg.blue/thread-385565-1-1.html
new:
$gameSelfSwitches.setValue(key, true/false); // key = [mapId,eventId,name]
正则表达式:
https://www.jb51.net/article/72192.htm
某种状态下伤害不同:
If you want only a particular skill to deal additional damage, you can edit that skill's formula, e.g.:
(a.atk * 4 - b.def * 2) * (b.isStateAffected(50) ? 2 : 1)
The first bit should be your normal damage formula. We then put that in brackets and multiply it all by 2 if the target is affected by state #50, or 1 otherwise; i.e. the skill does double damage against targets affected by state #50. (The brackets make the code evaluate each side before multiplying them together.)
You'll have to change the numbers and such around to suit your particular case, but hopefully that helps. =)
Edit; you may find this useful, too: https://rpgmakermv.co/threads/da ... 01-mv-edition.2172/
|
评分
-
查看全部评分
|