Ergebnis 1 bis 6 von 6

Thema: Events verdoppeln lassen?! (Im Spiel)

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #3
    Alternativ zum Skript von ´Shining Advances´ könnte ich noch das "Event klonen"- Skript empfehlen:

    Zitat Zitat
    Mit diesem Skript kann man Events auf einer Map klonen. Der gesamte Eventcode wird dabei übernommen.
    Code:
    #-------------------------------------------------------------------------- 
    # Events klonen V1 @ Abt Ploutôn
    #-------------------------------------------------------------------------- 
    
    # Monsta Edit: 1.0 05.06.07
    
    # Aufruf:
    # $game_map.add_event(map_id,id,x,y)
    # ...weitere Events...
    # $scene.spriteset.refresh
    
    # Neuerungen vom Monsta Edit
    # - Man kann sich die ID des neuen Events zurückgeben lassen (@id = $game_map.add...)
    # - Bug mit Self Switches bei geklonten Events behoben
    # - Die Zeile "$game_map.need_refresh = true" brauch nicht mehr ins Call Skript
    # - ID's werden richtig ersetzt (siehe Post SLB)
    
    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)
        s = 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 = s 
        @events[s] = Game_Event.new(@map_id, ev)
        @events[s].moveto(x, y)
        return @events[s].id
      end 
      #-------------------------------------------------------------------------- 
    end
    
    class Scene_Map 
      #-------------------------------------------------------------------------- 
      attr_accessor :spriteset 
      #-------------------------------------------------------------------------- 
    end
    Nunja die Funktion steht im Skriptkopf...
    Ansonsten hier noch ne kleine Anleitung:

    Zitat Zitat
    Benutzungsweise:

    Einfach auf einer neuen Map ein Event machen mit Parallel oer Autostartfunktion und folgendes in ein Eventskript Eintippen wenn man ein Event klonen will:

    $game_map.add_event(map_id,id,x,y)
    $scene.spriteset.refresh

    und für 2 Events:

    $game_map.add_event(map_id,id,x,y)
    $game_map.add_event(map_id,id,x,y)
    $scene.spriteset.refresh

    Und so weiter...

    map_id Die Map wo das Event rumsteht
    id Die Id des Events also 8 oder 873
    x,y die Koordinaten wo das Event auf der neuen Map hin soll.
    Mit Hero x und y Variablen kann man das Event ja nachdem man es auf die Map teleportiert hat auch noch zum Helden teleportieren- aber damit müsstest du dich ja auskennen ;-).

    EDIT:
    Achso, hier noch die
    Quelle des Skripts

    Geändert von Skorp (24.03.2009 um 17:58 Uhr)

Berechtigungen

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