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: Di Mär 03, 2020 3:01

Alle Zeiten sind UTC + 1 Stunde



Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
Offline
Alex
Alex
Benutzeravatar
Beiträge: 29
Alter: 31
 Betreff des Beitrags: Einbinden externer Ruby-Files/Libs
BeitragVerfasst: So Mai 08, 2011 23:14 
Hallo,
Ich habe mich in letzter Zeit etwas genauer mit "richtigem Ruby" beschäftigt und bin dabei auf einiges gestossen, was mir in meinen RPG-Maker-Games helfen könnte.
So enthält die Standard-Ruby-Library z.B. eine Klasse für komplexe Zahlen und eine für Vektoren. Was mich allerdings besonder interssiert sind die Internet bezogenen Möglichkeiten.
Mein Problem ist nun, dass entweder der RPG-Maker oder meine Person, einen Fehler bei der Verwendung der "require xyz.rb"-Methode macht. Was muss ich also machen, um externe Ruby-Files oder Klassen aus der Ruby-Standard-Library im RPG-Maker-XP zu verwenden? (falls das überhaupt möglich ist -.-)

Möglicherweise hängt es damit zusammen, aber ich würde mich auch dafür interessieren, was diese "RTP1=Standard" usw. bedeuten, die man in jeder "Game.ini"-Datei findet.

Schonmal Danke!

PS.: Ich hoffe ich hab die richtige Topic für mein Problem gewählt, falls nicht: SORRY und bitte verschieben.

_________________
Bild Abgeschlossene Projekte: Circle VS. CrossBild
In Arbeit: Crystal Monsters


Nach oben
 Profil  
Mit Zitat antworten  
Offline
Official Oldschool
Official Oldschool
Benutzeravatar
Beiträge: 8917
Alter: 31
Wohnort: BRD, Thüringen
BeitragVerfasst: So Mai 08, 2011 23:47 
Matrix/Vektor und Complex kannst du einbinden. Du müsstest dir aber die Standardlib von Ruby 1.86 runterladen und die entsprechenden Rubyfiles in deinen Projektordner kopieren. Genauso könntest du sie natürlich auch gleich in den Scripteditor reinkopieren. Beim Einbinden von Rubyfiles per require musst du beachten, dass das Working-Directory nicht automatisch im Standardloadpath ist. Wenn also eine Datei foo.rb im Projektordner liegt, musst du sie folgendermaßen einbinden:
Code:
require "./foo.rb"
# oder
$: << "." # füge Working-Directory in den Loadpath ein
require "foo.rb"


Problematischer wird es bei nativen Libraries, z.B. die ganzen Net-Libraries. Du kannst vom Maker aus keine kompilierten Bibliotheken einbinden. Daher lassen sich diese Libraries auch nicht laden. Eine Möglichkeit wäre, die ganzen nativen Aufrufe der Libraries durch Win32API-Aufrufe zu ersetzen. Es schwirrt z.B. irgendwo im Netz ein Script, welches so Teile der Net-Library für den Maker verfügbar macht. Aber wenn du dich mit den Grenzen, die der Maker setzt, nicht zufrieden geben willst, wäre es wohl empfehlenswerter du steigst auf eine andere, open-source Engine um (Gosu ist beispielsweise eine hübsche Engine für 2D-Spiele in Ruby. Alternativ kannst du auch JRuby nutzen und jede beliebige Java-Grafikbibliothek verwenden).

_________________


Nach oben
 Profil ICQ  
Mit Zitat antworten  
Offline
Alex
Alex
Benutzeravatar
Beiträge: 29
Alter: 31
BeitragVerfasst: Mo Mai 09, 2011 1:11 
Zunächst nochmal danke für die Infos. Sobald mein derzeitiges Projekt (endlich) fertig wird, werde ich mir die Alternativen mal genauer anschauen. Ich habe jetzt aber ne Menge Zeit investiert und bringe das Game auf jeden Fall vorher zuende.
Ich habe mir deinen Hinweis zu Herzen genommen und den absoluten Pfad eingegeben, was auch gut funktioniert. Offensichtlich ist das aber ungünstig, wenn ich das Spiel publizieren will.
Benutze ich
Code:
require "./lala.rb"

erhalte ich weiterhin einen Error "No such File". Wo genau muss die Datein denn sein, um so gefunden zu werden? (ich habe es direkt im Ordner, dort wo die .exe liegt und im "Data"-Ordner versucht)

_________________
Bild Abgeschlossene Projekte: Circle VS. CrossBild
In Arbeit: Crystal Monsters


Nach oben
 Profil  
Mit Zitat antworten  
Offline
Official Oldschool
Official Oldschool
Benutzeravatar
Beiträge: 8917
Alter: 31
Wohnort: BRD, Thüringen
BeitragVerfasst: Mo Mai 09, 2011 18:51 
Code:
$: << "."
require "test.rb"

So funktioniert es.

Ich kann dir aber grad auch nicht sagen warum man es so machen muss.

_________________


Nach oben
 Profil ICQ  
Mit Zitat antworten  
Offline
Alex
Alex
Benutzeravatar
Beiträge: 29
Alter: 31
BeitragVerfasst: Mo Mai 09, 2011 22:29 
Ja funktioniert! Vielen Dank!
Nochmal wegen den Einschränkungen des Makers.
Man könnte doch hypothetisch über Konsolenkomandos, wie
Code:
`START "" lala.rbw`

Ein externes File aufrufen. Das funktioniert im Maker einwandfrei und man kann so auch c++ Exen o.ä. problemlos ausführen.
Als Schnittstelle zwischen diesem externen Programm und dem Maker könnte man dann z.B. eine Textdatei verwenden.
Mache ich einen Denkfehler, wenn ich vermute, dass man damit relativ leicht Daten über das Internet austauschen könnte?

Wegen dem Umweg über das Textfile ist die Geschwindigkeit sicher nicht sehr hoch, aber bei rundenbasierten Multiplayer-Kämpfen o.ä. sollte die Übertragungsrate ausreichen oder?

_________________
Bild Abgeschlossene Projekte: Circle VS. CrossBild
In Arbeit: Crystal Monsters


Nach oben
 Profil  
Mit Zitat antworten  
Offline
Official Oldschool
Official Oldschool
Benutzeravatar
Beiträge: 8917
Alter: 31
Wohnort: BRD, Thüringen
BeitragVerfasst: Di Mai 10, 2011 1:29 
Textdateien sind vermutlich sehr langsam. Aber du kannst über Ein/Ausgabe-Pipes auch direkt mit externen Programmen kommunizieren. In Ruby dient dafür die Klasse IO.
Code:
IO.popen("meinprogramm.exe", "rb+") do |io|
  io.puts "Irgendein Signal an das Programm"
  antwort = io.readline # Antwort des Programms auf das Signal
end


Ebenfalls möglich ist das Schreiben von DLLs, die du dann mit der Win32API ansprechen kannst. Wie gesagt, es gibt bereits Online-Skripte für den RmXP, die diesen Weg gehen. Aber es sind halt immer ein paar Umwege erforderlich.

_________________


Nach oben
 Profil ICQ  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 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