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
#--------------------------------------------------------------------------------------------------------------------------------
#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 (http://download.lima-city.de/dauerzocer/Zelt.bmp)
Habe alles mal in eine Codebox gepackt.^^
~Kyoshiro
#--------------------------------------------------------------------------------------------------------------------------------
#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