Project1

标题: 鼠标脚本出错 [打印本页]

作者: 1091160905    时间: 2013-5-25 17:48
标题: 鼠标脚本出错
本帖最后由 1091160905 于 2013-5-25 17:51 编辑

今天我画了个地图,结果其他地图能用,但有个地图用不了
  1. "]#==============================================================================
  2. #新鼠标系统 V 1.1  by END66RPG && end55rpg && 灵魂の补给 2012.5
  3. #----------------------------使用必看------------------------------------------
  4. #脚本修改较多,要换素材最好不要改脚本,直接看素材Graphics/Mouse/...文件夹。
  5. #鼠标形状状态的说明:
  6. #1.行走时会变成 wait.png
  7. #2.指向事件会变成 npc.png
  8. #3.指向非事件的character会变成 红色光标
  9. #4.指向名字含有item字样的事件会变成 coach.png、
  10. #5.【注意!】不用鼠标触发の事件请名字带有“no point”
  11. #除上所述,鼠标变成 紫色光标
  12. #备注:要修改鼠标图像,最好别改脚本了,
  13. #      在Graphics\Mouse中:
  14. #      1.png为鼠标图标
  15. #      2.png-4.png是动态普通形状
  16. #      5-10是指向非事件的鼠标图
  17. #      其余自己看着改吧!
  18. #      复制本工程需要3个脚本 /Graphics/(+ Icons + Mouse)图像。
  19. #下面可修改([]中为通常的样子):
  20. 合成方式 = 0  
  21. #@blend_tepe【1  】:0~2
  22. 透明速度 = 10
  23. #[url=home.php?mod=space&uid=316553]@opacity[/url]   【10 】:0~255
  24. 下降速度 = 1  
  25. #@jy        【1  】:0~50
  26. X放大率  = 0.1
  27. #@zoom_x    【0.1 or -0.03】:-1~1
  28. Y放大率  = 0.1
  29. #@zoom_y    【0.1 or -0.03】:-1~1
  30. 残影     = true
  31. #shadow 【true / false】
  32. 残光     = true
  33. #show_light 【true / false】
  34. 旋转     = true
  35. #angle   【true、false】
  36. 动态     = true#true
  37. #anima   【true、false】
  38. #由于残光会建立94个图像,内存低就把show_light 给false掉吧~~
  39. #加入鼠标转向专利一个~~我是仿windows显示时间屏保的鼠标制作的~~
  40. #是关于Math的算法,不是只有8方向,而是360个= =!!~
  41. #把【85】行去掉“#”就会掉many FPS 不过很华丽~~(注:先开启旋转,残光功能!)
  42. #-----------------------------------分割线--------------------------------------
  43. #如果需要在游戏中调用修改鼠标各项设置:见204行处的方法调用,不需要改变的量用nil
  44. #表示!
  45. #==============================================================================
  46. module Mouse  
  47.   attr_accessor :count                     #变换动画计数
  48. attr_accessor :npc                       #指向NPC
  49. attr_accessor :wait                      #指针变成角色正在移动
  50. attr_accessor :enemy                     #指针指向敌人
  51. attr_accessor :coach                     #coach icons switch
  52. #======================================================
  53. #change icon!
  54. #======================================================
  55.   def self.npc
  56.     if [url=home.php?mod=space&uid=113826]@NPC[/url] != true
  57.     @count = 10
  58.     [url=home.php?mod=space&uid=113826]@NPC[/url] = true
  59.     end
  60.   end
  61.   def self.wait
  62.     if [url=home.php?mod=space&uid=36110]@Wait[/url] != true
  63.     @count = 10
  64.     [url=home.php?mod=space&uid=36110]@Wait[/url] = true
  65.     end
  66.   end
  67.   def self.enemy
  68.     if @enemy != true
  69.     @count = 10
  70.     @enemy = true
  71.     end
  72.   end
  73.   def self.coach
  74.     if [url=home.php?mod=space&uid=288325]@COACH[/url] != true
  75.       @count = 10
  76.       [url=home.php?mod=space&uid=288325]@COACH[/url] = true
  77.     end
  78.   end
  79. #======================================================
  80. #end
  81. #======================================================
  82.   def self.text
  83.     return [["1.进入菜单","into_menu"],["2.游戏版权","$game_temp.reserve_common_event(1)"],["3.网络吐槽","p'接口无效!'"],["关闭游戏","$scene = Scene_Gameover.new"],["练习事件","$game_temp.reserve_common_event(2)"]]
  84.   end
  85.   def self.into_menu
  86.     Sound.play_ok
  87.     SceneManager.call(Scene_Menu)
  88.     Window_MenuCommand::init_command_position
  89.   end
  90.   def self.init2
  91.     #Directions
  92.     @dir = 0
  93.     @old_x, @old_y = 0, 0
  94.     #Animations
  95.     @light_id = 1
  96.     @mouse_sprite1 = Sprite.new;
  97.     @mouse_sprite1.z = 9999;
  98.     @mouse_sprite1.bitmap = Bitmap.new("Graphics/Icons/#{@light_id}");
  99.     @light_id = 1
  100.     @canyin = []
  101.     @rmenu = nil#右键菜单
  102.     @rightmenu = false
  103.     @mouse_touch = false
  104.     @count = 0
  105.     @npc,@wait,@coach = false
  106.   end
  107.   def self.setbb(a,b,c,d,e,f,g,h,i)
  108.     @blend_tepe = a if a != nil
  109.     [url=home.php?mod=space&uid=316553]@opacity[/url]    = b if b != nil   
  110.     @jy         = c if c != nil        
  111.     @zoom_x     = d if d != nil   
  112.     @zoom_y     = e if e != nil   
  113.     [url=home.php?mod=space&uid=22469]@light[/url]      = f if f != nil     
  114.     [url=home.php?mod=space&uid=31758]@Shadow[/url]     = g if g != nil   
  115.     [url=home.php?mod=space&uid=124954]@Angle[/url]      = h if h != nil     
  116.     @anima      = i if i != nil     
  117.   end
  118.   def self.show_light(mx, my)
  119.     @canyin.each{|s|s.opacity <= 0 ? (s.visible = false ; @canyin.delete(s)) : s.opacity -= 25}
  120.     if @light
  121.     @light_id < 94 ? @light_id += 1 : @light_id = 1
  122.     i = @light_id
  123.     eval("@mouse_sprite#{i} = Sprite.new")
  124.     eval("@mouse_sprite#{i}.x = #{mx}")
  125.     eval("@mouse_sprite#{i}").y = my
  126.     eval("@mouse_sprite#{i}").blend_type = @blend_tepe
  127.     eval("@mouse_sprite#{i}").z = 9999;
  128.    #eval("@mouse_sprite#{i}").angle = @mouse_sprite.angle
  129.     eval("@mouse_sprite#{i}").bitmap = Bitmap.new("Graphics/Icons/#{@light_id}")
  130.     for i in 1..94
  131.       begin
  132.       eval("@mouse_sprite#{i}").opacity -= @opacity #10
  133.       eval("@mouse_sprite#{i}").y += @jy#1
  134.       eval("@mouse_sprite#{i}").zoom_x += @zoom_x#0.105
  135.       eval("@mouse_sprite#{i}").zoom_y += @zoom_y#0.105
  136.       eval("@mouse_sprite#{i}").dispose if eval("@mouse_sprite#{i}").opacity <= 0
  137.       rescue
  138.       end
  139.     end
  140.     if @plight == true
  141.       self.update_light
  142.     end
  143.     end
  144.     return if !@angle
  145.     a = 0
  146.     #被废掉的朝向
  147.     hu = [(@old_x - mx), (@old_y - my)]
  148.    
  149.     return if hu[0] == 0 or hu[1] == 0
  150.     math = 135 - self.atoa(Math.atan(hu[1]/hu[0]))
  151.     if hu[0] > 0
  152.       @mouse_sprite.angle = math - 90
  153.     else
  154.       @mouse_sprite.angle = math + 90
  155.     end
  156.     #p math
  157.     @old_x, @old_y = mx, my
  158.    
  159.    
  160.   end
  161.   def self.plight
  162.     return unless @light
  163.     @l = Sprite.new
  164.     @l.z = 999999
  165.     @pcount = 30
  166.     @l.blend_type = 1
  167.     @l.bitmap = Bitmap.new("Graphics/Icons/#{@pcount}");
  168.     @l.ox = @l.bitmap.width / 2
  169.     @l.oy = @l.bitmap.height / 2
  170.     @l.x, @l.y = @mouse_sprite.x, @mouse_sprite.y
  171.     @plight = true
  172.    
  173.   end
  174.   def self.update_light
  175.     @pcount += 1
  176.     @l.bitmap = Bitmap.new("Graphics/Icons/#{@pcount}")
  177.     @l.zoom_x += 0.1
  178.     @l.zoom_y += 0.1
  179.     @l.opacity -= 10
  180.     if @pcount >= 70
  181.       @l.dispose
  182.       @pcount = 0
  183.       @plight = false
  184.     end
  185.   end
  186.   def self.atoa(hu)#弧度转角度
  187.     return (hu * 180) / Math::PI
  188.     #
  189.   end
  190. #==============================================================================
  191. #New Part!
  192. #==============================================================================
  193.   def self.moving(x,y)
  194.     return if ![url=home.php?mod=space&uid=31758]@Shadow[/url] == true
  195.     sprite = Sprite.new
  196.     sprite.z = 999
  197.     sprite.bitmap = @mouse_sprite.bitmap if !@mouse_sprite.disposed?#Bitmap.new("Graphics/Mouse/1.png")
  198.     sprite.x = x
  199.     sprite.y = y
  200.     sprite.opacity = 200
  201.     sprite.angle = @mouse_sprite.angle
  202.     @canyin.push sprite
  203.   end
  204.   def self.canyin
  205.     return @canyin.size
  206.   end
  207.   def self.right_menu(x,y)
  208.     n = text.size
  209.     @rmenu.dispose if @rmenu != nil
  210.     @rmenu = Sprite.new
  211.     @rmenu.z = 1000
  212.     @rmenu.bitmap = Bitmap.new(150,32*n)
  213.     @rmenu.bitmap.fill_rect(0, 0, 150, 32*n, Color.new(255,255,255))
  214.     @rmenu.bitmap.font.color = Color.new(68,34,255)
  215.     n.times{|i|
  216.     @rmenu.bitmap.fill_rect(0, i*32, 150, 1, Color.new(0,0,0))
  217.     @rmenu.bitmap.draw_text(0, i*32, 150, 32,text[i][0])
  218.    
  219.     }
  220.     @rmenu.x,@rmenu.y = x,y
  221.     @rmenu.opacity = 200
  222.     @rightmenu = true
  223.   end
  224.   def self.mouse_touch=(bar)
  225.     @mouse_touch = bar
  226.   end
  227.   def self.mouse_touch
  228.     return @mouse_touch
  229.   end
  230.   def self.check
  231.     if Mouse.trigger?(Mouse::LEFT)
  232.     if @rightmenu
  233.       mx,my = Mouse.get_mouse_pos
  234.       lx = @rmenu.x - @rmenu.ox
  235.       rx = lx + @rmenu.bitmap.width
  236.       ty = @rmenu.y - @rmenu.oy
  237.       by = ty + @rmenu.bitmap.height
  238.       if mx < lx or mx > rx or my < ty or my > by or
  239.         @rmenu.bitmap.get_pixel(mx-lx,my-ty).alpha == 0
  240.         
  241.       else
  242.         a = []
  243.         text.size.times{|t|a << [t*32 , ([email][email protected][/email]).abs].min}
  244.         eval(text[(a.max/32).to_i][1])
  245.       end
  246.       @rightmenu = false
  247.       @rmenu.dispose
  248.         @rmenu = nil
  249.         return
  250.     end
  251.     end
  252.   end      
  253. end
  254. Mouse.init2
  255. Mouse.setbb(合成方式,
  256. 透明速度,
  257. 下降速度,
  258. X放大率,
  259. Y放大率,残光,残影,旋转,动态)
复制代码
  1. "]#==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================

  4. #=================以下两个用来调整战斗时的手感问题,可以自己试试。
  5. $敌人选框扩大 = 30
  6. $角色选框扩大 = 20


  7. #==============================================================================
  8. # API调用
  9. #==============================================================================
  10. $ShowCursor = Win32API.new("user32", "ShowCursor", 'i', 'l')
  11. $GetCursorPos = Win32API.new("user32", "GetCursorPos", 'p', 'i')
  12. $ScreenToClient = Win32API.new("user32", "ScreenToClient", 'ip', 'i')
  13. $GetActiveWindow = Win32API.new("user32", "GetActiveWindow", nil, 'l')
  14. $Window_HWND = $GetActiveWindow.call
  15. $GetKeyState = Win32API.new("user32", "GetKeyState", 'i', 'i')
  16. #$FindWindow = Win32API.new("user32", "FindWindow", 'pp', 'i')
  17. #$HookStart  = Win32API.new("mouse_hook.dll", "HookStart", 'i', nil)
  18. #$HookEnd  = Win32API.new("mouse_hook.dll", "HookEnd", nil, nil)
  19. #$GetMouseStatus  = Win32API.new("mouse_hook.dll", "GetMouseStatus", 'i', 'i')
  20. #$Window_HWND = $FindWindow.call(nil, 'mousetry')

  21. module Mouse  
  22.   LEFT = 0x01
  23.   RIGHT = 0x02

  24.   def self.init(sprite = nil)
  25. #   $HookStart.call($Window_HWND)
  26.     $ShowCursor.call(0)
  27.    
  28.     @show_cursor = false
  29.    
  30.     @mouse_sprite = Sprite.new
  31.     @mouse_sprite.z = 99999
  32.     @mouse_sprite.bitmap = Bitmap.new('Graphics/Mouse/1')
  33.     #@mouse_sprite.bitmap.fill_rect(Rect.new(0, 0, 32, 32), Color.new(0, 0, 0))

  34.     @left_press = false
  35.     @right_press = false
  36.     @left_trigger = false
  37.     @right_trigger = false
  38.     @left_repeat = false
  39.     @right_repeat = false
  40.     @click_lock = false
  41.     @mouse_x, @mouse_y = self.get_mouse_pos
  42.     update
  43.   end
  44.   def self.exit
  45.     @mouse_sprite.bitmap.dispose
  46.     @mouse_sprite.dispose
  47.     @show_cursor = true
  48. #    $HookEnd.call
  49.     $ShowCursor.call(1)
  50.   end
  51.   def self.mouse_debug
  52.     return @mouse_debug.bitmap
  53.   end
  54.   def self.update
  55.     left_down = $GetKeyState.call(0x01)
  56.     right_down = $GetKeyState.call(0x02)
  57.    
  58.     @click_lock = false
  59.     mouse_x, mouse_y = self.get_mouse_pos
  60.     if @mouse_x != mouse_x or @mouse_y != mouse_y
  61.       moving(@mouse_x, @mouse_y)
  62.       @mouse_x, @mouse_y = mouse_x,mouse_y
  63.     end
  64.     if @mouse_sprite != nil
  65.       @mouse_sprite.x = mouse_x
  66.       @mouse_sprite.y = mouse_y
  67.     end
  68.     if @anima == true
  69.     if @npc == true
  70.       if @count == 80
  71.         @count = 0
  72.         @npc = false
  73.       else
  74.         @count += 1
  75.         end
  76.       if FileTest.exist?("Graphics/Mouse/npc_#{@count/10}.png")
  77.         @mouse_sprite.bitmap = Bitmap.new("Graphics/Mouse/npc_#{@count/10}.png")
  78.       end
  79.     elsif @coach == true
  80.       if @count == 60
  81.         @count = 0
  82.         @coach = false
  83.       else
  84.         @count += 1
  85.         end
  86.       if FileTest.exist?("Graphics/Mouse/coach_#{@count/10}.png")
  87.         @mouse_sprite.bitmap = Bitmap.new("Graphics/Mouse/coach_#{@count/10}.png")
  88.       end
  89.     elsif @enemy == true
  90.       if @count == 60
  91.         @count = 0
  92.         @enemy= false
  93.       else
  94.         @count += 1
  95.         end
  96.         if FileTest.exist?("Graphics/Mouse/#{@count/10 + 4}.png")
  97.         @mouse_sprite.bitmap = Bitmap.new("Graphics/Mouse/#{@count/10 + 4}.png")
  98.       end
  99.       elsif @wait == true
  100.       if @count == 60
  101.         @count = 0
  102.         @wait = false
  103.       else
  104.         @count += 1
  105.         end
  106.         if FileTest.exist?("Graphics/Mouse/wait_#{@count/10}.png")
  107.         @mouse_sprite.bitmap = Bitmap.new("Graphics/Mouse/wait_#{@count/10}.png")
  108.       end
  109.   
  110.       else
  111.       @count == 40 ? @count = 0 : @count += 1
  112.     if FileTest.exist?("Graphics/Mouse/#{@count/10}.png")
  113.        @mouse_sprite.bitmap = Bitmap.new("Graphics/Mouse/#{@count/10}.png")
  114.     end
  115.   end
  116. end
  117. self.show_light(@mouse_sprite.x, mouse_y)
  118.     self.check
  119.     if left_down[7] == 1
  120.       @left_repeat = (not @left_repeat)
  121.       @left_trigger = (not @left_press)
  122.       @left_press = true
  123.     else
  124.       @left_press = false
  125.       @left_trigger = false
  126.       @left_repeat = false
  127.     end
  128.     if right_down[7] == 1
  129.       @right_repeat = (not @right_repeat)
  130.       @right_trigger = (not @right_press)
  131.       @right_press = true
  132.     else
  133.       @right_press = false
  134.       @right_trigger = false
  135.       @right_repeat = false
  136.     end
  137.   end
  138.   def self.get_mouse_pos
  139.     point_var = [0, 0].pack('ll')
  140.     if $GetCursorPos.call(point_var) != 0
  141.       if $ScreenToClient.call($Window_HWND, point_var) != 0
  142.         x, y = point_var.unpack('ll')
  143.         if (x < 0) or (x > 10000) then x = 0 end
  144.         if (y < 0) or (y > 10000) then y = 0 end
  145.         if x > Graphics.width then x = Graphics.width end
  146.         if y > Graphics.height then y = Graphics.height end
  147.         return x, y
  148.       else
  149.         return 0, 0
  150.       end
  151.     else
  152.       return 0, 0
  153.     end
  154.   end
  155.   def self.press?(mouse_code)
  156.     if mouse_code == LEFT
  157.       if @click_lock
  158.         return false
  159.       else
  160.         return @left_press
  161.       end
  162.     elsif mouse_code == RIGHT
  163.       return @right_press
  164.     else
  165.       return false
  166.     end
  167.   end
  168.   def self.trigger?(mouse_code)
  169.     if mouse_code == LEFT
  170.       if @click_lock
  171.         return false
  172.       else
  173.         return @left_trigger
  174.       end
  175.     elsif mouse_code == RIGHT
  176.       return @right_trigger
  177.     else
  178.       return false
  179.     end
  180.   end
  181.   def self.repeat?(mouse_code)
  182.     if mouse_code == LEFT
  183.       if @click_lock
  184.         return false
  185.       else
  186.         return @left_repeat
  187.       end
  188.     elsif mouse_code == RIGHT
  189.       return @right_repeat
  190.     else
  191.       return false
  192.     end
  193.   end
  194.   def self.click_lock?
  195.     return @click_lock
  196.   end
  197.   def self.click_lock
  198.     @click_lock = true
  199.   end
  200.   def self.click_unlock
  201.     @click_lock = false
  202.   end
  203. end
  204. module Input
  205.   if @self_update == nil
  206.     @self_update = method('update')
  207.     @self_press = method('press?')
  208.     @self_trigger = method('trigger?')
  209.     @self_repeat = method('repeat?')
  210.   end
  211.   def self.update
  212.     @self_update.call
  213.     Mouse.update
  214.   end
  215.   def self.press?(key_code)
  216.     if @self_press.call(key_code)
  217.       return true
  218.     end
  219.     if key_code == C
  220.       return Mouse.press?(Mouse::LEFT)
  221.     elsif key_code == B
  222.       return Mouse.press?(Mouse::RIGHT)if !SceneManager.scene_is?(Scene_Map)
  223.     else
  224.       return @self_press.call(key_code)
  225.     end
  226.   end
  227.   def self.trigger?(key_code)
  228.     if @self_trigger.call(key_code)
  229.       return true
  230.     end
  231.     if key_code == C
  232.       return Mouse.trigger?(Mouse::LEFT)
  233.     elsif key_code == B
  234.       
  235.       return Mouse.trigger?(Mouse::RIGHT) if !SceneManager.scene_is?(Scene_Map)
  236.     else
  237.       return @self_trigger.call(key_code)
  238.     end
  239.   end
  240.   def self.repeat?(key_code)
  241.     if @self_repeat.call(key_code)
  242.       return true
  243.     end
  244.     if key_code == C
  245.       return Mouse.repeat?(Mouse::LEFT)
  246.     elsif key_code == B
  247.       return Mouse.repeat?(Mouse::RIGHT)if !SceneManager.scene_is?(Scene_Map)
  248.     else
  249.       return @self_repeat.call(key_code)
  250.     end
  251.   end
  252. end

  253. class Window_Selectable
  254.   if @self_alias == nil
  255.     alias self_update update
  256.     @self_alias = true
  257.   end
  258.   def update
  259.     #self.cursor_rect.empty
  260.     self_update
  261.     if self.active and item_max > 0
  262.       index_var = @index
  263.       tp_index = @index
  264.       mouse_x, mouse_y = Mouse.get_mouse_pos
  265.       mouse_not_in_rect = true
  266.       for i in 0...item_max
  267.         @index = i
  268.         update_cursor
  269.         top_x = self.cursor_rect.x + self.x + 16
  270.         top_y = self.cursor_rect.y + self.y + 16
  271.         bottom_x = top_x + self.cursor_rect.width
  272.         bottom_y = top_y + self.cursor_rect.height
  273.         
  274.           top_x += self.x_mod
  275.           top_y += self.y_mod
  276.           bottom_x += self.x_mod
  277.           bottom_y += self.y_mod
  278.         
  279.         if (mouse_x > top_x) and (mouse_y > top_y) and
  280.            (mouse_x < bottom_x) and (mouse_y < bottom_y)
  281.           mouse_not_in_rect = false
  282.           if tp_index != @index
  283.             tp_index = @index
  284.             $data_system.sounds[0].play
  285.           end
  286.           break
  287.         end
  288.       end
  289.     if Input.trigger?(Input::F9)
  290.     p top_x,top_y,Mouse.get_mouse_pos
  291.     end
  292.       if mouse_not_in_rect
  293.         @index = index_var
  294.         update_cursor
  295.         Mouse.click_lock
  296.       else
  297.         Mouse.click_unlock               
  298.       end
  299.     end
  300.   end
  301. end




  302. class Window_NameInput
  303.   if @self_alias == nil
  304.     alias self_update update
  305.     @self_alias = true
  306.   end
  307.   def update
  308.     #self.cursor_rect.empty
  309.     self_update
  310.     if self.active
  311.       index_var = @index
  312.       mouse_x, mouse_y = Mouse.get_mouse_pos
  313.       mouse_not_in_rect = true
  314.       for i in (0...HIRAGANA.size).to_a.push(180)
  315.         @index = i
  316.         update_cursor
  317.         top_x = self.cursor_rect.x + self.x + 16
  318.         top_y = self.cursor_rect.y + self.y + 16
  319.         bottom_x = top_x + self.cursor_rect.width
  320.         bottom_y = top_y + self.cursor_rect.height
  321.         #
  322.         if (mouse_x > top_x) and (mouse_y > top_y) and
  323.            (mouse_x < bottom_x) and (mouse_y < bottom_y)
  324.           mouse_not_in_rect = false
  325.           break
  326.         end
  327.       end
  328.       if mouse_not_in_rect
  329.         @index = index_var
  330.         update_cursor
  331.         Mouse.click_lock
  332.       else
  333.         Mouse.click_unlock
  334.       end
  335.     end
  336.   end
  337. end
  338. =begin

  339. class Window_InputNumber
  340.   if @self_alias == nil
  341.     alias self_update update
  342.     @self_alias = true
  343.   end
  344.   def update
  345.     #self.cursor_rect.empty
  346.     self_update
  347.     mouse_x, mouse_y = Mouse.get_mouse_pos
  348.     if self.active and @digits_max > 0
  349.       index_var = @index
  350.       mouse_not_in_rect = true
  351.       for i in 0...@digits_max
  352.         @index = i
  353.         #update_cursor
  354.         top_x = self.cursor_rect.x + self.x + 16
  355.         bottom_x = top_x + self.cursor_rect.width
  356.         #
  357.         if (mouse_x > top_x) and (mouse_x < bottom_x)
  358.           mouse_not_in_rect = false
  359.           break
  360.         end
  361.       end
  362.       if mouse_not_in_rect
  363.         @index = index_var
  364.         #update_cursor
  365.         Mouse.click_lock
  366.       else
  367.         Mouse.click_unlock
  368.       end
  369.     end
  370.     if @last_mouse_y == nil
  371.       @last_mouse_y = mouse_y
  372.     end
  373.     check_pos = (@last_mouse_y - mouse_y).abs
  374.     if check_pos > 10
  375.       #$game_system.se_play($data_system.cursor_se)
  376.       place = 10 ** (@digits_max - 1 - @index)
  377.       n = @number / place % 10
  378.       @number -= n * place
  379.       n = (n + 1) % 10 if mouse_y < @last_mouse_y
  380.       n = (n + 9) % 10 if mouse_y > @last_mouse_y
  381.       @number += n * place
  382.       refresh
  383.       @last_mouse_y = mouse_y
  384.     end
  385.   end
  386. end
  387. =end

  388. class Scene_File
  389.   if @self_alias == nil
  390.     alias self_update update
  391.     @self_alias = true
  392.   end
  393.   def update
  394.     mouse_x, mouse_y = Mouse.get_mouse_pos
  395.     Mouse.click_lock
  396.     idx = 0
  397.     for i in @savefile_windows
  398.       top_x = i.x + 16
  399.       top_y = i.y + 16
  400.       bottom_x = top_x + i.width
  401.       bottom_y = top_y + i.height
  402.       if (mouse_x > top_x) and (mouse_y > top_y) and
  403.          (mouse_x < bottom_x) and (mouse_y < bottom_y)
  404.         i.selected = true
  405.         if @file_index != idx
  406.           @file_index = idx
  407.           $data_system.sounds[0].play
  408.         end            
  409.         Mouse.click_unlock
  410.       else
  411.         i.selected = false
  412.       end
  413.       idx += 1
  414.     end
  415.     self_update
  416.   end
  417. end

  418. class Game_Player
  419.   if @self_alias == nil
  420.     alias self_update update
  421.     @self_alias = true
  422.   end
  423.   def update
  424.     mouse_x, mouse_y = Mouse.get_mouse_pos
  425.     if @last_move_x == nil
  426.       @last_move_x = false
  427.     end
  428.     if Mouse.trigger?(Mouse::RIGHT)
  429.       Mouse.right_menu(mouse_x, mouse_y)
  430.       Graphics.update
  431.     elsif Mouse.press?(Mouse::LEFT)
  432.       if Mouse.mouse_touch == true
  433.         Mouse.mouse_touch = false
  434.         return
  435.       end
  436.       Mouse.plight
  437.       Mouse.wait
  438.       last_moving = moving?
  439.       last_direction = @direction
  440.     #  return unless movable?
  441.     #  return if $game_map.interpreter.running?
  442.       unless moving? or $game_map.interpreter.running?
  443.       last_x = @x
  444.         if @last_move_x
  445.           @last_move_x = false
  446.         elsif mouse_x > screen_x + 16
  447.           move_straight(6)
  448.         elsif mouse_x < screen_x - 16
  449.           move_straight(4)
  450.         end
  451.         last_y = @y
  452.         if last_x != @x
  453.           @last_move_x = true
  454.         elsif mouse_y > screen_y
  455.           move_straight(2)
  456.         elsif mouse_y < screen_y - 32
  457.           move_straight(8)
  458.         end
  459. =begin        
  460.         if last_y != @y
  461.           @last_move_x = false
  462.         elsif not @last_move_x
  463.           case last_direction
  464.           when 2
  465.             turn_down
  466.           when 4
  467.             turn_left
  468.           when 6
  469.             turn_right
  470.           when 8
  471.             turn_up
  472.           end        
  473.         end
  474. =end         
  475.       end
  476.     end
  477.     self_update
  478.   end
  479. end

  480. Mouse.init
  481. END { Mouse.exit }


  482. class Window_Base < Window
  483.   attr_accessor :x_mod
  484.   attr_accessor :y_mod
  485.   alias ka_initialize initialize
  486.   def initialize(x, y, width, height)
  487.     ka_initialize(x, y, width, height)
  488.     self.x_mod = 0
  489.     self.y_mod = 0
  490.   end
  491. end
  492. class Window_PartyCommand < Window_Command

  493.   alias ka1_initialize initialize
  494.   def initialize
  495.     ka1_initialize
  496.     self.y_mod = Graphics.height-128
  497.   end

  498. end
  499. class Window_ActorCommand < Window_Command

  500.   alias ka2_initialize initialize
  501.   def initialize
  502.     ka2_initialize
  503.     self.x_mod = -128
  504.     self.y_mod = Graphics.height-128
  505.   end

  506. end

  507. #==============================================================================
  508. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  509. #==============================================================================
复制代码
  1. #==============================================================================
  2. # ■ Sprite_Character
  3. #------------------------------------------------------------------------------
  4. #check the mouse 's event and start.                       by End66rpg
  5. #==============================================================================
  6. class Sprite_Character < Sprite_Base
  7.   def inside?
  8.     mx,my = Mouse.get_mouse_pos
  9.     lx = self.x - self.ox
  10.     rx = lx + @cw
  11.     ty = self.y - self.oy
  12.     by = ty + @ch
  13.     if mx < lx or mx > rx or my < ty or my > by or
  14.       self.bitmap.get_pixel(mx-lx,my-ty).alpha == 0
  15.       return false
  16.     end
  17.     return true
  18.    end
  19.   alias update_old update
  20.   def update
  21.    update_old
  22.    self.tone = Tone.new(0,0,0)
  23.    self.zoom_y = 1
  24.    return if @character.is_a?(Game_Event) and @character.name.index('no point')
  25.    return if !inside?
  26.    Mouse.mouse_touch=true
  27.    if Mouse.trigger?(Mouse::LEFT)
  28.      Mouse.plight
  29.     return false if $game_message.busy? || $game_message.visible
  30.      return if @character == $game_player or @character.trigger == 4
  31.      @character.start
  32.    end
  33.    if @character != $game_player
  34.      if @character.is_a?(Game_Event)
  35.        if @character.name.index('item')
  36.          Mouse.coach
  37.          return
  38.        elsif @character.name.index('heigh')
  39.          Mouse.coach
  40.          self.zoom_y = 1.5
  41.          return
  42.        end
  43.       
  44.      end
  45.     Mouse.npc
  46.   end
  47.    Mouse.enemy if @character != $game_map.events
  48.    self.tone = Tone.new(122,122,122)
  49.   end
  50. end
  51. class Game_Event < Game_Character
  52. #——————————————————————————————————————
  53. # 用来返回名称
  54. #——————————————————————————————————————
  55. def name
  56.    return @event.name
  57. end  
  58. def name=(newname)
  59.    @event.name = newname
  60. end
  61. end
复制代码
一进入那个地图就弹出:



我也不知道怎么办  
作者: c248611    时间: 2013-5-25 21:27
1.是否有其他脚本?
2.重新创过一个Project1。
作者: 1091160905    时间: 2013-5-25 21:44
c248611 发表于 2013-5-25 21:27
1.是否有其他脚本?
2.重新创过一个Project1。

有的地图不出错,有的出
作者: 1091160905    时间: 2013-5-26 13:21
1091160905 发表于 2013-5-25 21:44
有的地图不出错,有的出

http://pan.baidu.com/share/link?shareid=462160&uk=1997285247




我的范例
作者: Fakmab    时间: 2014-1-24 15:48
我可是知道怎么回事哦~~

原因:你在这个地图里用了地图事件(就是VA里最后一张),所用的事件没有命名为no point




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1