Vai al contenuto

Rilevato Ad-Blocker. Per favore disabilita il tuo adblocker quando navighi su makerando.com - Non c'è nessun annuncio invasivo.

Cerca nel Forum

Showing results for tags 'Caterpillar by Atoa'.



More search options

  • Search By Tags

    Tag separati da virgole.
  • Search By Author

Tipo di contenuto


Forums

  • Comunità
    • Cancello di Ingresso
    • Bacheca
    • Colisseum
  • DevTeam
    • CyberTeam
  • Giochi e Progetti RPG Maker
    • Resa Grafica
    • Concept e Bozze
    • Progetti
    • Giochi RPG Maker Completi e Demo
    • Il Making Oltreoceano
  • Assistenza e Supporto RPG Maker
    • Biblioteca
    • BrainStorming
    • Chiedi Aiuto alla Comunity
    • RPG Maker Scripting
    • PlugIn e AddOn RPG Maker
    • Musica e Suoni
    • Risorse Grafiche RPG Maker
    • Mak - Resources
  • Beyond Making - Oltre RPG Maker
    • Altri Tool

Find results in...

Find results that contain...


Data di creazione

  • Start

    End


Ultimo Aggiornamento

  • Start

    End


Filter by number of...

Iscritto

  • Start

    End


Gruppo


AIM


Indirizzo Web


ICQ


Yahoo


Skype


Location


Interests

