collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Rast Script  (Gelesen 2116 mal)

Offline dauerzocer

  • RTP-Mapper
  • *
  • Beiträge: 23
Rast Script
« am: Juni 08, 2008, 14:02:35 »
1. Beschreibung
- Das Script bezweckt, dass bestimmte Items nur in bestimmten Gebieten
   eingesetzt werden können
 - Das Script leitet bei diesen Items dann eine Rast Animation ein
 - Die Farbtöne können geändert werden für diese Animation; Standard
   sind die Farbtöne aus helMinors Day and Night Script
 - Sowohl das Bild als auch der Ton bei der Animation können geänder werden
 - Die Länge dieser Animation kann eingestellt werden
 - Das Script funktioniert auch ohne helMinors Day and Night Script
 - Wenn man helMinors Script benutzt wird die Animation an die Tageszeit angepasst
2.Script
Spoiler for Hiden:
#--------------------------------------------------------------------------------------------------------------------------------
#Rast Script
#Author: dauerzocer
#Danke an helMinor für sein Day and Night Script und die Farbtöne
#Version: 1.0
#Datum: 8.6.2008
#--------------------------------------------------------------------------------------------------------------------------------
#Beschreibung:
# - Das Script bezweckt, dass bestimmte Items nur in bestimmten Gebieten
#   eingesetzt werden können
# - Das Script leitet bei diesen Items dann eine Rast Animation ein
# - Die Farbtöne können geändert werden für diese Animation; Standard
#   sind die Farbtöne aus helMinors Day and Night Script
# - Sowohl das Bild als auch der Ton bei der Animation können geänder werden
# - Die Länge dieser Animation kann eingestellt werden
# - Das Script funktioniert auch ohne helMinors Day and Night Script
# - Wenn man helMinors Script benutzt wird die Animation an die Tageszeit angepasst
#--------------------------------------------------------------------------------------------------------------------------------
#Installation
# - Dieses Script über Main einfügen; kann über oder unter helMinors Script
# - Gebiete in denen Rasten erlaubt ist im Modul Rasten angeben
# - Items die eine solche Funktion haben angeben
# - Bei Verwendung der Standard Grafik muss die Datei Zelt.bmp im Ordner Graphics/System
#   vorhanden sein, eine eigene Grafik kann im selben Ordner gespeichert werden. muss
#   aber im Modul Rasten angegeben werden
module Rasten
  Gebiete= ["Welt"] #Gebiete in denen Rasten erlaubt ist
  Rastitems= [] #Nummer der Items, welche eine Rast Funktion haben
  Nighttone = Tone.new(-136, -102, -17, 51)  # Night-Screen-Tone
  Daytone = Tone.new(0, 0, 0, 0) # Day-Screen-Tone
  Dusktone = Tone.new(-68, -51, -9, 25)      # Dusk-Screen-Tone
  Dawntone = Tone.new(-20, -51, -68, 0)      # Dawn-Screen-Tone
  Rastsound = "Audio/ME/Inn.mid" #Sound, der beim Rasten gespielt wird
  Rastbild = "Zelt.bmp" #Bild, das beim Rasten gezeigt wird
  Rastlänge = 3 #Zeit für Animation in Sekunden
  X_Angleich = 25 #Abhängig von der Breite des Bildes; für genaue Zentrierung des Bildes
  Y_Angleich = 30 #Abhängig von der Höhe des Bildes; für genaue Zentrierung des Bildes
  end
#--------------------------------------------------------------------------------------------------------------------------------
class Scene_Item < Scene_Base
  
