RPGVX.net

  RPG-Maker VX => VX Skripte [Fertiger Code] => Thema gestartet von: ERZENGEL am März 24, 2008, 03:40:49

Titel: [STR13] Spotlight
Beitrag von: ERZENGEL am März 24, 2008, 03:40:49
Screenshot
(http://imagesload.net/daten_no/1206325809_scsh139.jpg)

Credits
Anleitung
Um das Bild anzuzeigen in den Eventcommand "Script" schreiben:
l = $game_map
l.sl_name = "light01" # Dateiname (in Graphics/System)
l.sl_blend_type = 1   # Blending (0 = Normal, 1 = Add, 2 = Sub)
l.sl_opacity = 128    # Transparenz (0 bis 255)
Um das Bild zu enfernen, das hier
l = $game_map
l.sl_name = ""  # Dateinamen leerlassen!
ebenfalls in den Eventcommand "Script" schreiben.
Außerdem wird das Bild bei jeden Mapwechsel wieder gelöscht.

Skript
#==============================================================================
# ** [STR13] Spotlight (von star) (Version 1.1 vom 28. Februar 2008)
#------------------------------------------------------------------------------
#  Mitte des LE ist gleich Positions des Players (gut für Laterne)
#==============================================================================

if false
# Das folgende wird in den Eventcommand "Script" geschrieben:
l = $game_map
l.sl_name = "light01" # Dateiname (in Graphics/System)
l.sl_blend_type = 1   # Blending (0 = Normal, 1 = Add, 2 = Sub)
l.sl_opacity = 128    # Transparenz (0 bis 255)
#-----------------------------------------------------------------------------
end

#==============================================================================
# ** Game_Map
#==============================================================================

class Game_Map
  #--------------------------------------------------------------------------
  # * Instanzvariablen
  #--------------------------------------------------------------------------
  attr_accessor :sl_name
  attr_accessor :sl_blend_type
  attr_accessor :sl_opacity
  #--------------------------------------------------------------------------
  # * Setup
  #     map_id : map ID
  #--------------------------------------------------------------------------
  alias setup_str13 setup
  def setup(map_id)
    setup_str13(map_id)
    @sl_name = ""
    @sl_blend_type = 1
    @sl_opacity = 128
  end
end

#==============================================================================
# ** Spriteset_Map
#==============================================================================

class Spriteset_Map
  #--------------------------------------------------------------------------
  # * Create Light
  #--------------------------------------------------------------------------
  def create_s_light
    @s_light = Sprite.new(@viewport2)
    @s_light.z = 0
    @s_light.visible = false
  end
  #--------------------------------------------------------------------------
  # * Dispose Light
  #--------------------------------------------------------------------------
  def dispose_s_light
    @s_light.dispose
  end
  #--------------------------------------------------------------------------
  # * Update Light
  #--------------------------------------------------------------------------
  def update_s_light
    if @s_light_name != $game_map.sl_name
      @s_light_name = $game_map.sl_name
      if @s_light.bitmap != nil
        @s_light.bitmap.dispose
        @s_light.bitmap = nil
      end
      if @s_light_name != ""
        @s_light.bitmap = Cache.system(@s_light_name)
        @s_light.visible = true
        @s_light.ox = @s_light.bitmap.width / 2
        @s_light.oy = @s_light.bitmap.height / 2
      end
      Graphics.frame_reset
    end
    @s_light.opacity = $game_map.sl_opacity
    @s_light.blend_type = $game_map.sl_blend_type
    @s_light.x = $game_player.screen_x
    @s_light.y = $game_player.screen_y
  end
  #--------------------------------------------------------------------------
  # * Create Parallax
  #--------------------------------------------------------------------------
  alias create_parallax_str13 create_parallax
  def create_parallax
    create_parallax_str13
    create_s_light
  end
  #--------------------------------------------------------------------------
  # * Dispose of Parallax
  #--------------------------------------------------------------------------
  alias dispose_str13 dispose
  def dispose
    dispose_s_light
    dispose_str13
  end
  #--------------------------------------------------------------------------
  # * Update of Parallax
  #--------------------------------------------------------------------------
  alias update_str13 update
  def update
    update_str13
    update_s_light
  end
end

Links
als Textdatei anzeigen oder downloaden (http://rpgvx.bplaced.net/scripts/star/13.txt)
Beispielgrafik anzeigen oder downloaden (http://imagesload.net/daten_no/1206326379_black.jpg)
star's VX script material (http://strrgssvx.blog.shinobi.jp/Entry/23)
Titel: [STR13] Spotlight
Beitrag von: Goldenboss am März 24, 2008, 09:01:31
Hey...


Auch ein echt sinnvolles Script.

Vielen Dank. :)
Titel: [STR13] Spotlight
Beitrag von: Dimidimadmitri am März 24, 2008, 11:51:55
Sowas kann ich gut gebrauchen. Genau das richtige für Dungeons. THX super arbeit
Titel: [STR13] Spotlight
Beitrag von: Afenishakur am März 24, 2008, 14:00:58
Krass, werd ich auch noch einbauen =)
Vielen Dank fürs posten
Titel: [STR13] Spotlight
Beitrag von: Afenishakur am März 24, 2008, 14:10:23
kann man das event auch mit irgendeinem Befehl wieder löschen?
also wenn es einmal an ist
Titel: [STR13] Spotlight
Beitrag von: Dimidimadmitri am März 24, 2008, 14:23:07
l.sl_blend_type = 1  # Blending (0 = Normal, 1 = Add, 2 = Sub)

kann das sein das man statt der "1" vielleicht eine 0 einsetzen kann damit das Normal ist?? kannst ja mal ausprobieren vielleicht klapt das.
Titel: [STR13] Spotlight
Beitrag von: Afenishakur am März 24, 2008, 14:26:23
kann man, hab schon ne lösung gefunden, trotzdem danke =)
Titel: [STR13] Spotlight
Beitrag von: ERZENGEL am März 24, 2008, 22:59:45
Zitat von: Afenishakur
kann man das event auch mit irgendeinem Befehl wieder löschen?
also wenn es einmal an ist
Ich schreibs noch dazu, dass man einfach das, wo man den Dateinamen einträgt, leerlassen muss um es wieder zu entfernen.
Titel: [STR13] Spotlight
Beitrag von: Talyana Meriweather Rahl am März 25, 2008, 05:29:27
Macht das die LE automatisch oder?

Weil wenn man die Pictures nicht fixiert per Engine von Yatzu bräuchte man das doch garnicht oder?
Titel: [STR13] Spotlight
Beitrag von: ERZENGEL am März 25, 2008, 05:53:09
Eigentlich nicht, da mir nur der Weg über die in Variablen gespeicherten Spielerkoordinaten einfällt, um das per Events zu machen was das Skript erledigt.
Titel: [STR13] Spotlight
Beitrag von: Dainreth am März 25, 2008, 17:52:54
Das Skript gefällt mir, wieder mal ein Danke an dich, bist ja echt fleißig momentan!
Titel: [STR13] Spotlight
Beitrag von: Afenishakur am April 04, 2008, 16:03:11
Mal ne Frage, wie kann ich den Lichtkegel bei Laternen fest machen? Hab das noch nicht hinbekommen.
Titel: [STR13] Spotlight
Beitrag von: ERZENGEL am April 04, 2008, 16:18:50
Das Skript hat ja den Zweck, die Mitte der LE automatisch(!) an den Standpunkt des Players zu positionieren. Der in den meisten Fällen, bei dem sich es lohnt das Skript einzusetzen, eine Laterne trägt.
Wenn du jetzt so Laternen meinst, die am Wegrand stehen, dann musst du das am leichtesten über den Show Picture-Befehl machen wie man es bei Lightmaps halt so macht ^^
Titel: [STR13] Spotlight
Beitrag von: Afenishakur am April 04, 2008, 16:34:20
danke dir
SimplePortal 2.3.3 © 2008-2010, SimplePortal