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

Project1

 找回密码
 注册会员
搜索
查看: 3052|回复: 5
打印 上一主题 下一主题

vx事件派绝对实用的脚本

 关闭 [复制链接]

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
跳转到指定楼层
1
发表于 2008-9-4 06:24:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
#这个脚本是我转载的
#并且99%都是使用别人的,因为我自己就是个脚本半盲
##这个脚本的功能很强
#其实就一个,在地图重新显示的时候,执行一个公共事件
#
#这个脚本就是辅助事件派的人使用的
#比如实现武器决定技能
#在公共事件上分歧是否装备打狗棒
#  若装备,则学会打狗棒法
#  若没装备,则遗忘打狗帮法
# 由于在你关掉菜单时会执行这个事件
# 所以就实现了
#
#象诸如装备决定行走图,用这个很容易就实现了
#
#这个脚本跟显示地图名类的脚本绝对冲突
#不过这个自己就是个显示地图名的脚本
#我是从那转载的
#----------------------------------------------------------------------
#制作范例下载http://rpg.blue/upload_program/files/Project1_100909386.rar


  1. # ————————————————————————————————————
  2. # 本脚本来自www.66rpg.com,转载和使用请保留此信息
  3. # ————————————————————————————————————

  4. #==============================================================================
  5. # ■ 地图名显示脚本
  6. #     by Yuee
  7. #------------------------------------------------------------------------------
  8. # 在Main的上方插入一个页,将本脚本复制到那页中即可
  9. #==============================================================================

  10. #==============================================================================
  11. # ■ Window_MapName
  12. #------------------------------------------------------------------------------
  13. #  显示地图名字的窗口。
  14. #==============================================================================

  15. class Window_MapName < Window_Base
  16.   #--------------------------------------------------------------------------
  17.   # ● 类常量定义
  18.   #--------------------------------------------------------------------------
  19.   
  20.   
  21.   #公共事件编号
  22.   BH = 1
  23.   # 暂时屏蔽用的开关
  24.   SWITCH = 6
  25.   
  26.   # 窗口位置设定
  27.   NAME_X = 544-220      # 矩形左上顶点X坐标
  28.   NAME_Y = 0       # 矩形左上顶点Y坐标
  29.   NAME_W = 220      # 矩形宽
  30.   NAME_H = 60       # 矩形高
  31.    
  32.   # 显示时间设置
  33.   SHOW_TIME_0 = 10  # 地图名出现前等待的帧数
  34.   SHOW_TIME_1 = 10  # 地图名从不可见变成可见的帧数
  35.   SHOW_TIME_2 = 34  # 地图名完全可见的帧数
  36.   SHOW_TIME_3 = 16  # 地图名从可见变成不可见的帧数
  37.   
  38.   # 完全可见时的透明度设置
  39.   OPACITY_1 = 244   # 边框
  40.   OPACITY_2 = 100   # 背景
  41.   OPACITY_3 = 255   # 文字
  42.   
  43.   # 地图名字的颜色
  44.   TEXT_COLOR = Color.new(255, 255, 255, 255)
  45.    
  46.   #--------------------------------------------------------------------------
  47.   # ● 初始化状态
  48.   #--------------------------------------------------------------------------
  49.   def initialize
  50.     super(NAME_X , NAME_Y, NAME_W, NAME_H)
  51.     # 初始化窗口透明度
  52.     self.opacity = 0
  53.     self.back_opacity = 0
  54.     self.z = 9999
  55.     self.contents_opacity = 0
  56.     self.contents = Bitmap.new(width - 32, height - 32)
  57.     # 剩余帧数初始化
  58.     @show_time = 0
  59.   end
  60.   #--------------------------------------------------------------------------
  61.   # ● 输出文字
  62.   #--------------------------------------------------------------------------
  63.   def setname
  64.     if $game_switches[SWITCH]
  65.       # 获取地图ID
  66.       newid = $game_map.map_id
  67.       time = SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3  
  68.       # 如果现在的地图的ID不是刚才显示的地图ID则开始显示
  69.       if newid != @id
  70.         @id = newid
  71.         @show_time = SHOW_TIME_0 + SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3
  72.    #--------------------------------------------------------------------------
  73.    #在这里添加事件
  74.    #-------------------------------------------------------------------------
  75.          $game_temp.common_event_id = BH  # 装备更换、
  76.          
  77.          
  78.    #-------------------------------------------------------------------------      
  79.    #---------------------------------------------------------------------------
  80.       # 剩余帧数为0是时,全部窗口透明
  81.   
  82.       elsif @show_time < 1
  83.         self.opacity = 0
  84.         self.back_opacity = 0
  85.         self.contents_opacity = 0
  86.         return
  87.       end      
  88.       self.contents.clear
  89.       self.contents.font.color = TEXT_COLOR
  90.       # 描绘地图名
  91.       self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)
  92.       # 根本帧数设定窗口透明度
  93.       if @show_time > (SHOW_TIME_2 + SHOW_TIME_3)
  94.         self.opacity = @show_time < time ? (((OPACITY_1 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  95.         self.back_opacity = @show_time < time ? (((OPACITY_2 / SHOW_TIME_1 )* (time - @show_time)).to_i) : 0
  96.         self.contents_opacity = @show_time < time ? (((OPACITY_3 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  97.       else
  98.         self.opacity = @show_time < (SHOW_TIME_3 / 16 * 14) ? ((OPACITY_1 / SHOW_TIME_3) * @show_time).to_i : OPACITY_1
  99.         self.back_opacity = @show_time < (SHOW_TIME_3 / 16 * 9) ? ((OPACITY_2 / SHOW_TIME_3) * @show_time).to_i : OPACITY_2
  100.         self.contents_opacity = @show_time < SHOW_TIME_3 ? ((OPACITY_3 / SHOW_TIME_3)* @show_time).to_i : OPACITY_3
  101.       end
  102.       @show_time -= 1
  103.       $game_switches[SWITCH] = false if @show_time < 0
  104.     end
  105.   end
  106. end

  107. #==============================================================================
  108. # ■ Scene_Map
  109. #------------------------------------------------------------------------------
  110. #  处理地图画面的类。(追加定义)
  111. #==============================================================================

  112. class Scene_Map
  113.   alias smn_start start
  114.   def start
  115.     @mapname = Window_MapName.new
  116.     smn_start
  117.   end
  118.   
  119.   alias smn_dispose terminate
  120.   def terminate
  121.     smn_dispose
  122.     @mapname.dispose
  123.   end
  124.   
  125.   alias smn_update update
  126.   def update
  127.     smn_update
  128.     @mapname.setname
  129.   end
  130. end

  131. #==============================================================================
  132. # ■ Scene_Title
  133. #------------------------------------------------------------------------------
  134. #  处理标题画面的类。(追加定义)
  135. #==============================================================================

  136. class Scene_Title
  137.   alias smn_load load_database
  138.   def load_database
  139.     # 读取地图信息文件
  140.     $data_mapinfos = load_data("Data/MapInfos.rvdata")
  141.     smn_load
  142.   end
  143. end

  144. #==============================================================================
  145. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  146. #==============================================================================
复制代码


脚本请用html标签框住,谢谢
                    by 雪流星
精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-5-25
帖子
274
2
发表于 2008-9-4 06:40:35 | 只看该作者
  1. # ————————————————————————————————————
  2. # 本脚本来自www.66rpg.com,转载和使用请保留此信息
  3. # ————————————————————————————————————

  4. #==============================================================================
  5. # ■ 地图名显示脚本
  6. #     by Yuee
  7. #------------------------------------------------------------------------------
  8. # 在Main的上方插入一个页,将本脚本复制到那页中即可
  9. #==============================================================================

  10. #==============================================================================
  11. # ■ Window_MapName
  12. #------------------------------------------------------------------------------
  13. #  显示地图名字的窗口。
  14. #==============================================================================

  15. class Window_MapName < Window_Base
  16. #--------------------------------------------------------------------------
  17. # ● 类常量定义
  18. #--------------------------------------------------------------------------


  19. #公共事件编号
  20. BH = 1
  21. # 暂时屏蔽用的开关
  22. SWITCH = 6

  23. # 窗口位置设定
  24. NAME_X = 544-220      # 矩形左上顶点X坐标
  25. NAME_Y = 0       # 矩形左上顶点Y坐标
  26. NAME_W = 220      # 矩形宽
  27. NAME_H = 60       # 矩形高
  28.    
  29. # 显示时间设置
  30. SHOW_TIME_0 = 10  # 地图名出现前等待的帧数
  31. SHOW_TIME_1 = 10  # 地图名从不可见变成可见的帧数
  32. SHOW_TIME_2 = 34  # 地图名完全可见的帧数
  33. SHOW_TIME_3 = 16  # 地图名从可见变成不可见的帧数

  34. # 完全可见时的透明度设置
  35. OPACITY_1 = 244   # 边框
  36. OPACITY_2 = 100   # 背景
  37. OPACITY_3 = 255   # 文字

  38. # 地图名字的颜色
  39. TEXT_COLOR = Color.new(255, 255, 255, 255)
  40.   
  41. #--------------------------------------------------------------------------
  42. # ● 初始化状态
  43. #--------------------------------------------------------------------------
  44. def initialize
  45.    super(NAME_X , NAME_Y, NAME_W, NAME_H)
  46.    # 初始化窗口透明度
  47.    self.opacity = 0
  48.    self.back_opacity = 0
  49.    self.z = 9999
  50.    self.contents_opacity = 0
  51.    self.contents = Bitmap.new(width - 32, height - 32)
  52.    # 剩余帧数初始化
  53.    @show_time = 0
  54. end
  55. #--------------------------------------------------------------------------
  56. # ● 输出文字
  57. #--------------------------------------------------------------------------
  58. def setname
  59.    if $game_switches[SWITCH]
  60.      # 获取地图ID
  61.      newid = $game_map.map_id
  62.      time = SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3  
  63.      # 如果现在的地图的ID不是刚才显示的地图ID则开始显示
  64.      if newid != @id
  65.        @id = newid
  66.        @show_time = SHOW_TIME_0 + SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3
  67.   #--------------------------------------------------------------------------
  68.   #在这里添加事件
  69.   #-------------------------------------------------------------------------
  70.         $game_temp.common_event_id = BH  # 装备更换、
  71.         
  72.         
  73.   #-------------------------------------------------------------------------      
  74.   #---------------------------------------------------------------------------
  75.      # 剩余帧数为0是时,全部窗口透明

  76.      elsif @show_time < 1
  77.        self.opacity = 0
  78.        self.back_opacity = 0
  79.        self.contents_opacity = 0
  80.        return
  81.      end      
  82.      self.contents.clear
  83.      self.contents.font.color = TEXT_COLOR
  84.      # 描绘地图名
  85.      self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)
  86.      # 根本帧数设定窗口透明度
  87.      if @show_time > (SHOW_TIME_2 + SHOW_TIME_3)
  88.        self.opacity = @show_time < time ? (((OPACITY_1 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  89.        self.back_opacity = @show_time < time ? (((OPACITY_2 / SHOW_TIME_1 )* (time - @show_time)).to_i) : 0
  90.        self.contents_opacity = @show_time < time ? (((OPACITY_3 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  91.      else
  92.        self.opacity = @show_time < (SHOW_TIME_3 / 16 * 14) ? ((OPACITY_1 / SHOW_TIME_3) * @show_time).to_i : OPACITY_1
  93.        self.back_opacity = @show_time < (SHOW_TIME_3 / 16 * 9) ? ((OPACITY_2 / SHOW_TIME_3) * @show_time).to_i : OPACITY_2
  94.        self.contents_opacity = @show_time < SHOW_TIME_3 ? ((OPACITY_3 / SHOW_TIME_3)* @show_time).to_i : OPACITY_3
  95.      end
  96.      @show_time -= 1
  97.      $game_switches[SWITCH] = false if @show_time < 0
  98.    end
  99. end
  100. end

  101. #==============================================================================
  102. # ■ Scene_Map
  103. #------------------------------------------------------------------------------
  104. #  处理地图画面的类。(追加定义)
  105. #==============================================================================

  106. class Scene_Map
  107. alias smn_start start
  108. def start
  109.    @mapname = Window_MapName.new
  110.    smn_start
  111. end

  112. alias smn_dispose terminate
  113. def terminate
  114.    smn_dispose
  115.    @mapname.dispose
  116. end

  117. alias smn_update update
  118. def update
  119.    smn_update
  120.    @mapname.setname
  121. end
  122. end

  123. #==============================================================================
  124. # ■ Scene_Title
  125. #------------------------------------------------------------------------------
  126. #  处理标题画面的类。(追加定义)
  127. #==============================================================================

  128. class Scene_Title
  129. alias smn_load load_database
  130. def load_database
  131.    # 读取地图信息文件
  132.    $data_mapinfos = load_data("Data/MapInfos.rvdata")
  133.    smn_load
  134. end
  135. end

  136. #==============================================================================
  137. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  138. #==============================================================================
复制代码


脚本请用这個
  1. [code]
复制代码
[/code]
最萌琴美..KOTOMI..
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
116 小时
注册时间
2008-5-12
帖子
264
3
发表于 2008-9-4 07:07:10 | 只看该作者
武器决定技能 沉影不器 倒是写过
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

4
发表于 2008-9-6 03:06:25 | 只看该作者
果然是很好的脚本……
地图名显示、不用开关判断一些持有状态之类的……
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-7-8
帖子
466
5
发表于 2008-9-6 03:15:03 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

6
发表于 2008-9-6 03:17:39 | 只看该作者
以下引用kissye于2008-9-5 19:15:03的发言:


以下引用越前リョーマ于2008-9-5 19:06:25的发言:

果然是很好的脚本……
地图名显示、不用开关判断一些持有状态之类的……



小声说,切换地图的时候执行公共事件一句脚本就够了.....
Scene_Map的update_transfer_player(场所移动方法)里最后的end前面加上
$game_temp.common_event_id = 需要执行的公共事件编号

他这个脚本之所以这么长,是因为原脚本不是用公共事件,而是用脚本来实现切换地图时候显示地图名的
帮原脚本的作者T T

简单的说就是在判断地图刷新,显示地图名的时候加上了执行公共事件这个东西吧……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-16 12:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表