Registre-se gratuitamente e tenha o mundo do RPG na sua mão!
 
PortalInícioCalendárioGaleriaFAQBuscarRegistrar-seGruposConectar-se

Compartilhe | 
 

 Squad Moviment - Carttpilar mais realista

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Sorcer Loko
Cientista
Cientista


Número de Mensagens : 51
Data de inscrição : 01/02/2008

Estatísticas
Alertas Alertas:
0/5  (0/5)
Pontos Pontos: 10 / RST: 360 XD!!
Minhas Moedas! Minhas Moedas!: 210

MensagemAssunto: Squad Moviment - Carttpilar mais realista   Qua 2 Abr - 20:36:11

Descrição: Muito bom!
Vale a pena baixar!

Código:

    map_id = $game_player.map_id
    transparent = $game_player.transparent
    id = $game_party.actors.size-1
    $game_player.move_to($game_allies[id].x, $game_allies[id].y)
    $game_player.direction = $game_allies[id].direction
    $game_player.wait_command = false
    $game_player.map_id = $game_allies[id].map_id
    $game_player.transparent = false
    @player_trans = $game_allies[id].transparent
    for i in 1...$game_party.actors.size-1
      id = $game_party.actors.size-i
      $game_allies[id].move_to($game_allies[id -1].x,$game_allies[id-1].y)
      $game_allies[id].direction = $game_allies[id -1].direction
      $game_allies[id].wait_command = $game_allies[id -1].wait_command
      $game_allies[id].map_id = $game_allies[id -1].map_id
      $game_allies[id].transparent = $game_allies[id -1].transparent
    end
    $game_allies[1].move_to(x,y)
    $game_allies[1].direction = direction
    $game_allies[1].wait_command = wait
    $game_allies[1].map_id = map_id
    $game_allies[1].transparent = @player_trans
    if $game_player.map_id != $game_map.map_id
      $game_map.setup($game_player.map_id)
      $game_map.autoplay
      $game_map.update
      for ally in $game_allies.values
        if ally.map_id != $game_map.map_id
          ally.wait_command = true
        else
          ally.wait_command = false
        end
      end
      $scene = Scene_Map.new
    end
  end
end

#==============================================================================
# ¦ Game_Character
#==============================================================================

class Game_Character
  #--------------------------------------------------------------------------
  attr_accessor  :character_name
  attr_accessor  :character_hue
  attr_accessor  :direction
  attr_accessor  :wait_command
  attr_accessor  :map_id
  #--------------------------------------------------------------------------
  alias abs_game_character_initialize initialize
  #--------------------------------------------------------------------------
  def initialize
    abs_game_character_initialize
    @wait_command = false
    @map_id = 0
  end
  #--------------------------------------------------------------------------
  def move_ally(ally)
    ally.move_away_from_player
  end
  #--------------------------------------------------------------------------
  def passable?(x, y, d)
    new_x = x + (d == 6 ? 1 : d == 4 ? -1 : 0)
    new_y = y + (d == 2 ? 1 : d == 8 ? -1 : 0)
    unless $game_map.valid?(new_x, new_y)
      return false
    end
    if @through
      return true
    end
    unless $game_map.passable?(x, y, d, self)
      return false
    end
    unless $game_map.passable?(new_x, new_y, 10 - d)
      return false
    end
    for event in $game_map.events.values
      if event.x == new_x and event.y == new_y
        unless event.through
          if self != $game_player
            return false
          end
          if event.character_name != ""
            return false
          end
        end
      end
    end
    for ally in $game_allies.values
      if ally.map_id == $game_map.map_id
        if ally.x == new_x and ally.y == new_y
          unless ally.through
            if self != $game_player
              return false
            else
              move_ally(ally)
              return true
            end
            if ally.character_name != ""
              return false
            end
          end
        end
      end
    end
    if $game_player.x == new_x and $game_player.y == new_y
      unless $game_player.through
        if @character_name != ""
          return false
        end
      end
    end
    return true
  end
  #--------------------------------------------------------------------------
  def move_to(x, y)
    @x = x
    @y = y
    @real_x = @x * 128
    @real_y = @y * 128
    @prelock_direction = 0
  end
end

#=====================================
# ¦ Game_Ally
#=====================================

class Game_Ally < Game_Character
  #--------------------------------------------------------------------------
  attr_accessor  :actor_id
  #--------------------------------------------------------------------------
  def initialize(actor_id)
    super()
    @actor_id = actor_id
    @map_id = $game_player.map_id
    refresh
  end
  #--------------------------------------------------------------------------
  def refresh
  if $game_party.actors.size == 0
      @character_name = ""
      @character_hue = 0
      return
    end
    if $game_party.actors[@actor_id] == nil
      @character_name = ""
      @character_hue = 0
      return
    end
    actor = $game_party.actors[@actor_id]
    @character_name = actor.character_name
    @character_hue = actor.character_hue
    @opacity = 255
    @blend_type = 0
  end
  #--------------------------------------------------------------------------
  def update
    if @wait_command == false and @map_id == $game_map.map_id
      if !moving?
        if $game_party.actors[@actor_id] == nil
          return
        end
        case $data_classes[$game_party.actors[@actor_id].class_id].position
        when 0
          if !in_range?(2)
            move_toward_player
          end
        when 1
          if !in_range?(3)
            move_toward_player
          end
        when 2
          if !in_range?(4)
            move_toward_player
          end
        end
      end
    super
    end
  end
  #--------------------------------------------------------------------------
  def in_range?(range)
    playerx = $game_player.x
    playery = $game_player.y
    x = (playerx - @x) * (playerx - @x)
    y = (playery - @y) * (playery - @y)
    r = x +y
    if r <= (range * range)
      return true
    else
      return false
    end
  end
  #--------------------------------------------------------------------------
  def facing_player?
    playerx = $game_player.x
    playery = $game_player.y
    if event_direction == 2
      if playery >= @y
        return true
      end
    end
    if event_direction == 4
      if playerx <= @x
        return true
      end
    end
    if event_direction == 6
      if playerx >= @x
        return true
      end
    end
    if event_direction == 8
      if playery <= @y
        return true
      end
    end
    return false
  end
  #--------------------------------------------------------------------------
  def check_event_trigger_touch(x, y)
    return false
  end
end

#=====================================
# ¦ Game_Map
#=====================================

class Game_Map
  #--------------------------------------------------------------------------
  def passable?(x, y, d, self_event = nil)
    unless valid?(x, y)
      return false
    end
    bit = (1 << (d / 2 - 1)) & 0x0f
    for event in events.values
      if event.tile_id >= 0 and event != self_event and
        event.x == x and event.y == y and not event.through
        if @passages[event.tile_id] & bit != 0
          return false
        elsif @passages[event.tile_id] & 0x0f == 0x0f
          return false
        elsif @priorities[event.tile_id] == 0
          return true
        end
      end
    end
    for ally in $game_allies.values
      if ally.map_id == $game_map.map_id
        if ally.tile_id >= 0 and ally != self_event and
          ally.x == x and ally.y == y and not ally.through
          if @passages[ally.tile_id] & bit != 0
            return false
          elsif @passages[ally.tile_id] & 0x0f == 0x0f
            return false
          elsif @priorities[ally.tile_id] == 0
            return true
          end
        end
      end
    end
    for i in [2, 1, 0]
      tile_id = data[x, y, i]
      if tile_id == nil
        return false
      elsif @passages[tile_id] & bit != 0
        return false
      elsif @passages[tile_id] & 0x0f == 0x0f
        return false
      elsif @priorities[tile_id] == 0
        return true
      end
    end
    return true
  end
end

#======================================
# ¦ Spriteset_Map
#======================================

class Spriteset_Map
  #--------------------------------------------------------------------------
  alias abs_spriteset_map_initialize initialize
  #--------------------------------------------------------------------------
  def initialize
    abs_spriteset_map_initialize
    for ally in $game_allies.values
      if ally.map_id != $game_map.map_id
        ally.transparent = true
      else
        ally.transparent = false
      end
      sprite = Sprite_Character.new(@viewport1, ally)
      @character_sprites.push(sprite)
    end
  end
  #--------------------------------------------------------------------------
  def add_ally(id)
    sprite = Sprite_Character.new(@viewport1, $game_allies[id])
    @character_sprites.push(sprite)
  end
  #--------------------------------------------------------------------------
  def remove_ally
    index = @character_sprites.length-1
    @character_sprites[index].dispose
    @character_sprites.pop
  end
end

#======================================
# ¦ Scene_Map
#======================================

class Scene_Map
  #--------------------------------------------------------------------------
  alias abs_scene_map_update update
  alias abs_scene_map_transfer_player transfer_player
  #--------------------------------------------------------------------------
  attr_accessor  :spriteset
  #--------------------------------------------------------------------------
  def main
    @spriteset = Spriteset_Map.new
    @message_window = Window_Message.new
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @spriteset.dispose
    @message_window.dispose
    if $scene.is_a?(Scene_Title)
      Graphics.transition
      Graphics.freeze
    end
  end
  #--------------------------------------------------------------------------
  def update
    if Input.trigger?(Input::L)
      $game_party.shift("Left")
    end
    if Input.trigger?(Input::R)
      $game_party.shift("Right")
    end
    if Input.trigger?(Input::X)
      $game_player.wait_command = true
      $game_party.shift_forward
    end
    if Input.trigger?(Input::Y)
      for ally in $game_allies.values
        if ally.map_id == $game_map.map_id
          ally.wait_command = false
        end
      end
    end
    for key in $game_allies.keys
      $game_allies[key].update
    end
    abs_scene_map_update
  end
  #--------------------------------------------------------------------------
  def transfer_player
    for ally in $game_allies.values
      if ally.wait_command == false
        ally.moveto($game_temp.player_new_x, $game_temp.player_new_y)
        ally.map_id = $game_temp.player_new_map_id
      end
    end
    $game_player.map_id = $game_temp.player_new_map_id
    abs_scene_map_transfer_player
  end
end

#======================================
# ¦ Scene_Title
#======================================

class Scene_Title
  #--------------------------------------------------------------------------
  alias abs_scene_title_cng command_new_game
  #--------------------------------------------------------------------------
  def command_new_game
    $game_system.se_play($data_system.decision_se)
    Audio.bgm_stop
    Graphics.frame_count = 0
 
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables    = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party        = Game_Party.new
    $game_troop        = Game_Troop.new
    $game_map          = Game_Map.new
    $game_player        = Game_Player.new
 
    $game_allies = {}
    for i in 1...$data_system.party_members.size
      $game_allies[i] = Game_Ally.new(i)
    end
 
    $game_party.setup_starting_members
    $game_map.setup($data_system.start_map_id)
 
    for ally in $game_allies.values
      ally.moveto($data_system.start_x, $data_system.start_y)
      ally.refresh
      ally.map_id = $data_system.start_map_id
    end
    $game_player.map_id = $data_system.start_map_id
 
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    $game_player.refresh
    $game_map.autoplay
    $game_map.update
    $scene = Scene_Map.new
  end
end

#======================================
# ¦ Scene_Load
#======================================

class Scene_Load < Scene_File
  #--------------------------------------------------------------------------
  alias abs_scene_load_read_save_data read_save_data
  #--------------------------------------------------------------------------
  def read_save_data(file)
    abs_scene_load_read_save_data(file)
    $game_allies          = Marshal.load(file)
    if $game_system.magic_number != $data_system.magic_number
      $game_map.setup($game_map.map_id)
      $game_player.center($game_player.x, $game_player.y)
    end
    $game_party.refresh
  end
end

#======================================
# ¦ Scene_Save
#======================================

class Scene_Save < Scene_File
  #--------------------------------------------------------------------------
  alias abs_scene_save_write_save_data write_save_data
  #--------------------------------------------------------------------------
  def write_save_data(file)
    abs_scene_save_write_save_data(file)
    Marshal.dump($game_allies, file)
  end
end
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Plinio RPG
Explorador
Explorador
avatar

Número de Mensagens : 32
Idade : 22
Localização : Nort of Devias
Data de inscrição : 04/04/2008

Estatísticas
Alertas Alertas:
0/5  (0/5)
Pontos Pontos: 15 / RST: 225
Minhas Moedas! Minhas Moedas!: 20

MensagemAssunto: Re: Squad Moviment - Carttpilar mais realista   Seg 7 Abr - 20:12:08

KRA EU BAIXEI E DEU ERRO!!!! Crying or Very sad

+ DAH PROXIMA POR FAVOR COLOQUE UMA FOTO PARA QUE SAIBAMOS O QUE ESTAMOS ESPONDO EM NOSSOS JOGOS

FORA ISSO...

Razz MEUS PARABENS PELO TRABALHO ( SE FOI SEU POIS NÃO POS CREDITOS)
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Admin Broderman
Rei
Rei
avatar

Número de Mensagens : 168
Idade : 21
Localização : Na sua tela...
Data de inscrição : 18/01/2008

Estatísticas
Alertas Alertas:
0/5  (0/5)
Pontos Pontos: 0
Minhas Moedas! Minhas Moedas!: 99999

MensagemAssunto: Re: Squad Moviment - Carttpilar mais realista   Ter 8 Abr - 15:57:49

Eh, ficou faltando os creditos ae, edita ^^
Mas, apesar de eu nao ter testado, parece ser um otimo sistema! Wink
Pena no do plinio nao ter dado :/
flw
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://kingrpg.forumsrpg.net
Sorcer Loko
Cientista
Cientista


Número de Mensagens : 51
Data de inscrição : 01/02/2008

Estatísticas
Alertas Alertas:
0/5  (0/5)
Pontos Pontos: 10 / RST: 360 XD!!
Minhas Moedas! Minhas Moedas!: 210

MensagemAssunto: Re: Squad Moviment - Carttpilar mais realista   Ter 8 Abr - 16:00:39

TODOS OS SCRIPTS QUE NAO TEM CREDITOS, É PORQUE NO SITE EM QUE PROCUREI ELES NAO FORAM CITADOS!!!

ISSO VALE PRA TODOS OS SCRIPTS!!!


grato, sorcerloko
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Conteúdo patrocinado




MensagemAssunto: Re: Squad Moviment - Carttpilar mais realista   

Voltar ao Topo Ir em baixo
 
Squad Moviment - Carttpilar mais realista
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» As 10 máfias mais temidas do Mundo
» As propagandas mais chatas da TV
» Mais de 100 Brushes Diversos
» Mais novidades do Project Cafe
» [ON]AS2 - Efeito Chuva Realista

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
King RPG :: RPG Maker VX :: Scripts (RGSS2)-
Ir para: