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

Project1

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

[RMVX发布] 移动i速度扩张(简单且雷人慎入)

 关闭 [复制链接]

Lv3.寻梦者

孤独守望

梦石
0
星屑
3121
在线时间
1534 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

跳转到指定楼层
1
发表于 2009-9-12 09:20:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
前几天研究Game_Character的速度机制,发现狂雷巨闪……居然用的是2的速度次方,事实上,Game_Character能写下任何的速度。
这个脚本支持设置从1-100的速度
  1. MAX_SPEED = 100
  2. class Game_Character
  3.   alias old_initialize_speed_a initialize
  4.   def initialize
  5.     old_initialize_speed_a
  6.     @super_speed = -1
  7.   end
  8.   def update_move
  9.     distance = @super_speed <= -1 ? 2 ** @move_speed : @super_speed
  10.     distance *= 2 if dash?
  11.     @real_x = [@real_x - distance, @x * 256].max if @x * 256 < @real_x
  12.     @real_x = [@real_x + distance, @x * 256].min if @x * 256 > @real_x
  13.     @real_y = [@real_y - distance, @y * 256].max if @y * 256 < @real_y
  14.     @real_y = [@real_y + distance, @y * 256].min if @y * 256 > @real_y
  15.     update_bush_depth unless moving?
  16.     if @walk_anime
  17.       @anime_count += 1.5
  18.     elsif @step_anime
  19.       @anime_count += 1
  20.     end
  21.   end
  22.   attr_accessor :move_speed
  23.   attr_reader :super_speed
  24.   def super_speed= (value)
  25.     @super_speed = value
  26.     @super_speed = MAX_SPEED if @super_speed > MAX_SPEED
  27.   end
  28. end
  29. class Game_Event
  30.   alias old_setup_speed_a setup
  31.   def setup(*args)
  32.     old_setup_speed_a(*args)
  33.     self.super_speed = @event.speed.to_i
  34.   end
  35. end

  36. class Game_Interpreter
  37.   def set_speed(ev_id,speed,bool = true)
  38.     ev = $game_map.events[ev_id]
  39.     ev = $game_player if ev_id == 0
  40.     raise EventIDError.new("异常的事件ID:" + ev_id.to_s) if ev == nil
  41.     if bool
  42.       ev.super_speed = speed
  43.     else
  44.       ev.move_speed = speed
  45.       ev.super_speed = -1
  46.     end
  47.   end
  48.   def get_speed(ev_id)
  49.     ev = $game_map.events[ev_id]
  50.     ev = $game_player if ev_id == 0
  51.     raise EventIDError.new("异常的事件ID:" + ev_id.to_s) if ev == nil
  52.     return ev.super_speed == -1 ? 2 ** ev.move_speed : ev.super_speed
  53.   end
  54. end

  55. class RPG::Event
  56.   def speed
  57.     splits = @name.split(/,speed =/)
  58.     return if splits[0] == @name
  59.     val = splits[splits.size - 1]
  60.     val.strip!
  61.   end
  62.   def name
  63.     return @name.split(/,/)[0]
  64.   end
  65. end

  66. class EventIDError < Exception
  67.   def initialize(me)
  68.     super(me)
  69.   end
  70. end
复制代码
MAX_SPEED设置最高移动速度。
在事件名字后面加入",speed = XXX"(空格不能省略,不含双引号)即可设置该事件的移动速度
事件脚本set_speed(ev_id,speed)
设置id为ev_id的速度为speed。
原有速度对应关系为2的次方倍(速度5对应32,依此类推)

还有一些乱七八糟的功能就不解释了……反正应该用不到> <
范例: 速度扩张.rar (235.86 KB, 下载次数: 2659)
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客

Lv1.梦旅人

穿越一季:朔

梦石
0
星屑
50
在线时间
333 小时
注册时间
2007-4-11
帖子
5369

贵宾

2
发表于 2009-9-12 17:05:59 | 只看该作者

若是赛跑之类的GAME的话变化是很微妙的
6R复活?别扯淡了.

柳柳一旦接手66RPG,我果断呵呵啊。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
128 小时
注册时间
2009-1-28
帖子
2790
3
发表于 2009-9-12 17:48:11 | 只看该作者
做小游戏的法宝啊.....

俺能拿走么

炼金术的根本法则是等价交换。想要获得,必须失去同等价值的东西。每当烦躁的时候,煎熬在不想做却又正在做的烦心事中的时候,我就安慰自己,提醒自己做这些事情的目的所在,告诉自己不要忽略所获得或者即将获得的回报,物质的,精神的,肉体的,灵魂的回报!只做想做的事情,就会失去不想失去的东西。
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3251
在线时间
3616 小时
注册时间
2006-9-6
帖子
37398

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

4
发表于 2009-9-12 19:00:48 | 只看该作者
我觉得还是直接设置倍数比较好……特别是可以几点几之类的。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
5
发表于 2009-10-7 19:30:47 | 只看该作者
本帖最后由 奶油Da蛋糕 于 2009-10-7 19:32 编辑

可以输入浮点数么?
MAX_SPEED = π (这个字符是“兀”pai,宋体的“兀”pai就变成这样了。π=3.141592……)
我爱66RPG,但我讨厌66.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
68 小时
注册时间
2010-7-8
帖子
47
6
发表于 2010-8-24 21:06:01 | 只看该作者
哇塞:victory:,这么好用的脚本,好东西啊,谢谢你!
一起努力
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-20 14:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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