RPG-Maker Quartier

Hier dreht sich alles um die RPG-Maker-Reihe von ASCII/Enterbrain. Der RPG-Maker ist ein Tool, mit dem du dir dein eigenes kleines Rollenspiel erstellen kannst. Du findest hier alles, was du dazu brauchst. Aber natürlich umfasst die Community noch mehr!
Aktuelle Zeit: Mo Mär 02, 2020 23:01

Alle Zeiten sind UTC + 1 Stunde



Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast



Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
Offline
Attention-whore
Attention-whore
Benutzeravatar
Beiträge: 1925
Alter: 29
 Betreff des Beitrags: [VX Ace-Skript] Mapnamen anzeigen
BeitragVerfasst: Do Mär 26, 2015 17:57 
So, nach einer kleinen Pause bin ich auch mal wieder zurück und werde auch gleich mal mein erstes Ruby-Skript präsentieren^^
Für den nicht unwahrscheinlichen Fall, dass ihr eine Menge Spaghetti findet, nehme ich gerne Verbesserungsvorschläge entgegen.

Zur Idee und Funktion:
Ich wollte ein nicht ganz unaufwendiges Map-Display-Program schreiben, welches etwas mehr bietet als eigentlich alles, was ich im Internet gefunden habe und das heißt vorallem, dass es sehr stark individualisiert werden kann.

Zu den grundlegenden Funktionen gehört natürlich erstmal, dass der Kartenname in einem Fenster angezeigt wird. dieses wird aber nicht einfach nur eingeblendet, sondern fährt in den Bildschirm rein, klappt sich aus und haut dann wieder ab, nachdem es seinen Job getan hat. Hier gibt es viele Individualisierungsmöglichkeiten wie Farbe, Transparenz, Schriftart, -farbe und -form usw. Jetzt kann es aber ja mal vorkommen, dass diese Dinge im Spiel selbst geändert werden sollen und da wäre es natürlich denkbar schlecht zu erwarten, dass der Scripter mehrere dieser Scripte aufruft^^ Entsprechend hab ich die Möglichkeit eingebaut, die Werte auch per Ingame-Switches und -Variablen zu steuern. Aber auch hier wäre es natürlich doof, wenn man vom Scripter auch noch erwartet, einige davon zu opfern für Dinge, die er nicht braucht. Also habe ich dem Nutzer die Möglichkeit gegeben, beide Möglichkeiten zu nutzen und sogar zu mischen und nur so viele Variablen wie nötig zu verbrauchen.

Zu den Individualisirungsmöglichkeiten gehören:
- Position des Fensters
- Geschwindigkeiten der Fensterbewegung und Anzeigedauer des Textes
- Schrifteffekt, -farbe, -transparenz und -größe sowie Auswahl des Fonts
- Möglichkeiten, Maps durch individuell einstellbare Zeichenketten im Namen nicht anzuzeigen
- Anpassung an eine vom Standard abweichende Auflösung
- Möglichkeit, das Fenster sowohl bei einem Mapwechsel als auch manuell über einen selbst wählbaren Switch auszulösen
(Weitere Wünsche können gerne geäußert werden^^)

So, nun aber komme ich zum Skript.
Dieses enthält detaillierte Anleitungen für die Einstellungen, enthält hoffentlich eine vollständige Kommentierung und darf auch gerne in Projekten genutzt und auch umgeschrieben werden.

################################################################################
################################################################################
##### #####
### Map Name Display v1.1 ###
### Autor: MayaChan / Miu ###
##### #####
################################################################################
################################################################################


### ------------------------------------------------------------------------ ###
### ------------------------------------------------------------------------ ###
### ------------------------------ Funktionen ------------------------------ ###
### ------------------------------------------------------------------------ ###
### ------------------------------------------------------------------------ ###
### Dieses Script zeigt den Mapnamen der aktuellen Map an. ###
### Die Textbox wird hierbei nicht nur per Fade-In eingeblendet, sondern ###
### fährt in den Bildschirm hinein, klappt sich entsprechend der Namensgröße ###
### aus und verschwindet anschließend wieder. ###
### Hierbei kann jeder Wert von der Transparenz einzelner Elemente über ###
### Schriftart und -farbe bis hin zur Position des Fensters einzeln ###
### eingestellt und auch teilweise während des laufenden Spiels über ###
### optionale Variablenzugriffe verändert werden. ###
### ------------------------------------------------------------------------ ###


### ------------------------------------------------------------------------ ###
### ------------------------------------------------------------------------ ###
### -------------------- Installation / Deinstallation --------------------- ###
### ------------------------------------------------------------------------ ###
### ------------------------------------------------------------------------ ###
### Dieses Script kann einfach direkt über dem Main Process eingefügt werden ###
### Damit das Programm startet müsst ihr allerdings noch eine Zeile ###
### wie folgt einfügen: ###
### 1. Geht in das Script "Scene_Map" ###
### 2. Sucht dort nach der Funktion "def create_message_window" ###
### 3. Fügt hier nun "@map_name_display = Map_Name_Display.new" ein ###
### Das Program führt das Script nun entsprechend der Einstellungen aus, ###
### die ihr im nächsten Teil eingeben könnt. ###
### ###
### Zum Deinstallieren müsst ihr lediglich die oben eingefügte Zeile wieder ###
### entfernen und könnt das Script je nach Bedarf auch weiterhin im ###
### Script-Editor belassen. ###
### Solltet ihr das Script selbst löschen, so ist es zwingend erforderlich, ###
### auch die oben eingefügte Zeile zu entfernen um einen Fehler zu vermeiden ###
### ------------------------------------------------------------------------ ###


### ------------------------------------------------------------------------ ###
### ------------------------------------------------------------------------ ###
### ----------------------------- Einstellungen ---------------------------- ###
### ------------------------------------------------------------------------ ###
### ------------------------------------------------------------------------ ###

module Map_Name_Display_Settings

# Fonts
FONT_NAME_1 = ["Times New Roman", "Arial"]
FONT_NAME_2 = ["Arial"]
FONT_NAME_3 = ["Webdings", "Arial"]
FONT_NAME_4 = ["Comic Sans MS", "Arial"]
FONT_NAME_VARIABLE = 5
# Der angegebene Font kann über die angegebene Variable im Spiel
# geändert werden. Bei 0 oder falscher Angabe wird automatisch
# FONT_NAME_1 ausgewählt

# Schriftgröße
FONT_SIZE = 24 # Höhe der Schrift (Standard: 24)

# Schriftfarben
COLOR_RED = 255
COLOR_GREEN = 255
COLOR_BLUE = 255
# Die Farbwerte können über Variablen gesteuert werden.
# Bei 0 werden die oben genannten Variablen genutzt, ansonsten
# die ersten 3 Variablenwerte beginnend bei der unten angegebenen
# Variable (wird z.B 7 eingegeben, so entspricht Variable 0007 rot,
# Variable 0008 grün und Variable 0009 blau)
COLOR_VARIABLE = 1

# Transparenzen
WINDOW_OPACITY = 255 # Transparenz des Fensters
WINDOW_FRAME_OPACITY = false # Stellt ein, ob WINDOW_OPACITY auch den Rahmen
# betrifft
NAME_OPACITY = 255 # Transparenz der Schrift bei voller Sichtbarkeit

# Schrifteffekte
FONT_ITALIC = false # Kursiv?
FONT_BOLD = false # Fett?
FONT_OUTLINE = false # Umrandung?
FONT_SHADOW = false # Schatten?
# Schrifteffekte können auch über den unten angegebenen Switches
# gesteuert werden. Bei 0 werden die oben genannten Einstellungen
# angewandt
ITALIC_SWITCH = 1
BOLD_SWITCH = 2
OUTLINE_SWITCH = 3
SHADOW_SWITCH = 4

TEXT_BEGIN_SIGN = "~ " # Fügt einen Text, vor bzw. jedem dem Namen ein
TEXT_END_SIGN = " ~"

# Fenstereinstellungen
WINDOW_INITIAL_SIZE = 30 # Größe des Fensters beim Ausklappen
# (Standard/Minimum: 30)
WINDOW_VERTICAL_SPACE = 0 # Vergrößert den vertikalen Abstand des
# Kartennamens zum Rahmen
WINDOW_HORIZONTAL_SPACE = 0 # Vergrößert den horizontalen Abstand des
# Kartennamens zum Rahmen


# Anzeigezeiten
# Standard/Empfehlung: 5, 30, 10, 20, 100
WINDOW_DROP_TIME = 5 # Geschwindigkeit, mit der das Fenster erscheint
WINDOW_DROP_DELAY = 30 # Länge der Zeit, nach der das Fenster angezeigt wird,
# sobald das Script ausgelöst wird
WINDOW_EXPAND_TIME = 10 # Geschwindigkeit, mit der das Fenster ausklappt
NAME_FADE_TIME = 20 # Geschwindigkeit, mit der der Inhalt eingeblendet wird
NAME_SHOW_TIME = 100 # Länge der Anzeige des Inhalts



# Steuervariablen
WINDOW_POSITION = 1 # Bestimmt die Ecke, an dem der Kartenname angezeigt wird
# 1 = Oben Links, 2 = Oben Rechts
# 3 = Unten Links, 4 = Unten Rechts
WINDOW_POSITION_VARIABLE = 4
# Fensterposition kann über eine bestimmte Variable gesteuert werden.
# Hierbei gilt die gleiche Einteilung wie bei Wind_Position
# (Falsche Werte zeigen das Fenster automatisch oben links an)
# Wird hier 0 angegeben, so wird direkt die Zahl aus WINDOW_POSITION
# genutzt.


VISIBILITY_SWITCH = 5 # Anhand dieses Switches wird festgelegt, ob der
# Map Name angezeigt wird oder nicht (Kann beliebig
# geändert werden)
FORCE_VISIBILITY = 6 # Wird dieser Switch eingeschaltet, so wird die
# Anzeige des Map Names auch ohne Mapwechsel forciert
# Hierbei wird VISIBILITY_SWITCH ignoriert
# Hinweis: Script schaltet den Switch selbst aus

NO_DISPLAY_BEGIN_SIGN = "0" # Befindet sich diese Zeichenkette am Anfang des
# Kartennamens,so wird der Name nicht angezeigt
NO_DISPLAY_END_SIGN = "0" # Wie vorher, nur diesmal wird am ende des
# Kartennamens geschaut
ENABLE_BEGIN_SIGN = false # Bestimmt, ob NO_DISPLAY_BEGIN_SIGN auslöst oder nicht
ENABLE_END_SIGN = false # gleiches für NO_DISPLAY_END_SIGN

# Auflösung
RESOLUTION_X = 544 # VX-Ace-Standard: 544
RESOLUTION_Y = 416 # VX-Ace-Standard: 416
# Falls die Auflösung geändert wurde sollte das hier vermerkt werden,
# damit die Fenster richtig angezeigt werden
end


### ------------------------------------------------------------------------ ###
### ------------------------------------------------------------------------ ###
### -------------------------------- Script -------------------------------- ###
### --------- Ab hier nur noch etwas ändern, wenn man Ahnung hat ;) -------- ###
### ------------------------------------------------------------------------ ###
### ------------------------------------------------------------------------ ###
### + Scriptaufbau / Inhaltsverzeichnis ###
### initialize ###
### set_font_settings ###
### get_map_id ###
### set_window_position ###
### window_show ###
### window_expand ###
### print_map_name ###
### display_map_name ###
### hide_map_name ###
### window_shrink ###
### window_hide ###
### reset_window_position ###
### update ###
### refresh ###
### ------------------------------------------------------------------------ ###
### + Programablauf ###
### Zunächst wird durch inizialize alles eingestellt, was später gebraucht ###
### wird. Anschließend wird mit der update-Funktion regelmäßig kontrolliert, ###
### ob entweder die Map gewechselt wurde oder ob ein Aufruf manuel forciert ###
### wird. Ist das der Fall, so wird die refresh-Funktion aufgerufen, die ###
### die Werte für die nächste Anzeige initialisiert. In der update-Funktion ###
### werden anschließend die Funktionen von set_window_position bis ###
### reset_window_position nacheinander abgegeben. Jeder dieser Funktionen ###
### ist einem Wert der Variable @step und setzt diese selbstständig weiter, ###
### sobald ihre Funktion erledigt ist. Während des Durchlaufs überprüft die ###
### update-Funktion weiterhin, ob inzwischen die Map gewechselt oder ein ###
### weiterer Aufruf forciert wurde und sorgt für einen schnellen ###
### ordnungsgemäßen Abbruch um den nächsten Namen anzuzeigen. Sobald ###
### reset_window_position seine Arbeit getan hat wird wieder regelmäßig in ###
### update gebrüft, ob eine Anzeige des Namens nötig ist. ###
### ------------------------------------------------------------------------ ###
### + Ihr wollt etwas verändern? ###
### Ihr könnt den Quelltext gerne so viel verändern, wie ihr wollt. ###
### Für eine Nennung meinerseits und einen Verweis auf die Seite, von der ###
### ihr das Script her habt wäre ich dann aber dankbar ;) ###
### ------------------------------------------------------------------------ ###


class Map_Name_Display < Window_Base

# Einbinden der Einstellungen in die Klasse
include Map_Name_Display_Settings

# - Initialize - #
def initialize
# Bestimmen der Größe des Fensters
@window_size = fitting_height(0) + FONT_SIZE + WINDOW_VERTICAL_SPACE * 2
# Erstellen des Fensters durch die Superklasse #
super(0, 0 - @window_size, WINDOW_INITIAL_SIZE, @window_size)

# Einstellen, ob nur das Fenster oder auch der Rahmen transparent #
# werden soll #
unless WINDOW_FRAME_OPACITY
self.back_opacity = WINDOW_OPACITY
else
self.opacity = WINDOW_OPACITY
end

# Fonteinstellungen vornehmen #
set_font_settings

# Steuervariablen initialisieren #
@wait_timer = 0 # Initialisiert den wait_timer (mehr Infos s. update-Methode)
@step = 0 # Steuert die Reihenfolge der Menüanimationen
@old_map_id = get_map_id
@check_before_timer = false
end

# - Set Font Settings - #
def set_font_settings

# Übernehmen der Font-Settings aus den Einstellungen
if $game_variables[FONT_NAME_VARIABLE] == 0 # Abfrage, ob über eine Variable
contents.font.name = FONT_NAME_1 # gesteuert wird, wenn nicht,
else # dann Standard-Font wählen
case $game_variables[FONT_NAME_VARIABLE]
when 1 # ansonsten Angaben
contents.font.name = FONT_NAME_1 # Umsetzen
when 2
contents.font.name = FONT_NAME_2
when 3
contents.font.name = FONT_NAME_3
when 4
contents.font.name = FONT_NAME_4
else
contents.font.name = FONT_NAME_1
end
end

# Abfragen, ob die Einstellungen über die Settings oder durch
# Variablen bestimmt werden und entsprechendes übernehmen
if BOLD_SWITCH == 0
contents.font.bold = FONT_BOLD
else
contents.font.bold = $game_switches[BOLD_SWITCH]
end

if ITALIC_SWITCH == 0
contents.font.italic = FONT_ITALIC
else
contents.font.italic = $game_switches[ITALIC_SWITCH]
end

if OUTLINE_SWITCH == 0
contents.font.outline = FONT_OUTLINE
else
contents.font.outline = $game_switches[OUTLINE_SWITCH]
end

if SHADOW_SWITCH == 0
contents.font.shadow = FONT_SHADOW
else
contents.font.shadow = $game_switches[SHADOW_SWITCH]
end

if COLOR_VARIABLE == 0
contents.font.color = Color.new(COLOR_RED, COLOR_GREEN, COLOR_BLUE, 255)
else
contents.font.color = Color.new( $game_variables[COLOR_VARIABLE], $game_variables[COLOR_VARIABLE+1], $game_variables[COLOR_VARIABLE+2], 255 )
end

contents.font.size = FONT_SIZE

# Transparenz des Inhalts auf 0 setzen, damit es mittels eines fade-ins
# angezeigt werden kann
self.contents_opacity = 0

end

# - Get MapID - #
def get_map_id
# Gibt die ID der Map zurück, auf der man sich gerade befindet
return $game_map.map_id
end

