Project1
标题: 请问如何在脚本中设定开关呢? [打印本页]
作者: mileo 时间: 2013-12-14 22:43
标题: 请问如何在脚本中设定开关呢?
本帖最后由 mileo 于 2013-12-19 12:16 编辑
if $game_switches[1518]
self.contents.draw_text(580,0 , 534, 24, "血#{ $game_variables[334]}")
self.contents.draw_text(580,20 , 534, 24, "攻#{ $game_variables[332]}")
self.contents.draw_text(580,40 , 534, 24, "防#{ $game_variables[333]}")
end
if $game_switches[1519]
self.contents.draw_text(580,100 , 534, 24, "血#{ $game_variables[344]}")
self.contents.draw_text(580,120 , 534, 24, "攻#{ $game_variables[342]}")
self.contents.draw_text(580,140 , 534, 24, "防#{ $game_variables[343]}")
end
end
end
请问一下如果要在脚本里面设开关
开关开启时决定某部分显示的开启
上面自己的写法有错
请问要怎么改呢?
谢谢~~
我用的是http://rpg.blue/thread-217052-2-1.html
16楼雪流星的脚本
我是直接在后面end前增加上述的内容
只是目前不知道如何设定开关
谢谢了
作者: 喵呜喵5 时间: 2013-12-14 23:07
不知道你说的有错是指什么……我只看到你给的代码中多了两个end………………
如果你是希望开关开启关闭时随时刷新的话最好是写到update里面不要写进refresh里面
作者: mileo 时间: 2013-12-14 23:15
本帖最后由 mileo 于 2013-12-14 23:23 编辑
谢谢
目前主要想问的是~~
1518开关开启时:
在地图上显示以下内容
self.contents.draw_text(580,0 , 534, 24, "血#{ $game_variables[334]}")
self.contents.draw_text(580,20 , 534, 24, "攻#{ $game_variables[332]}")
self.contents.draw_text(580,40 , 534, 24, "防#{ $game_variables[333]}")
1519开关开启时:
在地图上显示以下内容
self.contents.draw_text(580,100 , 534, 24, "血#{ $game_variables[344]}")
self.contents.draw_text(580,120 , 534, 24, "攻#{ $game_variables[342]}")
self.contents.draw_text(580,140 , 534, 24, "防#{ $game_variables[343]}")
这边不知道要怎么设定
让各别开关开启各自的内容
让数值随时刷新的问题已经得到解决
目前主要是想在脚本中设定开关决定显示的内容是否显示
谢谢~~
作者: 774741359 时间: 2013-12-15 00:18
楼主的意思我明白,其实多此一举了。
$actor_data_open 要比 $game_switches[1518] 方便多了。
作者: 喵呜喵5 时间: 2013-12-15 00:20
自己试试看有没有什么问题……- class Scene_Map < Scene_Base
- alias map_windpwz_start start
- def start
- map_windpwz_start
- @mapz_window = Window_MapZ.new(0, 0)
- end
- end
- class Window_MapZ < Window_Base
- def initialize(x,y)
- super(x, y, Graphics.width+16 ,Graphics.height+16)
- self.opacity = 0
- refresh
- end
- def update
- refresh if need_refresh?
- end
- def need_refresh?
- return true if @state1 != $game_switches[1518]
- return true if @state2 != $game_switches[1519]
- return true if @xue != $game_variables[334]
- return true if [url=home.php?mod=space&uid=123094]@gong[/url] != $game_variables[332]
- return true if [url=home.php?mod=space&uid=13441]@fang[/url] != $game_variables[333]
- return true if @xue2 != $game_variables[344]
- return true if @gong2 != $game_variables[342]
- @fang2 != $game_variables[343]
- end
- def refresh
- self.contents.clear
- refresh1 if $game_switches[1518]
- refresh2 if $game_switches[1519]
- @xue = $game_variables[334]
- @gong = $game_variables[332]
- @fang = $game_variables[333]
- @xue2 = $game_variables[344]
- @gong2 = $game_variables[342]
- @fang2 = $game_variables[343]
- @state1 = $game_switches[1518]
- @state2 = $game_switches[1519]
- end
- def refresh1
- self.contents.draw_text(580,0 , 534, 24, "血#{ $game_variables[334]}")
- self.contents.draw_text(580,20 , 534, 24, "攻#{ $game_variables[332]}")
- self.contents.draw_text(580,40 , 534, 24, "防#{ $game_variables[333]}")
- end
- def refresh2
- self.contents.draw_text(580,100 , 534, 24, "血#{ $game_variables[344]}")
- self.contents.draw_text(580,120 , 534, 24, "攻#{ $game_variables[342]}")
- self.contents.draw_text(580,140 , 534, 24, "防#{ $game_variables[343]}")
- end
- end
复制代码
作者: mileo 时间: 2013-12-15 00:42
谢谢~~
不知道为什么进游戏显示这个呢?
SystemStackError 发生
stack level too deep
-
未命名.png
(6.63 KB, 下载次数: 33)
作者: mileo 时间: 2013-12-15 01:16
#============================================================================
# 〇 地图显示血条魔条
# ——By.冰舞蝶恋
#----------------------------------------------------------------------------
# 说明:显示的文字可自由更动来达到游戏需要的效果。
#----------------------------------------------------------------------------
# 以下是作者的白痴留言,尽管无视吧!
# 啊哈哈!这可是咱第一个独立完成的脚本吖!!
# 一时无聊做的……兴许可以用在ARPG之类的地方吧。偶然看到有不少人在拿RM做
# ARPG,又发现似乎没有(除了邪恶的fux2字眼的那个- -||b),做了个比较完善
# 的……排版不是很好看,坐标可以自己调整。
#============================================================================
# ○ACE移植
# ——By.米酒獭酱
#只是把这个脚本移植到了ACE上,因为找不到ACE代表魔攻魔防的系统变量所以舍去了,
#若大家找到了也可以加上~
#总之这个脚本就是集显示图片显示头像显示变量显示金钱什么的为一体的脚本~
#(话说本人也是第一次弄脚本竟然就移植成功了)
# 坐标可以自由调整+1~
$LBA = 1517 # 当这个开挂开启时,地图状态才显示。
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
# 处理地图划面的类。
#==============================================================================
class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● 开始处理
#--------------------------------------------------------------------------
alias map_windpwz_start start
def start
map_windpwz_start
@mapz_window = Window_MapZ.new(0, 0)
@mapz_window.refresh
@mapz_window.hide
end
alias map_windpwz_update update
def update
map_windpwz_update
@mapz_window.visible = $game_switches[$LBA]
@mapz_window.refresh if check_update_mapz
end
def check_update_mapz
actor = $game_party.leader
# 变量变化时刷新
if @show_actor_var != $game_variables[330]
@show_actor_var = $game_variables[330]
return true
end
# 血量变化时刷新
if @show_actor_hp != actor.hp
@show_actor_hp = actor.hp
return true
end
# 金钱变化时刷新
if @show_actor_gold != $game_party.gold
@show_actor_gold = $game_party.gold
return true
end
# 领队换人时刷新
if @show_actor != actor
@show_actor = actor
return true
end
# 等级变化时刷新
if @show_actor_lv != actor.level
@show_actor_lv = actor.level
return true
end
# 攻击变化时刷新
if @show_actor_atk != actor.atk
@show_actor_atk = actor.atk
return true
end
# 防御变化时刷新
if @show_actor_def != actor.def
@show_actor_def = actor.def
return true
end
return false
end
end
class Window_MapZ < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize(x,y)
super(x-8, y-8, Graphics.width+16 ,Graphics.height+16)
self.opacity = 0
update
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
actor = $game_party.leader
fw = 100 # 获取角色头像+空格
lh = line_height # 获取行高
gw = Graphics.width # 获取游戏视窗宽度
gh = Graphics.height # 获取游戏视窗高度
# 绘制领队角色头像、体力和魔力
draw_actor_face(actor,0 ,0 )
draw_actor_hp(actor, fw, 4 , 160)
draw_actor_mp(actor, fw, lh+4, 160)
# 绘制标题
change_color(system_color)
contents.draw_text(fw+170, 4 , gw, lh, "攻:")
contents.draw_text(fw+170, lh+4 , gw, lh, "防:")
gold_text = "所持金钱:"
contents.draw_text(fw+170, lh*2+4, gw, lh, gold_text)
gdx = text_size(gold_text).width
cudx = gdx + text_size($game_party.gold).width
contents.draw_text(fw+176+cudx, lh*2+4, gw, lh, Vocab.currency_unit)
# 绘制文字
change_color(normal_color)
lv_text = "#{actor.name} #{Vocab.level_a} #{actor.level}"
contents.draw_text(fw, lh*2+4, gw, lh, lv_text)
contents.draw_text(fw+lh*2+170, 4, gw, lh, actor.atk)
contents.draw_text(fw+lh*2+170, lh+4, gw, lh, actor.def)
contents.draw_text(fw+176+gdx, lh*2+4, gw, lh, $game_party.gold)
# 绘制要显示的系统变量
change_color(text_color(30)) #改颜色什么的~
var_id =330
var_text = "#{ $game_variables[330]} #{$data_system.variables[330]}"
contents.draw_text(0, gh-lh-8 , 534, lh, var_text)
self.contents.draw_text(25,125 , 534, 24, "#{ $game_variables[349]}")
self.contents.draw_text(25,157 , 534, 24, "#{ $game_variables[350]}")
self.contents.draw_text(25,188 , 534, 24, "#{ $game_variables[351]}")
self.contents.draw_text(25,221 , 534, 24, "#{ $game_variables[352]}")
# 绘制要显示的系统变量
change_color(text_color(30)) #改颜色什么的~
var_id =341
var_text = "#{$data_system.variables[341]} #{ $game_variables[341]} "
contents.draw_text(550, 60 , 534, lh, var_text)
self.contents.draw_text(580,0 , 534, 24, "血#{ $game_variables[334]}")
self.contents.draw_text(580,20 , 534, 24, "攻#{ $game_variables[332]}")
self.contents.draw_text(580,40 , 534, 24, "防#{ $game_variables[333]}")
# 绘制要显示的系统变量
change_color(text_color(30)) #改颜色什么的~
var_id =348
var_text = "#{$data_system.variables[348]} #{ $game_variables[348]} "
contents.draw_text(550, 160 , 534, lh, var_text)
self.contents.draw_text(580,100 , 534, 24, "血#{ $game_variables[344]}")
self.contents.draw_text(580,120 , 534, 24, "攻#{ $game_variables[342]}")
self.contents.draw_text(580,140 , 534, 24, "防#{ $game_variables[343]}")
end
end
#============================================================================
# 〇 地图显示血条魔条
# ——By.冰舞蝶恋
#----------------------------------------------------------------------------
# 说明:显示的文字可自由更动来达到游戏需要的效果。
#----------------------------------------------------------------------------
# 以下是作者的白痴留言,尽管无视吧!
# 啊哈哈!这可是咱第一个独立完成的脚本吖!!
# 一时无聊做的……兴许可以用在ARPG之类的地方吧。偶然看到有不少人在拿RM做
# ARPG,又发现似乎没有(除了邪恶的fux2字眼的那个- -||b),做了个比较完善
# 的……排版不是很好看,坐标可以自己调整。
#============================================================================
# ○ACE移植
# ——By.米酒獭酱
#只是把这个脚本移植到了ACE上,因为找不到ACE代表魔攻魔防的系统变量所以舍去了,
#若大家找到了也可以加上~
#总之这个脚本就是集显示图片显示头像显示变量显示金钱什么的为一体的脚本~
#(话说本人也是第一次弄脚本竟然就移植成功了)
# 坐标可以自由调整+1~
$LBA = 1517 # 当这个开挂开启时,地图状态才显示。
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
# 处理地图划面的类。
#==============================================================================
class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● 开始处理
#--------------------------------------------------------------------------
alias map_windpwz_start start
def start
map_windpwz_start
@mapz_window = Window_MapZ.new(0, 0)
@mapz_window.refresh
@mapz_window.hide
end
alias map_windpwz_update update
def update
map_windpwz_update
@mapz_window.visible = $game_switches[$LBA]
@mapz_window.refresh if check_update_mapz
end
def check_update_mapz
actor = $game_party.leader
# 变量变化时刷新
if @show_actor_var != $game_variables[330]
@show_actor_var = $game_variables[330]
return true
end
# 血量变化时刷新
if @show_actor_hp != actor.hp
@show_actor_hp = actor.hp
return true
end
# 金钱变化时刷新
if @show_actor_gold != $game_party.gold
@show_actor_gold = $game_party.gold
return true
end
# 领队换人时刷新
if @show_actor != actor
@show_actor = actor
return true
end
# 等级变化时刷新
if @show_actor_lv != actor.level
@show_actor_lv = actor.level
return true
end
# 攻击变化时刷新
if @show_actor_atk != actor.atk
@show_actor_atk = actor.atk
return true
end
# 防御变化时刷新
if @show_actor_def != actor.def
@show_actor_def = actor.def
return true
end
return false
end
end
class Window_MapZ < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize(x,y)
super(x-8, y-8, Graphics.width+16 ,Graphics.height+16)
self.opacity = 0
update
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
actor = $game_party.leader
fw = 100 # 获取角色头像+空格
lh = line_height # 获取行高
gw = Graphics.width # 获取游戏视窗宽度
gh = Graphics.height # 获取游戏视窗高度
# 绘制领队角色头像、体力和魔力
draw_actor_face(actor,0 ,0 )
draw_actor_hp(actor, fw, 4 , 160)
draw_actor_mp(actor, fw, lh+4, 160)
# 绘制标题
change_color(system_color)
contents.draw_text(fw+170, 4 , gw, lh, "攻:")
contents.draw_text(fw+170, lh+4 , gw, lh, "防:")
gold_text = "所持金钱:"
contents.draw_text(fw+170, lh*2+4, gw, lh, gold_text)
gdx = text_size(gold_text).width
cudx = gdx + text_size($game_party.gold).width
contents.draw_text(fw+176+cudx, lh*2+4, gw, lh, Vocab.currency_unit)
# 绘制文字
change_color(normal_color)
lv_text = "#{actor.name} #{Vocab.level_a} #{actor.level}"
contents.draw_text(fw, lh*2+4, gw, lh, lv_text)
contents.draw_text(fw+lh*2+170, 4, gw, lh, actor.atk)
contents.draw_text(fw+lh*2+170, lh+4, gw, lh, actor.def)
contents.draw_text(fw+176+gdx, lh*2+4, gw, lh, $game_party.gold)
# 绘制要显示的系统变量
change_color(text_color(30)) #改颜色什么的~
var_id =330
var_text = "#{ $game_variables[330]} #{$data_system.variables[330]}"
contents.draw_text(0, gh-lh-8 , 534, lh, var_text)
self.contents.draw_text(25,125 , 534, 24, "#{ $game_variables[349]}")
self.contents.draw_text(25,157 , 534, 24, "#{ $game_variables[350]}")
self.contents.draw_text(25,188 , 534, 24, "#{ $game_variables[351]}")
self.contents.draw_text(25,221 , 534, 24, "#{ $game_variables[352]}")
# 绘制要显示的系统变量
change_color(text_color(30)) #改颜色什么的~
var_id =341
var_text = "#{$data_system.variables[341]} #{ $game_variables[341]} "
contents.draw_text(550, 60 , 534, lh, var_text)
self.contents.draw_text(580,0 , 534, 24, "血#{ $game_variables[334]}")
self.contents.draw_text(580,20 , 534, 24, "攻#{ $game_variables[332]}")
self.contents.draw_text(580,40 , 534, 24, "防#{ $game_variables[333]}")
# 绘制要显示的系统变量
change_color(text_color(30)) #改颜色什么的~
var_id =348
var_text = "#{$data_system.variables[348]} #{ $game_variables[348]} "
contents.draw_text(550, 160 , 534, lh, var_text)
self.contents.draw_text(580,100 , 534, 24, "血#{ $game_variables[344]}")
self.contents.draw_text(580,120 , 534, 24, "攻#{ $game_variables[342]}")
self.contents.draw_text(580,140 , 534, 24, "防#{ $game_variables[343]}")
end
end
介个是全部的脚本~~
想用开关控制:
# 绘制要显示的系统变量
change_color(text_color(30)) #改颜色什么的~
var_id =330
var_text = "#{ $game_variables[330]} #{$data_system.variables[330]}"
contents.draw_text(0, gh-lh-8 , 534, lh, var_text)
self.contents.draw_text(25,125 , 534, 24, "#{ $game_variables[349]}")
self.contents.draw_text(25,157 , 534, 24, "#{ $game_variables[350]}")
self.contents.draw_text(25,188 , 534, 24, "#{ $game_variables[351]}")
self.contents.draw_text(25,221 , 534, 24, "#{ $game_variables[352]}")
# 绘制要显示的系统变量
change_color(text_color(30)) #改颜色什么的~
var_id =330
var_text = "#{ $game_variables[330]} #{$data_system.variables[330]}"
contents.draw_text(0, gh-lh-8 , 534, lh, var_text)
self.contents.draw_text(25,125 , 534, 24, "#{ $game_variables[349]}")
self.contents.draw_text(25,157 , 534, 24, "#{ $game_variables[350]}")
self.contents.draw_text(25,188 , 534, 24, "#{ $game_variables[351]}")
self.contents.draw_text(25,221 , 534, 24, "#{ $game_variables[352]}")
# 绘制要显示的系统变量
change_color(text_color(30)) #改颜色什么的~
var_id =341
var_text = "#{$data_system.variables[341]} #{ $game_variables[341]} "
contents.draw_text(550, 60 , 534, lh, var_text)
self.contents.draw_text(580,0 , 534, 24, "血#{ $game_variables[334]}")
self.contents.draw_text(580,20 , 534, 24, "攻#{ $game_variables[332]}")
self.contents.draw_text(580,40 , 534, 24, "防#{ $game_variables[333]}")
# 绘制要显示的系统变量
change_color(text_color(30)) #改颜色什么的~
var_id =341
var_text = "#{$data_system.variables[341]} #{ $game_variables[341]} "
contents.draw_text(550, 60 , 534, lh, var_text)
self.contents.draw_text(580,0 , 534, 24, "血#{ $game_variables[334]}")
self.contents.draw_text(580,20 , 534, 24, "攻#{ $game_variables[332]}")
self.contents.draw_text(580,40 , 534, 24, "防#{ $game_variables[333]}")
# 绘制要显示的系统变量
change_color(text_color(30)) #改颜色什么的~
var_id =348
var_text = "#{$data_system.variables[348]} #{ $game_variables[348]} "
contents.draw_text(550, 160 , 534, lh, var_text)
self.contents.draw_text(580,100 , 534, 24, "血#{ $game_variables[344]}")
self.contents.draw_text(580,120 , 534, 24, "攻#{ $game_variables[342]}")
self.contents.draw_text(580,140 , 534, 24, "防#{ $game_variables[343]}")
# 绘制要显示的系统变量
change_color(text_color(30)) #改颜色什么的~
var_id =348
var_text = "#{$data_system.variables[348]} #{ $game_variables[348]} "
contents.draw_text(550, 160 , 534, lh, var_text)
self.contents.draw_text(580,100 , 534, 24, "血#{ $game_variables[344]}")
self.contents.draw_text(580,120 , 534, 24, "攻#{ $game_variables[342]}")
self.contents.draw_text(580,140 , 534, 24, "防#{ $game_variables[343]}")
想用3个开关分别 [开启/关闭] 这3个部分在地图上显示
因为之后还会再加上新的内容,所以会需要再加上新的开关
想请问一下~~有办法在上述的脚本直接加上开关,[开启or关闭]各自内容的显示吗?
谢谢~~
是做魔塔类的
所以在地图上显示怪物的数值
怪物同种类消失后,要让这种怪物的数值消失
进入下一层后
会有新的怪物
所以数值要让它消失,换成另一个怪的数值的显示
谢谢了
非常感谢!!
作者: 喵呜喵5 时间: 2013-12-15 10:18
直接拿我修改好的脚本来说
在refresh里用refresh1、2、3描绘你要求的三个窗口
描绘结束后记录窗口当前的数据
在need_refresh?里面判断窗口当前数据和游戏数值是否不同,不同的话执行refresh
原来的那个脚本太蛋疼了,update的位置相当奇怪所以我个人是建议把原来那个脚本完全删掉
作者: mileo 时间: 2013-12-15 10:44
请问有没有比较简单的方法呢?
因为我觉得它在地图上显示脚色能力个人是蛮喜欢
还是说要设开关,全部东西要重做?
谢谢
另外,想请问一下
如果只改原脚本:
#============================================================================
# 〇 地图显示血条魔条
# ——By.冰舞蝶恋
#----------------------------------------------------------------------------
# 说明:显示的文字可自由更动来达到游戏需要的效果。
#----------------------------------------------------------------------------
# 以下是作者的白痴留言,尽管无视吧!
# 啊哈哈!这可是咱第一个独立完成的脚本吖!!
# 一时无聊做的……兴许可以用在ARPG之类的地方吧。偶然看到有不少人在拿RM做
# ARPG,又发现似乎没有(除了邪恶的fux2字眼的那个- -||b),做了个比较完善
# 的……排版不是很好看,坐标可以自己调整。
#============================================================================
# ○ACE移植
# ——By.米酒獭酱
#只是把这个脚本移植到了ACE上,因为找不到ACE代表魔攻魔防的系统变量所以舍去了,
#若大家找到了也可以加上~
#总之这个脚本就是集显示图片显示头像显示变量显示金钱什么的为一体的脚本~
#(话说本人也是第一次弄脚本竟然就移植成功了)
# 坐标可以自由调整+1~
$LBA = 20 # 当这个开挂开启时,地图状态才显示。
$display_var_id = 13 # 要顯示的變量ID
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
# 处理地图画面的类。
#==============================================================================
class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● 開始処理
#--------------------------------------------------------------------------
alias map_windpwz_start start
def start
map_windpwz_start
@mapz_window = Window_MapZ.new(0, 0)
@mapz_window.refresh
@mapz_window.hide
end
alias map_windpwz_update update
def update
map_windpwz_update
@mapz_window.visible = $game_switches[$LBA]
@mapz_window.refresh if check_update_mapz
end
def check_update_mapz
actor = $game_party.leader
# 變量變化時刷新
if @show_actor_var != $game_variables[$display_var_id]
@show_actor_var = $game_variables[$display_var_id]
return true
end
# 金錢變化時刷新
if @show_actor_gold != $game_party.gold
@show_actor_gold = $game_party.gold
return true
end
# 領隊換人時刷新
if @show_actor != actor
@show_actor = actor
return true
end
# 等級變化時刷新
if @show_actor_lv != actor.level
@show_actor_lv = actor.level
return true
end
# 攻擊變化時刷新
if @show_actor_atk != actor.atk
@show_actor_atk = actor.atk
return true
end
# 防禦變化時刷新
if @show_actor_def != actor.def
@show_actor_def = actor.def
return true
end
return false
end
end
class Window_MapZ < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize(x,y)
super(x-8, y-8, Graphics.width+16 ,Graphics.height+16)
self.opacity = 0
update
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
actor = $game_party.leader
draw_pict_name = "Leaves" # 要顯示的圖片名
contents.blt(0, 0, Cache.picture(draw_pict_name), contents.rect)
fw = 100 # 獲取角色頭像+空格
lh = line_height # 獲取行高
gw = Graphics.width # 獲取遊戲窗口寬度
gh = Graphics.height # 獲取遊戲窗口高度
# 繪製領隊角色頭像、體力和魔力
draw_actor_face(actor,0 ,0 )
draw_actor_hp(actor, fw, 4 , 160)
draw_actor_mp(actor, fw, lh+4, 160)
# 繪製標題
change_color(system_color)
contents.draw_text(fw+170, 4 , gw, lh, "攻:")
contents.draw_text(fw+170, lh+4 , gw, lh, "防:")
gold_text = "所持金钱:"
contents.draw_text(fw+170, lh*2+4, gw, lh, gold_text)
gdx = text_size(gold_text).width
cudx = gdx + text_size($game_party.gold).width
contents.draw_text(fw+176+cudx, lh*2+4, gw, lh, Vocab.currency_unit)
# 繪製文字
change_color(normal_color)
lv_text = "#{actor.name} #{Vocab.level_a} #{actor.level}"
contents.draw_text(fw, lh*2+4, gw, lh, lv_text)
contents.draw_text(fw+lh*2+170, 4, gw, lh, actor.atk)
contents.draw_text(fw+lh*2+170, lh+4, gw, lh, actor.def)
contents.draw_text(fw+176+gdx, lh*2+4, gw, lh, $game_party.gold)
# 繪製要顯示的系統變量
change_color(text_color(5)) #改颜色什么的~
var_id = $display_var_id
var_text = "#{$data_system.variables[var_id]}:#{ $game_variables[var_id]}"
contents.draw_text(0, gh-lh-8 , 534, lh, var_text)
end
end
#============================================================================
# 〇 地图显示血条魔条
# ——By.冰舞蝶恋
#----------------------------------------------------------------------------
# 说明:显示的文字可自由更动来达到游戏需要的效果。
#----------------------------------------------------------------------------
# 以下是作者的白痴留言,尽管无视吧!
# 啊哈哈!这可是咱第一个独立完成的脚本吖!!
# 一时无聊做的……兴许可以用在ARPG之类的地方吧。偶然看到有不少人在拿RM做
# ARPG,又发现似乎没有(除了邪恶的fux2字眼的那个- -||b),做了个比较完善
# 的……排版不是很好看,坐标可以自己调整。
#============================================================================
# ○ACE移植
# ——By.米酒獭酱
#只是把这个脚本移植到了ACE上,因为找不到ACE代表魔攻魔防的系统变量所以舍去了,
#若大家找到了也可以加上~
#总之这个脚本就是集显示图片显示头像显示变量显示金钱什么的为一体的脚本~
#(话说本人也是第一次弄脚本竟然就移植成功了)
# 坐标可以自由调整+1~
$LBA = 20 # 当这个开挂开启时,地图状态才显示。
$display_var_id = 13 # 要顯示的變量ID
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
# 处理地图画面的类。
#==============================================================================
class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● 開始処理
#--------------------------------------------------------------------------
alias map_windpwz_start start
def start
map_windpwz_start
@mapz_window = Window_MapZ.new(0, 0)
@mapz_window.refresh
@mapz_window.hide
end
alias map_windpwz_update update
def update
map_windpwz_update
@mapz_window.visible = $game_switches[$LBA]
@mapz_window.refresh if check_update_mapz
end
def check_update_mapz
actor = $game_party.leader
# 變量變化時刷新
if @show_actor_var != $game_variables[$display_var_id]
@show_actor_var = $game_variables[$display_var_id]
return true
end
# 金錢變化時刷新
if @show_actor_gold != $game_party.gold
@show_actor_gold = $game_party.gold
return true
end
# 領隊換人時刷新
if @show_actor != actor
@show_actor = actor
return true
end
# 等級變化時刷新
if @show_actor_lv != actor.level
@show_actor_lv = actor.level
return true
end
# 攻擊變化時刷新
if @show_actor_atk != actor.atk
@show_actor_atk = actor.atk
return true
end
# 防禦變化時刷新
if @show_actor_def != actor.def
@show_actor_def = actor.def
return true
end
return false
end
end
class Window_MapZ < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize(x,y)
super(x-8, y-8, Graphics.width+16 ,Graphics.height+16)
self.opacity = 0
update
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
actor = $game_party.leader
draw_pict_name = "Leaves" # 要顯示的圖片名
contents.blt(0, 0, Cache.picture(draw_pict_name), contents.rect)
fw = 100 # 獲取角色頭像+空格
lh = line_height # 獲取行高
gw = Graphics.width # 獲取遊戲窗口寬度
gh = Graphics.height # 獲取遊戲窗口高度
# 繪製領隊角色頭像、體力和魔力
draw_actor_face(actor,0 ,0 )
draw_actor_hp(actor, fw, 4 , 160)
draw_actor_mp(actor, fw, lh+4, 160)
# 繪製標題
change_color(system_color)
contents.draw_text(fw+170, 4 , gw, lh, "攻:")
contents.draw_text(fw+170, lh+4 , gw, lh, "防:")
gold_text = "所持金钱:"
contents.draw_text(fw+170, lh*2+4, gw, lh, gold_text)
gdx = text_size(gold_text).width
cudx = gdx + text_size($game_party.gold).width
contents.draw_text(fw+176+cudx, lh*2+4, gw, lh, Vocab.currency_unit)
# 繪製文字
change_color(normal_color)
lv_text = "#{actor.name} #{Vocab.level_a} #{actor.level}"
contents.draw_text(fw, lh*2+4, gw, lh, lv_text)
contents.draw_text(fw+lh*2+170, 4, gw, lh, actor.atk)
contents.draw_text(fw+lh*2+170, lh+4, gw, lh, actor.def)
contents.draw_text(fw+176+gdx, lh*2+4, gw, lh, $game_party.gold)
# 繪製要顯示的系統變量
change_color(text_color(5)) #改颜色什么的~
var_id = $display_var_id
var_text = "#{$data_system.variables[var_id]}:#{ $game_variables[var_id]}"
contents.draw_text(0, gh-lh-8 , 534, lh, var_text)
end
end
想在地图上加入一个新的数值和文字的显示
想在这个脚本里面加多个开关
[开启/关闭]多个内容
以后可以再加开关
这样要怎么改呢?
谢谢
(还是说有更好的写法呢?)
作者: 喵呜喵5 时间: 2013-12-15 12:35
本帖最后由 喵呜喵5 于 2013-12-15 16:08 编辑
mileo 发表于 2013-12-15 10:44
请问有没有比较简单的方法呢?
因为我觉得它在地图上显示脚色能力个人是蛮喜欢
- module M5Hud
-
- SWI = [1,2,3]
-
- #这里设置打开/关闭三个窗口所要使用的开关ID
-
- end
- class Scene_Map < Scene_Base
- alias m5_map_window_start start
- def start
- m5_map_window_start
- @m5_map_window = Window_M5Hud.new
- end
- end
- class Window_M5Hud < Window_Base
- include M5Hud
- def initialize
- super(0, 0, Graphics.width+16 ,Graphics.height+16)
- self.opacity = 0
- [url=home.php?mod=space&uid=362762]@Flag[/url] = []
- refresh
- end
-
- def update
- refresh if need_refresh?
- end
-
- def need_refresh?
- 3.times do |i|
- if $game_switches[SWI[i]] != @flag[i]
- return true
- end
- end
- 13.times do |i|
- if $game_variables[@varlist[i]] != @flag[i+3]
- return true
- end
- end
- actor = $game_party.leader
- 6.times do |i|
- if eval(@datelist[i]) != @flag[i+16]
- return true
- end
- end
- false
- end
-
- def refresh
-
- self.contents.clear
-
- actor = $game_party.leader
- fw = 100 # 获取角色头像+空格
- lh = line_height # 获取行高
- gw = Graphics.width # 获取游戏视窗宽度
- gh = Graphics.height # 获取游戏视窗高度
-
- refresh0(actor,fw,lh,gw,gh)
- refresh1(actor,fw,lh,gw,gh) if $game_switches[SWI[0]]
- refresh2(actor,fw,lh,gw,gh) if $game_switches[SWI[1]]
- refresh3(actor,fw,lh,gw,gh) if $game_switches[SWI[2]]
-
- @flag = [$game_switches[SWI[0]],$game_switches[SWI[1]],$game_switches[SWI[2]]]
- @varlist = [330,332,333,334,341,342,343,344,348,1,350,351,352]
- @datelist = ["actor.hp","$game_party.gold","actor","actor.level",
- "actor.atk","actor.def"]
- @varlist.each {|date| @flag.push $game_variables[date]}
- @datelist.each {|date| @flag.push eval(date)}
-
- p "done"
-
- end
-
- def refresh0(actor,fw,lh,gw,gh)
-
- # 绘制领队角色头像、体力和魔力
- draw_actor_face(actor,0 ,0 )
- draw_actor_hp(actor, fw, 4 , 160)
- draw_actor_mp(actor, fw, lh+4, 160)
-
- # 绘制标题
- change_color(system_color)
- contents.draw_text(fw+170, 4 , gw, lh, "攻:")
- contents.draw_text(fw+170, lh+4 , gw, lh, "防:")
- gold_text = "所持金钱:"
- contents.draw_text(fw+170, lh*2+4, gw, lh, gold_text)
- gdx = text_size(gold_text).width
- cudx = gdx + text_size($game_party.gold).width
- contents.draw_text(fw+176+cudx, lh*2+4, gw, lh, Vocab.currency_unit)
-
- # 绘制文字
- change_color(normal_color)
- lv_text = "#{actor.name} #{Vocab.level_a} #{actor.level}"
- contents.draw_text(fw, lh*2+4, gw, lh, lv_text)
- contents.draw_text(fw+lh*2+170, 4, gw, lh, actor.atk)
- contents.draw_text(fw+lh*2+170, lh+4, gw, lh, actor.def)
- contents.draw_text(fw+176+gdx, lh*2+4, gw, lh, $game_party.gold)
- end
-
- def refresh1(actor,fw,lh,gw,gh)
- change_color(text_color(30)) #改颜色什么的~
- var_id =330
- var_text = "#{ $game_variables[330]} #{$data_system.variables[330]}"
- contents.draw_text(0, gh-lh-8 , 534, lh, var_text)
- self.contents.draw_text(25,125 , 534, 24, "#{ $game_variables[1]}")
- self.contents.draw_text(25,157 , 534, 24, "#{ $game_variables[350]}")
- self.contents.draw_text(25,188 , 534, 24, "#{ $game_variables[351]}")
- self.contents.draw_text(25,221 , 534, 24, "#{ $game_variables[352]}")
- end
-
- def refresh2(actor,fw,lh,gw,gh)
- change_color(text_color(30)) #改颜色什么的~
- var_id =341
- var_text = "#{$data_system.variables[341]} #{ $game_variables[341]} "
- contents.draw_text(550, 60 , 534, lh, var_text)
- self.contents.draw_text(580,0 , 534, 24, "血#{ $game_variables[334]}")
- self.contents.draw_text(580,20 , 534, 24, "攻#{ $game_variables[332]}")
- self.contents.draw_text(580,40 , 534, 24, "防#{ $game_variables[333]}")
- end
-
- def refresh3(actor,fw,lh,gw,gh)
- change_color(text_color(30)) #改颜色什么的~
- var_id =348
- var_text = "#{$data_system.variables[348]} #{ $game_variables[348]} "
- contents.draw_text(550, 160 , 534, lh, var_text)
- self.contents.draw_text(580,100 , 534, 24, "血#{ $game_variables[344]}")
- self.contents.draw_text(580,120 , 534, 24, "攻#{ $game_variables[342]}")
- self.contents.draw_text(580,140 , 534, 24, "防#{ $game_variables[343]}")
- end
-
- end
复制代码
作者: 喵呜喵5 时间: 2013-12-15 12:43
本帖最后由 喵呜喵5 于 2013-12-15 12:48 编辑
71行开始的- def refresh0(actor,fw,lh,gw,gh)
- ………………
- end
复制代码 是不论开关打开与否都显示的内容,需要修改这部分内容的话就在这个里面修改
97行开始的- refresh1(actor,fw,lh,gw,gh)
- ……
- end
复制代码 是第一个开关打开时显示的内容,需要修改这部分内容的话就在这个里面修改
后面的refresh2、refresh3同理
61行的varlist的中括号里面填入所有显示中的变量ID,当这个变量的ID数值发生改变时窗口就会更新- @varlist = [330,332,333,334,341,342,343,344,348,349,350,351,352]
复制代码 62行的datelist的中括号里面填入所有显示中的系统数据,默认是按照原脚本的来,即角色HP、金钱、领队角色、等级、攻、防- @datelist = ["actor.hp","$game_party.gold","actor","actor.level","actor.atk","actor.def"]
复制代码 上面两个列表是为了让这个窗口能够正常的更新的,漏填了什么数据的话,当该数据更新时窗口不会更新
作者: mileo 时间: 2013-12-15 13:07
请问我没有改动脚本
直接进入游戏
出现这个,
要怎么做呢?
谢谢~~
作者: 喵呜喵5 时间: 2013-12-15 14:11
mileo 发表于 2013-12-15 13:07
请问我没有改动脚本
直接进入游戏
出现这个,
第60行那里有删掉论坛的url代码变成正常的脚本吗?
作者: mileo 时间: 2013-12-15 14:54
本帖最后由 mileo 于 2013-12-15 14:56 编辑
谢谢喵呜喵5
介个脚本很好用说
请问如果要数值要即时显示要怎么做呢?
数值变化时在地图上直接产生变化
谢谢~~
作者: mileo 时间: 2013-12-24 12:19
本帖最后由 mileo 于 2013-12-24 12:34 编辑
谢谢喵呜喵5帮忙恨多~~
10L脚本
可以请板大給喵喵一点鼓励吗?
超用心!!
谢谢
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |