Easy Mouse Move System Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Easy Mouse Move System

3 participantes

Ir para baixo

Easy Mouse Move System Empty Easy Mouse Move System

Mensagem por The Suspect Qua Nov 10, 2010 3:01 pm

-Introdução-

Este é um conjunto de scripts que possibilitam de maneira simples que o personagem se mova pelo mouse, e não pelo teclado como o de costume.
-Como Instalar-

Cole os scripts em cima do Main.

Código:
#==================================================================
# GMUS Guedez Mouse Use System
# Version: 1.0
# Released: 26/5/2006 Last Update: 1/6/2006
# Thx to: Cadafalso, Near Fantastica, and some guys from asylum!
# EDITED BY TSUNOKIETTE (to get neccesary parts only)
#==================================================================

$getCursorPos = Win32API.new("user32", "GetCursorPos", ['P'], 'V')

class Mouse_Coordinates
 
  attr_reader :x
  attr_reader :y
 
  def initialize
    @x = get_pos('x')
    @y = get_pos('y')
  end
 
  def update
    @x = get_pos('x')
    @y = get_pos('y')
  end
 
#==============================Thx to: Cadafalso===================
  def get_pos(coord_type)
    lpPoint = " " * 8 # store two LONGs
    $getCursorPos.Call(lpPoint)
    x,y = lpPoint.unpack("LL") # get the actual values
    if coord_type == 'x'
      return x
    elsif coord_type == 'y'
      return y
    end
  end
#==================================================================

end
-Keyboard Script-
Código:
#======================================
  # ? Keyboard Script
  #---------------------------------------------------------------------------
  # ?By: Cybersam
  #  Date: 25/05/05
  #  Version 4
  # EDITED BY TSUNOKIETTE (to get neccesary parts only)
  #======================================
 
  module Kboard
  #--------------------------------------------------------------------------
  $RMouse_BUTTON_L = 0x01        # left mouse button
  $RMouse_BUTTON_R = 0x02        # right mouse button
  $RMouse_BUTTON_M = 0x04        # middle mouse button
  $RMouse_BUTTON_4 = 0x05        # 4th mouse button
  $RMouse_BUTTON_5 = 0x06        # 5th mouse button
  #--------------------------------------------------------------------------
  GetKeyState = Win32API.new("user32","GetAsyncKeyState",['i'],'i')
  GetKeyboardState = Win32API.new("user32","GetKeyState",['i'],'i')
  GetSetKeyState = Win32API.new("user32","SetKeyboardState",['i'],'i')
  #--------------------------------------------------------------------------
  module_function
  #--------------------------------------------------------------------------
  def keyb(rkey)
      if GetKeyState.call(rkey) != 0
        return 1
      end
      return 0
  end
    #--------------------------------------------------------------------------
  def keyboard(rkey)
    GetKeyState.call(rkey) & 0x01 == 1  #
  end
  #--------------------------------------------------------------------------
  def key(rkey, key = 0)
    GetKeyboardState.call(rkey) & 0x01 == key #
  end
  end
-Path Finding Script-
Código:
#==============================================================================
#  Path Finding
#==============================================================================
# Near Fantastica
# Version 1
# 29.11.05
#==============================================================================
# Lets the Player or Event draw a path from an desonation to the source. This
# method is very fast and because the palthfinding is imbeded into the Game
# Character the pathfinding can be inturputed or redrawn at any time.
#==============================================================================
# Player :: $game_player.find_path(x,y)
# Event Script Call :: self.event.find_path(x,y)
# Event Movement Script Call :: self.find_path(x,y)
#-----
# SDK DEPENDANCY REMOVED BY TSUNOKIETTE (SUE ME)
#==============================================================================
  class Game_Character
    #--------------------------------------------------------------------------
    alias nf_pf_game_character_initialize initialize
    alias nf_pf_game_character_update update
    #--------------------------------------------------------------------------
    attr_accessor :map
    attr_accessor :runpath
    #--------------------------------------------------------------------------
    def initialize
      nf_pf_game_character_initialize
      @map = nil
      @runpath = false
    end
    #--------------------------------------------------------------------------
    def update
      run_path if @runpath == true
      nf_pf_game_character_update
    end
    #--------------------------------------------------------------------------
    def run_path
      return if moving?
      step = @map[@x,@y]
      if step == 1
        @map = nil
        @runpath = false
        return
      end
      dir = rand(2)
      case dir
      when 0
        move_right if @map[@x+1,@y] == step - 1 and step != 0
        move_down if @map[@x,@y+1] == step - 1 and step != 0
        move_left if @map[@x-1,@y] == step -1 and step != 0
        move_up if @map[@x,@y-1] == step - 1 and step != 0
      when 1
        move_up if @map[@x,@y-1] == step - 1 and step != 0
        move_left if @map[@x-1,@y] == step -1 and step != 0
        move_down if @map[@x,@y+1] == step - 1 and step != 0
        move_right if @map[@x+1,@y] == step - 1 and step != 0
      end
    end
    #--------------------------------------------------------------------------
    def find_path(x,y)
      sx, sy = @x, @y
      result = setup_map(sx,sy,x,y)
      @runpath = result[0]
      @map = result[1]
      @map[sx,sy] = result[2] if result[2] != nil
    end
    #--------------------------------------------------------------------------
    def clear_path
      @map = nil
      @runpath = false
    end
    #--------------------------------------------------------------------------
    def setup_map(sx,sy,ex,ey)
      map = Table.new($game_map.width, $game_map.height)
      map[ex,ey] = 1
      old_positions = []
      new_positions = []
      old_positions.push([ex, ey])
      depth = 2
      depth.upto(100){|step|
        loop do
          break if old_positions[0] == nil
          x,y = old_positions.shift
          return [true, map, step] if x == sx and y+1 == sy
          if $game_player.passable?(x, y, 2) and map[x,y + 1] == 0
            map[x,y + 1] = step
            new_positions.push([x,y + 1])
          end
          return [true, map, step] if x-1 == sx and y == sy
          if $game_player.passable?(x, y, 4) and map[x - 1,y] == 0
            map[x - 1,y] = step
            new_positions.push([x - 1,y])
          end
          return [true, map, step] if x+1 == sx and y == sy
          if $game_player.passable?(x, y, 6) and map[x + 1,y] == 0
            map[x + 1,y] = step
            new_positions.push([x + 1,y])
          end
          return [true, map, step] if x == sx and y-1 == sy
          if $game_player.passable?(x, y, 8) and map[x,y - 1] == 0
            map[x,y - 1] = step
            new_positions.push([x,y - 1])
          end
        end
        old_positions = new_positions
        new_positions = []
      }
      return [false, nil, nil]
    end
  end
 
  class Game_Map
    #--------------------------------------------------------------------------
    alias pf_game_map_setup setup
    #--------------------------------------------------------------------------
    def setup(map_id)
      pf_game_map_setup(map_id)
      $game_player.clear_path
    end
  end
 
  class Game_Player
    def update_player_movement
      $game_player.clear_path if Input.dir4 != 0
      # Move player in the direction the directional button is being pressed
      case Input.dir4
      when 2
        move_down
      when 4
        move_left
      when 6
        move_right
      when 8
        move_up
      end
    end
  end
 
  class Interpreter
    #--------------------------------------------------------------------------
    def event
      return $game_map.events[@event_id]
    end
  end
-Scene_Map-
Código:

#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs map screen processing.
#------------------------------------------------------------------------------
#**Version 1.0 repaired by Skaterdoggy
#==============================================================================

class Scene_Map
  include? Kboard
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  alias main_orig main
  def main
    @mouse_coordinates = Mouse_Coordinates.new
    main_orig
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  alias update_orig update
  def update
    update_orig
    # Update Mouse Coordinates
    @mouse_coordinates.update
    if Kboard.keyboard($RMouse_BUTTON_L)
      # Get current coordinates
      real_coord_x = @mouse_coordinates.x
      real_coord_y = @mouse_coordinates.y
      # Get column and row
      tile_coord_x = real_coord_x / 32
      tile_coord_y = real_coord_y / 32
      # Get rid of the variance of 8 * 6
      # ( 0 being the origin )
      tile_coord_x -= 6
      tile_coord_y -= 4
      # If Negative Set to 0 for Safety
      tile_coord_x = 0 unless tile_coord_x > -1
      tile_coord_y = 0 unless tile_coord_y > -1
      # Move
      $game_player.find_path(tile_coord_x,tile_coord_y)
    end
  end
end

Creditos:
Cybersam por te criado esse script

Espero q tenha ajudado Wink
Spoiler:


Última edição por aldosilva. em Qua Nov 10, 2010 6:53 pm, editado 2 vez(es)
The Suspect
The Suspect
Ocasional
Ocasional

Mensagens : 206
Créditos : 83

Ir para o topo Ir para baixo

Easy Mouse Move System Empty Re: Easy Mouse Move System

Mensagem por Felix Blayder Qua Nov 10, 2010 3:11 pm

e cara... muito legal o script... vc qm fez ele?

_________________

Se inscreva em meu Canal no YouTube:
https://www.youtube.com/localnerd

Faça uma doação para ajudar nos custos:

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3N8T2RJ977RCQ

Felix Blayder
Felix Blayder
Membro de Honra
Membro de Honra

Mensagens : 1406
Créditos : 220

Ficha do personagem
Nível: 1
Experiência:
Easy Mouse Move System Left_bar_bleue0/0Easy Mouse Move System Empty_bar_bleue  (0/0)
Vida:
Easy Mouse Move System Left_bar_bleue30/30Easy Mouse Move System Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

Easy Mouse Move System Empty Re: Easy Mouse Move System

Mensagem por The Suspect Qua Nov 10, 2010 3:23 pm

Felix Blayder escreveu:e cara... muito legal o script... vc qm fez ele?

ñ foi eu q fiz quando eu for fazer um eu coloco creditos Wink
The Suspect
The Suspect
Ocasional
Ocasional

Mensagens : 206
Créditos : 83

Ir para o topo Ir para baixo

Easy Mouse Move System Empty Re: Easy Mouse Move System

Mensagem por Theu Souto Qua Nov 10, 2010 3:51 pm

Se não foi voce que fez coloca os creds do criador Wink
dahora o sistema xD
Theu Souto
Theu Souto
Iniciante
Iniciante

Mensagens : 67
Créditos : 13

Ir para o topo Ir para baixo

Easy Mouse Move System Empty Re: Easy Mouse Move System

Mensagem por The Suspect Qua Nov 10, 2010 4:16 pm

quando fui pega esse sistema ele num tinha creds Razz
The Suspect
The Suspect
Ocasional
Ocasional

Mensagens : 206
Créditos : 83

Ir para o topo Ir para baixo

Easy Mouse Move System Empty Re: Easy Mouse Move System

Mensagem por Felix Blayder Qua Nov 10, 2010 5:01 pm

cara c vc prestar atenção no começo dos scripts tem o nome dos caras q fizerão eles... sempre d os devidos creditos para os autores... nunca esquessa disso!

_________________

Se inscreva em meu Canal no YouTube:
https://www.youtube.com/localnerd

Faça uma doação para ajudar nos custos:

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3N8T2RJ977RCQ

Felix Blayder
Felix Blayder
Membro de Honra
Membro de Honra

Mensagens : 1406
Créditos : 220

Ficha do personagem
Nível: 1
Experiência:
Easy Mouse Move System Left_bar_bleue0/0Easy Mouse Move System Empty_bar_bleue  (0/0)
Vida:
Easy Mouse Move System Left_bar_bleue30/30Easy Mouse Move System Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

Easy Mouse Move System Empty Re: Easy Mouse Move System

Mensagem por The Suspect Qua Nov 10, 2010 6:54 pm

pronto os Credits ja esta la '-'
The Suspect
The Suspect
Ocasional
Ocasional

Mensagens : 206
Créditos : 83

Ir para o topo Ir para baixo

Easy Mouse Move System Empty Re: Easy Mouse Move System

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos