-
Neuling
Suche Skript oder Tipp um Nebel im Kampf sichtbar zu machen
Hi, wie das Thema schon verrät suche ich eine Möglichkeit, den Standard-Nebel auf der Map, im Kampf zu sehen. Leider hab ich noch nichts dazu gefunden. Wär super wenn sich etwas ergeben könnte.
Gruß Satyre
-
Veteran
Also, wenn du im Standart-Kampfsystem "bewegenden" Nebel anzeigen lassen willst, dann kannst du das nicht, denn das ist so einfach nicht möglich.
Du könntest noch nicht mal stehenden Nebel anzeigen lassen, denn wenn du Nebel im Backround reibaust, dann sieht's auch wieder schlecht aus, da ja auch Nebel VOR den Charakteren zu sehen sein soll.
Am Besten fragst du einfach mal Cherry1, ob er dir mal dabei helfen kann, denn er kann ja einiges im Maker umscripten bzw. neu einbauen,
oder du nutzt die andere Möglichkeit und machst ein eigenes Kampfsystem; daran scheitern aber viele Anfänger...
EDIT:
Oh, Entschuldigung...
Ich habe mich mit den verschiedenen Foren vertan und gedacht, ich wäre im 2k / 2k3 Forum.XD
Kommt nicht wieder vor. Beim XP ist es natürlich möglich.
Geändert von T-Free (29.05.2008 um 15:35 Uhr)
-
Neuling
Erstmal danke für den Tipp.
Ich hab mir schon etwas die Standard Scripte angesehen und finde irgendwie keinen Anhaltspunkt warum bestimmte Eigenschaften unterdrückt oder ausgeblendet werden. Was ganz gut funktioniert, ist das Wetter und der Bildschirmton. Jetzt müsste man eigentlich nur die Befehle oder Stellen im Wetterbereich ansehen, wie das da gemacht wurde, aber wie du schon geahnt hast bin ich leider noch anfänger und hab da noch keine wirkliche Idee, wie ich dann den Befehl des Wetters (wenn er denn vorhanden ist) auf den Nebel übertrage.
Ich frag mal Cherry1, vielleicht kann er mir ja helfen.
Übrigens denke ich das es sich echt lohnen wird das Problem zu knacken, denn dann würden alle Kampfsysteme etwas mehr Atmosphäre bekommen.
Gruß Satyre
Geändert von Satyre (28.05.2008 um 23:01 Uhr)
-
General
Was T-Free sagt stimmt so überhaupt nicht. Da du im RPG Maker XP das Standard Kampfsystem ganz einfach umskripten kannst, ist es nicht so tragisch den Nebel einzubauen wie er es darstellt. Prinzipiell musst du einfach nur nachsehen, wie der Neben implementiert wurde. Schau dazu einfach mal bei Spriteset_Map nach, und sieh dir an wie du das ins Spriteset_Battle übertragen kannst.
-
Neuling
Danke, hat super geklappt
, jetzt nur noch den Nebel so einstellen können das er sich bewegt.
Hier ist das veränderte Script, mit unbewegtem Nebel.
# ■ Spriteset_Battle
class Spriteset_Battle
attr_reader :viewport1
attr_reader :viewport2
def initialize
@viewport1 = Viewport.new(0, 0, 640, 320)
@viewport2 = Viewport.new(0, 0, 640, 480)
@viewport3 = Viewport.new(0, 0, 640, 480)
@viewport4 = Viewport.new(0, 0, 640, 480)
@viewport2.z = 101
@viewport3.z = 200
@viewport4.z = 5000
@battleback_sprite = Sprite.new(@viewport1)
@enemy_sprites = []
for enemy in $game_troop.enemies.reverse
@enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
# Fog
@fog = Plane.new(@viewport2)
@fog.z = 3000
end
@actor_sprites = []
@actor_sprites.push(Sprite_Battler.new(@viewport2))
@actor_sprites.push(Sprite_Battler.new(@viewport2))
@actor_sprites.push(Sprite_Battler.new(@viewport2))
@actor_sprites.push(Sprite_Battler.new(@viewport2))
@weather = RPG::Weather.new(@viewport1)
@picture_sprites = []
for i in 51..100
@picture_sprites.push(Sprite_Picture.new(@viewport3,
$game_screen.pictures[i]))
end
@timer_sprite = Sprite_Timer.new
update
end
def dispose
if @battleback_sprite.bitmap != nil
@battleback_sprite.bitmap.dispose
end
@battleback_sprite.dispose
for sprite in @enemy_sprites + @actor_sprites
sprite.dispose
end
@weather.dispose
for sprite in @picture_sprites
sprite.dispose
end
@timer_sprite.dispose
@viewport1.dispose
@viewport2.dispose
@viewport3.dispose
@viewport4.dispose
end
def effect?
for sprite in @enemy_sprites + @actor_sprites
return true if sprite.effect?
end
return false
end
def update
@actor_sprites[0].battler = $game_party.actors[0]
@actor_sprites[1].battler = $game_party.actors[1]
@actor_sprites[2].battler = $game_party.actors[2]
@actor_sprites[3].battler = $game_party.actors[3]
if @battleback_name != $game_temp.battleback_name
@battleback_name = $game_temp.battleback_name
if @battleback_sprite.bitmap != nil
@battleback_sprite.bitmap.dispose
end
@battleback_sprite.bitmap = RPG:
ache.battleback(@battleback_name)
@battleback_sprite.src_rect.set(0, 0, 640, 320)
end
if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
@fog_name = $game_map.fog_name
@fog_hue = $game_map.fog_hue
if @fog.bitmap != nil
@fog.bitmap.dispose
@fog.bitmap = nil
end
if @fog_name != ""
@fog.bitmap = RPG:
ache.fog(@fog_name, @fog_hue)
end
Graphics.frame_reset
end
@fog.zoom_x = $game_map.fog_zoom / 100.0
@fog.zoom_y = $game_map.fog_zoom / 100.0
@fog.opacity = $game_map.fog_opacity
@fog.blend_type = $game_map.fog_blend_type
@fog.tone = $game_map.fog_tone
for sprite in @enemy_sprites + @actor_sprites
sprite.update
end
@weather.type = $game_screen.weather_type
@weather.max = $game_screen.weather_max
@weather.update
for sprite in @picture_sprites
sprite.update
end
@timer_sprite.update
@viewport1.tone = $game_screen.tone
@viewport1.ox = $game_screen.shake
@viewport4.color = $game_screen.flash_color
@viewport1.update
@viewport2.update
@viewport4.update
end
end
Geändert von Satyre (31.05.2008 um 15:16 Uhr)
-
Drachentöter
Dann stell eben den Z-Wert des Nebels höher. In der Zeile "@fog.z = 3000".
Beim XP kann btw nicht nur ich, sondern jeder recht leicht Dinge "umskripten bzw ändern".
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!
-
Neuling
Habe oben das Script (für den Standard-Kampf) wieder verändert, so dass keine Fehler mehr entstehen. Das Ergebnis sieht so aus: http://img230.imageshack.us/img230/4015/testim0.png
Würde gern noch die Bewegung hinbekommen, und den selben Effekt auf Wetter übertragen. Beim Wetter ist kein Viewport angegeben und weiß noch nicht wie ich den z-Wert da verändere.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln