PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Skript oder Tipp um Nebel im Kampf sichtbar zu machen



Satyre
20.05.2008, 23:14
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

T-Free
28.05.2008, 14:46
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.

Satyre
28.05.2008, 22:46
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

The_Burrito
29.05.2008, 08:50
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.

Satyre
29.05.2008, 10:27
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::Cache.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::Cache.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

Cherry
29.05.2008, 15:12
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".

Satyre
29.05.2008, 15:27
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.