Project1
标题:
有没有仿网游按键呼出菜单功能的脚本?
[打印本页]
作者:
hgfor
时间:
2008-10-25 01:30
标题:
有没有仿网游按键呼出菜单功能的脚本?
就像大话西游里面的那种, 按alt+i 或 alt+ w 等可以弹出对应的菜单?{/qiang}
还有就是可以告诉我怎么修改那些菜单吗?
按alt+i 弹出物品菜单(这种菜单就像大话的那种.) {/hx}
谢谢了. [LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
Oo呵呵oO
时间:
2008-10-25 02:26
提示:
作者被禁止或删除 内容自动屏蔽
作者:
越前リョーマ
时间:
2008-10-25 02:28
并行事件,按键分歧。
[LINE]1,#dddddd[/LINE]
夏娜的全键盘脚本。
作者:
hgfor
时间:
2008-10-25 04:08
我找到了全键盘脚本,但是要怎么用? 要用事件来判断吗?
还是不太明白,请指教一下,谢谢.
作者:
浩气青天
时间:
2008-10-25 04:12
事件-并行处理-条件分歧-当XXXX键按下时-呼叫存档或者菜单画面
这是最简单的
如果想要多呼叫几个其他菜单的脚本
#==============================================================================
# ■ 本脚本源自www.66rpg.com,转载与使用请保留此信息
#==============================================================================
#==============================================================================
# 菜单快捷键 by Claimh
#------------------------------------------------------------------------------
# http://www.k3.dion.ne.jp/~claimh/
#==============================================================================
module SHORTCUT
USE_ITEM_SHORT = true #——开启物品菜单快捷键
USE_SKILL_SHORT = true #——开启特技菜单快捷键
USE_EQUIP_SHORT = true #——开启装备菜单快捷键
USE_SAVE_SHORT = true #——开启储存菜单快捷键
CHANGE_ITEM = Input::X #——物品快捷键的键位
CHANGE_SKILL = Input::Y #——特技快捷键的键位
CHANGE_EQUIP = Input::Z #——装备快捷键的键位
CHANGE_SAVE = Input::A #——储存快捷键的键位
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
end
#==============================================================================
# Scene_Map
#==============================================================================
class Scene_Map
include SHORTCUT
alias update_short update
def update
update_short
menu_shortcut
end
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
def menu_shortcut
if Input.trigger?(CHANGE_ITEM) and USE_ITEM_SHORT
unless $game_system.map_interpreter.running? or
$game_system.menu_disabled
$game_temp.menu_calling = true
$game_temp.menu_beep = true
$item_short = true
call_item
end
end
if Input.trigger?(CHANGE_SKILL) and USE_SKILL_SHORT
unless $game_system.map_interpreter.running? or
$game_system.menu_disabled
$game_temp.menu_calling = true
$game_temp.menu_beep = true
$skill_short = true
call_skill
end
end
if Input.trigger?(CHANGE_EQUIP) and USE_EQUIP_SHORT
unless $game_system.map_interpreter.running? or
$game_system.menu_disabled
$game_temp.menu_calling = true
$game_temp.menu_beep = true
$equip_short = true
call_equip
end
end
if Input.trigger?(CHANGE_SAVE) and USE_SAVE_SHORT
unless $game_system.map_interpreter.running? or
$game_system.menu_disabled
$game_temp.menu_calling = true
$game_temp.menu_beep = true
$save_short = true
call_save
end
end
end
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
def call_item
$game_temp.menu_calling = false
if $game_temp.menu_beep
$game_system.se_play($data_system.decision_se)
$game_temp.menu_beep = false
end
$game_player.straighten
$scene = Scene_Item.new
end
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
def call_skill
$game_temp.menu_calling = false
if $game_temp.menu_beep
$game_system.se_play($data_system.decision_se)
$game_temp.menu_beep = false
end
$game_player.straighten
$scene = Scene_Skill.new
end
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
def call_equip
$game_temp.menu_calling = false
if $game_temp.menu_beep
$game_system.se_play($data_system.decision_se)
$game_temp.menu_beep = false
end
$game_player.straighten
$scene = Scene_Equip.new
end
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
def call_save
$game_temp.menu_calling = false
if $game_temp.menu_beep
$game_system.se_play($data_system.decision_se)
$game_temp.menu_beep = false
end
$game_player.straighten
$scene = Scene_Save.new
end
end
#==============================================================================
# Scene_Item
#==============================================================================
class Scene_Item
alias update_item_short update_item
def update_item
if Input.trigger?(Input::B) and $item_short
$item_short = false
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
update_item_short
end
end
#==============================================================================
# Scene_Skill
#==============================================================================
class Scene_Skill
alias update_skill_short update_skill
def update_skill
if Input.trigger?(Input::B) and $skill_short
$skill_short = false
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
update_skill_short
end
end
#==============================================================================
# Scene_Equip
#==============================================================================
class Scene_Equip
alias update_equip_short update_right
def update_right
if Input.trigger?(Input::B) and $equip_short
$equip_short = false
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
update_equip_short
end
end
#==============================================================================
# ■ Scene_Save
#------------------------------------------------------------------------------
# 处理存档画面的类。
#==============================================================================
class Scene_Save < Scene_File
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
super("要保存到这个文件吗?")
end
#--------------------------------------------------------------------------
# ● 确定时的处理
#--------------------------------------------------------------------------
def on_decision(filename)
# 演奏存档 SE
$game_system.se_play($data_system.save_se)
# 写入存档数据
file = File.open(filename, "wb")
write_save_data(file)
file.close
# 如果被事件调用
if $game_temp.save_calling
# 清除存档调用标志
$game_temp.save_calling = false
# 切换到地图画面
$scene = Scene_Map.new
return
end
# 切换到菜单画面
$scene = Scene_Menu.new(4)
end
#--------------------------------------------------------------------------
# ● 取消时的处理
#--------------------------------------------------------------------------
def on_cancel
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 如果被事件调用
if $game_temp.save_calling
# 清除存档调用标志
$game_temp.save_calling = false
# 切换到地图画面
$scene = Scene_Map.new
return
end
# 切换到菜单画面
$scene = Scene_Menu.new(4)
end
#--------------------------------------------------------------------------
# ● 写入存档数据
# file : 写入用文件对像 (已经打开)
#--------------------------------------------------------------------------
def write_save_data(file)
# 生成描绘存档文件用的角色图形
characters = []
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
characters.push([actor.character_name, actor.character_hue])
end
# 写入描绘存档文件用的角色数据
Marshal.dump(characters, file)
# 写入测量游戏时间用画面计数
Marshal.dump(Graphics.frame_count, file)
# 增加 1 次存档次数
$game_system.save_count += 1
# 保存魔法编号
# (将编辑器保存的值以随机值替换)
$game_system.magic_number = $data_system.magic_number
# 写入各种游戏对像
Marshal.dump($game_system, file)
Marshal.dump($game_switches, file)
Marshal.dump($game_variables, file)
Marshal.dump($game_self_switches, file)
Marshal.dump($game_screen, file)
Marshal.dump($game_actors, file)
Marshal.dump($game_party, file)
Marshal.dump($game_troop, file)
Marshal.dump($game_map, file)
Marshal.dump($game_player, file)
end
end
复制代码
[LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者:
hgfor
时间:
2008-10-25 05:07
这个脚本可以实现按单个键实现菜单调用, 但是不能实现 alt+a 这样的功能啊,事件中也设置不了,只有单个键的.
能否实现这样的,按下ALT,如果再按i 就是弹出物品菜单, 如果再按w 就是弹出任务菜单,等这样的.?
作者:
hgfor
时间:
2008-10-25 16:26
弄来弄去的,还是不行啊,不可能的啊.
作者:
大地的雨
时间:
2008-10-25 17:18
没记错站上的全按键都是单个的,需要两个按键的请自行条件分期两次。
只是举例:
条件分歧:当ALT键按下的时候
条件分歧:当I键按下的时候
打开物品界面
分歧结束
分歧结束
作者:
hgfor
时间:
2008-10-25 17:35
但是在事件,按钮中并没有alt键可选啊,只能选定列表中有的按键,该怎么办啊?
作者:
浩气青天
时间:
2008-10-25 18:58
囧
用单个键实现也行的啊。
作者:
hgfor
时间:
2008-10-25 20:23
谢谢了, 只好用单键了.
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1