Events unter Spieler
Hallo,
ich hab in meinem Game ein Schalter gemacht, denn man mit enter aktivieren kann. Nun soll ein Switch angehen, und 2 neue Events auf dem Wasser aktiviert werden, auf denen man laufen kann. Nun hab ich das Problem, das man beim XP nicht einstellen kann, ob das Event dadrüber, drunter ist.
Gibt es da vielleicht eine Lösung.
mfg. eugene
ich hab in meinem Game ein Schalter gemacht, denn man mit enter aktivieren kann. Nun soll ein Switch angehen, und 2 neue Events auf dem Wasser aktiviert werden, auf denen man laufen kann. Nun hab ich das Problem, das man beim XP nicht einstellen kann, ob das Event dadrüber, drunter ist.
Gibt es da vielleicht eine Lösung.
mfg. eugene
Normalerweise kann man das für jedes Event einstellen, und zwar mit "Always on Top". Da ist das Event dann über allem darüber. Für dein Problem mit dem Weg auf dem Wasser, würde ich aber eher empfehlen den Weg schon reinzumappen, und danach Events drüberzulegen, die den Weg blockieren. Die Events werden dann durch ausschalten der Switch auch deaktiviert und der Weg ist frei. Ich hab dir mal ne Demo angehängt, wie ich das meine.
Project2.zip
Project2.zip
Also du willst dass die events rein Optisch flach bleiben und unter dem spieler angezeigt werden, egal wo dieser sich befindet.
da kann ich dir nur Monstas einzigartiges unglaubliches Flat-Events Script empfehlen, damit lassen sich die events in der Z achse nach unten verschieben, alles was du machen musst ist das script einfügen und bei dem event das unter dem player sein soll als namen "Flach" eingeben.
da kann ich dir nur Monstas einzigartiges unglaubliches Flat-Events Script empfehlen, damit lassen sich die events in der Z achse nach unten verschieben, alles was du machen musst ist das script einfügen und bei dem event das unter dem player sein soll als namen "Flach" eingeben.
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
#========Flat-Events Script=======#
#===========by Monsta==========#
#=====Version 1.2=== 25.1.2007 ===#
#=======www.Monsta.aw3.de======#
# Benutzung:
# 1. Dieses Skript über Main einfügen
# 2. Sich einen oder mehrere Namen für die untersten Events aussuchen
# 3. Diesen Namen hier bei "FLAT_EVENTS" eintragen (Array)
# 4. Events im Spiel mit diesem Namen benennen
# 5. Sich freuen und mich in die Credits schreiben ;-)
# Anmerkung:
# Man kann diese Einstellung auch noch während des Spiels ändern.
# Einfach in ein Eventskript folgenden Code eingeben:
# $game_map.make_flat(*id*,*true / false*)
# Das "*id*" muss durch die ID des Events ersetzt werden.
# Für die Angabe der ID gibt es mehrere Möglichkeiten:
# 1. Nummer : Eine Einzelne ID die abgearbeitet wird. z.B.
# $game_map.make_flat(5)
# 2. Array: Alle ID's im Array werden abgearbeitet. z.B.
# $game_map.make_flat([1,3,5])
# 3. Range: Alle ID's im Rangebereich werden abgearbeitet. z.B.
# $game_map.make_flat(3..7)
# 4. String: Mit dem String "all" werden alle Events abgearbeitet. z.B.
# $game_map.make_flat("all")
# Der 2. Parameter gibt an, ob das Event Flach werden soll, oder ob
# es wieder in den normalzustand gemacht werden soll.
# Wenn der 2. Parameter wie in den obigen Beispielen nicht angegeben wird,
# wird er automatisch auf "true" gesetzt. Wenn man also die "Flache"
# Eigenschaft von einem Event entfernen will, muss der Aufruf einen
# 2. Parameter haben. z.B.
# $game_map.make_flat(5,false)
# Außerdem kann man den Events noch eigene Z Werte zuweisen. z.B.
# $game_map.make_z(*id*,*Z Wert*)
# Die ID Werte können genau wie die ID Werte bei der Flat Methode verwendet
# werden. z.B.
# $game_map.make_z(2..4,9999)
# Möchte man, dass das Event aber wieder eine normale Z Berechnung bekommt,
# muss man es so aufrufen:
# $game_map.make_z(2..4,nil)
class Game_Map
attr_reader :map
FLAT_EVENTS = ["Speicherpunkt", "Flach"]
alias original_setup setup
def setup(map_id)
original_setup(map_id)
$game_map.events.values.each {|ev|$game_map.events[ev.id].flat =
FLAT_EVENTS.include?($game_map.map.events[ev.id].name)}
end
def make_flat(id,flat=true)
if id.is_a?(Numeric)
$game_map.events[id].flat = flat
elsif id.is_a?(Array) or id.is_a?(Range)
id.each {|i| $game_map.events[i].flat = flat}
elsif id.is_a?(String) and id.downcase == "all"
$game_map.events.values.each {|i|$game_map.events[i.id].flat = flat}
end
end
def make_z(id,z)
if id.is_a?(Numeric)
$game_map.events[id].own_z = z
elsif id.is_a?(Array) or id.is_a?(Range)
id.each {|i| $game_map.events[i].own_z = z}
elsif id.is_a?(String) and id.downcase == "all"
$game_map.events.values.each {|i|$game_map.events[i.id].own_z = z}
end
end
end
class Game_Character
attr_accessor :flat
attr_accessor :own_z
alias flat_original_screen_z screen_z
def screen_z(height = 0)
return @own_z if @own_z != nil
return 0 if @flat
flat_original_screen_z(height)
end
end |
zum Lesen den Text mit der Maus markieren
Danke an beide...
@Dark Thunder
Also, ich hab schon verstanden was du meinst. Ich makere schon läger... aber seit 1 Jahr mit dem VX, und da kann man auswählen, dass das Event unter dem Chara ist. Ich dachte, dass es beim XP auch möglich ist, aber hab ich mich wohl getäuscht. Naja trozdem Danke, vielleicht eignet sich deine Lösung, wenn das Skript nicht funzt, wegen den anderen Skripts.
@fette Neunzehn
Danke, ich werd es ausprobieren...
@Dark Thunder
Also, ich hab schon verstanden was du meinst. Ich makere schon läger... aber seit 1 Jahr mit dem VX, und da kann man auswählen, dass das Event unter dem Chara ist. Ich dachte, dass es beim XP auch möglich ist, aber hab ich mich wohl getäuscht. Naja trozdem Danke, vielleicht eignet sich deine Lösung, wenn das Skript nicht funzt, wegen den anderen Skripts.
@fette Neunzehn
Danke, ich werd es ausprobieren...