# - 1. Set Window Position - #
# Abfrage über die Position des Fenster und entsprechende Anpassungen
# der Startpunkte des Fensters
def set_window_position
case @var_window_position
when 1 # Oben Links
self.x = 0
self.y = 0 - @window_size
when 2 # Oben Rechts
self.x = RESOLUTION_X - WINDOW_INITIAL_SIZE
self.y = 0 - @window_size
when 3 # Unten Links
self.x = 0
self.y = RESOLUTION_Y
when 4 # Unten Rechts
self.x = RESOLUTION_X - WINDOW_INITIAL_SIZE
self.y = RESOLUTION_Y
else # Bei falscher Zahl oben links (Standard)
self.x = 0
self.y = 0 - @window_size
end

# Einstellungen der initialisierten Fenster- und Bitmapgrößen
self.width = WINDOW_INITIAL_SIZE
self.contents = Bitmap.new(1, 1)
@check_before_timer = true # startet die frameweise abfrage für
# erneute Aufrufe des Programms
@step = 2
end

# - 2. Window Show - #
# Holt das Fenster in den sichtbaren Bereich
def window_show
# Wird Fenster oben oder unten angezeigt?
if @var_window_position != 3 and @var_window_position != 4
self.y += WINDOW_DROP_TIME # Wenn oben, dann in jedem Frame
if self.y >= 0 #<----| # das Fenster ein Stück nach unten schieben
self.y = 0 #|---- # bis Fenster komplett im sichtbaren Bereich
@step = 3
else
@wait_timer = 1
end
else # Ansonsten nach oben schieben bis sichtbar
self.y -= WINDOW_DROP_TIME
if self.y <= RESOLUTION_Y - @window_size
self.y = RESOLUTION_Y - @window_size
@step = 3
else
@wait_timer = 1
end
end
end

# - 3. Expand Window - #
# Dehnt das Feld solange aus, bis der Mapname komplett rein passt
def window_expand
# Abfrage, ob das Fenster links oder rechts angezeigt wird
if @var_window_position != 2 and @var_window_position != 4
self.width += WINDOW_EXPAND_TIME # Wenn links, dann in jedem Frame
# ausdehnen bis vollständig sichtbar
if self.width >= @map_name_width + 24 + WINDOW_HORIZONTAL_SPACE * 2
self.width = @map_name_width + 24 + WINDOW_HORIZONTAL_SPACE * 2
@step = 4
else
@wait_timer = 1
end
else
self.width += WINDOW_EXPAND_TIME # ansonsten trotzdem nach links ausdehnen
self.x -= WINDOW_EXPAND_TIME # aber die Position des Fenster entsprechend
if self.width >= @map_name_width + 24 + WINDOW_HORIZONTAL_SPACE * 2 # nach links schieben, damit sich das
self.width = @map_name_width + 24 + WINDOW_HORIZONTAL_SPACE * 2 # Fenster "nach links" ausdehnt
self.x = RESOLUTION_X - self.width
@step = 4
else
@wait_timer = 1
end
end
end

# - 4. Print Map Name - #
# Schreibt den Namen der Map in das Fenster
def print_map_name
# Erstellen einer neuen Bitmap um den neuen Dimensionen des ausgedehnten
# Fensters zu entsprechen
self.contents = Bitmap.new(@map_name_width + WINDOW_HORIZONTAL_SPACE, FONT_SIZE + WINDOW_VERTICAL_SPACE)
# Font-Settings übernehmen für den Fall, dass sie sich geändert haben
set_font_settings
# Kartenname ausschreiben (hat noch volle Transparenz)
draw_text(WINDOW_HORIZONTAL_SPACE, WINDOW_VERTICAL_SPACE, @map_name_width, FONT_SIZE, @map_name)
@step = 5
end

# - 5. Display Map Name - #
# Macht den Namen sichtbar
def display_map_name
# Erhöht die Sichtbarkeit Schritt für Schritt ...
self.contents_opacity += NAME_FADE_TIME
if self.contents_opacity >= NAME_OPACITY # ... bis zum eingestellten Wert
self.contents_opacity = NAME_OPACITY
@step = 6
# Wait Timer wird enstprechend der gewünschten Anzeigezeit eingestellt
@wait_timer = NAME_SHOW_TIME
else
@wait_timer = 1
end
end

# - 6. Hide Map Name - #
# Macht den Namen wieder unsichtbar
def hide_map_name
# Verringert die Sichtbarkeit Schritt für Schritt ...
self.contents_opacity -= NAME_FADE_TIME
if self.contents_opacity <= 0 # ... Bis komplett unsichtbar
self.contents_opacity = 0
self.contents = Bitmap.new(1, 1) # Ersetzt die aktuelle Bitmap gegen
@step = 7 # eine kleinere um den Anzeigepfeil
else # des Fenster-Skins zu verhindern
@wait_timer = 1 # Wenn das Fenster kleiner wird als
end # die Bitmap mit dem Mapnamen
end

# - 7. Window Shrink - #
# verkleinert das Fenster wieder
def window_shrink
# Abfrage, ob das Fenster links oder rechts angezeigt wird
if @var_window_position != 2 and @var_window_position != 4
self.width -= WINDOW_EXPAND_TIME # Wenn links, dann verkleiner,
if self.width <= WINDOW_INITIAL_SIZE # bis komplett zur Grundbreite
self.width = WINDOW_INITIAL_SIZE # eingefahren
@step = 8
else
@wait_timer = 1
end
else # wenn rechts, dann auch verkleinern
self.width -= WINDOW_EXPAND_TIME # aber die Position des Fenster entsprechend
self.x += WINDOW_EXPAND_TIME # nach rechts schieben um das Fenster
if self.width <= WINDOW_INITIAL_SIZE # "nach rechts" einzufahren
self.x = RESOLUTION_X - WINDOW_INITIAL_SIZE
self.width = WINDOW_INITIAL_SIZE
@step = 8
else
@wait_timer = 1
end
end
end

# - 8. Window Hide - #
# Schiebt das Fenster wieder aus dem sichtbaren Bereich
def window_hide
# Wird Fenster oben oder unten angezeigt?
if @var_window_position != 3 and @var_window_position != 4
self.y -= WINDOW_DROP_TIME # Wenn oben, dann das Fenster Frameweise
if self.y <= 0 - @window_size # ein Stückchen nach oben schieben,
@step = 9 # Bis das Fenster aus dem sichtbereich
else # raus ist
@wait_timer = 1
end
else # ansonsten das fenster nach unten schieben,
self.y += WINDOW_DROP_TIME # bis es nicht mehr sichtbar ist
if self.y >= RESOLUTION_Y
@step = 9
else
@wait_timer = 1
end
end
end


# - 9. Reset Window Position - #
# Resetet die Fensterposition
def reset_window_position
self.x = 0
self.y = 0 - @window_size
@step = 0
@check_before_timer = false
end

# - Update - #
def update

# Überprüfung, ob während der Anzeige eine andere Map betreten wurde
# oder ob eine Anzeige erzwungen wird
# check_before_timer verhindert eine Endlosschleife im 6. Schritt
if ( @old_map_id != get_map_id or $game_switches[FORCE_VISIBILITY] ) and @check_before_timer
@check_before_timer = false
@step = 6 # Es wird direkt mit dem ausblenden des Fensters angefangen,
@wait_timer = 0 # ohne auf andere Timer-Eingaben zu achten
end

if @wait_timer > 0 # Sorgt für Verzögerungen beim Anzeigen der
@wait_timer -= 1 # Fenster und entsprechender Veränderungen
return # (Fade-Zeiten, etc.)
end # Ein Durchlauf entspricht einem Frame

# Iterativer Aufruf des aktuell aktiven Schritts
case @step
when 1
set_window_position
return
when 2
window_show
return
when 3
window_expand
return
when 4
print_map_name
return
when 5
display_map_name
return
when 6
hide_map_name
return
when 7
window_shrink
return
when 8
window_hide
return
when 9
reset_window_position
return
end

# Überprüfung, ob ein Mapwechsel stattgefunden hat oder der
# Aufruf manuell aufgerufen wird
if @old_map_id != get_map_id or $game_switches[FORCE_VISIBILITY]
refresh # und startet einen neuen Durchlauf
return
end

super
end

