Ergebnis 1 bis 4 von 4

Thema: Event im Spiel kopieren

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Event im Spiel kopieren

    Ja hallo ^,^
    Wie kopiere ich im Spiel ohne Swtiches ein Event?
    Ich habe bisher 2 Event-Kopier-Skripte gefunden:
    Eins von Shining Advance, dass sich schon beim laden einer Karte das Spiel aufhängt:
    PHP-Code:
    class Spriteset_Map
      def add_sprite
    (event)
        @
    character_sprites.push(Sprite_Character.new(@viewport1,event))
      
    end
    end

    class Scene_Map
      def copy_event
    (map_id,event_id)
        
    event Game_Event.new(map_idload_data(sprintf("Data/Map%03d.rxdata"map_id)).events[event_id])
        
    $game_map.events[$game_map.events.keys.max+1] = event
        event
    .id $game_map.events.keys.max
        
    @spriteset.add_sprite(event)
        
    event.refresh
        
    return event
      end
    end

    class Game_Event
      def id
    =(n)
        @
    id n
        
    @event.id n
      end
    end 
    Es wird so benutzt:
    Code:
    $scene.copy_event(map_id,event_id).moveto(x,y)
    Und eins, dass mehr oder weniger klappt: http://www.rpg-studio.de/scriptdb/Events-klonen.html
    PHP-Code:
    class Spriteset_Map
      
    #-------------------------------------------------------------------------- 
      
    def refresh
        $game_map
    .need_refresh true
        unless 
    @character_sprites == nil 
          
    for sprite in @character_sprites 
            sprite
    .dispose 
          end 
        end
        
    @character_sprites = [] 
        for 
    i in $game_map.events.keys.sort 
          sprite 
    Sprite_Character.new(@viewport1$game_map.events[i]) 
          @
    character_sprites.push(sprite
        
    end 
        
    @character_sprites.push(Sprite_Character.new(@viewport1$game_player))
      
    end
      
    #-------------------------------------------------------------------------- 
    end
     
    class Game_Map
      
    #-------------------------------------------------------------------------- 
      
    def add_event(map_id,id,x,y)
        
    1
        
    (1..@events.size 1).each{|s|break unless @events.keys.include?(s)}
        
    map load_data(sprintf("Data/Map%03d.rxdata"map_id)) 
        
    ev map.events[id
        
    ev.id 
        
    @events[s] = Game_Event.new(@map_idev)
        @
    events[s].moveto(xy)
        return @
    events[s].id
      end 
      
    #-------------------------------------------------------------------------- 
    end
     
    class Scene_Map 
      
    #-------------------------------------------------------------------------- 
      
    attr_accessor :spriteset 
      
    #-------------------------------------------------------------------------- 
    end
      
    #-------------------------------------------------------------------------- 
      
    def refresh
        $game_map
    .need_refresh true
        unless 
    @character_sprites == nil 
          
    for sprite in @character_sprites 
            sprite
    .dispose 
          end 
        end
        
    @character_sprites = [] 
        for 
    i in $game_map.events.keys.sort 
          sprite 
    Sprite_Character.new(@viewport1$game_map.events[i]) 
          @
    character_sprites.push(sprite
        
    end 
        
    @character_sprites.push(Sprite_Character.new(@viewport1$game_player))
      
    end
      
    #-------------------------------------------------------------------------- 

    class Game_Map
      
    #-------------------------------------------------------------------------- 
      
    def add_event(map_id,id,x,y)
        
    1
        
    (1..@events.size 1).each{|s|break unless @events.keys.include?(s)}
        
    map load_data(sprintf("Data/Map%03d.rxdata"map_id)) 
        
    ev map.events[id
        
    ev.id 
        
    @events[s] = Game_Event.new(@map_idev)
        @
    events[s].moveto(xy)
        return @
    events[s].id
      end 
      
    #-------------------------------------------------------------------------- 
    end
     
    class Scene_Map 
      
    #-------------------------------------------------------------------------- 
      
    attr_accessor :spriteset 
      
    #-------------------------------------------------------------------------- 
    end 
    Das Event wird zwar kopiert, aber die Grafik wird nicht angezeigt!
    Es wird so benutzt:
    Code:
    $game_map.add_event(map_id,id,x,y)
    # ... weitere Events ...
    # ... es können bel. viele Events angeben werden
    Die Scripts.rxdata Datei findet ihr im Anhang!
    Angehängte Dateien Angehängte Dateien

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •