PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zwei Fragen über RGSS



Estelyen
26.09.2008, 23:19
Hi Leute.

Bin zwar neu hier im Forum, nutze aber den RM2k schon seit ein paar Jahren, bin also was den 2000er angeht kein Neuling :P

Hatte die Trial-Versionen vom XP und vom VX auch mal angeschaut, aber die Auflösung von 640 hat mich da abgeschreckt weil ich mit dem 2000er was zB die Chipsets angeht alles Pixel für Pixel zusammengemalt hab, das ist bei einer doppelt so hohen Auflösung natürlich entsprechend schwieriger...

Jetzt hab ich momentan ein Projekt im Sinn wo ich sämtliche Grafiken mit einem Renderprogramm erstellen kann, und dafür ist nun der 2000er mit seiner kleinen Auflösung und 8Bit-Farbtiefe weniger geeignet... Mein einziges Problem ist, dass ich für dieses Projekt zwei Dinge benötige die es in den Versionen nach dem RM2k nicht mehr gibt:

1. Mausunterstützung: Hatte mir Lukis Keypatch für den 2000er geholt und war sehr zufrieden damit. Ich meine, mal irgendwo gelesen zu haben, dass es möglich ist, eine Mausunterstützung über RGSS zu schreiben, aber leider kann ich da nirgendwo genaueres drüber finden...

2. Die Möglichkeit eine Variable als Pointer zu verwenden; die also aussagt, welche Variable verändert werden soll (Beispiel: Variable0001 hat den Inhalt "125", dann konnte man im RM2k sagen dass er die Variable deren Nummer durch den Inhalt der Variable0001 bestimmt wird geändert werden soll, also in diesem Fall Variable0125. Wenn man im RM2k "Change Variable" anklickt ist das die dritte Option von oben).


Jetzt also meine Frage an die RGSS-Spezialisten hier, ob es generell möglich ist, diese beiden Funktionen über RGSS zu schreiben, dann würde ich das nämlich als Grund sehen, diese Sprache zu erlernen... Das soll keine Aufforderung sein mir den Code fertig zu liefern, ich würde den schon selbst schreiben wollen :D Ich möchte halt nur wissen ob ich mir die Mühe machen soll mich in RGSS einzuarbeiten oder ob ich am Ende wieder Zeit vergeudet hab :p

Ascare
27.09.2008, 08:14
Du würdest sehr viel Zeit vergeuden ein Mausscript zu schreiben. Von jemanden der keine Ahnung von Ruby hat bis zu dem Punkt wo man selbst Mausscripts schreiben kann könnte es ziemlich dauern. Also:

1. Ja, es gibt Mausscripte. Wenn du wissen willst wo:
Auf der Atelier-Hauptseite->Ressourcen->XP->RGSS-Skripte

2. Auch das kann man per Ruby lösen. Wenn du wissen willst wie:
Erstmal ein Event wo du die Variablen zuweist:
Control Variables[9: Pointer] = 25
Control Variables[25: Inhalt] = 99
Jetzt brauchst du Ruby. Am einfachsten mit der 'Script...'-Funktion auf Seite 3 des Event-Menüs.
Dort dann einfach dies mal eingeben:

v = $game_variables
v[v[9]] += 1
Konkret heißt das:
Erste Zeile: Wir weisen eine neue Variable zu: 'v'. Diese hat den Inhalt '$game_variables'
Zweite Zeile: Nun benutzen wir 'v'. Wir sagen das die Variable der in der Variable 9 steckt um 1 erhöht werden soll.
Ergebnis: Da wir in Variable 9 die 25 gesteckt haben, wird die variable die in 25 ist um 1 erhöht. Und diese hatten wir vorher auf 99 gesetzt. Zur Kontrolle setzen wir noch ein Show Text an: \v[25]. Das sollte nun 100 im Spiel ausgeben.

Kleine Dinge kann man sich selber auch beibringen, ausprobieren, von anderen abgucken etc. Aber für große Sachen würde ich lieber auf bereits von Profis vorgefertigte Scripte zurückgreifen.
Ich bin übrigens keiner. :D

btw: S1 Endhaltestelle Wedel kenn ich... :>

Estelyen
27.09.2008, 11:43
:o Ok, die blöde Frage mit dem Mausscript tut mir leid... Ich hatte auf der Hauptseite nicht unter Ressourcen sondern unter Skripte gesucht, da war natürlich nichts. Ich wusste nicht, dass es unter den Ressourcen zum XP noch nen Unterpunkt Skripte gibt, hätte ich genauer nachschauen sollen, Asche auf mein Haupt! :p

Jedenfalls vielen Dank für deine Antwort. Dass man sich nicht "mal eben schnell" Ruby beibringen kann ist mir klar, das war ja der Grund warum ich fragte, denn das wäre doch ziemlich blöd sich monatelang die Freizeit damit um die Ohren zu hauen nur um am Ende festzustellen, dass das was man vorhat mit Ruby gar nicht zu machen ist...

"Endstation Wedel", so ist es xD Obwohl ich ziemlich genau auf halber Strecke zwischen der vorletzten Station (Rissen) und der letzten wohne^^


€dit: Hab jetzt das Mausscript runtergeladen und sowohl das Script als auch das Event welches das Script startet von dem Demoprojekt in mein Projekt kopiert, aber jedes Mal wenn das Event zu der Stelle
"Script: Mouse.initSystem((Mouse::INIT_SAVE), 'cursor', 1, 2)"
kommt, bekomm ich die Fehlermeldung:
"NameError occurred while running script. uninitialized constant Interpreter::Mouse"
Das wundert mich ein wenig, weil das script in der Demo hervorragend funktioniert... Leider weiß ich auch nicht so ganz, was diese Fehlermeldung zu bedeuten hat :P Hab ich irgendetwas übersehen?

Ascare
27.09.2008, 17:53
Bestimmt hast du was übersehen. Erstell mal ein neues Projekt und benutze erst dann das Mausscript. Halte dich am Besten genau an die mitgelieferte Anleitung.
Wenn es im Testprojekt klappt, weißt du das du was im Hauptprojekt falsch gemacht hast.

Estelyen
27.09.2008, 19:46
Ich hatte das schon in ein neues Projekt kopiert xD Ist ja quasi mein erster Vorstoß in dem RMXP. Und ich hatte mich an die Anleitung gehalten, keine Ahnung was falsch lief...

Ich hab das Problem jetzt umgangen indem ich einfach das Demoprojekt nehme (da funktioniert es ja), es umbenenne und mein Projekt da quasi hineinbaue. 8)

Des weiteren hatte ich jetzt die ersten Erfolgserlebnisse: Die zwei Zeilen Code von dir hab ich in ein Common Event getan, das funktioniert wunderbar, vielen Dank! Außerdem hab ich mich ein wenig mit dem Script-Editor befasst und erstmal das Scene_Title Script leicht modifiziert um das dämliche Maker-eigene Hauptmenü zu umgehen und mein eigenes zu erstellen (Ich bin einfach RM2k-verwöhnt, da gabs für so was auch einen Patch :p).

Jetzt kommt aber mein nächstes Problem: Ich hab eine schöne Animation erstellt und an den Spielstart gesetzt und ein vorläufiges Titelbild gemacht. Dann hab ich das Projekt in eine .exe zusammengefasst und an eine Bekannte geschickt, weil ich nur mal testen wollte ob die animation auch auf anderen rechnern gut läuft (muss erst mal noch lernen in Frames statt in Sekunden zu rechnen :rolleyes:). Aber sie konnte die Datei nicht starten, sie meinte, da käme nur kurz ein schwarzes Fenster das sich sofort wieder schließt... Ich glaub eigentlich nicht dass das mit den Änderungen zusammenhängt die ich in Scene_Title gemacht hab, denn bei mir funktioniert alles wunderbar... Weiß jemand wie so ein Effekt zustande kommen kann? Ich meine, bei dem (nicht funktionierenden) Mausscript hab ich immerhin ne anständige Fehlermeldung kassiert aber so ganz ohne Feedback des Programms steh ich natürlich blöd da...

Grimmjow
27.09.2008, 20:30
Hi.

Was genau hast du denn jetzt in Scene_Title geändert?
Poste am besten das ganze Script.

Ascare
27.09.2008, 20:52
Hat sie denn das XP-RTP installiert?

Estelyen
27.09.2008, 22:57
Nein sie hat das nicht installiert, aber eigentlich hab ich alles importiert was ich verwendet hab...

Mein Scene_Title Script sieht jetzt so aus:



#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
# This class performs title screen processing.
#==============================================================================

class Scene_Title
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
# If battle test
if $BTEST
battle_test
return
end
# Load database
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
# Make system object
$game_system = Game_System.new
# Make title graphic
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
# Play title BGM
$game_system.bgm_play($data_system.title_bgm)
# Stop playing ME and BGS
Audio.me_stop
Audio.bgs_stop
# Execute transition
Graphics.transition
# Prepare for transition
Graphics.freeze
# Dispose of title graphic
@sprite.bitmap.dispose
@sprite.dispose
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Stop BGM
Audio.bgm_stop
# Reset frame count for measuring play time
Graphics.frame_count = 0
# Make each type of game object
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# Set up initial party
$game_party.setup_starting_members
# Set up initial map position
$game_map.setup($data_system.start_map_id)
# Move player to initial position
$game_player.moveto($data_system.start_x, $data_system.start_y)
# Refresh player
$game_player.refresh
# Run automatic change for BGM and BGS set with map
$game_map.autoplay
# Update map (run parallel process event)
$game_map.update
# Switch to map screen
$scene = Scene_Map.new
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Update command window
@command_window.update
# If C button was pressed
if Input.trigger?(Input::C)
# Branch by command window cursor position
case @command_window.index
when 0 # New game
command_new_game
when 1 # Continue
command_continue
when 2 # Shutdown
command_shutdown
end
end
end
#--------------------------------------------------------------------------
# * Battle Test
#--------------------------------------------------------------------------
def battle_test
# Load database (for battle test)
$data_actors = load_data("Data/BT_Actors.rxdata")
$data_classes = load_data("Data/BT_Classes.rxdata")
$data_skills = load_data("Data/BT_Skills.rxdata")
$data_items = load_data("Data/BT_Items.rxdata")
$data_weapons = load_data("Data/BT_Weapons.rxdata")
$data_armors = load_data("Data/BT_Armors.rxdata")
$data_enemies = load_data("Data/BT_Enemies.rxdata")
$data_troops = load_data("Data/BT_Troops.rxdata")
$data_states = load_data("Data/BT_States.rxdata")
$data_animations = load_data("Data/BT_Animations.rxdata")
$data_tilesets = load_data("Data/BT_Tilesets.rxdata")
$data_common_events = load_data("Data/BT_CommonEvents.rxdata")
$data_system = load_data("Data/BT_System.rxdata")
# Reset frame count for measuring play time
Graphics.frame_count = 0
# Make each game object
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# Set up party for battle test
$game_party.setup_battle_test_members
# Set troop ID, can escape flag, and battleback
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
# Play battle start SE
$game_system.se_play($data_system.battle_start_se)
# Play battle BGM
$game_system.bgm_play($game_system.battle_bgm)
# Switch to battle screen
$scene = Scene_Battle.new
end
end



Ich hab halt so gut ich konnte das hauptfenster raus editiert sowie die Definitionen (Heißen die so? Stand "def" davor^^) für Neues Spiel, Laden und Beenden entfernt, so dass er gleich ins Game springt.

Grimmjow
28.09.2008, 00:19
Dein Kumpel soll mal das RTP installieren.
Das Script macht keine Probleme.

Estelyen
28.09.2008, 09:14
Hm, sie ist gestern offline gegangen bevor ich ihr das vorschlagen konnte, aber ich hab das Projekt noch einem anderen Bekannten geschickt, der hat immerhin eine ordentlich Meldung "RGSS102e.dll not found" bekommen. Als er dann das RTP installiert hat, hat es funktioniert, also werde ich meiner zuerst erwähnten Bekannten das auch noch mal vorschlagen aber ich finds trotzdem seltsam dass er eine Fehlermeldung bekommt und sie nicht :confused:

Naja, vielen Dank für die Hilfe an alle^^ http://www.multimediaxis.de/images/smilies/old/sm_12.gif

Ascare
28.09.2008, 14:17
Das RTP besteht nicht nur aus Grafiken & Sounds, sondern auch aus eben jener dll ohne die kein Makergame funktioniert. Wenn du glaubst alles importiert zu haben, kannst du auch nur die dll mit in den Ordner beifügen.

Estelyen
29.09.2008, 18:35
So, nächste Frage: Ich hab jetzt mehrere Skripts ausprobiert die das Spiel auf Vollbild stellen, die funktionieren auch. Meine Frage ist jetzt: Gibt es auch ein Script welches das Spiel zurück auf Fenstermodus stellt? Mit den Vollbildscripts funktioniert das nämlich nicht...
Grund für die Frage: Ich hatte geplant einen Optionsbildschirm einzubauen auf dem man diverse Einstellungen vornehmen kann, unter anderem eine Schaltfläche, die zwischen Fenster und Vollbild umschaltet.

Ausprobiert wurden:


unless $keybd
$keybd = Win32API.new 'user32.dll',
'keybd_event', ['i', 'i', 'l', 'l'],
'v'
$keybd.call 0xA4, 0, 0, 0
$keybd.call 13, 0, 0, 0
$keybd.call 13, 0, 2, 0
$keybd.call 0xA4, 0, 2, 0
end



unless $keybd
$keybd = Win32API.new('user32.dll',
'keybd_event', ['i', 'i', 'l', 'l'],
'v')
$keybd.call(0x12, 0, 0, 0)
$keybd.call(0x0D, 0, 0, 0)
$keybd.call(0x0D, 0, 2, 0)
$keybd.call(0x12, 0, 2, 0)
end

Hab auch ein drittes gefunden aber das funktioniert gar nicht, da bleibt das Fenster gleich schwarz...

€dit: OK, hat sich erledigt... Ich hab die erste und letzte Zeile rausgenommen, dann gings^^ Ich sollte wirklich erst mal RGSS lernen bevor ich anfange blöde Fragen zu stelllen :p

Cherry
29.09.2008, 21:51
Ausprobiert wurden:


unless $keybd
$keybd = Win32API.new 'user32.dll',
'keybd_event', ['i', 'i', 'l', 'l'],
'v'
$keybd.call 0xA4, 0, 0, 0
$keybd.call 13, 0, 0, 0
$keybd.call 13, 0, 2, 0
$keybd.call 0xA4, 0, 2, 0
end



unless $keybd
$keybd = Win32API.new('user32.dll',
'keybd_event', ['i', 'i', 'l', 'l'],
'v')
$keybd.call(0x12, 0, 0, 0)
$keybd.call(0x0D, 0, 0, 0)
$keybd.call(0x0D, 0, 2, 0)
$keybd.call(0x12, 0, 2, 0)
end

Hab auch ein drittes gefunden aber das funktioniert gar nicht, da bleibt das Fenster gleich schwarz...

€dit: OK, hat sich erledigt... Ich hab die erste und letzte Zeile rausgenommen, dann gings^^ Ich sollte wirklich erst mal RGSS lernen bevor ich anfange blöde Fragen zu stelllen :p

Nicht so toll, weil dann immer ein neues WinAPI-Objekt erzeugt wird. Besser:



unless $keybd
$keybd = Win32API.new('user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v')
end
$keybd.call(0x12, 0, 0, 0)
$keybd.call(0x0D, 0, 0, 0)
$keybd.call(0x0D, 0, 2, 0)
$keybd.call(0x12, 0, 2, 0)

mfG Cherry

Estelyen
29.09.2008, 22:42
Da sagt er: "Syntax Error occurred while running Script"...

Ich hab leider immer noch nicht wirklich Ahnung von den Feinheiten von RGSS, soll heißen, ich hab kein Plan von der Sprache...
Was zum Henker ist ein WinAPI-Objekt? Und ist es so schlimm wenn es davon mehrere gibt? Außerdem, die meisten Spieler werden ja wohl nicht stundenlang im Optionsmenü rumhängen und ständig das Fenster groß und klein machen:p

Ascare
30.09.2008, 00:43
Der Code von Cherry ist aber richtig. Müsstest irgendwo einen Tippfehler drin haben.

Ein Winapi-Objekt ist eine Schnittstelle zwischen Windows und einem Programm. Im Grunde sagt der Code folgendes aus:
"Hey, Winapi, wie geht's? Ich möchte gerne auf deine user32 Bibliothek zugreifen und dort das Buch keybd_event benutzen! Eigentlich sind mir nur die Stellen wo ALT+Enter gedrückt werden wichtig...die müsstest du bitte einmal für mich ausführen, Thx!"
Und Winapi macht wie ihm befohlen wird und so wird dann der Tastendruck simuliert.

makenshi
30.09.2008, 01:14
Ein Winapi-Objekt ist eine Schnittstelle zwischen Windows und einem Programm. Im Grunde sagt der Code folgendes aus:
"Hey, Winapi, wie geht's? Ich möchte gerne auf deine user32 Bibliothek zugreifen und dort das Buch keybd_event benutzen! Eigentlich sind mir nur die Stellen wo ALT+Enter gedrückt werden wichtig...die müsstest du bitte einmal für mich ausführen, Thx!"
Und Winapi macht wie ihm befohlen wird und so wird dann der Tastendruck simuliert.

Hihi, du solltest Autor für Kinderprogrammierbücher werden. ^_^

Estelyen
13.10.2008, 23:18
Mal ne gaaanz andere Frage: Wie kann ich es in diesem Forum bewerkstelligen, dass meine Signatur unter den Beiträgen angezeigt wird? Mir wird sie nur auf meiner Profilseite angezeigt, und ja, ich habe "Signatur anzeigen" beim Beitrag schreiben aktiviert... Wird die vielleicht erst ab einer gewissen Anzahl an Beiträgen verfügbar?

€dit: Ah sry, ich sehs schon... wird nur bei neuen Beiträgen angezeigt, das muss man natürlich wissen :p

Estelyen
20.10.2008, 06:31
sry 4 Double-Post, aber durch die Edit-Funktion wird der Thread leider nicht nach oben gesetzt und daher von kaum jemandem gelesen :(


Hab mal wieder zwei neue Fragen an euch:

1. Ich hab meinem Projekt MagicMagors Script zum anzeigen von mehr als 50 Pictures (http://www.multimediaxis.de/showthread.php?p=963152#post963152) eingebaut, komme aber schon bald an einen Punkt wo ich mehr als 100 Pictures anzeigen lassen will (meistens zwar nur wenige davon gleichzeitig aber weils so viele sind hab ich der Übersicht halber ne Liste gemacht in der ich jedem Pic eine bestimmte Nummer zugewiesen hab). Meine Frage ist nun, da das Anzeigen von mehr als 100 Pictures in seiner Anleitung nur mit den Worten
Ihr müßt nur oben an den entsprechenden Stellen, die Zahlen um andere Werte erhöhen. behandelt wurde, müsste ich dafür nicht auch einen zweiten Switch für die Bilder 101-150 erstellen und den im Interpreter_5 erwähnen? Quasi zusätzlich zu seinen Änderungen würde ich
if (($game_switches[2] == true) && !($game_temp.in_battle))
number += 100
end da rein schreiben, kann man das so machen? Hab MagicMagor auch per PM gefragt aber er antwortet mir nich :p

2. Eigentlich hat diese Frage nicht ganz was mit dem RPG Maker zu tun, weil mir das auch bei anderen Programmen, zB dem Windows Media Player aufgefallen ist, aber beim Maker ist es eben zum Problem für mich geworden: Ich hab einen kurzen Music Effect eingebaut und ursprünglich war der im .wav-Format, da war alles in Ordnung. Dann hab ich ihn ein wenig editiert und als .mp3 abgespeichert und importiert und jetzt spielt der Maker ihn quasi mit einem "festen Lautstärkepegel" ab, das heißt wenn der Music Effect eigentlich leise sein solte wird er vom Maker genauso laut abgespielt wie die lauten Stellen und das klingt einfach grottig... Wie gesagt, das selbe ist mir schon früher beim Windows Media Player aufgefallen, bei WinAmp allerdings hab ich das Problem nicht! Hat jemand eine Ahnung woran das liegen könnte und was ich dagegen unternehmen kann?

Estelyen
26.10.2008, 10:43
Habe jetzt ein weiteres RGSS-Problem: Ich habe eine ganze Reihe von Pictures, die fortlaufend nummeriert sind, also Pic1.png, Pic2.png usw.
Ich suche nun ein Callscript, welches eine Ingame-Variable ausliest und das entsprechende Picture anzeigt, also wenn die Variable zB 42 ist, soll Pic42.png angezeigt werden.

Ich habe versucht die Sache erstmal selbst zu lösen und hab irgendwo den Code
$game_screen.pictures[Bildnummer].show("Name ohne Endung", Position, x, y, Länge in %, Höhe in %, Transparenz, Blending) zum generellen Anzeigen von Pictures gefunden aber den bekomm ich komischerweise nicht mal ohne Variable drin zum funktionieren, da sagt er jedes Mal "SyntaxError"...

Ascare
26.10.2008, 14:06
Äh, ich glaube nicht das das so geht... http://www.multimediaxis.de/images/smilies/old/1/gruebel.gif
Hier mal mein Lösungsvorschlag:


v = $game_variables[x].to_s
pic.bitmap = RPG::Cache.picture("Pic" + v)
pic.x = 320
pic.y = 240
pic.z = 100

Ungetestet allerdings...
Und anstatt das x noch die Nummer der Variable eintragen.

Kelven
26.10.2008, 14:19
Es geht so:



$game_screen.pictures[bild].show("Pic"+bild.to_s, restliche Werte)

Estelyen
26.10.2008, 16:14
Also Ascares Vorschlag bringt mir die Fehlermeldung
NameError occurred while running script.
undefined local variable or method 'pic' for #<Interpreter:0x322fe70> und selbst wenn das funktionieren würde ist die Lösung wohl für mein Projekt etwas unglücklich, weil so wie ich das sehe wird das Picture dabei nicht als "Ingame-Picture" mit ner festen Nummer angezeigt, was für mich schlecht ist, weil das Picture später nach Variablen bewegt werden soll und dann müsste ich noch mehr mit RGSS dran rum fummeln.

@Kelven: Dein Script zeigt soweit ich das sehe diejenige Datei an, dessen Nummer durch die Picture-Nummer definiert ist. Das wäre für mich auch blöd, weil ich mehr als 200 Pictures der Sorte hab... Außerdem hab ich $game_screen.pictures[1].show() doch schon ausprobiert, da hab ich ja den syntaxError bekommen :\ Das hatte übrigens den genauen Wortlaut
$game_screen.pictures[1].show("Pla_D1", 0, 0, 0, 100, 100, 255, 0) wobei ich das erst mal nur zum testen genommen hab ob er das Picture überhaupt anzeigt, der nächste Schritt wäre dann das Ersetzen der "1" durch eine Variable, aber dazu kommts ja gar nicht erst, denn wenn er das hier schon nicht anzeigt wird das ganze wohl nichts. :(

Kelven
26.10.2008, 16:31
@Estelyen
Ok, nun hab ich es verstanden. Du müsstes dann zwei Variablen nehmen:



$game_screen.pictures[$game_variables[id1]].show("Pic"+$game_variables[id2].to_s, restliche Werte)


id1 ist die ID der Variable, in der die Nummer des Pictures steht und id2 die Nummer des Bildes.

Der Fehler bei deinem Versuch könnte daher kommen, dass du den Befehl evtl. falsch formatiert hast. Benutzt du dafür "Call Script"? Da muss man mit den Leerstellen etwas vorsichtig sein.

Estelyen
26.10.2008, 20:49
Vielen Dank für den Hinweis mit den Leerzeichen im Callscript Kelven, jetzt funktioniert es^^ Hab dein Script jetzt leicht abgewandelt (Die Nummer des Pictures muss ich nicht über ne Variable machen, die Picnummer ist in meinem Fall immer die selbe :p ) in ein zusätzliches Script in den Scripteditor gepackt und das dann nur per Call Script aufgerufen.
Hatte erst noch nen Schreck bekommen weil nur ein Viertel des Bildes angezeigt wurde, aber dann ist mir Trottel aufgefallen dass ich vergessen hab das Bild auf 640x480 zu verkleinern und die auf 1280 gerenderte Version importiert hab, das kann natürlich nichts werden :rolleyes:

Also das Problem hier ist jetzt geklärt und auch das früher von mir angesprochene mit den mehr als 100 Pictures hab ich inzwischen durch Ausprobieren selbst gelöst. Das einzige was ich immer noch nicht hinbekommen hab ist die Geschichte mit der Lautstärke bei mp3s...