# - Refresh - #
def refresh
@old_map_id = get_map_id # Merkt sich den zuletzt angezeigten Mapnamen
# Die Vorbereitungen und der Start des Programmablaufs werden nur
# durchlaufen, wenn die Anzeige auch gewollt ist
if $game_switches[VISIBILITY_SWITCH] or $game_switches[FORCE_VISIBILITY]
$game_switches[FORCE_VISIBILITY] = false # Anzeige soll nur einmal manuell
# ausgelöst werden
# Mapnamen einlesen
@map_name = TEXT_BEGIN_SIGN + $data_mapinfos[get_map_id].name + TEXT_END_SIGN
# Abfrage, ob der Name mit Rücksicht auf Sperrstrings angezeigt werden darf
if ( @map_name.start_with? NO_DISPLAY_BEGIN_SIGN and ENABLE_BEGIN_SIGN ) or ( @map_name.end_with? NO_DISPLAY_END_SIGN and ENABLE_END_SIGN )
return
else
if WINDOW_POSITION_VARIABLE == 0 # Wenn Fensterpositions-Variable 0 ist
@var_window_position = WINDOW_POSITION # so wird der Standardwert
# für die Fensterposition
# genutzt ...
else
# ... ansonsten wird die angegebenen Steuervariable eingelesen
@var_window_position = $game_variables[WINDOW_POSITION_VARIABLE]
end
# erstellen eines Rect-Objekts zum überprüfen der Breite des Mapnamens
set_font_settings
temp_map_name_rect = text_size(@map_name)
@map_name_width = temp_map_name_rect.width
@step = 1 # sorgt dafür, dass der Anzeigeablauf startet, wenn update
# das nächste mal aufgerufen wird
@wait_timer = WINDOW_DROP_DELAY # sorgt für die Verzögerung der
# Anzeige des Fensters
end
end
end
end

### ------------------------------------------------------------------------ ###
### ------------------------------ Changelog ------------------------------- ###
### ------------------------------------------------------------------------ ###
### v1.1 (27.03.2015)
### - Neuerung: Fenstergröße kann Unabhängig vom Font eingestellt werden
### - Neuerung: Es können verschiedene Fonts genutzt um im Spiel geändert werden
### - Bugfix: Fenster, die unten aufgerufen wurden werden jetzt richtig ausgeführt
### - Änderungen: reset_window wurde in set_window_position integriert

*Mist, die Einrückung geht flöten >.< Schaut euch einfach den Code in der Tech-Demo an^^

Tech-Demo
Der dort auftretende Anzeige-Bug, dass Events nach einem Mapwechsel angezeigt werden wird übrigens nicht von meinem Programm erzeugt, sondern von dem, mit dem ich die Namen über den Events anzeigen lasse (also einfach ignorieren^^)

So, ich bin dann mal gespannt auf eure Meinungen und Verbesserungsvorschläge.


Zuletzt geändert von Miu am Sa Mär 28, 2015 12:17, insgesamt 3-mal geändert.

Nach oben
 Profil ICQ  
Mit Zitat antworten  
Offline
Rotfüchschen
Rotfüchschen
Benutzeravatar
Beiträge: 143
BeitragVerfasst: Fr Mär 27, 2015 15:29 
Oh nein, selbst dich haben diese neuen widerlichen Maker nun infiziert... :(


Nach oben
 Profil  
Mit Zitat antworten  
Offline
Attention-whore
Attention-whore
Benutzeravatar
Beiträge: 1925
Alter: 29
BeitragVerfasst: Sa Mär 28, 2015 12:16 
Ja, hab ihn halt billig bekommen und interessiere mich dafür, mit Ruby zu programmieren anstatt mich mit den Events rumschlagen zu müssen^^ Darüber hinaus muss ich aber sagen, dass mir dein Name überhaupt nicht sagt^^

Und zum Script:
Im Eingangspost hab ich jetzt eine Tech-Demo hinzugefügt, außerdem wurde ein Bug entfernt, der Auftrat, wenn man das Fenster mehrfach unten anzeigen ließ und außerdem kann man nun auch verschiedene Fonts angeben, die man während des Spiels auch ändern kann.


Nach oben
 Profil ICQ  
Mit Zitat antworten  
Offline
Rotfüchschen
Rotfüchschen
Benutzeravatar
Beiträge: 143
BeitragVerfasst: Mo Mär 30, 2015 21:07 
Miu hat geschrieben:
Ja, hab ihn halt billig bekommen und interessiere mich dafür, mit Ruby zu programmieren anstatt mich mit den Events rumschlagen zu müssen^^ Darüber hinaus muss ich aber sagen, dass mir dein Name überhaupt nicht sagt^^

Fototausch? Vllt weißt es dann wieder! :happy:


Nach oben
 Profil  
Mit Zitat antworten  
Offline
Attention-whore
Attention-whore
Benutzeravatar
Beiträge: 1925
Alter: 29
BeitragVerfasst: Di Mär 31, 2015 11:28 
It Fucktor hat geschrieben:
Miu hat geschrieben:
Ja, hab ihn halt billig bekommen und interessiere mich dafür, mit Ruby zu programmieren anstatt mich mit den Events rumschlagen zu müssen^^ Darüber hinaus muss ich aber sagen, dass mir dein Name überhaupt nicht sagt^^

Fototausch? Vllt weißt es dann wieder! :happy:


Ich hatte nie was mit Fotos zu tun^^


Nach oben
 Profil ICQ  
Mit Zitat antworten  
Offline
Rotfüchschen
Rotfüchschen
Benutzeravatar
Beiträge: 143
BeitragVerfasst: Di Mär 31, 2015 18:33 
Ich hörte, Dyluck hat welche bekommen...


Nach oben
 Profil  
Mit Zitat antworten  
Offline
Attention-whore
Attention-whore
Benutzeravatar
Beiträge: 1925
Alter: 29
BeitragVerfasst: Mi Apr 01, 2015 0:25 
Aber nicht von mir, weil ich hatte noch nie irgendwelche Fotos auf meinen PCs und tauschen bzw. verschicken tu ich sowas schon aus Prinzip nicht im Internet^^


Nach oben
 Profil ICQ  
Mit Zitat antworten  
Offline
Rotfüchschen
Rotfüchschen
Benutzeravatar
Beiträge: 143
BeitragVerfasst: Mi Apr 01, 2015 6:33 
Auch nicht auf Datingseiten?


Nach oben
 Profil  
Mit Zitat antworten  
Offline
Attention-whore
Attention-whore
Benutzeravatar
Beiträge: 1925
Alter: 29
BeitragVerfasst: Mi Apr 01, 2015 16:29 
Ich war nie auf einer^^


Nach oben
 Profil ICQ  
Mit Zitat antworten  
Offline
Rotfüchschen
Rotfüchschen
Benutzeravatar
Beiträge: 143
BeitragVerfasst: Sa Apr 04, 2015 23:51 
Bist du geil oder hesslig?


Nach oben
 Profil  
Mit Zitat antworten  
Offline
Sayjaman
Sayjaman
Benutzeravatar
Beiträge: 51
BeitragVerfasst: Sa Mai 09, 2015 19:29 
Mal 'n Tipp am Rande.
Im VX Ace kannst du einen ganzen Kommentar-Bereich so kennzeichnen:

=begin
DEIN KOMMENTAR
Auch über mehrere Zeilen
Blah
Blah
=end

sieht so nicht so #-ig aus, falls du das nicht extra gemacht hattes.


Nach oben
 Profil  
Mit Zitat antworten  
Offline
Alex
Alex
Benutzeravatar
Beiträge: 14
BeitragVerfasst: Di Jul 12, 2016 18:04 
Ich benutze jetzt den RPG Maker MV für mein Unterwegs in Düsterburg Remake. Der hat Smatphone-Support. Ohne das bist du heutzutage nichts mehr wert. Die Jugend interessiert sich für nichts mehr, womit sie sich nicht im Hauptschul-Unterricht ihre Zeit vertreiben kann.

Da war mir das Tool die 120 EUR + 90 EUR Greenlight-Lizenz auf jeden Fall wert. Denn ich weiß ganz genau, dass ich die Kohle locker wieder reinbekommen werde.
Allein mit Ruhm kann man mich jedenfalls nicht mehr locken! Ich hatte meine 5 Minuten ...


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de