Project1
标题:
请教如何在触发野怪战斗时暂停计时器?
[打印本页]
作者:
再无神
时间:
2012-11-9 12:39
标题:
请教如何在触发野怪战斗时暂停计时器?
是一个限时跑终点的任务,可是触发地雷式战斗时计时器依旧在走,请高手指教。
ps:不会写脚本,最好是不用脚本的方法
作者:
亂堂和樹
时间:
2012-11-9 13:15
如果是我的話。
會設置條件分歧
發生戰鬥就操作計時器停止
不然極端的做法就是敵人隊伍都設置開關
當任務開啟 進入戰鬥就設置停止計時
作者:
怪蜀黍
时间:
2012-11-9 15:39
本帖最后由 protosssonny 于 2012-11-9 15:40 编辑
功能和使用方法请看脚本中的说明,P叔已经写得很详细了
范例工程:
http://pan.baidu.com/share/link?shareid=128825&uk=875076719
截图:
1.PNG
(191.75 KB, 下载次数: 32)
下载附件
保存到相册
2012-11-9 15:38 上传
脚本:
#==============================================================================
# ☆ 计时器暂停继续
#------------------------------------------------------------------------------
#
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#
# 作者:protosssonny
#
#------------------------------------------------------------------------------
# ■ 使用方法
# 1、计时器时间初始化的方法仍是使用事件来设定,与默认方法相同
# 2、使用时间脚本$game_system.pause_timer可以随时暂停计时器
# 3、使用时间脚本$game_system.continue_timer可以随时继续计时器
# 4、打开控制开关可以开启【战斗自动暂停计时器】模式,关闭控制开关即可停用
# 控制开关请在下面自己设定,默认是10号开关
#
# ■ 系统设定
# 请设定控制战斗暂停计时器的开关号。当开关打开时,功能开启,否则功能停用。
# 默认情况下是10号开关
PAUSE_SWITCH = 10
#==============================================================================
#==============================================================================
# ■ Game_System
#------------------------------------------------------------------------------
# 处理系统附属数据的类。也可执行诸如交通工具、 BGM 等管理之类的功能。
# 本类的实例请参考$game_system 。
#==============================================================================
class Game_System
attr_accessor :time_save
#--------------------------------------------------------------------------
# ● 暂停计时器
#--------------------------------------------------------------------------
def pause_timer
@time_save = 0 if @time_save == nil
@time_save = @timer * 1.0 / Graphics.frame_rate
@timer_working = false
end
#--------------------------------------------------------------------------
# ● 继续计时器
#--------------------------------------------------------------------------
def continue_timer
@time_save = 0 if @time_save == nil
@timer = @time_save * Graphics.frame_rate
@timer_working = true
end
end
#==============================================================================
# ■ Scene_Battle
#------------------------------------------------------------------------------
# 处理战斗画面的类。
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● 开始处理
#--------------------------------------------------------------------------
alias pause_timer_start start
def start
super
pause_timer_start
if $game_switches[PAUSE_SWITCH] == true
$game_system.pause_timer
end
end
#--------------------------------------------------------------------------
# ● 结束处理
#--------------------------------------------------------------------------
alias continue_timer_terminate terminate
def terminate
super
continue_timer_terminate
if $game_switches[PAUSE_SWITCH] == true
$game_system.continue_timer
end
end
end
#==============================================================================
#
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#
# 作者:protosssonny
# 2012年11月9日
#==============================================================================
复制代码
作者:
a364774426
时间:
2012-11-9 15:39
只能改脚本,在Game_System里最下面,68到75行,改成这样:
def update
if @timer_working and @timer > 0
@timer -= 1
if $game_temp.in_battle # 如果战斗中计时器为 0
@timer -= 0 # 那么就中断战斗
end
end
end
复制代码
作者:
再无神
时间:
2012-11-26 20:51
好久没上网 今天才看到 感谢解答 我会好好看看的
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1