Trovato 1 risultato

  1. Nome Script: Caterpillar by Atoa Versione: N/D Autore/i: Atoa Informazioni: Questo sistema permette di avere il gruppo che segue l'eroe ^^ Screenshots: Istruzioni: Inserite il solito script sotto Material Script #============================================================================= # Atoa Atoa Caterpillar # Por Atoa #============================================================================== # Este script permite vizualizar os membros no mapa, eles irão seguir o herói # Um pouco diferente dos outros caterpillar, neste os personagens # Só se movimentam caso necessário (portanto eles não ficam igual "barata tonta" # se você ficar indo e voltando. # # Para juntar os personagens use o comando: $game_player.caterpillar_gather # # Um aviso importante: O script não funciona muito bem com movimeno em diagonal # ele fica visualmente bonito apenas com 3 ou 2 pesonagens no grupo. # Após usa-lo, use o comando de reunir grupo. #============================================================================== module Atoa # Numero máximos de personagens seguindo o herói na tela Max_Caterpillar_Actor = 3 # ID do switch que esconde a vizualização dos personagens quando ativado Caterpillar_Hide_Switch = 1 # Permitir alterar ordem do grupo apertando-se as teclas Q ou W? Allow_Reorder = true # Distancia máxima entre os personagens do grupo # Deixe 0 para desativar Max_Distance = 0 end #============================================================================== # ■ Game_Character #============================================================================== class Game_Character #-------------------------------------------------------------------------- include Atoa #-------------------------------------------------------------------------- attr_accessor(:direction) end #============================================================================== # ■ Game_Player #============================================================================== class Game_Player < Game_Character #-------------------------------------------------------------------------- attr_accessor(:catterpillar, :old_x, :old_y, :move_speed) #-------------------------------------------------------------------------- alias atoa_caterpillar_refresh refresh if !method_defined?(:atoa_caterpillar_refresh) def refresh catterpillar_update atoa_caterpillar_refresh end #-------------------------------------------------------------------------- def catterpillar_update if @catterpillar == nil @catterpillar = [] for i in 1...(Max_Caterpillar_Actor + 1) @catterpillar[i - 1] = Atoa_Catterpillar.new(i) end end for cat in @catterpillar cat.refresh end end #-------------------------------------------------------------------------- alias atoa_caterpillar_update update if !method_defined?(:atoa_caterpillar_update) def update for cat in @catterpillar cat.update end atoa_caterpillar_update end #-------------------------------------------------------------------------- alias atoa_caterpillar_moveto moveto if !method_defined?(:atoa_caterpillar_moveto) def moveto(x, y) atoa_caterpillar_moveto(x, y) catterpillar_update if @catterpillar.nil? or @move_update.nil? for i in [email protected] @catterpillar[i].moveto(x, y) end end #-------------------------------------------------------------------------- def set_old_direction @[member=OldPat]_x = @x @[member='oldmythology'] = @y for i in [email protected] @catterpillar[i].old_x = @catterpillar[i].x @catterpillar[i].old_y = @catterpillar[i].y end end #-------------------------------------------------------------------------- def cat_moved?(i, d) cat = i == 0 ? self : @catterpillar[i - 1] cat2 = @catterpillar[i] if d == 1 or d == 3 or d == 7 or d == 9 return true elsif (cat.direction == 2 or cat.direction == 8) and cat.y == cat2.y return false elsif (cat.direction == 4 or cat.direction == 6) and cat.x == cat2.x return false elsif cat.old_x != cat.x or cat.old_y != cat.y return true end return false end #-------------------------------------------------------------------------- def move_cat(i, d) if cat_moved?(i, d) @catterpillar[i].move_player if i == 0 or (i != 0 and (d == 1 or d == 3 or d == 7 or d == 9)) @catterpillar[i].move_update.push(d) else @catterpillar[i].move_update.push(@catterpillar[i - 1].direction) end else if i == 0 or check_same_tile(i) @catterpillar[i].move_update.clear else cat = @catterpillar[i].move_update[0] @catterpillar[i].move_update.clear @catterpillar[i].move_update.push(cat) end end end #-------------------------------------------------------------------------- def check_same_tile(i) return false if i == 0 cat = @catterpillar[i - 1] cat2 = @catterpillar[i] return true if cat.x == cat2.x and cat.y == cat2.y return false end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_down move_down if !method_defined?(:atoa_caterpillar_move_down) def move_down(turn_ok = true) set_old_direction passable = passable?(@x, @y+1) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_down if passable for i in [email protected] move_cat(i, 2) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_left move_left if !method_defined?(:atoa_caterpillar_move_left) def move_left(turn_ok = true) set_old_direction passable = passable?(@x-1, @y) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_left if passable for i in [email protected] move_cat(i, 4) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_right move_right if !method_defined?(:atoa_caterpillar_move_right) def move_right(turn_ok = true) set_old_direction passable = passable?(@x+1, @y) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_right if passable for i in [email protected] move_cat(i, 6) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_up move_up if !method_defined?(:atoa_caterpillar_move_up) def move_up(turn_ok = true) set_old_direction passable = passable?(@x, @y-1) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_up if passable for i in [email protected] move_cat(i, 8) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_lower_left move_lower_left if !method_defined?(:atoa_caterpillar_move_lower_left) def move_lower_left set_old_direction passable = (passable?(@x, @y+1) and passable?(@x-1, @y+1)) or (passable?(@x-1, @y) and passable?(@x-1, @y+1)) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_lower_left if passable for i in [email protected] move_cat(i, 1) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_lower_right move_lower_right if !method_defined?(:atoa_caterpillar_move_lower_right) def move_lower_right(turn_ok = true) set_old_direction passable = (passable?(@x, @y+1) and passable?(@x+1, @y+1)) or (passable?(@x+1, @y) and passable?(@x+1, @y+1)) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_lower_right if passable for i in [email protected] move_cat(i, 3) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_upper_left move_upper_left if !method_defined?(:atoa_caterpillar_move_upper_left) def move_upper_left(turn_ok = true) set_old_direction passable = (passable?(@x, @y-1) and passable?(@x-1, @y-1)) or (passable?(@x-1, @y) and passable?(@x-1, @y-1)) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_upper_left if passable for i in [email protected] move_cat(i, 7) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_upper_right move_upper_right if !method_defined?(:atoa_caterpillar_move_upper_right) def move_upper_right(turn_ok = true) set_old_direction passable = (passable?(@x, @y-1) and passable?(@x+1, @y-1)) or (passable?(@x+1, @y) and passable?(@x+1, @y-1)) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_upper_right if passable for i in [email protected] move_cat(i, 9) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_get_on_vehicle get_on_vehicle if !method_defined?(:atoa_caterpillar_get_on_vehicle) def get_on_vehicle enter = atoa_caterpillar_get_on_vehicle caterpillar_gather if enter return enter end #-------------------------------------------------------------------------- alias atoa_caterpillar_get_off_vehicle get_off_vehicle if !method_defined?(:atoa_caterpillar_get_off_vehicle) def get_off_vehicle for i in [email protected] @catterpillar[i].moveto(@x, @y) end atoa_caterpillar_get_off_vehicle caterpillar_gather end #-------------------------------------------------------------------------- def caterpillar_gather for i in [email protected] @catterpillar[i].gather_party end end end #============================================================================== # ■ Atoa_Catterpillar #============================================================================== class Atoa_Catterpillar < Game_Character #-------------------------------------------------------------------------- attr_accessor(:move_update, :member, :old_x, :old_y, :x, :y, :move_speed) #-------------------------------------------------------------------------- def initialize(member) super() @move_update = [] @member = member moveto($game_player.x, $game_player.y) @through = true refresh end #-------------------------------------------------------------------------- def moveto(x, y) super(x, y) @move_update.clear end #-------------------------------------------------------------------------- def refresh party = $game_party.members if party.size < @member @character_name = "" @character_hue = 0 return end actor = party[@member] if actor == nil @character_name = "" @character_hue = 0 return end @character_name = actor.character_name @character_index = actor.character_index @opacity = 255 @blend_type = 0 end #-------------------------------------------------------------------------- def screen_z if $game_player.x == @x and $game_player.y == @y return $game_player.screen_z - 1 end super end #-------------------------------------------------------------------------- def check_event_trigger_here(triggers) return false end #-------------------------------------------------------------------------- def check_event_trigger_there(triggers) return false end #-------------------------------------------------------------------------- def check_event_trigger_touch(x, y) return false end #-------------------------------------------------------------------------- def update member = @member == 1 ? $game_player : $game_player.catterpillar[@member - 2] diff = ((player_distance(member) >= Max_Distance) or !$game_player.moving?) ? 0 : 1 @move_speed = [member.move_speed - diff, 1].max super @transparent = $game_player.transparent @transparent = @transparent ? @transparent : $game_switches[Caterpillar_Hide_Switch] end #-------------------------------------------------------------------------- def player_distance(member) if far_from_member(member) dist_x = ((member.screen_x - self.screen_x)/32).to_i.abs dist_y = ((member.screen_y - self.screen_y)/32).to_i.abs return dist_x - 1 if dist_x >= dist_y return dist_y - 1 if dist_y >= dist_x end return 0 end #-------------------------------------------------------------------------- def far_from_member(member) return true if (member.screen_x > self.screen_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> and ((member.screen_x - self.screen_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> > 32) return true if (member.screen_y > self.screen_y) and ((member.screen_y - self.screen_y) > 32) return true if (member.screen_x < self.screen_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> and ((self.screen_x - member.screen_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> > 64) return true if (member.screen_y < self.screen_y) and ((self.screen_y - member.screen_y) > 64) return false end #-------------------------------------------------------------------------- def move_player refresh return if @move_update.empty? case @move_update[0] when 1 move_lower_left when 2 move_down when 3 move_lower_right when 4 move_left when 6 move_right when 7 move_upper_left when 8 move_up when 9 move_upper_right end @move_update.delete_at(0) end #-------------------------------------------------------------------------- def gather_party for i in 0...$game_party.members.size move_toward_player end @x = $game_player.x @y = $game_player.y @move_update.clear end end #============================================================================== # ■ Spriteset_Map #============================================================================== class Spriteset_Map #-------------------------------------------------------------------------- include Atoa #-------------------------------------------------------------------------- alias atoa_caterpillar_create_characters create_characters if !method_defined?(:atoa_caterpillar_create_characters) def create_characters atoa_caterpillar_create_characters for caterpillar in $game_player.catterpillar.reverse sprite = Sprite_Character.new(@viewport1, caterpillar) @character_sprites.push(sprite) end @[member=OldPat]_party = $game_party.members.dup end #-------------------------------------------------------------------------- def update_characters for sprite in @character_sprites sprite.update end end end #============================================================================== # ■ Game_Party #============================================================================== class Game_Party < Game_Unit #-------------------------------------------------------------------------- attr_accessor :actors end #============================================================================== # ■ Scene_Map #============================================================================== class Scene_Map #-------------------------------------------------------------------------- include Atoa #-------------------------------------------------------------------------- alias atoa_caterpillar_update update if !method_defined?(:atoa_caterpillar_update) def update atoa_caterpillar_update if Input.trigger?(Input::L) and Allow_Reorder Sound.play_decision reorder_party(true) end if Input.trigger?(Input::R) and Allow_Reorder Sound.play_decision reorder_party(false) end end #-------------------------------------------------------------------------- def reorder_party(order) if order party = $game_party.actors.shift $game_party.actors << party else party = $game_party.actors.pop $game_party.actors.unshift(party) end $game_player.refresh end end
×