设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
Project1 查看内容

任务系统缩减版 (清纯版- -)

2006-1-20 00:00| 发布者: 柳柳| 查看: 11195| 评论: 0|原作者: MoHock

摘要:    作者 MoHock  版本与更新  2006年1月  相关网址  点此进入讨论贴  范例工程 效果 可以查看任务。其实就是把http://bbs.66rpg.com/web/shownews.asp?id=182这个脚本缩
 

 作者

MoHock

 版本与更新

 2006年1月

 相关网址

 点此进入讨论贴

 范例工程



效果

可以查看任务。其实就是把http://bbs.66rpg.com/web/shownews.asp?id=182这个脚本缩减了一下,去掉了全部菜单功能。MoHock曰:

#------------------------------------------------------------------------
# 本脚本由主页上的[任务显示与菜单综合加强]改编的,从新整和了一下,主要功能
# 直接通过[$scene=Scene_RecordBook.new]调用查看任务显示,方便自制菜单等游
# 戏的利用,也是应论坛上[linguoheng]的需求做的,现在发布出来方便大家以后使
# 用
#------------------------------------------------------------------------

添加任务等方法请看原教学

其他

小提示(如果还想改造的话):

$game_system.mission.to_s 主线任务

$game_system.partmission[i].to_s 第i个支线任务

相关截图

无,请看范例游戏

 

 
 

 脚本内容

#==============================================================================
# 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 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


脚本使用的通用说明

约定:本脚本来源于网络,任何人不得随意将本脚本应用于商业用途,如需转载,必须保留所有版权信息,如果是国内作者,最好征求作者同意——否则发生任何后果,66RPG不予负责。使用此脚本表示您默认接受上述约定。

说明:不同脚本之间、尤其是不同作者脚本之间会有冲突,本站会对已知脚本冲突进行简单说明。测试新脚本请下载本站提供的测试文件或者新建工程测试。脚本不要贪多,否则可能会互相冲突对您的游戏造成未知的影响。如果脚本内或者本站内提供了解释,请务必完全看完解释后再使用,如有问题,请到论坛讨论。


鲜花

刚表态过的朋友 (0 人)

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-26 01:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部