Script Title: Cursor Script
Script Author: Selwyn
Script Version:Unspecified
Description: Replaces the highlited box when selecting skills, characters, etc. with a cursor.
Screenshots:CODE
#==============================================================================
# â– Cursor Script
#------------------------------------------------------------------------------
#  Script to display a cursor instead of a highlight box
# by Selwyn
# selwyn@rmxp.ch
#==============================================================================
#==============================================================================
# â– Cursor_Sprite
#==============================================================================
class Sprite_Cursor < Sprite
#--------------------------------------------------------------------------
# â— instances
#--------------------------------------------------------------------------
attr_accessor :true_x
attr_accessor :true_y
#--------------------------------------------------------------------------
# â— initialize
#--------------------------------------------------------------------------
def initialize(x = 0, y = 0)
super()
self.x = @true_x = x
self.y = @true_y = y
self.z = 10000
self.bitmap = RPG::Cache.picture("cursor") rescue Bitmap.new(32, 32)
end
#--------------------------------------------------------------------------
# â— update
#--------------------------------------------------------------------------
def update
super
if self.y < @true_y
n = (@true_y - self.y) / 3
n = 1 if n == 0
self.y += n
elsif self.y > @true_y
n = (self.y - @true_y) / 3
n = 1 if n == 0
self.y -= n
end
if self.x < @true_x
n = (@true_x - self.x) / 3
n = 1 if n == 0
self.x += n
elsif self.x > @true_x
n = (self.x - @true_x) / 3
n = 1 if n == 0
self.x -= n
end
end
end
#==============================================================================
# â– Window_Selectable
#==============================================================================
class Window_Selectable < Window_Base
#--------------------------------------------------------------------------
# â— instances
#--------------------------------------------------------------------------
attr_accessor :cursor
alias initialize_cursor initialize
alias update_cursor_moves update
alias dispose_cursor dispose
#--------------------------------------------------------------------------
# â— initialize
#--------------------------------------------------------------------------
def initialize(x, y, width, height)
initialize_cursor(x, y, width, height)
@cursor = Sprite_Cursor.new(x, y)
update_cursor
end
#--------------------------------------------------------------------------
# â— x=
#--------------------------------------------------------------------------
def x=(x)
super
@cursor.x = x if !@cursor.nil?
end
#--------------------------------------------------------------------------
# â— y=
#--------------------------------------------------------------------------
def y=(y)
super
@cursor.y = y if !@cursor.nil?
end
#--------------------------------------------------------------------------
# â— visible=
#--------------------------------------------------------------------------
def visible=(visible)
super
if !@cursor.nil? and visible == false
@cursor.visible = false
end
end
#--------------------------------------------------------------------------
# â— dispose
#--------------------------------------------------------------------------
def dispose
dispose_cursor
@cursor.dispose
end
#--------------------------------------------------------------------------
# â— update_cursor_rect
#--------------------------------------------------------------------------
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
return
end
row = @index / @column_max
if row < self.top_row
self.top_row = row
end
if row > self.top_row + (self.page_row_max - 1)
self.top_row = row - (self.page_row_max - 1)
end
cursor_width = self.width / @column_max - 32
x = @index % @column_max * (cursor_width + 32)
y = @index / @column_max * 32 - self.oy
self.cursor_rect.set(x, y, cursor_width, 32)
end
#--------------------------------------------------------------------------
# â— update_cursor
#--------------------------------------------------------------------------
def update_cursor
@cursor.true_x = self.cursor_rect.x + self.x - 8
@cursor.true_y = self.cursor_rect.y + self.y + 16
@cursor.update
@cursor.visible = (self.visible and self.index >= 0)
end
#--------------------------------------------------------------------------
# â— update
#--------------------------------------------------------------------------
def update
update_cursor_moves
update_cursor
end
end
Script Instructions:
First of all, you need an image that has a 32x32 pixel size. Then, name the image "cursor"
Import that image and put it in the pictures folder of your rmxp game.
Here's a sample cursor image(32x32 pixel size) for you lazy leechers out there.

Oh, to get rid of the annoying glowing blue thing, just edit your current window skin and remove that window.
Plug and play pretty much.
Compatibility: Compatible with everything except to those who modifies the cursor heavily which is highly unlikely.
Credits and Thanks: Selwyn for the script, Jens009 for submitting it.
This post has been edited by jens009: Jul 3 2007, 10:35 AM