Project1
标题:
任务系统缩减版 (清纯版- -)
[打印本页]
作者:
百道
时间:
2009-1-21 20:16
标题:
任务系统缩减版 (清纯版- -)
请问使用这个脚本时 在添加任务时候能添加任务的一些描述吗?
还有就是 在添加任务的时候 我使用了显示变量的命令
然后查看任务就显示成这样的
[LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
IamI
时间:
2009-1-21 21:00
\c
\v
=>
\\c
\\v
常见错误= =
作者:
百道
时间:
2009-1-21 21:24
以下引用
IamI于2009-1-21 13:00:41
的发言:
\c
\v
=>
\\c
\\v
常见错误= =
还是无法显示变量值
作者:
IamI
时间:
2009-1-21 21:38
喵的原来根本就没有这个功能= =
那就在脚本里邪恶的做手脚= =
修改如下
#==============================================================================
# Game_System
#------------------------------------------------------------------------------
# 添加内容
#==============================================================================
class Game_System
attr_accessor :mission #现在执行的任务
attr_accessor :partmission
alias carol3_ini initialize
def initialize
carol3_ini
@mission = ""
@partmission = []
end
end
#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
# 处理标题画面的类。
#==============================================================================
class Scene_Title
alias carol3_title1 main
def main
$map_infos = load_data("Data/MapInfos.rxdata")
for key in $map_infos.keys
$map_infos[key] = $map_infos[key].name
end
$任务 = ""
$支线 = nil
$支线完成 = nil
carol3_title1
end
end
class Scene_Map
alias carol3_update update
def update
carol3_update
if $支线 != nil
for i in 0...$game_system.partmission.size
if $game_system.partmission[i] == $支线
$支线 = nil
break
end
end
if $支线 != nil
$game_system.partmission.push($支线)
$支线 = nil
end
end
if $支线完成 != nil
for i in 0...$game_system.partmission.size
if $game_system.partmission[i] == $支线完成
$game_system.partmission.delete($game_system.partmission[i])
break
end
end
$支线完成 = nil
end
end
end
#==============================================================================
# ■ Game_Map
#------------------------------------------------------------------------------
# 处理地图的类。包含卷动以及可以通行的判断功能。
# 本类的实例请参考 $game_map 。
#==============================================================================
class Game_Map
def name
return $map_infos[@map_id]
end
end
#==============================================================================
# Window_RecordBook
#------------------------------------------------------------------------------
# 菜单界面表示信息的窗口
#==============================================================================
class Window_RecordBook < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对象
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 480)
self.contents = Bitmap.new(width - 32, height - 32)
if $任务 == ""
$任务 = $game_system.mission
else
$game_system.mission = $任务
end
refresh
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.font.size = 20
cx = self.contents.text_size("现在地点").width + 24
self.contents.draw_text(4, 0, cx, 24, "现在地点")
self.contents.font.color = normal_color
self.contents.draw_text(4 + cx, 0, 444 - cx, 24, $game_map.name.to_s)
self.contents.font.color = system_color
cx = self.contents.text_size("主线任务").width + 24
self.contents.draw_text(4, 32, cx, 24, "主线任务")
self.contents.font.color = Color.new(240,250,75,255)
self.contents.draw_text(4 + cx, 32, 444 - cx, 24, $game_system.mission.to_s)
self.contents.font.color = system_color
cx = self.contents.text_size("支线任务").width + 24
self.contents.draw_text(4, 96, cx, 24, "支线任务")
self.contents.font.color = normal_color
for text in $game_system.partmission
begin
last_text = text.clone
text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
text.gsub!(/\\[Nn]\[([0-9]+)\]/) {$game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""}
end
end
for i in 0...$game_system.partmission.size
self.contents.draw_text(4 + cx, 96 + i * 32, 444 - cx, 24, $game_system.partmission[i].to_s)
end
end
end
#----------------------------------------------------------------------------
#
# ● 任务书调用场景!调用方法:$scene=Scene_RecordBook.new
#
#----------------------------------------------------------------------------
class Scene_RecordBook
def main
@command_window = Window_RecordBook.new
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
if $scene.is_a?(Scene_Title)
Graphics.transition
Graphics.freeze
end
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
@command_window.update
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
end
end
复制代码
支持\\n\\v,其他不支持 [LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者:
百道
时间:
2009-1-21 21:58
首先谢谢楼上的大大 用你修改后的那个脚本后能显示变量值了
但是无法删除任务了 貌似这个脚本不支持在任务名里面添加变量值
有没有办法在添加任务的时候 能给任务添加一些注释
作者:
姬文翔
时间:
2009-1-24 08:31
……怎么缩减版连这些常用功能也缩减去了……{/fd}
作者:
轩辕民
时间:
2009-1-24 09:21
那么还是用完整版吧 - -
作者:
百道
时间:
2009-1-24 19:53
算了 还是用公共事件来实现把
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1