RPGVX.net
RPG-Maker VX => VX Skripte [Fertiger Code] => Thema gestartet von: ERZENGEL am Dezember 17, 2007, 13:50:35
-
EDIT: So hab jetzt ein Skript gefunden, dass das ermöglicht. siehe Screen Resolution 0.3 (http://www.rpgrevolution.com/forums/index.php?showtopic=7933)
-
Kann so nicht stimmen :/
In der Hilfedatei steht, es wäre bis zu 640x480 möglich.
PS: Wenn man eine Klasse finden würde die das festlegt kann man sie vielleicht noch austricksen und die Auflösung noch weiter hochschrauben.
-
Den schwarzen Rand kriegt man aber wohl nicht weg? Ich habe mir unter der Funktion jetzt eigentlich was Andres vorgestellt. =l
-
Es gibt ja ein Skript für den RPGXP bzw. RGSS1. Vlt funktioniert des bei der VX-Vollversion. Aber da müssen wir noch ein bisschen warten. Ich poste hier auf jeden eine Lösung für den schwarzen Rand.
EDIT: So hab ein Skript gepostet. Hab auch wie angegeben zum Originalthread gelinkt. Also viel Spaß mit dem Skript!
-
Ich habe den Map-Loop gefixt der auftrat und nicht gewollt war, die Karten werden nun richtig dargestellt ohne das die Tiles wiederholt werden rechts und unten:
Credits: ccoa
- Map-Loop Fix : Daray
WIDTH = 640
HEIGHT = 480
DELTA_WIDTH = (WIDTH - 544).abs
DELTA_HEIGHT = (HEIGHT - 416).abs
class Game_Map
def setup_scroll
@scroll_direction = 2
@scroll_rest = 2
@scroll_speed = 4
@margin_x = (width - 20) * 256 / 2
@margin_y = (height - 15) * 256 / 2
end
def scroll_down(distance)
if loop_vertical?
@display_y += distance
@display_y %= @map.height * 256
@parallax_y += distance
else
last_y = @display_y
@display_y = [@display_y + distance, (height - 15) * 256].min
@parallax_y += @display_y - last_y
end
end
def scroll_right(distance)
if loop_horizontal?
@display_x += distance
@display_x %= @map.width * 256
@parallax_x += distance
else
last_x = @display_x
@display_x = [@display_x + distance, (width - 20) * 256].min
@parallax_x += @display_x - last_x
end
end
def calc_parallax_x(bitmap)
if bitmap == nil
return 0
elsif @parallax_loop_x
return @parallax_x / 16
elsif loop_horizontal?
return 0
else
w1 = bitmap.width - WIDTH
w2 = @map.width * 32 - WIDTH
if w1 <= 0 or w2 <= 0
return 0
else
return @parallax_x * w1 / w2 / 8
end
end
end
end
class Spriteset_Map
def create_viewports
@viewport1 = Viewport.new(0, 0, WIDTH, HEIGHT)
@viewport2 = Viewport.new(0, 0, WIDTH, HEIGHT)
@viewport3 = Viewport.new(0, 0, WIDTH, HEIGHT)
@viewport2.z = 50
@viewport3.z = 100
end
end
class Spriteset_Battle
def create_viewports
@viewport1 = Viewport.new(0, 0, WIDTH, HEIGHT)
@viewport2 = Viewport.new(0, 0, WIDTH, HEIGHT)
@viewport3 = Viewport.new(0, 0, WIDTH, HEIGHT)
@viewport2.z = 50
@viewport3.z = 100
end
end
class Game_Player < Game_Character
CENTER_X = (WIDTH / 2 - 16) * 8 # ????? X ?? * 8
CENTER_Y = (HEIGHT / 2 - 16) * 8
end
class Sprite_Timer < Sprite
def initialize(viewport)
super(viewport)
self.bitmap = Bitmap.new(88, 48)
self.bitmap.font.name = "Arial"
self.bitmap.font.size = 32
self.x = WIDTH - self.bitmap.width
self.y = 0
self.z = 200
update
end
end
class Sprite_Base < Sprite
def start_animation(animation, mirror = false)
dispose_animation
@animation = animation
return if @animation == nil
@animation_mirror = mirror
@animation_duration = @animation.frame_max * 4 + 1
load_animation_bitmap
@animation_sprites = []
if @animation.position != 3 or not @@animations.include?(animation)
if @use_sprite
for i in 0..15
sprite = ::Sprite.new(viewport)
sprite.visible = false
@animation_sprites.push(sprite)
end
unless @@animations.include?(animation)
@@animations.push(animation)
end
end
end
if @animation.position == 3
if viewport == nil
@animation_ox = WIDTH / 2
@animation_oy = HEIGHT / 2
else
@animation_ox = viewport.rect.width / 2
@animation_oy = viewport.rect.height / 2
end
else
@animation_ox = x - ox + width / 2
@animation_oy = y - oy + height / 2
if @animation.position == 0
@animation_oy -= height / 2
elsif @animation.position == 2
@animation_oy += height / 2
end
end
end
end
class Window_Base < Window
def x=(x)
super(x + DELTA_WIDTH / 2)
end
def y=(y)
super(y + DELTA_HEIGHT/ 2)
end
end
class Scene_Battle < Scene_Base
def create_info_viewport
@info_viewport = Viewport.new(0, 288, WIDTH, HEIGHT)
@info_viewport.z = 100
@status_window = Window_BattleStatus.new
@party_command_window = Window_PartyCommand.new
@actor_command_window = Window_ActorCommand.new
@status_window.viewport = @info_viewport
@party_command_window.viewport = @info_viewport
@actor_command_window.viewport = @info_viewport
@status_window.x = 128
@actor_command_window.x = 544
@info_viewport.visible = false
end
end
class Scene_Item < Scene_Base
def start
super
create_menu_background
@viewport = Viewport.new(0, 0, WIDTH, HEIGHT)
@help_window = Window_Help.new
@help_window.viewport = @viewport
@item_window = Window_Item.new(0, 56, 544, 360)
@item_window.help_window = @help_window
@item_window.active = false
@target_window = Window_MenuStatus.new(0, 0)
hide_target_window
end
def show_target_window(right)
@item_window.active = false
width_remain = WIDTH - @target_window.width
@target_window.x = right ? width_remain : 0
@target_window.visible = true
@target_window.active = true
if right
@viewport.rect.set(0, 0, width_remain, HEIGHT)
@viewport.ox = 0
else
@viewport.rect.set(@target_window.width, 0, width_remain, HEIGHT)
@viewport.ox = @target_window.width
end
end
def hide_target_window
@item_window.active = true
@target_window.visible = false
@target_window.active = false
@viewport.rect.set(0, 0, WIDTH, HEIGHT)
@viewport.ox = 0
end
end
class Scene_Skill < Scene_Base
def start
super
create_menu_background
@actor = $game_party.members[@actor_index]
@viewport = Viewport.new(0, 0, WIDTH, HEIGHT)
@help_window = Window_Help.new
@help_window.viewport = @viewport
@status_window = Window_SkillStatus.new(0, 56, @actor)
@status_window.viewport = @viewport
@skill_window = Window_Skill.new(0, 112, 544, 304, @actor)
@skill_window.viewport = @viewport
@skill_window.help_window = @help_window
@target_window = Window_MenuStatus.new(0, 0)
hide_target_window
end
def show_target_window(right)
@skill_window.active = false
width_remain = WIDTH - @target_window.width
@target_window.x = right ? width_remain : 0
@target_window.visible = true
@target_window.active = true
if right
@viewport.rect.set(0, 0, width_remain, HEIGHT)
@viewport.ox = 0
else
@viewport.rect.set(@target_window.width, 0, width_remain, HEIGHT)
@viewport.ox = @target_window.width
end
end
def hide_target_window
@skill_window.active = true
@target_window.visible = false
@target_window.active = false
@viewport.rect.set(0, 0, WIDTH, HEIGHT)
@viewport.ox = 0
end
end
-
Was für einen Rand soll das wegmachen????
Wenn wir schon dabei sind...
Was für einen Schwarzen Rand reden hier alle immer o_O ich bin Blind
*keine ahnung von nix ma wieder hat*
-
wenn du das script benutzt gabs zb fehler bei karten 20x15, selbst ohne map loop hast du rechts und unten nen loop gehabt , das meint er wohl
und mit dem rand , spiel ein spiel im vollbild dann hast du immer nen schwarzen rand um dein spiel , damit isses weg
btw ccoa wollte glaubig kein redistribute vom script oder o_O oder fällt das jetz nich darein weils ein edit is?
-
Jap richtig, der Tile-Loop ist bei 640x480 jetzt weg, ccoa hat bis zum fix in RPG revolution geclosed ich hab das nun selber gemacht. Wenn nicht nehm ich das script wieder raus.^^
-
keine ahnung halt^^
aber mir is noch ein fehler aufgefallen
erstell mal ne 20x15 karte und postier den spieler ziemlich weit rechts, dann sieht man den map loop immernoch , er verschwindet erst sobald man sich bewegt
-
Hm, ich hab das nur auf zwei Karten getestet mit zufälligem Teleport und da war alles okay, also wenn ich rumlaufe kein Loop. Wenn du sagst ganz rechts is noch, hm dann wohl erstmal vermeiden den Char an einer Grenze telepotieren zu lassen, sondern etwas Abstand lassen. S ist aber der nervige Loop mal weg der immer da war wenn man gelaufen ist. Ich bin leider kein Super-Scripter.
Edit: Experimentier mal hier mit einer Zahl, auf 0 ist das was du beschreibst auf großen Karten nämlich auch, auf 1 lagt das etwas auf 2 war es okay und 3 habe ich nichts gemerkt:
@scroll_rest = 2
-
Hi, auch mal wieder da.
Hab das ganze mal ausprobiert, bei mir gibt es nun folgendes Problem:
Ich habe zum mappen praktisch Parallax-Mapping verwendet. Dafür habe ich einfach nen Script geschrieben, was das Selbe wie ein Parallax macht. Somit kann ich halt auch die Parallaxes verwenden, wenn es benötigt wird. Nun habe ich das Script für die Auflösung eingebaut und sobald ich nach unten oder rechts gehe, ist die "Backmap" an den Charakter wie festgetackert, was natürlich bewirkt, dass sich alles komisch verschiebt. xD
Ich bin noch am Lösen des Problems, sollte aber jemand ne Idee haben, wie mans ändern könnte, wärs super wenn mir wer helfen könnte.
MFG Yatzumo
PS: Jo, ich weiß dass das hier nen alter Thread ist, aber wozu nen Neuen öffnen, wenn ich genau hiermit nen Prob hab? x3
EDIT:
Done, musste bei meiner Backmap noch was ändern. ^^