在新窗口中打开脚本页

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#===============================================================================
# 判断当前位置信息 By:VIPArcher [email: VIPArcher@sina.com]
#===============================================================================
# -- 本脚本来自 http://rm.66rpg.com 使用或转载请保留以上信息。
# 说明:偷懒用,纯事件完全可以轻松做出相同效果,该脚本只是为了更加偷懒
# 用法是:分歧条件-脚本-
# 判断玩家位置(返回布尔值true/false)
# player_pos?(x, y, m) 其中 m 为地图ID可省略,省略时 m 默认为当前地图ID
# 判断事件位置(返回布尔值true/false)
# event_pos?(x, y, id) 其中 id 为事件ID可省略,省略时 id 默认为当前事件ID
# 获取地形标志(返回地形标志)
# terrain_tag(id) 其中 id 为事件ID可省略,省略时 id 默认为玩家,否则
# 为对应事件,为负数则为对应位置的队员
# 获取区域ID(返回区域ID)
# region_id(id) 其中 id 为事件ID可省略,省略时 id 默认为玩家,否则
# 为对应事件,为负数则为对应位置的队员
#===============================================================================
$VIPArcherScript ||= {};$VIPArcherScript[:location] = 20141203
#--------------------------------------------------------------------------------
class Game_Interpreter
#--------------------------------------------------------------------------
# ● 判断玩家当前坐标位置是否为(x, y, m)
#--------------------------------------------------------------------------
def player_pos?(x, y, m = @map_id)
$game_map.map_id == m && $game_player.pos?(x, y)
end
#--------------------------------------------------------------------------
# ● 判断当前坐标位置是否为(x,y,id)
#--------------------------------------------------------------------------
def event_pos?(x, y, id = @event_id)
$game_map.events[id].pos?(x, y)
end
#--------------------------------------------------------------------------
# ● 获取地形标志
# id 小于 0 时为对应队友, 等于 0 时为当前事件,大于 0 为对应事件
#--------------------------------------------------------------------------
def terrain_tag(id = $game_player)
case id
when $game_player then id.terrain_tag
when -$game_party.max_battle_members + 1..-1
$game_player.followers[id.abs - 1].terrain_tag
else
get_character(id).terrain_tag
end
end
#--------------------------------------------------------------------------
# ● 获取区域ID
# id 小于 0 时为对应队友, 等于 0 时为当前事件,大于 0 为对应事件
#--------------------------------------------------------------------------
def region_id(id = $game_player)
case id
when $game_player then id.region_id
when -$game_party.max_battle_members + 1..-1
$game_player.followers[id.abs - 1].region_id
else
get_character(id).region_id
end
end
end

文章目录