Ergebnis 1 bis 6 von 6

Thema: Events verdoppeln lassen?! (Im Spiel)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    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 18:58 Uhr)

  2. #2
    Joa alta!!!!
    GEIL!!!! Das fetzt ja vielen Dank euch beiden, wenn das alles so hinhaut denn isses genau das was ich gesucht hab.

    Vielen Dank hätte nich Gedacht das is die schon so als geniale Scripts gibt.

    Credits gebühren natürlich euch!

    EDIT:
    @Shining Advances:
    Super es funktioniert! Gibts ne Möglichkeit die gespawnten events durchgehbar zu machen (wie bei normalen event der schalter "Through" unter "Options") Gibts vllt. nen Script-Befehl den Ich gleich dahintersetzen kann?

    Geändert von chrisbyRRC (24.03.2009 um 22:26 Uhr) Grund: EDIT

  3. #3
    füg bei dem script am ende
    Code:
    class Game_Event
      attr_accessor :through
    end
    ein.

    un dann bei call script
    Code:
    event = $scene.newevent
    event.through = true

  4. #4
    Einfach nur Geil!
    Es funktioniert! Du bist der Beste

Berechtigungen

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