Admin 发表于 2022-12-7 14:34:18

事件判定脚本

寻找方法:'CTRL+F' 搜索框内输入关键字.
复制方法: 选定脚本后'CTRL+C'复制.


编号 事件指令名称 对应脚本语法
1 是否有事件正在执行中(不含并列处理事件)$gameMap.isEventRunning()
2地图的宽度
地图的高度
$gameMap.width()
$gameMap.height()

3地图的横向迴圈的判定
地图的纵向迴圈的判定
$gameMap.isLoopHorizontal()
$gameMap.isLoopVertical()

4地图是否禁止冲刺$gameMap.isDashDisabled()
5地图遇敌步数$gameMap.encounterStep()
6区域地图判定(影响战斗背景)$gameMap.isOverworld()

7地图每个画面所佔格子格数(横)
地图每个画面所佔格子格数(竖)
$gameMap.screenTileX()
$gameMap.screenTileY()

8取得地图xy 座标的事件ID$gameMap.eventIdXy(x, y)
9指定坐标是否在目前的画面中$gameMap.isValid(x, y)
10指定方向d 在座标(x,y) 是否可以通行(d值)8上,2下,6右,4左$gameMap.isPassable(x, y, d)
11小型船在指定坐标的是否可以通行
大型船在指定坐标的是否可以通行
飞型船在指定坐标的是否可以通行
$gameMap.isBoatPassable(x, y)
$gameMap.isShipPassable(x, y)
$gameMap.isAirshipLandOk(x, y)

12指定座标是否为梯子
指定座标是否为草丛
指定座标的计步器判定
指定座标是否为伤害型地板
$gameMap.isLadder(x, y)
$gameMap.isBush(x, y)
$gameMap.isCounter(x, y)
$gameMap.isDamageFloor(x, y)

13取得指定坐标的标签
取得指定坐标的地区 ID
滚动式判断
$gameMap.terrainTag(x, y)
$gameMap.regionId(x, y)
$gameMap.isScrolling()

14指定ID事件目前面向方向$gameMap.events()._direction
15指定ID事件目前在地图上的X座标
指定ID事件目前在地图上的Y座标
指定ID事件目前在画面上的X座标
指定ID事件目前在画面上的X座标
$gameMap.events()._X
$gameMap.events()._Y
$gameMap.events().screenX()
$gameMap.events().screenY()

16指定ID事件目前的移动速率
指定ID事件目前的移动频率
指定ID事件目前的不透明度
$gameMap.events()._moveSpeed
$gameMap.events()._moveFrequency
$gameMap.events()._opacity

17指定ID事件目前的图片与画面的合成方式$gameMap.events()._blendMode
18指定ID事件目前的图片所在的 地图图块ID$gameMap.events()._tileId
19指定ID事件目前使用的图片名称
指定ID事件目前使用的图片index
$gameMap.events()._characterName
$gameMap.events()._characterIndex

20指定ID事件的图片是否为 “!”开头的图片$gameMap.events().isObjectCharacter()
21指定ID事件的优先度 (高于玩家 / 低于玩家 / 与玩家同层)$gameMap.events()._priorityType
22指定ID事件是否有走路动画
指定ID事件是否有踏步动画
$gameMap.events()._walkAnime
$gameMap.events()._stepAnime

23指定ID事件是否固定方向$gameMap.events()._directionFix
24指定ID事件是否可穿透$gameMap.events()._through
25指定ID事件目前是否为透明状态$gameMap.events()._transparent
26指定ID事件目前是否在特定座标$gameMap.events().pos(x, y)
27指定ID事件目前是否在特定座标(穿透状态会判定不存在)$gameMap.events().posNt(x, y)
28指定ID事件目前是否正在移动中
指定ID事件目前是否正在跳跃中
指定ID事件目前是否正在停止中(非移动中与非跳跃中)
指定ID事件目前是否正在冲刺
$gameMap.events().isMoving()
$gameMap.events().isJumping()
$gameMap.events().isStopping()
$gameMap.events().isDashing()

29指定ID事件目前是否正在可以以方向d通行至座标x , y$gameMap.events().canPass(x, y, d)
30指定ID事件是否接触到其他位于x,y 的事件(穿透角色不会进入判定)$gameMap.events().isCollidedWithCharacters(x, y)
31指定ID事件是否靠近画面(事件距离画面一定距离是不会运作的)$gameMap.events().isNearTheScreen()
32指定ID事件是否在执行指定移动路径$gameMap.events()._moveRouteForcing
33遇敌步数, 变为0时会碰到敌人$gamePlayer._encounterCount
34玩家是否踩在伤害型地板上$gamePlayer.isOnDamageFloor()
35玩家跟随者是否再集合中
玩家跟随者是否再集合完毕
$gamePlayer.areFollowersGathering()
$gamePlayer.areFollowersGathered()

36玩家是否正在搭乘小型船
玩家是否正在搭乘大型船
玩家是否正在搭乘飞型船
玩家是否正在搭乘任何一种交通工具
$gamePlayer.isInBoat()
$gamePlayer.isInShip()
$gamePlayer.isInAirship()
$gamePlayer.isInVehicle()

37判断交通工具目前面向的方向0 : 小型船,1 : 大型船,2 : 飞行船$gameMap.vehicles()._dicection
38判断玩家目前面向的方向$gamePlayer.events()_direction
39玩家队伍是否在战斗中$gameParty.inBattle()
40玩家队伍目前非死亡的人数$gameParty.aliveMembers().length
41玩家队伍目前死亡的人数$gameParty.deadMembers().length
42玩家队伍目前拥有的金币$gameParty._gold
43玩家队伍在战斗中执行指令目前到哪个步骤$gameParty._steps
44上一次被选为道具目标的角色id$gameParty._targetActorId
45菜单中目前选择的角色id$gameParty._menuActorId
46玩家队伍中第N号角色的名字
玩家队伍中第N号角色附加状态(从0开始数,队长为0)
$gameParty.members().name()
$gameParty.members().addState(1);

47玩家队伍人数(如果是在战斗中则为战斗人数)$gameParty.size()
48玩家队伍敏捷性(判断先制攻击)$gameParty.agility()
49玩家队伍总人数$gameParty.allMembers().length
50玩家队伍最大等级$gameParty.highestLevel()
51玩家队伍最后一次使用的道具资料$gameParty.lastItem()
52玩家队伍中是否有遇敌减半的属性判定
玩家队伍中是否有遇敌无效的属性判定
玩家队伍中是否有被突袭(敌人先攻)无效的属性判定
玩家队伍中是否有先制攻击的属性判定
$gameParty.hasEncounterHalf()
$gameParty.hasEncounterNone()
$gameParty.hasCancelSurprise()
$gameParty.hasRaisePreemptive()

53玩家队伍中是否有战斗金币x2 的属性判定
玩家队伍中是否有道具掉落率x2 的属性判定
$gameParty.hasGoldDouble()
$gameParty.hasDropItemDouble()

54玩家队伍中指定id角色 是否在战斗队伍中$gameParty.battleMembers().contains($gameActors.actor(n))
55敌人部队生存数量
敌人部队死亡数量
$gameTroop.aliveMembers().length
$gameTroop.deadMembers().length

56敌人部队敏捷性(判断是否先制攻击)$gameTroop.agility()
57敌人部队群组ID$gameTroop._troopId
58敌人部队中所有角色名称$gameTroop.enemyNames()
59敌人部队回合计数$gameTroop._turnCount
60目前敌人部队可以获得的经验值(所有已经死亡敌人的可获得经验总和)
目前敌人部队可以获得的金币(所有已经死亡敌人的可获得金币总和)
$gameTroop.expTotal()
$gameTroop.goldTotal()

61目前敌人部队中指定index的敌人名称
目前敌人部队中指定index的敌人显示名称(有相同敌人时会自动变为敌人A , 敌人B...)
$gameTroop.members().name()
62目前战斗次数$gameSystem._battleCount
63目前遇敌是否有效$gameSystem._encounterEnabled
64目前逃走次数总和$gameSystem._escapeCount
65目前是否有开启队列模式$gameSystem._formationEnabled
66目前是否可以开启主选单$gameSystem._menuEnabled
67目前记录档案次数$gameSystem._saveCount
68目前是否可以进行存挡功能$gameSystem._saveEnabled
69目前版本 id$gameSystem._versionId
70目前战斗胜利次数$gameSystem._winCount
71目前系统语言是否为日文$gameSystem.isJapanese()
72目前是否为横向战斗$gameSystem.isSideView()
73目前游戏时间$gameSystem.playtimeText()
74使用点击移动的目标座标X
使用点击移动的目标座标Y
$gameTemp.destinationX()
$gameTemp.destinationY()

75是否为测试模式(使用RM编辑器跑游戏时为测试模式)$gameTemp.isPlaytest()
76计时器的剩馀时间 (1 frames = 1/ 60秒)$gameTimer._frames
77计时器是否运作中$gameTimer._working
78N号变数目前的值
N号开关目前的值
$gameVariables.value(n)
$gameSwitches.value(n)

79设定事件自开关,例:$gameSelfSwitches.value()$gameSelfSwitches.value([ 地图ID, 事件ID, 自开关类型])

古树旋律 发表于 2022-12-17 16:39:18

本帖最后由 古树旋律 于 2022-12-17 16:41 编辑

对第46条进行拓展。注意系统对n的定义是从0起算。即 0代表第1个人,3代表第4个人。

$gameParty.members().actorId()
//玩家队伍中第N号角色的id

s3102099 发表于 2022-12-19 23:03:41

好好好,太好了

古树旋律 发表于 2023-1-6 21:56:20

检索补充新的语句:
$gameTemp.lastActionData(type);


取得指定类型(如下所示)获取各种行动数据
0:最后谁使用的技能
1:最后谁使用过的道具
2:最后行动的角色
3:最后行动的敌人
4:最后被选择的角色
5:最后被选择的敌人

比如ID为5的牧师给ID为1的剑士使用恢复技能。
$gameTemp.lastActionData(0)的值为5,$gameTemp.lastActionData(2)的值为5,$gameTemp.lastActionData(4)的值为1

这样就可以在技能中添加一个公共事件,来判定这个技能的指定对象是否有其他附加的效果。

古树旋律 发表于 2023-3-12 22:45:30

$dataItems.price
//第120号物品的价格,同理可以改成Weapon和Armors

可以结合事件编辑器中的【物品选择处理】来判断物品的价格是否符合要求

页: [1]
查看完整版本: 事件判定脚本