赞 | 23 |
VIP | 207 |
好人卡 | 31 |
积分 | 31 |
经验 | 48797 |
最后登录 | 2024-5-11 |
在线时间 | 1535 小时 |
Lv3.寻梦者 孤独守望
- 梦石
- 0
- 星屑
- 3132
- 在线时间
- 1535 小时
- 注册时间
- 2006-10-16
- 帖子
- 4321
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
前几天研究Game_Character的速度机制,发现狂雷巨闪……居然用的是2的速度次方,事实上,Game_Character能写下任何的速度。
这个脚本支持设置从1-100的速度- MAX_SPEED = 100
- class Game_Character
- alias old_initialize_speed_a initialize
- def initialize
- old_initialize_speed_a
- @super_speed = -1
- end
- def update_move
- distance = @super_speed <= -1 ? 2 ** @move_speed : @super_speed
- distance *= 2 if dash?
- @real_x = [@real_x - distance, @x * 256].max if @x * 256 < @real_x
- @real_x = [@real_x + distance, @x * 256].min if @x * 256 > @real_x
- @real_y = [@real_y - distance, @y * 256].max if @y * 256 < @real_y
- @real_y = [@real_y + distance, @y * 256].min if @y * 256 > @real_y
- update_bush_depth unless moving?
- if @walk_anime
- @anime_count += 1.5
- elsif @step_anime
- @anime_count += 1
- end
- end
- attr_accessor :move_speed
- attr_reader :super_speed
- def super_speed= (value)
- @super_speed = value
- @super_speed = MAX_SPEED if @super_speed > MAX_SPEED
- end
- end
- class Game_Event
- alias old_setup_speed_a setup
- def setup(*args)
- old_setup_speed_a(*args)
- self.super_speed = @event.speed.to_i
- end
- end
- class Game_Interpreter
- def set_speed(ev_id,speed,bool = true)
- ev = $game_map.events[ev_id]
- ev = $game_player if ev_id == 0
- raise EventIDError.new("异常的事件ID:" + ev_id.to_s) if ev == nil
- if bool
- ev.super_speed = speed
- else
- ev.move_speed = speed
- ev.super_speed = -1
- end
- end
- def get_speed(ev_id)
- ev = $game_map.events[ev_id]
- ev = $game_player if ev_id == 0
- raise EventIDError.new("异常的事件ID:" + ev_id.to_s) if ev == nil
- return ev.super_speed == -1 ? 2 ** ev.move_speed : ev.super_speed
- end
- end
- class RPG::Event
- def speed
- splits = @name.split(/,speed =/)
- return if splits[0] == @name
- val = splits[splits.size - 1]
- val.strip!
- end
- def name
- return @name.split(/,/)[0]
- end
- end
- class EventIDError < Exception
- def initialize(me)
- super(me)
- end
- end
复制代码 MAX_SPEED设置最高移动速度。
在事件名字后面加入",speed = XXX"(空格不能省略,不含双引号)即可设置该事件的移动速度
事件脚本set_speed(ev_id,speed)
设置id为ev_id的速度为speed。
原有速度对应关系为2的次方倍(速度5对应32,依此类推)
还有一些乱七八糟的功能就不解释了……反正应该用不到> <
范例:
速度扩张.rar
(235.86 KB, 下载次数: 2659)
|
|