def update_target_selection
  rastitems2 = []
  for item in Rasten::Rastitems
    rastitems2.push($data_items[item])
  end
    if Input.trigger?(Input::cool.gif\" style=\"vertical-align:middle\" emoid=\"B)\" border=\"0\" alt=\"cool.gif\" /]
      Sound.play_cancel
      if $game_party.item_number(@item) == 0    
        @item_window.refresh                  
      end
      hide_target_window
    elsif Input.trigger?(Input::C)
      if not $game_party.item_can_use?(@item)
        Sound.play_buzzer
      elsif rastitems2.include?(@item)
        gebiet = $game_map.name.gsub(/\[\w*\]/) {""}
        if Rasten::Gebiete.include?(gebiet) then
          determine_target_rasten
        else
        Sound.play_buzzer
        end
      else
        determine_target
      end
    end
  end
  
  def determine_target_rasten
    used = false
    if @item.for_all?
      for target in $game_party.members
        target.item_effect(target, @item)
        used = true unless target.skipped
      end
    else
      $game_party.last_target_index = @target_window.index
      target = $game_party.members[@target_window.index]
      target.item_effect(target, @item)
      used = true unless target.skipped
    end
    if used
      use_item_nontarget
      $scene = Scene_Rasten.new
    else
      Sound.play_buzzer
    end
  end
  
end
 #-------------------------------------------------------------------------------------------------------------------------------
class Scene_Rasten < Scene_Map
  
  def post_start
    super
    rasten
    $scene = Scene_Map.new
  end
  
    def erneuern(duration)
    Graphics.transition(0)
    for i in 0..duration.to_i-1
      update_basic
      end
    end
        
  def rasten
    animation_einblenden
    erneuern(Rasten::Rastlänge/3.0*60)
    animation_ausblenden
  end
  
  def check_day_and_night
    if $day != nil then
      return true
    end
  end
    
  def animation_einblenden
    @zelt = Sprite.new
    @zelt.bitmap = Cache.system(Rasten::Rastbild)
    @zelt.x = ($game_player.x*32 -$game_map.display_x/256*32)-Rasten::X_Angleich
    @zelt.y = ($game_player.y*32 -$game_map.display_y/256*32)-Rasten::Y_Angleich
    Audio.me_play(Rasten::Rastsound, 100, 100)
    if check_day_and_night then
      if $day then
        doNight
      elsif $dusk then
        fromDusk
      elsif $night then
        doDay
      elsif $dawn then
        fromDawn
      end
    else
    doNight
    end
  end
  
  def animation_ausblenden
    if check_day_and_night then
      if $day then
        doDay
      elsif $dusk then
        from Dawn
      elsif $night then
        doNight
      elsif $dawn then
        fromDusk
      end
    else
    doNight
    end
    @zelt.dispose
  end
  
  def doNight
      $game_map.screen.start_tone_change(Rasten::Nighttone,Rasten::Rastlänge/3.0*60)
      erneuern(Rasten::Rastlänge/3.0*60)
    end
    
    def doDay
      $game_map.screen.start_tone_change(Rasten::Daytone, Rasten::Rastlänge/3.0*60)
      erneuern(Rasten::Rastlänge/3.0*60)
    end
    
    def fromDawn
      $game_map.screen.start_tone_change(Rasten::Daytone, Rasten::Rastlänge/6.0*60)
      erneuern(Rasten::Rastlänge/6.0*60)
      $game_map.screen.start_tone_change(Rasten::Dusktone, Rasten::Rastlänge/6.0*60)
      erneuern(Rasten::Rastlänge/6.0*60)
    end
    
    def fromDusk
      $game_map.screen.start_tone_change(Rasten::Nighttone, Rasten::Rastlänge/6.0*60)
      erneuern(Rasten::Rastlänge/6.0*60)
      $game_map.screen.start_tone_change(Rasten::Dawntone, Rasten::Rastlänge/6.0*60)
      erneuern(Rasten::Rastlänge/6.0*60)
    end
    
end
3. Installation
 - Dieses Script über Main einfügen; kann über oder unter helMinors Script
 - Gebiete in denen Rasten erlaubt ist im Modul Rasten angeben
 - Items die eine solche Funktion haben angeben
 - Bei Verwendung der Standard Grafik muss die Datei Zelt.bmp im Ordner Graphics/System
   vorhanden sein, eine eigene Grafik kann im selben Ordner gespeichert werden. muss
   aber im Modul Rasten angegeben werden
   Standartbild: Zelt.bmp

Habe alles mal in eine Codebox gepackt.^^
~Kyoshiro
« Letzte Änderung: Juni 23, 2009, 14:33:37 von Kyoshiro »

Rast Script

Offline Mclovin

  • Zeitbedürftiger
  • Eventmeister
  • ***
  • Beiträge: 314
  • Mclovin not war!
Rast Script
« Antwort #1 am: Juni 08, 2008, 14:14:27 »
Oh, das sieht auf jeden Fall nach einem sehr netten Script aus. Ich hab' es zwar jetzt noch nicht ausprobiert, aber ich denke, dass ich es verwenden werde. Danke, dauerzocer! :)

Re: Rast Script

Offline Geoflare

  • Mojo Jojo
  • RTP-Mapper
  • *
  • Beiträge: 24
Re: Rast Script
« Antwort #2 am: Juni 23, 2009, 13:26:15 »
echt tolles skript ich werds auf jeden fall benutzen

ehhm da sind smileys
« Letzte Änderung: Juni 23, 2009, 13:27:17 von Geoflare »

Re: Rast Script

Offline RaZZoR

  • Contest-Rocker
  • Database-Verunstalter
  • **
  • Beiträge: 183
Re: Rast Script
« Antwort #3 am: Juni 23, 2009, 14:47:14 »
Sehr interessantes Skript.
Benötige es momentan zwar nicht, aber vielleicht im späteren Verlauf meines Projekts.
Jedenfalls ein Danke für deine Mühe.

MfG RaZZoR


Re: Rast Script

Offline Geoflare

  • Mojo Jojo
  • RTP-Mapper
  • *
  • Beiträge: 24
Re: Rast Script
« Antwort #4 am: Juni 23, 2009, 17:30:37 »
Zitat
if Input.trigger?(Input::cool.gif\" style=\"vertical-align:middle\" emoid=\"B)\" border=\"0\" alt=\"cool.gif\" /]
Das sind immernoch smileys drin^^

Re: Rast Script

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re: Rast Script
« Antwort #5 am: Juni 23, 2009, 17:47:45 »
Spoiler for Hiden:
#--------------------------------------------------------------------------------------------------------------------------------
#Rast Script
#Author: dauerzocer
#Danke an helMinor für sein Day and Night Script und die Farbtöne
#Version: 1.0
#Datum: 8.6.2008
#--------------------------------------------------------------------------------------------------------------------------------
#Beschreibung:
# - Das Script bezweckt, dass bestimmte Items nur in bestimmten Gebieten
#   eingesetzt werden können
# - Das Script leitet bei diesen Items dann eine Rast Animation ein
# - Die Farbtöne können geändert werden für diese Animation; Standard
#   sind die Farbtöne aus helMinors Day and Night Script
# - Sowohl das Bild als auch der Ton bei der Animation können geänder werden
# - Die Länge dieser Animation kann eingestellt werden
# - Das Script funktioniert auch ohne helMinors Day and Night Script
# - Wenn man helMinors Script benutzt wird die Animation an die Tageszeit angepasst
#--------------------------------------------------------------------------------------------------------------------------------
#Installation
# - Dieses Script über Main einfügen; kann über oder unter helMinors Script
# - Gebiete in denen Rasten erlaubt ist im Modul Rasten angeben
# - Items die eine solche Funktion haben angeben
# - Bei Verwendung der Standard Grafik muss die Datei Zelt.bmp im Ordner Graphics/System
#   vorhanden sein, eine eigene Grafik kann im selben Ordner gespeichert werden. muss
#   aber im Modul Rasten angegeben werden
module Rasten
  Gebiete= ["Welt"] #Gebiete in denen Rasten erlaubt ist
  Rastitems= [] #Nummer der Items, welche eine Rast Funktion haben
  Nighttone = Tone.new(-136, -102, -17, 51)  # Night-Screen-Tone
  Daytone = Tone.new(0, 0, 0, 0) # Day-Screen-Tone
  Dusktone = Tone.new(-68, -51, -9, 25)      # Dusk-Screen-Tone
  Dawntone = Tone.new(-20, -51, -68, 0)      # Dawn-Screen-Tone
  Rastsound = "Audio/ME/Inn.mid" #Sound, der beim Rasten gespielt wird
  Rastbild = "Zelt.bmp" #Bild, das beim Rasten gezeigt wird
  Rastlänge = 3 #Zeit für Animation in Sekunden
  X_Angleich = 25 #Abhängig von der Breite des Bildes; für genaue Zentrierung des Bildes
  Y_Angleich = 30 #Abhängig von der Höhe des Bildes; für genaue Zentrierung des Bildes
  end
#--------------------------------------------------------------------------------------------------------------------------------
class Scene_Item < Scene_Base
 
def update_target_selection
  rastitems2 = []
  for item in Rasten::Rastitems
    rastitems2.push($data_items[item])
  end
    if Input.trigger?(Input::B)
      Sound.play_cancel
      if $game_party.item_number(@item) == 0   
        @item_window.refresh                   
      end
      hide_target_window
    elsif Input.trigger?(Input::C)
      if not $game_party.item_can_use?(@item)
        Sound.play_buzzer
      elsif rastitems2.include?(@item)
        gebiet = $game_map.name.gsub(/\[\w*\]/) {""}
        if Rasten::Gebiete.include?(gebiet) then
          determine_target_rasten
        else
        Sound.play_buzzer
        end
      else
        determine_target
      end
    end
  end
 
  def determine_target_rasten
    used = false
    if @item.for_all?
      for target in $game_party.members
        target.item_effect(target, @item)
        used = true unless target.skipped
      end
    else
      $game_party.last_target_index = @target_window.index
      target = $game_party.members[@target_window.index]
      target.item_effect(target, @item)
      used = true unless target.skipped
    end
    if used
      use_item_nontarget
      $scene = Scene_Rasten.new
    else
      Sound.play_buzzer
    end
  end
 
end
 #-------------------------------------------------------------------------------------------------------------------------------
class Scene_Rasten < Scene_Map
 
  def post_start
    super
    rasten
    $scene = Scene_Map.new
  end
 
    def erneuern(duration)
    Graphics.transition(0)
    for i in 0..duration.to_i-1
      update_basic
      end
    end
       
  def rasten
    animation_einblenden
    erneuern(Rasten::Rastlänge/3.0*60)
    animation_ausblenden
  end
 
  def check_day_and_night
    if $day != nil then
      return true
    end
  end
     
  def animation_einblenden
    @zelt = Sprite.new
    @zelt.bitmap = Cache.system(Rasten::Rastbild)
    @zelt.x = ($game_player.x*32 -$game_map.display_x/256*32)-Rasten::X_Angleich
    @zelt.y = ($game_player.y*32 -$game_map.display_y/256*32)-Rasten::Y_Angleich
    Audio.me_play(Rasten::Rastsound, 100, 100)
    if check_day_and_night then
      if $day then
        doNight
      elsif $dusk then
        fromDusk
      elsif $night then
        doDay
      elsif $dawn then
        fromDawn
      end
    else
    doNight
    end
  end
 
  def animation_ausblenden
    if check_day_and_night then
      if $day then
        doDay
      elsif $dusk then
        from Dawn
      elsif $night then
        doNight
      elsif $dawn then
        fromDusk
      end
    else
    doNight
    end
    @zelt.dispose
  end
 
  def doNight
      $game_map.screen.start_tone_change(Rasten::Nighttone,Rasten::Rastlänge/3.0*60)
      erneuern(Rasten::Rastlänge/3.0*60)
    end
   
    def doDay
      $game_map.screen.start_tone_change(Rasten::Daytone, Rasten::Rastlänge/3.0*60)
      erneuern(Rasten::Rastlänge/3.0*60)
    end
   
    def fromDawn
      $game_map.screen.start_tone_change(Rasten::Daytone, Rasten::Rastlänge/6.0*60)
      erneuern(Rasten::Rastlänge/6.0*60)
      $game_map.screen.start_tone_change(Rasten::Dusktone, Rasten::Rastlänge/6.0*60)
      erneuern(Rasten::Rastlänge/6.0*60)
    end
   
    def fromDusk
      $game_map.screen.start_tone_change(Rasten::Nighttone, Rasten::Rastlänge/6.0*60)
      erneuern(Rasten::Rastlänge/6.0*60)
      $game_map.screen.start_tone_change(Rasten::Dawntone, Rasten::Rastlänge/6.0*60)
      erneuern(Rasten::Rastlänge/6.0*60)
    end
   
end

Vielleicht hilft es ja auch wenn es nur eine Veränderrung war. :D

MfG
Deity



Re: Rast Script

Offline Geoflare

  • Mojo Jojo
  • RTP-Mapper
  • *
  • Beiträge: 24
Re: Rast Script
« Antwort #6 am: Juni 24, 2009, 13:56:27 »
gebiet = $game_map.name.gsub(/\[\w*\]/) {""}

was ist hier falsch?
weil es kommt immer der fehler:
unfined method 'name' for #<Game_Map:0x3239790

Geoflare



 


 Bild des Monats

rooftop party

Views: 3582
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal