Jump to content
Rpg²S Forum

Jack

Utenti
  • Posts

    219
  • Joined

  • Last visited

Posts posted by Jack

  1. Ecco qui lo script sostituiscili nell'ordine che ti ho dato:

     

    #=============================================================
    =================
    # Módulo de Inserção de Mouse (Revisado)
    #------------------------------------------------------------------------------
    # Criado por DerVVulfman em 18/08/2007
    # Versão 1.2
    #------------------------------------------------------------------------------
    # Baseado em # Mouse Input Module por Near Fantastica
    # Função Set_Pos criada por Freakboy
    #------------------------------------------------------------------------------
    #
    # - Mouse.click?
    # Retorna um valor true/false para você saber quando um botão for pressionado.
    # Você pode informar os valores 1, 2 e 3, sendo, respectivamente os botões 
    # esquerdo, direito e do meio do mouse.
    #
    # - Mouse.press?
    # Retorna um valor true/façse para você saber quando um botão for pressionado
    # e mantido pressionado. Você pode informar os valores 1, 2 e 3, sendo, 
    # respectivamente os botões esquerdo, direito e do meio do mouse.
    #
    # - Mouse.pixels
    # Retorna as coordenadas do mouse na tela em pixels. Baseado em uma tela com
    # dimensão de 640x480 pixels, isto irá retornar uma array da posição do mouse.
    # Chamar Mouse.pixels retorna as posições X & Y em uma única string, porém
    # é possível usar Mouse.pixels[0] para retornar X (0-639) e Mouse.pixels[1]
    # para retornar Y (0-439). Se o mouse estiver fora da janela de jogo, um valor
    # nulo será retornado (nil).
    #
    # - Mouse.tiles
    # Retorna as coordenadas do mouse no mapa. Baseado em um sistema de mapas com
    # tiles de 20x15, isto retornará valores de índice. (0-19 de largura & 0-14 
    # de altura). Funciona da mesma maneira que a função Mouse.pixels.
    #
    # - Mouse.set_pos
    # Permite que você force a posição do mouse na tela em determinada coordenada.
    # Baseado nas dimensões padrão da tela, a função: Mouse.set_pos(320,240)
    # irá posicionar o mouse no meio da tela de jogo.
    #
    # - Mouse.update
    # Adicione isto às suas rotinas de atualização para atualizar a posição do mapa.
    # Deve ser chamada ou então você terá coordenadas inválidas para o mouse.
    #
    #==============================================================================
    
    module Mouse
     @mouse_menu = 0
    
     def Mouse.click?(button)
       return true if @keys.include?(button)
       return false
     end  
    
     def Mouse.press?(button)
       return true if @press.include?(button)
       return false
     end
    
     def Mouse.area?(x, y, width=32, height=32)
       return false if @pos == nil
       return true if @pos[0] >= x and @pos[0] <= (x+width) and @pos[1] >= y and @pos[1] <= (y+height)
       return false
     end
    
     def Mouse.pixels
       return @pos == nil ? [0, 0] : @pos
     end
    
     def Mouse.tiles
       return nil if @pos == nil
       x = @pos[0] / 32
       y = @pos[1] / 32
       return [x, y]
     end
    
     def Mouse.set_pos(x_pos=0, y_pos=0)
       width, height = Mouse.client_size
       if (x_pos.between?(0, width) && y_pos.between?(0, height))
         x = Mouse.client_pos[0] + x_pos; y = Mouse.client_pos[1] + y_pos
         Win32API.new('user32', 'SetCursorPos', 'NN', 'N').call(x, y)
       end
     end
    
     def Mouse.update
       @pos            = Mouse.pos
       @keys, @press   = [], []
       @keys.push(1)   if Win32API.new("user32","GetAsyncKeyState",['i'],'i').call(1) & 0X01 == 1
       @keys.push(2)   if Win32API.new("user32","GetAsyncKeyState",['i'],'i').call(2) & 0X01 == 1
       @keys.push(3)   if Win32API.new("user32","GetAsyncKeyState",['i'],'i').call(4) & 0X01 == 1
       @press.push(1)  if Win32API.new("user32","GetKeyState",['i'],'i').call(1) & 0X01 == 1
       @press.push(2)  if Win32API.new("user32","GetKeyState",['i'],'i').call(2) & 0X01 == 1
       @press.push(3)  if Win32API.new("user32","GetKeyState",['i'],'i').call(4) & 0X01 == 1
     end  
    
     def Mouse.global_pos
       pos = [0, 0].pack('ll')
       if Win32API.new('user32', 'GetCursorPos', 'p', 'i').call(pos) != 0
         return pos.unpack('ll')
       else
         return nil
       end
     end
    
     def Mouse.pos
       x, y = Mouse.screen_to_client(*Mouse.global_pos)
       width, height = Mouse.client_size
       begin
         if (x >= 0 and y >= 0 and x < width and y < height)
           return x, y
         else
           return nil
         end
       rescue
         return nil
       end
     end
    
     def Mouse.screen_to_client(x, y)
       return nil unless x and y
       pos = [x, y].pack('ll')
       if Win32API.new('user32', 'ScreenToClient', %w(l p), 'i').call(Mouse.hwnd, pos) != 0
         return pos.unpack('ll')
       else
         return nil
       end
     end
    
     def Mouse.hwnd
       game_name = "\0" * 256
       Win32API.new('kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l').call('Game','Title','',game_name,255,".\\Game.ini")
       game_name.delete!("\0")
       return Win32API.new('user32', 'FindWindowA', %w(p p), 'l').call('RGSS Player',game_name)
     end
    
     def Mouse.client_size
       rect = [0, 0, 0, 0].pack('l4')
       Win32API.new('user32', 'GetClientRect', %w(l p), 'i').call(Mouse.hwnd, rect)
       right, bottom = rect.unpack('l4')[2..3]
       return right, bottom
     end
    
     def Mouse.client_pos
       rect = [0, 0, 0, 0].pack('l4')
       Win32API.new('user32', 'GetWindowRect', %w(l p), 'i').call(Mouse.hwnd, rect)
       left, upper = rect.unpack('l4')[0..1]
       return left+4, upper+30
     end
    end

     

     

    #=============================================================
    =================
    # Path Finding
    #==============================================================================
    # Criado por Near Fantastica em 29/11/2005
    # Versão 1.0
    #==============================================================================
    # Permite que um jogador ou evento siga um caminho de um ponto inicial até um
    # ponto final. Este método é muito rápido e está embutido no Game_Character. 
    # Pode ser interrompido e refeito a qualquer momento.
    #==============================================================================
    # Jogador :: $game_player.find_path(x,y)
    # Evento :: self.event.find_path(x,y)
    # Movimento de Evento :: self.find_path(x,y)
    #==============================================================================
    # Sistema de Mouse para VX: Editei o método
    # character.passable?(x, y, direction) para character.passable?(x, y)
    # de acordo com sua mudança no RPG Maker VX.
    #------------------------------------------------------------------------------
    
    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
     alias pf_game_player_update update
     def update
       $game_player.clear_path if Input.dir4 != 0
       pf_game_player_update
     end
    end
     
    class Interpreter
     def event
       return $game_map.events[@event_id]
     end
    end

     

     

    #=============================================================
    =================
    # Sistema Simples de Mouse
    #------------------------------------------------------------------------------
    # Criado por Woratana [woratana@hotmail.com]
    # Lançado em 14/04/2008
    # Versão 1.5
    # Agradecimentos: DerVVulfman, Near Fantastica e Freak Boy [Módulo de Inserção]
    # lambchop, shun, Cybersam, Astro_mech e Mr.Mo [sistema Super-Simples]
    # Não seria possível criar scripts sem estas pessoas!
    #-----------------------------------------------------------------------------
    
    #==============================================================================
    # Mouse Input Module
    #==============================================================================
    
    class << Mouse
     show_cursor = Win32API.new('user32', 'ShowCursor', 'l', 'l')
     show_cursor.call(0)
    
     $mousec = Sprite.new
     $mousec.z = 10001
     $mousec.x = $mousec.y = 1000
     $mouse_icon = 'fox_cursor'
     $mousec.bitmap = RPG::Cache.picture($mouse_icon)
     
     alias wor_mouse_upd_mouse update unless $@
     def Mouse.update
       wor_mouse_upd_mouse
       if $mouse_old_icon.nil? or $mouse_old_icon != $mouse_icon
         $mouse_old_icon = $mouse_icon
         $mousec.bitmap = RPG::Cache.picture($mouse_old_icon)
       end
       if @pos.nil?
         $mousec.x = 1000 if $mousec.x != 1000
         $mousec.y = 1000 if $mousec.y != 1000
       else
         $mousec.x = @pos[0] if $mousec.x != @pos[0]
         $mousec.y = @pos[1] if $mousec.y != @pos[1]
       end
     end
     
     def Mouse.map_pos
       return nil if @pos == nil 
       x = ($game_map.display_x / 256) + (@pos[0] / 32)
       y = ($game_map.display_y / 256) + (@pos[1] / 32)
       return [x, y]
     end
    end
    
    #==============================================================================
    # Input
    #==============================================================================
    
    class << Input
     alias wor_input_upd_mouse update unless $@
     alias wor_input_trig_mouse trigger? unless $@
     alias wor_input_rep_mouse repeat? unless $@
     def Input.update
       wor_input_upd_mouse
       Mouse.update
     end
     
     def Input.trigger?(input)
       return wor_input_trig_mouse(input) if Mouse.pos.nil?
       case input
       when Input::B
         return (wor_input_trig_mouse(input) or Mouse.click?(2))
       when Input::C
         if $scene.is_a?(Scene_Map) and !$game_temp.message_window_showing
           return wor_input_trig_mouse(input)
         else
           return (wor_input_trig_mouse(input) or Mouse.click?(1))
         end
       else
         return wor_input_trig_mouse(input)
       end
     end
     
     def Input.repeat?(input)
       if input == Input::B
         return (wor_input_rep_mouse(input) or Mouse.click?(2))
       else
         return wor_input_rep_mouse(input)
       end
     end
    end
    
    #==============================================================================
    # Graphics
    #==============================================================================
    
    =begin
    class << Graphics
     alias wor_graph_fadeout_mouse fadeout unless $@
     def Graphics.fadeout(frames = 1)
       $mousec.visible = false if !$mousec.nil?
       wor_graph_fadeout_mouse(frames)
     end
    end
    =end
    
    #==============================================================================
    # Window_Selectable
    #==============================================================================
    
    class Window_Selectable < Window_Base
     alias wor_winsel_ini_mouse initialize
     alias wor_winsel_upd_mouse update
     def initialize(*args)
       wor_winsel_ini_mouse(*args)
       @scroll_wait = 0
       @cursor_wait = 0
     end
     
     def item_rect(index)
       spacing = 32
       rect = Rect.new(0, 0, 0, 0)
       rect.width = (contents.width + spacing) / @column_max - spacing
       rect.height = 32
       rect.x = index % @column_max * (rect.width + spacing)
       rect.y = index / @column_max * 32
       return rect
     end
    
     def update
       wor_winsel_upd_mouse
       update_mouse if self.active and self.visible
     end
     
     def update_mouse
       @cursor_wait -= 1 if @cursor_wait > 0
       (0..@item_max - 1).each do |i|
         irect = item_rect(i)
         irx = self.x + 16 + irect.x - self.ox
         iry = self.y + 16 + irect.y - self.oy
         move_cursor(i) if Mouse.area?(irx, iry, irect.width, irect.height)
       end
     end
    
     def move_cursor(index)
       return if @index == index
       @scroll_wait -= 1 if @scroll_wait > 0
       row1 = @index / @column_max
       row2 = index / @column_max
       bottom = self.top_row + (self.page_row_max - 1)
       if row1 == self.top_row and row2 < self.top_row
         return if @scroll_wait > 0
         @index = [@index - @column_max, 0].max
         @scroll_wait = 4
       elsif row1 == bottom and row2 > bottom
         return if @scroll_wait > 0
         @index = [@index + @column_max, @item_max - 1].min
         @scroll_wait = 4
       else
         @index = index
       end
       return if @cursor_wait > 0
       $game_system.se_play($data_system.cursor_se)
       @cursor_wait += 2
     end
    end
    
    #==============================================================================
    # Window_MenuStatus
    #==============================================================================
    
    class Window_MenuStatus < Window_Selectable
     def item_rect(index)
       return Rect.new(0, index * 96, contents.width, 96)
     end
    end
    
    #==============================================================================
    # Window_NameInput
    #==============================================================================
    
    class Window_NameInput < Window_Base
     def item_rect(index)
       rect = Rect.new(0, 0, 0, 0)
       rect.width = 28
       rect.height = 32
       rect.x = 4 + index / 5 / 9 * 152 + index % 5 * 28
       rect.y = index / 5 % 9 * 32
       return rect
     end
     
     alias wor_winnam_upd_mouse update
     def update
       wor_winnam_upd_mouse
       if self.active and self.visible
         (0...CHARACTER_TABLE.size).each do |i|
         irect = item_rect(i)
         irx = self.x + 16 + irect.x - self.ox
         iry = self.y + 16 + irect.y - self.oy
         @index = i if Mouse.area?(irx, iry, irect.width, irect.height)
         end
       end
     end
    end
    
    #==============================================================================
    # Window_PartyCommand
    #==============================================================================
    
    class Window_PartyCommand < Window_Selectable
     def update_mouse
       (0..1).each do |i|
       irect = item_rect(i)
       irx = self.x + 16 + irect.x - self.ox
       iry = self.y + 16 + irect.y - self.oy
       self.index = i if Mouse.area?(irx, iry, irect.width, irect.height)
       end
     end
    end
    
    #==============================================================================
    # Window_Message
    #==============================================================================
    
    class Window_Message < Window_Selectable
     def update_mouse
       (0..@item_max - 1).each do |i|
         irect = item_rect(i)
         irx = self.x + 16 + irect.x - self.ox
         iry = self.y + 16 + irect.y - self.oy + ($game_temp.choice_start * 32)
         self.index = i if Mouse.area?(irx, iry, irect.width, irect.height)
       end
     end
    end
    
    #==============================================================================
    # Scene_Base
    #==============================================================================
    =begin
    class Scene_Base
     alias wor_scebase_posstr_mouse post_start
     alias wor_scebase_preter_mouse pre_terminate
     def post_start
       $mousec.visible = true if !$mousec.nil?
       wor_scebase_posstr_mouse
     end
     
     def pre_terminate
       $mousec.visible = false if !$mousec.nil?
       wor_scebase_preter_mouse
     end
    end
    =end
    
    #==============================================================================
    # Scene_File
    #==============================================================================
    
    class Scene_File #< Scene_Base
     alias wor_scefil_upd_mouse update
     def update
       (0..3).each do |i|
         ix = @savefile_windows[i].x
         iy = @savefile_windows[i].y
         iw = @savefile_windows[i].width
         ih = @savefile_windows[i].height
         if Mouse.area?(ix, iy, iw, ih)
           @savefile_windows[@file_index].selected = false
           @savefile_windows[i].selected = true
           @file_index = i
         end
       end
       wor_scefil_upd_mouse
     end
    end
    
    #==============================================================================
    # Scene_Map
    #==============================================================================
    
    class Scene_Map #< Scene_Base
     alias wor_scemap_ini_mouse initialize
     alias wor_scemap_upd_mouse update
     def initialize
       @last_click = [nil, nil]
       wor_scemap_ini_mouse
     end
     
     def update
       wor_scemap_upd_mouse
       mouse_xy = Mouse.map_pos
       if Mouse.click?(1) and !mouse_xy.nil? and !$game_temp.message_window_showing and
         !$game_system.map_interpreter.running?
         $game_player.turn_toward_pos(mouse_xy[0], mouse_xy[1])
         if $game_player.close?(mouse_xy[0],mouse_xy[1]) and
           $game_player.check_event_trigger_there([0, 1, 2])
           #$game_player.check_action_event
           $game_player.clear_path
           return
         end
         if $game_map.passable?(mouse_xy[0], mouse_xy[1], 10)
           $game_player.find_path(mouse_xy[0], mouse_xy[1])
         end
         @last_click = mouse_xy
       end
       if Mouse.click?(3) and !mouse_xy.nil? and !$game_temp.message_window_showing and
         !$game_system.map_interpreter.running?
         $game_player.clear_path
         $game_player.turn_toward_pos(mouse_xy[0], mouse_xy[1])
       end
     end
    end
    
    #==============================================================================
    # Game_Character
    #==============================================================================
    
    class Game_Character
     def turn_toward_pos(x,y)
       sx = distance_x_from_pos(x)
       sy = distance_y_from_pos(y)
       if sx.abs > sy.abs
         sx > 0 ? turn_left : turn_right
       elsif sx.abs < sy.abs
         sy > 0 ? turn_up : turn_down
       end
     end
     
     def distance_x_from_pos(x)
       sx = @x - x
    #    if $game_map.loop_horizontal?
         if sx.abs > $game_map.width / 2
           sx -= $game_map.width
         end
    #    end
       return sx
     end
     
     def distance_y_from_pos(y)
       sy = @y - y
    #    if $game_map.loop_vertical?
         if sy.abs > $game_map.height / 2
           sy -= $game_map.height
         end
    #    end
       return sy
     end
     
     def close?(x,y)
       sx = (@x - x).abs
       sy = (@y - y).abs
       if sx + sy == 1
         return true
       end
       return false
     end
    end
    

     

     

    Sono sicuro che funziona adesso!Prova!

  2. Alcuni Char della serie Star Wars:


    http://www.untamed.wild-refuge.net/images/rpgxp/jedi.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/jedi2.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/sith.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/sith2.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/twilek.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/protocoldroid1.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/mandalorian.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/mandalorian2.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/yuuzhenvong.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/yoda.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/chewie.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/astromechdroid.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/shaakti.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/imperial.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/lynme.pnghttp://www.untamed.wild-refuge.net/images/rpgxp/obiwan2.png

     

  3. Infatti, lo immaginavo che era una cosa difficile però solo il mugen non mi piace cioè io voglio fare una avventura rpg maker con il bs mugen.

    A me non piace solo il mugen così "semplice" non so se mi spiego!

     

    PS: scusate ma non sono un genio nell'italiano..xD

     

    Edit: Ragazzi grazie infinite, ma l'ho trovato! :)

  4. Mi stavo domandando se esiste uno script o qualcosa del genere che trasforma il bs in un picchiaduro uguale al mugen!

    Se esiste perfavore spiegatemi dove posso trovarlo o come si fà!

     

    EDIT: Scusate mi ero dimenticato di dire per chi non sapesse cosa è il mugen, è una piattaforma 2d picchiaduro dove si possono inserire tutti i personaggi che volete, stage e altro ancora ...è uno stile alla street fighter.Se esiste un bs del genere per rpg maker fatemelo sapere grazie.

  5. Bene Ragazzi!

     

    Per avere tutte le risorse necessarie di Naruto mi manca solo un autotiles...Deve essere fatto in base a questa immagine.

    post-2962-1255512540.png

     

    Se riuscite a farlo:

     

    1- Sei un Dio!

    2- Ci sarà questa ricompensa che non è da poco:"la ricompensa è quel programmino famoso che estrae i file criptati di qualsiasi gioco, ci allego anche le istruzioni se volete"!!!

     

    PS:Se non credete a quello che dico ve lo posso provare!!!

  6. No XD di questo tileset no !

     

    Per rispondere a Marigno(e sta volta l'ho detto bene xD):

    quindi tu mi stai dicendo che devo lasciar perdere il gioco di naruto e cominciare con minigiochi??

     

    Aggiornamenti:

     

    -Nuovo screen!!!

     

    Sta volta ditemi che va bene !!!!xD

     

    EDIT: Scusate me ne sono accorto dopo del doppio post chiedo scusa!

×
×
  • Create New...