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

Project1

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

[已经解决] 谁可以帮我在这个脚本上加个开关

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
181 小时
注册时间
2010-7-20
帖子
347
跳转到指定楼层
1
发表于 2012-6-15 11:15:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 5810707 于 2012-6-15 11:16 编辑

这是那个章鱼牌加速器

犹由于有个BUG  不加个开关不行
  1. module Fux2
  2.   HACK_X = -11
  3.   HACK_Y = -8
  4.   HACK_WIDTH = 12
  5.   HACK_HEIGHT = 9
  6. end

  7. class Game_Map
  8.   
  9.   def setup(map_id)
  10.     $speclist = []
  11.     @map_id = map_id
  12.     @map = load_data(sprintf("Data/Map%03d.rvdata", @map_id))
  13.     @display_x = 0
  14.     @display_y = 0
  15.     @passages = $data_system.passages
  16.     referesh_vehicles
  17.     setup_events
  18.     setup_scroll
  19.     setup_parallax
  20.     @need_refresh = false
  21.   end
  22.   
  23.   def update_events
  24.     ($splist+$autolist+$speclist).uniq.sort.each{|i| $game_map.events[i].update if $game_map.events[i]}
  25.     for common_event in @common_events.values
  26.       common_event.update
  27.     end
  28.   end

  29. end
  30. class Spriteset_Map

  31.   def create_characters
  32.     $splist = []
  33.     $autolist = []
  34.     @character_sprites = []
  35.     for i in $game_map.events.keys.sort
  36.       next if $speclist.include?(i)
  37. #~       if $game_map.events[i].trigger >= 3
  38. #~         $autolist << i
  39. #~       end
  40.       if ($game_map.events[i].x-$game_map.display_x/256+Fux2::HACK_X).abs < Fux2::HACK_WIDTH+1 && ($game_map.events[i].y-$game_map.display_y/256+Fux2::HACK_Y).abs < Fux2::HACK_HEIGHT+1
  41.         sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
  42.         @character_sprites.push(sprite)
  43.         $splist << i
  44.       end
  45.     end
  46.     for vehicle in $game_map.vehicles
  47.       sprite = Sprite_Character.new(@viewport1, vehicle)
  48.       @character_sprites.push(sprite)
  49.     end
  50.     @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
  51.   end
  52.   
  53.   def add_character(i)
  54.     return if $speclist.include?(i)
  55.     sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
  56.     @character_sprites.insert($splist.size,sprite)
  57.     $speclist << i
  58.   end

  59.   def update_characters
  60.     if @scx != $game_map.display_x/256+Fux2::HACK_X || @scy != $game_map.display_y/256+Fux2::HACK_Y
  61.       @scx = $game_map.display_x/256+Fux2::HACK_X
  62.       @scy = $game_map.display_y/256+Fux2::HACK_Y
  63.       $splist.each_with_index do |i,j|
  64.         if ($game_map.events[i].x-$game_map.display_x/256+Fux2::HACK_X).abs > Fux2::HACK_WIDTH || ($game_map.events[i].y-$game_map.display_y/256+Fux2::HACK_Y).abs > Fux2::HACK_HEIGHT
  65.           @character_sprites[j].dispose
  66.           @character_sprites.delete_at(j)
  67.           $splist.delete_at(j)
  68.         end
  69.       end
  70.       for i in $game_map.events.keys.sort
  71.         next if $splist.include?(i)
  72.         if ($game_map.events[i].x-$game_map.display_x/256+Fux2::HACK_X).abs < Fux2::HACK_WIDTH+1 && ($game_map.events[i].y-$game_map.display_y/256+Fux2::HACK_Y).abs < Fux2::HACK_HEIGHT+1
  73.           sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
  74.           @character_sprites.insert(0,sprite)
  75.           $splist.insert(0,i)
  76.         end
  77.       end
  78.     end
  79.     @character_sprites.each{|i| i.update}
  80.   end

  81. end

  82. class Scene_Map < Scene_Base
  83.   attr_accessor :spriteset
  84. end

  85. class Game_Interpreter

  86.   def command_205
  87.     if $game_map.need_refresh
  88.       $game_map.refresh
  89.     end
  90.     character = get_character(@params[0])
  91.     if @params[0] > 0
  92.       if $scene.is_a?(Scene_Map)
  93.         $scene.spriteset.add_character(@params[0])
  94.       end
  95.     end
  96.     if character != nil
  97.       character.force_move_route(@params[1])
  98.       @moving_character = character if @params[1].wait
  99.     end
  100.     return true
  101.   end
  102.   
  103. end
复制代码

Lv3.寻梦者

梦石
0
星屑
1409
在线时间
962 小时
注册时间
2012-4-30
帖子
1475

开拓者

2
发表于 2012-6-24 13:35:57 | 只看该作者
直接在第一行加  if $game_selfSwitches[1] == true


在最后面再加一个end

评分

参与人数 1星屑 +200 收起 理由
Luciffer + 200 感谢参与

查看全部评分

回复

使用道具 举报

Lv3.寻梦者

可以吃的头衔

梦石
0
星屑
1000
在线时间
423 小时
注册时间
2010-10-17
帖子
602
3
发表于 2012-6-24 13:46:38 | 只看该作者
你把那三行注释了是干啥=3= 这样屏幕外的自动执行事件就不能执行了。
如果有其他BUG请贴出详细情况。
……
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-24 20:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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